| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
1 | Contract | Contract Functionality/notes | Role | Address | Address Type | Timelock | Function | Function Details |
2 | Proxy MasterMind | MasterMind is responsible for managing AMM farming pools and user deposits into those pools. Implementation contract: 0x087fd5d07907f864285dbd94acef8cfb5bd26804 | owner | Spiral Protocol Multisig (4-of-7) | multisig | updateRewarder | set a new rewarder address | |
3 | updateDrainAddress | set a new drain address | ||||||
4 | updateOwner | set a new owner address | ||||||
5 | addBulk | add multiple pools | ||||||
6 | updateTargetInfo | update pool target data and redeploy funds to new address | ||||||
7 | massUpdateTarget | update pool target data for multiple pools and redeploy funds to new address | ||||||
8 | owner and service can also call functions with onlyAllowedDrainer modifier | drainAddress | Spiral Treasury Multisig (3-of-6) | multisig | updatePool | update amount in pool of specific poolId | ||
9 | drain | claim rewards from pool of specified poolId | ||||||
10 | owner call also call functions with onlyService modifier | service | 0xC607Aa4484157F651D95de42cd8C5393d5BCc776 | EOA | updateService | set new service address | ||
11 | setDrainProtection | toggle drain protection (allows service to whitelist drainer addresses) | ||||||
12 | setDrainerAllowance | whitelist drainer address when drainProtection is enabled | ||||||
13 | Rewarder | Multi-pool rewarder contract that sets fees and reward rates for depositors. Address is set by MasterMind contract. Implementation Contract: 0x72614b5d6F388B089f343723fcc3a5B4Fc22B347 | owner | 0x6E2e85Ee5bB7b4a85e904F1e0eD5b9C7b08e5384 | EOA | setDevFee | set dev fee to value <= 350 | |
14 | setDaoFee | set DAO fee <= 350 | ||||||
15 | updateMaxRewardPerBlockPerPool | update max reward per block per pool | ||||||
16 | migrate | |||||||
17 | addBulk | |||||||
18 | updatePoolRewards | update pool rewards to a specified pool | ||||||
19 | massUpdatePoolRewards | update pool rewards to multiple specified pools | ||||||
20 | updatePoolLimit | update max reward to specified pool | ||||||
21 | massUpdatePoolLimits | update max reward to multiple specified pools | ||||||
22 | updateDev | set dev address | ||||||
23 | updateDao | set DAO address | ||||||
24 | dev, dao, or owner can call this function | dev/dao/owner | distributeFee | distribute fees from rewarder vault | ||||
25 | MM | MasterMind Contract | contract | claim | user claims | |||
26 | updateUser | update user's rewardable deposit | ||||||
27 | RewarderVault | Executes mints for Rewarder with SPR reward token. Address is set within the Rewarder contract constructor which is set by the MasterMind contract. Implementation Contract: 0x31878EE03D3DeA8C3a81b78fddc864c0be6f415F | owner | Spiral Protocol Multisig (4-of-7) | multisig | setGuardian | set guardian address | |
28 | fillVault | mint reward tokens to the vault contract | ||||||
29 | updateRewarder | set rewarder address | ||||||
30 | owner/guardian | Spiral Protocol Multisig (4-of-7) | multisig | lock | remove rewarder approval to claim reward tokens | |||
31 | SpiralStaking | Deposit COIL to get SPR (similar to OHM staking with rebase, but no forfeit functionality) | guard | Spiral Protocol Multisig (4-of-7) | multisig | changeLength | set epoch length < 50,000 | |
32 | changeAPR | set apr < 1,000,000 | ||||||
33 | changeGuard | set guard address | ||||||
34 | COIL token | Reward token (ERC20), 18 decimals | governance | Spiral Protocol Multisig (4-of-7) | multisig | setGovernance | set governance address | |
35 | setVault | set vault address | ||||||
36 | vault | SpiralStaking Contract | contract | mint | mint COIL to account | |||
37 | SPR token | Protocol wrapped token (ERC20), 18 decimals | governance | Spiral Protocol Multisig (4-of-7) | multisig | setGovernance | set governance address | |
38 | setVault | set vault address | ||||||
39 | vault | SpiralStaking Contract, RewarderVault | contract | mint | mint SPR to account | |||
40 | _ProxyAdmin | Admin contract that can upgrade MasterMind proxy | owner | Spiral Protocol Multisig (4-of-7) | multisig | changeProxyAdmin | changes the admin of proxy to new admin | |
41 | upgrade | upgrade contract implementation | ||||||
42 | upgradeAndCall | upgrade contract implementation and call a function on new implementation | ||||||
43 | SpiralRedeem | Allows users to redeem COIL for treasury USDC with configurable penalty | owner | 0x6E2e85Ee5bB7b4a85e904F1e0eD5b9C7b08e5384 | EOA | setBacking | set USDC treasury backing per COIL, used to calc redemption amount | |
44 | setPenaltyPercent | set penalty percent when redeeming | ||||||
45 | withdrawERC20 | withdraw USDC deposited into the contract to the treasury address | ||||||
46 | ||||||||
47 | ||||||||
48 | ||||||||
49 | ||||||||
50 | ||||||||
51 | ||||||||
52 | ||||||||
53 | ||||||||
54 | ||||||||
55 | ||||||||
56 | ||||||||
57 | ||||||||
58 | ||||||||
59 | ||||||||
60 | ||||||||
61 | ||||||||
62 | ||||||||
63 | ||||||||
64 | ||||||||
65 | ||||||||
66 | ||||||||
67 | ||||||||
68 | ||||||||
69 | ||||||||
70 | ||||||||
71 | ||||||||
72 |