ERC-3643 T-REX - Token for Regulated EXchanges
An institutional grade security token contract that provides interfaces for the management and compliant transfer of security tokens.
ERC-165 interface ids
Computed here as the XOR of the selectors each interface defines.
| IERC3643 | 0xb97d944c |
Functions this standard introduces (28)
0x4a6cc677 | batchBurn(address[],uint256[]) | |
0x42a47abc | batchForcedTransfer(address[],address[],uint256[]) | |
0xfc7e5fa8 | batchFreezePartialTokens(address[],uint256[]) | |
0x68573107 | batchMint(address[],uint256[]) | |
0x1a7af379 | batchSetAddressFrozen(address[],bool[]) | |
0x88d695b2 | batchTransfer(address[],uint256[]) | |
0x4710362d | batchUnfreezePartialTokens(address[],uint256[]) | |
0x9dc29fac | burn(address,uint256) | |
0x6290865d | compliance() | view |
0x9fc1d0e7 | forcedTransfer(address,address,uint256) | |
0x125c4a33 | freezePartialTokens(address,uint256) | |
0x158b1a57 | getFrozenTokens(address) | view |
0x134e18f4 | identityRegistry() | view |
0xe5839836 | isFrozen(address) | view |
0x40c10f19 | mint(address,uint256) | |
0xaba63705 | onchainID() | view |
0x8456cb59 | pause() | |
0x5c975abb | paused() | view |
0x9285948a | recoveryAddress(address,address,address) | |
0xc69c09cf | setAddressFrozen(address,bool) | |
0xf8981789 | setCompliance(address) | |
0xcbf3f861 | setIdentityRegistry(address) | |
0xc47f0027 | setName(string) | |
0x3d1ddc5b | setOnchainID(address) | |
0xb84c8246 | setSymbol(string) | |
0x1fe56f7d | unfreezePartialTokens(address,uint256) | |
0x3f4ba83a | unpause() | |
0x54fd4d50 | version() | view |
Inherited (9)
0xdd62ed3e | allowance(address,address) | ERC-20 |
0x095ea7b3 | approve(address,uint256) | ERC-20 |
0x70a08231 | balanceOf(address) | ERC-20 |
0x313ce567 | decimals() | ERC-20 |
0x06fdde03 | name() | ERC-20 |
0x95d89b41 | symbol() | ERC-20 |
0x18160ddd | totalSupply() | ERC-20 |
0xa9059cbb | transfer(address,uint256) | ERC-20 |
0x23b872dd | transferFrom(address,address,uint256) | ERC-20 |
Optional extensions (6)
Interfaces the spec defines alongside the core one, which an implementation may or may not carry.
IAgentRole0x0cba0fa8
0x84e79842 | addAgent(address) | |
0x97a6278e | removeAgent(address) | |
0x1ffbb064 | isAgent(address) |
IIdentityRegistry
0xf11abfd8 | identityStorage() | |
0xb4f3fcb7 | issuersRegistry() | |
0x3b3e12f4 | topicsRegistry() | |
0x26d941ae | setIdentityRegistryStorage(address) | |
0x670af6a9 | setClaimTopicsRegistry(address) | |
0xe744d789 | setTrustedIssuersRegistry(address) | |
0xa8d29d1d | deleteIdentity(address) | |
0x3b239a7f | updateCountry(address,uint16) | |
0x5dbe47e8 | contains(address) | |
0xb9209e33 | isVerified(address) | |
0xf0eb5e54 | identity(address) | |
0x7e42683b | investorCountry(address) |
IIdentityRegistryStorage
0x7988d3a5 | storedIdentity(address) | |
0x727e13bc | storedInvestorCountry(address) | |
0xcf191bcd | removeIdentityFromStorage(address) | |
0x9f3418d5 | modifyStoredInvestorCountry(address,uint16) | |
0x690a49f9 | bindIdentityRegistry(address) | |
0x97a012f7 | unbindIdentityRegistry(address) | |
0xbf9eb959 | linkedIdentityRegistries() |
ICompliance0x3144991c
0x3ff5aa02 | bindToken(address) | |
0x40db3b50 | unbindToken(address) | |
0x993e8b95 | isTokenBound(address) | |
0x6a3edf28 | getTokenBound() | |
0xe46638e6 | canTransfer(address,address,uint256) | |
0x8baf29b4 | transferred(address,address,uint256) | |
0x5f8dead3 | created(address,uint256) | |
0x8d2ea772 | destroyed(address,uint256) |
ITrustedIssuersRegistry
0xd9dd24c5 | getTrustedIssuers() | |
0xef2ed1a4 | isTrustedIssuer(address) | |
0x52c111d1 | getTrustedIssuersForClaimTopic(uint256) | |
0x34a89987 | hasClaimTopic(address,uint256) |
IClaimTopicsRegistry0x10928b13
0xc7b22551 | addClaimTopic(uint256) | |
0x08297846 | removeClaimTopic(uint256) | |
0xdf09d604 | getClaimTopics() |
Events (22)
Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.
0xf68e73cec97f2d70aa641fb26e87a4383686e2efacb648f2165aeb02ac562ec5 | AgentAdded(address) | |
0xed9c8ad8d5a0a66898ea49d2956929c93ae2e8bd50281b2ed897c5d1a6737e0b | AgentRemoved(address) | |
0x6a1105ac8148a3c319adbc369f9072573e8a11d3a3d195e067e7c40767ec54d1 | UpdatedTokenInformation(string,string,uint8,string,address) | |
0xd2be862d755bca7e0d39772b2cab3a5578da9c285f69199f4c063c2294a7f36c | IdentityRegistryAdded(address) | |
0x7f3a888862559648ec01d97deb7b5012bff86dc91e654a1de397170db40e35b6 | ComplianceAdded(address) | |
0xf0c9129a94f30f1caaceb63e44b9811d0a3edf1d6c23757f346093af5553fed0 | RecoverySuccess(address,address,address) | |
0x7fa523c84ab8d7fc5b72f08b9e46dbbf10c39e119a075b3e317002d14bc9f436 | AddressFrozen(address,bool,address) | |
0xa065e63c631c86f1b9f66a4a2f63f2093bf1c2168d23290259dbd969e0222a45 | TokensFrozen(address,uint256) | |
0x9bed35cb62ad0dba04f9d5bfee4b5bc91443e77da8a65c4c84834c51bb08b0d6 | TokensUnfrozen(address,uint256) | |
0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258 | Paused(address) | |
0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa | Unpaused(address) | |
0x7170bf15b246e880b2369cd7c67d057760d8a35149e8c64dde91efa22bcc76d0 | ClaimTopicsRegistrySet(address) | |
0x2fa8b95c1db7afe99e3398f3792f008135cedc1fa26b0bb2ecd2352cd166d53c | IdentityStorageSet(address) | |
0x1b98cb79e6f73020175fe87333f1b91ad6a881519c0afe30340c2599b2b4bde0 | TrustedIssuersRegistrySet(address) | |
0x04ed3b726495c2dca1ff1215d9ca54e1a4030abb5e82b0f6ce55702416cee853 | CountryUpdated(address,uint16) | |
0x20965fcdc6eed7ae398065b40ece4e732ba667992ca819fc54e80e9f2047c4cf | CountryModified(address,uint16) | |
0x500c250171aa20e861b680f93502547b9d436eda7d4c537fc360db6e0c6eedfb | IdentityRegistryBound(address) | |
0x51f353eb5801583fdf2706e43c045b62fdf6b1566820b349390616363ecf72c9 | IdentityRegistryUnbound(address) | |
0x2de35142b19ed5a07796cf30791959c592018f70b1d2d7c460eef8ffe713692b | TokenBound(address) | |
0x28a4ca7134a3b3f9aff286e79ad3daadb4a06d1b43d037a3a98bdc074edd9b7a | TokenUnbound(address) | |
0x01c928b7f7ade2949e92366aa9454dbef3a416b731cf6ec786ba9595bbd814d6 | ClaimTopicAdded(uint256) | |
0x0b1381093c776453c1bbe54fd68be1b235c65db61d099cb50d194b2991e0eec5 | ClaimTopicRemoved(uint256) |
Depends on (2)
Proposals this one names in its requires field.
What the specification covers
Compare with
Parsed from the canonical specification · discussion