ABCDEFGH
1
ContractContract Functionality/notesRoleAddressAddress TypeTimelockFunctionFunction Details
2
Proxy MasterMindMasterMind is responsible for managing AMM farming pools and user deposits into those pools. Implementation contract: 0x087fd5d07907f864285dbd94acef8cfb5bd26804ownerSpiral Protocol Multisig (4-of-7)multisigupdateRewarderset a new rewarder address
3
updateDrainAddressset a new drain address
4
updateOwnerset a new owner address
5
addBulkadd multiple pools
6
updateTargetInfoupdate pool target data and redeploy funds to new address
7
massUpdateTargetupdate pool target data for multiple pools and redeploy funds to new address
8
owner and service can also call functions with onlyAllowedDrainer modifierdrainAddressSpiral Treasury Multisig (3-of-6)multisigupdatePoolupdate amount in pool of specific poolId
9
drainclaim rewards from pool of specified poolId
10
owner call also call functions with onlyService modifierservice0xC607Aa4484157F651D95de42cd8C5393d5BCc776EOAupdateServiceset new service address
11
setDrainProtectiontoggle drain protection (allows service to whitelist drainer addresses)
12
setDrainerAllowancewhitelist drainer address when drainProtection is enabled
13
RewarderMulti-pool rewarder contract that sets fees and reward rates for depositors. Address is set by MasterMind contract. Implementation Contract: 0x72614b5d6F388B089f343723fcc3a5B4Fc22B347owner0x6E2e85Ee5bB7b4a85e904F1e0eD5b9C7b08e5384EOAsetDevFeeset dev fee to value <= 350
14
setDaoFeeset DAO fee <= 350
15
updateMaxRewardPerBlockPerPoolupdate max reward per block per pool
16
migrate
17
addBulk
18
updatePoolRewardsupdate pool rewards to a specified pool
19
massUpdatePoolRewardsupdate pool rewards to multiple specified pools
20
updatePoolLimitupdate max reward to specified pool
21
massUpdatePoolLimitsupdate max reward to multiple specified pools
22
updateDevset dev address
23
updateDaoset DAO address
24
dev, dao, or owner can call this functiondev/dao/ownerdistributeFeedistribute fees from rewarder vault
25
MMMasterMind Contractcontractclaimuser claims
26
updateUserupdate user's rewardable deposit
27
RewarderVaultExecutes mints for Rewarder with SPR reward token. Address is set within the Rewarder contract constructor which is set by the MasterMind contract. Implementation Contract: 0x31878EE03D3DeA8C3a81b78fddc864c0be6f415FownerSpiral Protocol Multisig (4-of-7)multisigsetGuardianset guardian address
28
fillVaultmint reward tokens to the vault contract
29
updateRewarderset rewarder address
30
owner/guardianSpiral Protocol Multisig (4-of-7)multisiglockremove rewarder approval to claim reward tokens
31
SpiralStakingDeposit COIL to get SPR (similar to OHM staking with rebase, but no forfeit functionality)guardSpiral Protocol Multisig (4-of-7)multisigchangeLengthset epoch length < 50,000
32
changeAPRset apr < 1,000,000
33
changeGuardset guard address
34
COIL tokenReward token (ERC20), 18 decimalsgovernanceSpiral Protocol Multisig (4-of-7)multisigsetGovernanceset governance address
35
setVaultset vault address
36
vaultSpiralStaking Contractcontractmintmint COIL to account
37
SPR tokenProtocol wrapped token (ERC20), 18 decimalsgovernanceSpiral Protocol Multisig (4-of-7)multisigsetGovernanceset governance address
38
setVaultset vault address
39
vaultSpiralStaking Contract, RewarderVaultcontractmintmint SPR to account
40
_ProxyAdminAdmin contract that can upgrade MasterMind proxyownerSpiral Protocol Multisig (4-of-7)multisigchangeProxyAdminchanges the admin of proxy to new admin
41
upgradeupgrade contract implementation
42
upgradeAndCallupgrade contract implementation and call a function on new implementation
43
SpiralRedeemAllows users to redeem COIL for treasury USDC with configurable penaltyowner0x6E2e85Ee5bB7b4a85e904F1e0eD5b9C7b08e5384EOAsetBackingset USDC treasury backing per COIL, used to calc redemption amount
44
setPenaltyPercentset penalty percent when redeeming
45
withdrawERC20withdraw 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