Mint
- Mint to an addressBurn
- Burn at an addressPush
- TransferPull
- Transfer FromMove
- Transfer FromApprove
- Allow pulls and movesPermit
- Approve by signaturename
- dotBTC symbol
- .BTCversion
- 1decimals
- 18totalSupply
- Total dotBTC SupplybalanceOf(usr: address)
- User balanceallowance(src: address, dst: address)
- Approvalsnonces(usr: address)
- Permit noncevat
- storage of the Vat’s addressilk
- id of the Ilk for which a GemJoin
is created forgem
- the address of the ilk
for transferringone
- a 10^27 uint used for math in dotBTCJoin
Join
consists of three smart contracts, one of which is the dotBTCJoin contract. Each join contract is created specifically to allow the given token type to be joined to the vat. Because of this, each join contract has slightly different logic to account for the different types of tokens within the system. The dotBTCJoin contract allows users to withdraw their dotBTC from the system into a standard ERC20 token.approval
for a specific amount be aware of this particular issue and use caution when authorizing other contracts to perform transfers on their behalf.join
contracts system due to the limited functionality of the system. Barring a contract bug, should a user call join by accident they could always get their tokens back through the corresponding exit call on the given join contract. The main issue to be aware of here would be a well-executed phishing attack. As the system evolves and potentially more join contracts are created, or more user interfaces are made, there is the potential for a user to have their funds stolen by a malicious join contract which does not actually send tokens to the vat, but instead to some other contract or wallet.vat
upgrade that would require new join
contracts to be created.gem
contract were to go through a token upgrade or have the tokens frozen while a user's collateral was in the system, there could potentially be a scenario in which the users were unable to redeem their collateral after the freeze or upgrade was finished. This seems to be a small risk though because it would seem likely that the token going through this upgrade would want to work alongside the ABM community to be sure this was not an issue.