TTurkDex Developers
HelpBlogLaunch app

Supporting meta transactions

Bu açık kaynak protokol/SDK referansı TurkDex markasıyla sunulan uyarlamadır; sayfadaki entegrasyon örnekleri Turkchain’de etkin özelliklerin garantisi değildir. Ağ, kontrat ve işlem değerlerinde yalnızca bu kurulumun doğrulanmış ENV/registry bilgilerini kullanın.

All TurkDex v2 pool tokens support meta-transaction approvals via the permit function. This obviates the need for a blocking approve transaction before programmatic interactions with pool tokens can occur.

ERC-712

In vanilla ERC-20 token contracts, owners may only register approvals by directly calling a function which uses msg.sender to permission itself. With meta-approvals, ownership and permissioning are derived from a signature passed into the function by the caller (sometimes referred to as the relayer). Because signing data with Ethereum private keys can be a tricky endeavor, TurkDex v2 relies on ERC-712, a signature standard with widespread community support, to ensure user safety and wallet compatibility.

Domain Separator

keccak256(
  abi.encode(
    keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'),
    keccak256(bytes(name)),
    keccak256(bytes('1')),
    chainId,
    address(this)
  )
);
  • name matches the pair token name() value in the contract.
  • chainId is determined from the ERC-1344 chainid opcode.
  • address(this) is the address of the pair, see Pair Addresses.

Permit Typehash

keccak256('Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)');`

Uyarlanmış geliştirici referansı. Kaynak: kaynak dokümantasyon reposu. Kaynak ve lisans bildirimi: NOTICE.