Repository navigation
glossary
-
user profile
mapping between id code and blockchain user account -
blockchain user account
address on the blockchain
-
bank account transaction
incoming or outgoing
money is going into the reserve bank's backing account - block chain transaction tokens are sent between two blockchain user accounts
Contracts:
-
CryptoFiat root contract that links to sub-contracts
-
Data contract provides general purpose data-store for other contracts. All other contracts save most of the date in this contract. It needs to be a separate contract so that we don't need to migrate data from the previous contract.
-
Accounts contract provides facilities for querying the account status via statusOf (and for convenience isApproved, isClosed, isFrozen) and balance via balanceOf. It can be used to make transfers with transfer.
-
Approving contract allows Account Approver to approve new accounts.
-
Reserve contract allows Reserve Bank to increase or decrease supply.
-
Enforcement contract allows Law Enforcement to force withdraw from accounts, it also allows to freeze/unfreeze accounts. It also contains a reference to the Enforcement Account.
-
Account Recovery contract allows to specify a recovery account that can be used to recover all balance from your account.
-
Delegation contract allows making transactions via a third-party committer. Useful for new users who do not have Ether on their account to make ethereum transactions.
Roles:
-
Master is an address that is allowed to make upgrades to sub-contracts.
-
Reserve Bank account that can increase and decrease supply in the contract.
-
Account Approver is an address that can approve and close accounts.
-
Law Enforcer is an address that can freeze/unfreeze accounts and make enforced withdraws.
-
Enforcment Account Designator is an address that can change set a new forced-withdrawal account.
-
Enforcment Account is an account where the enforced withdraw by Law Enforcer goes to.