Skip to main content
TAC proxy functions receive their parameters as ABI-encoded bytes. This guide shows the encoding patterns for different data structure complexities.
All proxy functions must follow the signature function name(bytes calldata tacHeader, bytes calldata arguments). The arguments parameter contains your custom ABI-encoded data.

Simple Parameters

Parameters without structure:
Frontend encoding example using ethers:
And the associated decoding example in Solidity:

Advanced Parameters

Parameters in structs containing other structs:
Frontend encoding example using ethers:
And the associated decoding example in Solidity:

TAC SDK Integration

When using the TAC SDK to create messages for bridging, you must provide:
  • target: the address of your Proxy contract
  • method_name: the complete function signature, e.g. "myProxyFunction(bytes,bytes)"
  • arguments: the ABI-encoded arguments (second parameter in your proxy function)
  • gasLimit (optional): the parameter that will be passed to the TAC side. The executor must allocate at least gasLimit gas for executing the transaction on the TAC side. If this parameter is not specified, it will be calculated using the simulateEVMMessage method (preferred)
Example:

What’s Next?

Still have questions after reading the Advanced Custom Proxy guide? Check out the comprehensive documentation to find the answers you need.

Custom Proxy

Developer documentation within @tonappchain/evm-ccl NPM-package
You can also reach out to our developer community in Telegram or Discord.