cic-contracts/contracts_overview.txt

48 lines
1.2 KiB
Plaintext

Contract interfaces overview
AccountRegistry
* interface:
* append-only list of custodial addresses
* only writers may add addresses
* only owner may add and remove writers
AddressDeclarator
* interface:
* enables addresses to link one or more 32 byte entries to another address
* used for:
- kyc proofs to user account addresses
- token metadata (eg. tokenlists.org std), endorsements, warnings
* freely writable
Faucet
* interface:
* allows transfer of an amount of one particular token to a given address
* transfer amount can be changed at any time. invocation will used the transfer amount set at the time.
* anyone can invoke the function for anyone
* implements a function to provide cooldown info, max(uint256) means cooldown disabled (one-shot only)
Token Symbol Registry
* interface:
* simple key-value store to enforce unique token symbols
* only owner can write
* will check that token symbol reported by ERC20 interface matches provided key (case sensitive)
Transfer Approvals
* interface:
* counter-signing of transfers from custodial addresses invoked by third-party (staff)
* custodial address must create an allowance for contract
* only "approvers" may reject/execute transfers
* provides lists of open requests