Currency Registry Contract
- BETA -
- Smart Contract: specific to a Swarm Powered Fundraise for a specific SRC20
- Created: review the SPF Deployment Sequence; then referenced in the Swarm Powered Fundraise contract
- Purpose: Registers all currencies that will be accepted in a specific Swarm Powered Fundraise
- Example: TBD
Function | Description |
currenciesList[address] returns (struct) | An array of CurrencyStats Objects. These objects have the following structure: struct CurrencyStats {address erc20address; address exchangeProxy; uint256 finalExchangeRate; uint256 totalBufferedAmount; uint256 totalQualifiedAmount;} |
getAcceptedCurrencies() returns (address[]) | Returns an array of the accepted currencies in a Swarm Powered Fundraise |
currencyIndex[address] returns (uint256) | A mapping of accepted currency addresses to integers; To obtain the index of DAI in the contract use currencyIndex(“0x6B175474E89094C44Da98b954EedeAC495271d0F”) |
lockedExchangeRate(address) returns (uint256) | Returns the value of the locked exchange rate of the currency in the first parameter |
isAccepted(address) returns (bool) | Returns if a specific currency is accepted in a Swarm Powered Fundraise; To check if the fundraise accepts DAI use isAccepted(“0x6B175474E89094C44Da98b954EedeAC495271d0F”) |
getBaseCurrency() returns (address) | Returns the base currency in which a Swarm Powered Fundraise is denominated |
toUSD(uint256, address) returns (uint256) | Converts the amount given as the first parameter into USD. The second parameter is the address of the currency to be converted to USD. |
toBCY(uint256, address) returns (uint256) | Converts the amount given as the first parameter into the Base Currency. The second parameter is the address of the currency to be converted to Base Currency |
getRate(address, address, uint256, uint256) returns (uint256, uint256) | Returns the exchange rate between the first and the second address. The first parameter is the token address of the currency to be exchanged from, the second parameter is the address of the currency to be exchanged to, the third parameter is the value in Wei to be exchanged and the fourth parameter is the decimal places. E.g. to get the rate of 1 ETH in DAI use getRate(“0x0000000000000000000000000000000000000000”,"0x2a1530C4C41db0B0b2bB646CB5Eb1A67b7158667”,1000000000000000000,0) |
isOwner() returns (bool) | Returns true if the calling address is the contract owner |
owner() returns (address) | Returns the address of the contract owner |
Function | Description |
addCurrency(address, address) returns (bool) | Adds a currency to the list of currencies accepted in a Swarm Powered Fundraise. The first parameter is the token address and the second parameter is the address of the exchange proxy contract |
lockExchangeRates() | Locks the exchange rates of currencies accepted in a Swarm Powered Fundraise to the Base Currency |
setBaseCurrency(address) | Sets a base currency from the list of currencies accepted in a Swarm Powered Fundraise; the parameter is the address of the base currency to be set |
setUSDERC20(address) returns (bool) | Sets the currency address that will be used as the default USD dollar oracle address for a Swarm Powered Fundraise. Usually set to USDC; e.g. to set to USDC use setUSDERC20(“0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48”) |
renounceOwnership() | Contract owner can renounce ownership of this Currency Registry contract |
transferOwnership() | Transfers ownership of this Currency Registry contract to another address |
Last modified 3yr ago