Build your first TAC Proxy contract step-by-step
TacProxyV1
: The base contract that handles all cross-chain communicationTacHeaderV1
: Data structure containing information about the TON userTacProxyV1
to receive cross-chain calls.
crossChainLayer
address is TAC’s infrastructure contract that will call your functions. You get this address from TAC documentation or contract addresses page.
bytes calldata tacHeader
- Encoded TacHeaderV1 containing TON user informationbytes calldata arguments
- Your custom ABI-encoded parametersexternal
- Must be externally callable_onlyCrossChainLayer
- Security modifier that ensures only CrossChainLayer can call this functionheader.tvmCaller
- TON user’s address. !!! Important !!! It is always base64 mainnet bounceable format and starts with “EQ” (like “EQAbc123…”)header.operationId
- Unique ID for this operationheader.timestamp
- When the TON transaction happenedarguments
contain whatever data the TON user sent. You decide what format this should be - it could be:
abi.decode(arguments, (string))
abi.decode(arguments, (uint256, address, bool))
abi.decode(arguments, (MyCustomStruct))
OutMessageV1
structure: