ATR Module
Last updated
Last updated
This contract represents the tokenised asset transfer rights as an token, keeps track of tokenised balances and handles transfers of the tokenised assets. PWN Safes are expected to use this contract to mint new Asset Transfer Right (ATR) tokens. The contract owner can also set a whitelist to restrict minting ATR tokens only for selected assets.
AssetTransferRights.sol is written in Solidity version 0.8.15
ATR token minting and burning
Keeping track of all ATR tokens
Transferring of assets with minted ATR token
Handling recipient permissions
Whitelist to allow tokenisation of only selected collections
This contract inherits other contracts. Please see their reference for a complete overview of the ATR Module.
MultiToken.Asset memory
asset
- An asset struct (see )
MultiToken.Asset[] calldata
assets
- An array of asset structs (see )
Transfer functions are divided into two separate ones to prevent the .
Transfer functions are divided into two separate ones to prevent the .
This function allows for a transfer of tokenised asset to an arbitrary address. Recipient Permission Manager is used to prevent the Stalking Attack. The permission can be granted on-chain, signed off-chain or via . The caller can also decide if the ATR token should be burned in the process.
RecipientPermission memory
permission
- Struct representing recipient permission. (see )
bytes calldata
permissionSignature
- Signature of permission struct hash. Pass empty data in case of on-chain signature or usage of .
RecipientPermission memory
permission
- Struct representing recipient permission. (see )
bytes calldata
permissionSignature
- Signature of permission struct hash. Pass empty data in case of on-chain signature or usage of .
The Asset Transfer Rights contract inherits events from , , and contracts and does not define any additional custom events or errors.