From e6612b2388dcf9ebff89a0f83ae89c0ad76cc52c Mon Sep 17 00:00:00 2001 From: nolash Date: Sat, 2 Jan 2021 17:09:06 +0100 Subject: [PATCH] Add WIP interface calc material, documentation stub --- ERC20.txt | 6 ++++++ contracts_overview.txt | 47 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 ERC20.txt create mode 100644 contracts_overview.txt diff --git a/ERC20.txt b/ERC20.txt new file mode 100644 index 0000000..a9cf372 --- /dev/null +++ b/ERC20.txt @@ -0,0 +1,6 @@ +totalSupply() +balanceOf(address) +allowance(address,address) +transfer(address,uint) +approve(address,uint) +transferFrom(address,address,uint) diff --git a/contracts_overview.txt b/contracts_overview.txt new file mode 100644 index 0000000..0cb6663 --- /dev/null +++ b/contracts_overview.txt @@ -0,0 +1,47 @@ +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