Smart contract limitations
Key corner cases to take into account when integrating with our cross-chain providers
Last updated
Key corner cases to take into account when integrating with our cross-chain providers
Last updated
When integrating with THORChain or Mayachain, certain limitations at the smart contract and transaction level must be taken into account. Failing to do so may result in failed swaps, rejected transactions, or permanent loss of funds.
THORChain and Mayachain do not support EVM Type 4 transactions introduced in , which involve account abstraction. This includes:
All type: 4
transactions
Transactions from wallets based on abstracted accounts
Any transaction using this format will be rejected and may lead to loss of funds if funds are transferred under an unsupported transaction structure.
The following EVM transaction types are supported:
type: 0
(Legacy)
type: 2
(EIP-1559)
The includeTx
optional argument when requesting a quote returns a legacy transaction object.
Chainflip, by contrast, does not impose restrictions on transaction types. All EVM transaction types, including Type 4, are supported when depositing on a Chainflip channel.
For inbound transactions into THORChain and Mayachain, the maximum number of logs that a transaction can include is 50 logs.
This limitation is particularly important for integrators who use smart contract wrappers to:
Perform token swaps
Route through aggregators
Execute any custom logic before sending funds to THORChain or Mayachain
If the resulting transaction generates more than 50 logs (e.g., due to complex DeFi interactions), THORChain will not process it.