Users often like to simplify their tasks, whether it be automating their interactions with a protocol via smart contracts or making use of account abstraction (AA) wallets (essentially just smart contracts). The same smart contracts deployed on different chains along with AA enabled wallets may produce different addresses. In such cases, the user would not be able to perform cross-chain TGLD transfers or participate in cross-chain auctions.
According to the docs,
Temple Gold
Temple Gold (TGLD) is a non-tradable non-transferrable cross-chain ERC20 token.
-> A TGLD holder can only transfer cross-chain to their own account address <-
TGLD can be transferred to whitelisted addresses. These are TempleGoldStaking, DaiGoldAuction, SpiceAuction and team gnosis multisig address
TGLD uses layer zero for cross-chain functionality.
Smart Contracts deployed on different chains can yield different addresses, for example the zkSync docs state,
The contract address derivation formula is different from the regular EVM approach. Even if a contract is deployed from the same account address with the same nonce, the ZKsync Era contract address will not be the same as it is in another EVM network.
This prevents Smart Contract Accounts and AA wallets from performing cross-chain transfers of TGLD tokens because of the following implementation of the TempleGold::send()
function,
Imagine Alice, with an AA wallet or a smart contract module:
Bids DAI in DaiGoldAuction
and receives TGLD on the source Arbitrum chain.
Decides to participate in a SpiceAuction
on Polygon.
Tries to send
the tokens over but is met with NonTransferrable
error.
Unable to participate in the auction.
As a result, a large populus of users like Alice, would not be able to participate in the Temple ecosystem.
Encourage users to use personal EOAs instead of contract accounts/AA wallets as updating the token contract logic to allow transfers to other addresses would break the core invariant.
Manual Review.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.