Token Banks
How the token banks work
Before an asset is added to the Index, a bank contract for the token needs to be deployed. At deployment, the constructor stores the _manager address and the IERC20 interface type of the _token. The _manager address will normally be the address of the GM Index. The constructor then approves the manager to spend any amount of the token on behalf of the Bank. Once the token’s bank contract has been deployed, and a GM market and price oracle contract exist for the token, the token can be added to the Index (see main GM Index section for adding tokens).
migrate
function migrate(address newVault) externalTransfers all tokens in the Bank contract to a new Bank contract. This function can only be called by the manager.
Parameters:
newVault
address
The address of the new Bank contract that all tokens will be transferred to
deposit
function deposit(uint256 _amount) externalDeposits an _amount of tokens into the Bank contract. This function can only be called by the manager, which is normally the GM Index contract. The tokens are sent from the depositor to the GM Index and then immediately sent to the token’s Bank contract.
Parameters:
_amount
uint256
The amount of tokens to deposit
Last updated