export const PLACEHOLDER_ADDRESS = '0x0000000000000000000000000000000000000000' ; export const SNX_TOKEN_ADDRESS = '0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F' ; export const REN_ADDRESS = '0x408e41876cCCDC0F92210600ef50372656052a38' ; export const USDC_TOKEN_ADDR = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' ; export const SNX_USDC_BPT_ADDRESS = '0x815F8eF4863451f4Faf34FBc860034812E7377d9' ; export const crvRenWSBTC_TOKEN_ADDR = '0x075b1bb99792c9E1041bA13afEf80C91a1e70fB3' ; export const SNX_REN_BPT_TOKEN_ADDRESS = '0x330416C863f2acCE7aF9C9314B422d24c672534a' ; export const iETH_TOKEN_ADDR = '0xA9859874e1743A32409f75bB11549892138BBA1E' ; export const crvPlain3andSUSD_TOKEN_ADDR = '0xC25a3A3b969415c80451098fa907EC722572917F' ; export const SETH_TOKEN_ADDR = '0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb' ; export const SXAU_TOKEN_ADDR = '0x261EfCdD24CeA98652B9700800a13DfBca4103fF' ; export const YFI_TOKEN_ADDR = '0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e' ; export const MUSD_TOKEN_ADDR = '0xe2f2a5C287993345a840Db3B0845fbC70f5935a5' ; export const MTA_TOKEN_ADDR = '0xa3BeD4E1c75D00fa6f4E5E6922DB7261B5E9AcD2' ; export const WETH_TOKEN_ADDR = '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' ; export const iBTC_TOKEN_ADDR = '0xD6014EA05BDe904448B743833dDF07c3C7837481' ; export const YFII_TOKEN_ADDR = '0xa1d0E215a23d7030842FC67cE582a6aFa3CCaB83' ; export const YUSDSEP20_TOKEN_ADDR = '0xB2FdD60AD80ca7bA89B9BAb3b5336c2601C020b4' ; export const PASTA_TOKEN_ADDR = '0x08A2E41FB99A7599725190B9C970Ad3893fa33CF' ; export const WBTC_TOKEN_ADDR = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599' ; export const CREAM_BPT_POOL_ADDR = '0xCcD5cb3401704AF8462a4FFE708a180d3C5c4Da0' ; export const CREAM_UNI_POOL_ADDR = '0x65bC20147E2cA6F3bf0819c38E519F8792043b36' ; export const BASED_TOKEN_ADDR = '0x68a118ef45063051eac49c7e647ce5ace48a68a5' ; export const CREAM_WETH_BPT_TOKEN_ADDR = '0x5a82503652d05B21780f33178FDF53d31c29B916' ; export const CREAM_WETH_UNI_TOKEN_ADDR = '0xddF9b7a31b32EBAF5c064C80900046C9e5b7C65F' ; export const CREAM_REWARD_POOL_ABI = [ { inputs : [ { internalType : 'address' , name : '_lpToken' , type : 'address' } ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'previousOwner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnershipTransferred' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardAdded' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardPaid' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Staked' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Withdrawn' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DURATION' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'admin' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'breaker' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'cream' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'earned' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'exit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'getReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'isOwner' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastTimeRewardApplicable' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastUpdateTime' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lock' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lpToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'reward' , type : 'uint256' } ] , name : 'notifyRewardAmount' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'owner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'periodFinish' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'renounceOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerToken' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerTokenStored' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardRate' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'rewards' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'bool' , name : '_breaker' , type : 'bool' } ] , name : 'setBreaker' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_rewardDistribution' , type : 'address' } , ] , name : 'setRewardDistribution' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'stakeLock' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'newOwner' , type : 'address' } ] , name : 'transferOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'userRewardPerTokenPaid' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const YFI_TOKEN_ABI = [ { inputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'owner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'spender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Approval' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'from' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Transfer' , type : 'event' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_minter' , type : 'address' } ] , name : 'addMinter' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'owner' , type : 'address' } , { internalType : 'address' , name : 'spender' , type : 'address' } , ] , name : 'allowance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'approve' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'decimals' , outputs : [ { internalType : 'uint8' , name : '' , type : 'uint8' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'subtractedValue' , type : 'uint256' } , ] , name : 'decreaseAllowance' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'governance' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'addedValue' , type : 'uint256' } , ] , name : 'increaseAllowance' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'mint' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'minters' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'name' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_minter' , type : 'address' } ] , name : 'removeMinter' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_governance' , type : 'address' } ] , name : 'setGovernance' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'symbol' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'recipient' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'transfer' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'sender' , type : 'address' } , { internalType : 'address' , name : 'recipient' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'transferFrom' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const DAI_TOKEN_ADDR = '0x6B175474E89094C44Da98b954EedeAC495271d0F' ; export const YCRV_TOKEN_ADDR = '0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8' ; export const PDAO_ADDRESS = '0xeb3107117fead7de89cd14d463d340a2e6917769' ; export const SYNTH_DISTRIBUTOR_ADDR = '0x29c295b046a73cde593f21f63091b072d407e3f2' ; export const BLOCK_PER_DAY = 7000 ; export const YFII_STAKING_POOL_ADDR = '0xb81D3cB2708530ea990a287142b82D058725C092' ; export const YFII_BPT_STAKING_POOL_ADDR = '0xAFfcD3D45cEF58B1DfA773463824c6F6bB0Dc13a' ; export const YFII_DAI_BPT_TOKEN_ADDR = '0x16cAC1403377978644e78769Daa49d8f6B6CF565' ; export const YUSD_USDC_BPT_TOKEN_ADDR = '0xD2F574637898526FCddfb3D487cc73c957Fa0268' ; export const BALANCER_USDC_SNX_POOL_ADDRESS = '0x815F8eF4863451f4Faf34FBc860034812E7377d9' ; export const BALANCER_POOL_ABI = [ { inputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'src' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'dst' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amt' , type : 'uint256' } , ] , name : 'Approval' , type : 'event' , } , { anonymous : true , inputs : [ { indexed : true , internalType : 'bytes4' , name : 'sig' , type : 'bytes4' } , { indexed : true , internalType : 'address' , name : 'caller' , type : 'address' , } , { indexed : false , internalType : 'bytes' , name : 'data' , type : 'bytes' } , ] , name : 'LOG_CALL' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'caller' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'tokenOut' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' , } , ] , name : 'LOG_EXIT' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'caller' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'tokenIn' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' , } , ] , name : 'LOG_JOIN' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'caller' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'tokenIn' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'tokenOut' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' , } , ] , name : 'LOG_SWAP' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'src' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'dst' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amt' , type : 'uint256' } , ] , name : 'Transfer' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'BONE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'BPOW_PRECISION' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'EXIT_FEE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'INIT_POOL_SUPPLY' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MAX_BOUND_TOKENS' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MAX_BPOW_BASE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MAX_FEE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MAX_IN_RATIO' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MAX_OUT_RATIO' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MAX_TOTAL_WEIGHT' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MAX_WEIGHT' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MIN_BALANCE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MIN_BOUND_TOKENS' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MIN_BPOW_BASE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MIN_FEE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MIN_WEIGHT' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'src' , type : 'address' } , { internalType : 'address' , name : 'dst' , type : 'address' } , ] , name : 'allowance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'dst' , type : 'address' } , { internalType : 'uint256' , name : 'amt' , type : 'uint256' } , ] , name : 'approve' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'whom' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'token' , type : 'address' } , { internalType : 'uint256' , name : 'balance' , type : 'uint256' } , { internalType : 'uint256' , name : 'denorm' , type : 'uint256' } , ] , name : 'bind' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : 'tokenBalanceIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenBalanceOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } , ] , name : 'calcInGivenOut' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , ] , payable : false , stateMutability : 'pure' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : 'tokenBalanceIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenBalanceOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } , ] , name : 'calcOutGivenIn' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , ] , payable : false , stateMutability : 'pure' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : 'tokenBalanceOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'poolSupply' , type : 'uint256' } , { internalType : 'uint256' , name : 'totalWeight' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } , ] , name : 'calcPoolInGivenSingleOut' , outputs : [ { internalType : 'uint256' , name : 'poolAmountIn' , type : 'uint256' } , ] , payable : false , stateMutability : 'pure' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : 'tokenBalanceIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'poolSupply' , type : 'uint256' } , { internalType : 'uint256' , name : 'totalWeight' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } , ] , name : 'calcPoolOutGivenSingleIn' , outputs : [ { internalType : 'uint256' , name : 'poolAmountOut' , type : 'uint256' } , ] , payable : false , stateMutability : 'pure' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : 'tokenBalanceIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'poolSupply' , type : 'uint256' } , { internalType : 'uint256' , name : 'totalWeight' , type : 'uint256' } , { internalType : 'uint256' , name : 'poolAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } , ] , name : 'calcSingleInGivenPoolOut' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , ] , payable : false , stateMutability : 'pure' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : 'tokenBalanceOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'poolSupply' , type : 'uint256' } , { internalType : 'uint256' , name : 'totalWeight' , type : 'uint256' } , { internalType : 'uint256' , name : 'poolAmountIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } , ] , name : 'calcSingleOutGivenPoolIn' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , ] , payable : false , stateMutability : 'pure' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : 'tokenBalanceIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenBalanceOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } , ] , name : 'calcSpotPrice' , outputs : [ { internalType : 'uint256' , name : 'spotPrice' , type : 'uint256' } ] , payable : false , stateMutability : 'pure' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'decimals' , outputs : [ { internalType : 'uint8' , name : '' , type : 'uint8' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'dst' , type : 'address' } , { internalType : 'uint256' , name : 'amt' , type : 'uint256' } , ] , name : 'decreaseApproval' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'poolAmountIn' , type : 'uint256' } , { internalType : 'uint256[]' , name : 'minAmountsOut' , type : 'uint256[]' } , ] , name : 'exitPool' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenOut' , type : 'address' } , { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'maxPoolAmountIn' , type : 'uint256' } , ] , name : 'exitswapExternAmountOut' , outputs : [ { internalType : 'uint256' , name : 'poolAmountIn' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenOut' , type : 'address' } , { internalType : 'uint256' , name : 'poolAmountIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'minAmountOut' , type : 'uint256' } , ] , name : 'exitswapPoolAmountIn' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'finalize' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'token' , type : 'address' } ] , name : 'getBalance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getColor' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getController' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getCurrentTokens' , outputs : [ { internalType : 'address[]' , name : 'tokens' , type : 'address[]' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'token' , type : 'address' } ] , name : 'getDenormalizedWeight' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getFinalTokens' , outputs : [ { internalType : 'address[]' , name : 'tokens' , type : 'address[]' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'token' , type : 'address' } ] , name : 'getNormalizedWeight' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getNumTokens' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'tokenIn' , type : 'address' } , { internalType : 'address' , name : 'tokenOut' , type : 'address' } , ] , name : 'getSpotPrice' , outputs : [ { internalType : 'uint256' , name : 'spotPrice' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'tokenIn' , type : 'address' } , { internalType : 'address' , name : 'tokenOut' , type : 'address' } , ] , name : 'getSpotPriceSansFee' , outputs : [ { internalType : 'uint256' , name : 'spotPrice' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getSwapFee' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getTotalDenormalizedWeight' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'token' , type : 'address' } ] , name : 'gulp' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'dst' , type : 'address' } , { internalType : 'uint256' , name : 'amt' , type : 'uint256' } , ] , name : 'increaseApproval' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 't' , type : 'address' } ] , name : 'isBound' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'isFinalized' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'isPublicSwap' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'poolAmountOut' , type : 'uint256' } , { internalType : 'uint256[]' , name : 'maxAmountsIn' , type : 'uint256[]' } , ] , name : 'joinPool' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenIn' , type : 'address' } , { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'minPoolAmountOut' , type : 'uint256' } , ] , name : 'joinswapExternAmountIn' , outputs : [ { internalType : 'uint256' , name : 'poolAmountOut' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenIn' , type : 'address' } , { internalType : 'uint256' , name : 'poolAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'maxAmountIn' , type : 'uint256' } , ] , name : 'joinswapPoolAmountOut' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'name' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'token' , type : 'address' } , { internalType : 'uint256' , name : 'balance' , type : 'uint256' } , { internalType : 'uint256' , name : 'denorm' , type : 'uint256' } , ] , name : 'rebind' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'manager' , type : 'address' } ] , name : 'setController' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'bool' , name : 'public_' , type : 'bool' } ] , name : 'setPublicSwap' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } ] , name : 'setSwapFee' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenIn' , type : 'address' } , { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , { internalType : 'address' , name : 'tokenOut' , type : 'address' } , { internalType : 'uint256' , name : 'minAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'maxPrice' , type : 'uint256' } , ] , name : 'swapExactAmountIn' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'spotPriceAfter' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenIn' , type : 'address' } , { internalType : 'uint256' , name : 'maxAmountIn' , type : 'uint256' } , { internalType : 'address' , name : 'tokenOut' , type : 'address' } , { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'maxPrice' , type : 'uint256' } , ] , name : 'swapExactAmountOut' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'spotPriceAfter' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'symbol' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'dst' , type : 'address' } , { internalType : 'uint256' , name : 'amt' , type : 'uint256' } , ] , name : 'transfer' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'src' , type : 'address' } , { internalType : 'address' , name : 'dst' , type : 'address' } , { internalType : 'uint256' , name : 'amt' , type : 'uint256' } , ] , name : 'transferFrom' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'token' , type : 'address' } ] , name : 'unbind' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const SYNTH_USDC_SNX_BPT_STAKING_POOL_ADDR = '0xFBaEdde70732540cE2B11A8AC58Eb2dC0D69dE10' ; export const SYNTH_USDC_SNX_BPT_STAKING_POOL_ABI = [ { inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } , { internalType : 'address' , name : '_rewardsToken' , type : 'address' } , { internalType : 'address' , name : '_stakingToken' , type : 'address' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'oldOwner' , type : 'address' , } , { indexed : false , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnerChanged' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnerNominated' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardAdded' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardPaid' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Staked' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Withdrawn' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DURATION' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'acceptOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'earned' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'exit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'getReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastTimeRewardApplicable' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastUpdateTime' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } ] , name : 'nominateNewOwner' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'nominatedOwner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'reward' , type : 'uint256' } ] , name : 'notifyRewardAmount' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'owner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'periodFinish' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerToken' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerTokenStored' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardRate' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'rewards' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardsDistribution' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardsToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_rewardsDistribution' , type : 'address' , } , ] , name : 'setRewardsDistribution' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'stakingToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'userRewardPerTokenPaid' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const BALANCER_SNX_REN_POOL_ADDR = '0x330416C863f2acCE7aF9C9314B422d24c672534a' ; export const BALANCER_SNX_REN_POOL_ABI = [ { inputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'src' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'dst' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amt' , type : 'uint256' } , ] , name : 'Approval' , type : 'event' , } , { anonymous : true , inputs : [ { indexed : true , internalType : 'bytes4' , name : 'sig' , type : 'bytes4' } , { indexed : true , internalType : 'address' , name : 'caller' , type : 'address' , } , { indexed : false , internalType : 'bytes' , name : 'data' , type : 'bytes' } , ] , name : 'LOG_CALL' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'caller' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'tokenOut' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' , } , ] , name : 'LOG_EXIT' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'caller' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'tokenIn' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' , } , ] , name : 'LOG_JOIN' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'caller' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'tokenIn' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'tokenOut' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' , } , ] , name : 'LOG_SWAP' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'src' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'dst' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amt' , type : 'uint256' } , ] , name : 'Transfer' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'BONE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'BPOW_PRECISION' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'EXIT_FEE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'INIT_POOL_SUPPLY' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MAX_BOUND_TOKENS' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MAX_BPOW_BASE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MAX_FEE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MAX_IN_RATIO' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MAX_OUT_RATIO' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MAX_TOTAL_WEIGHT' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MAX_WEIGHT' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MIN_BALANCE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MIN_BOUND_TOKENS' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MIN_BPOW_BASE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MIN_FEE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MIN_WEIGHT' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'src' , type : 'address' } , { internalType : 'address' , name : 'dst' , type : 'address' } , ] , name : 'allowance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'dst' , type : 'address' } , { internalType : 'uint256' , name : 'amt' , type : 'uint256' } , ] , name : 'approve' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'whom' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'token' , type : 'address' } , { internalType : 'uint256' , name : 'balance' , type : 'uint256' } , { internalType : 'uint256' , name : 'denorm' , type : 'uint256' } , ] , name : 'bind' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : 'tokenBalanceIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenBalanceOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } , ] , name : 'calcInGivenOut' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , ] , payable : false , stateMutability : 'pure' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : 'tokenBalanceIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenBalanceOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } , ] , name : 'calcOutGivenIn' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , ] , payable : false , stateMutability : 'pure' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : 'tokenBalanceOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'poolSupply' , type : 'uint256' } , { internalType : 'uint256' , name : 'totalWeight' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } , ] , name : 'calcPoolInGivenSingleOut' , outputs : [ { internalType : 'uint256' , name : 'poolAmountIn' , type : 'uint256' } , ] , payable : false , stateMutability : 'pure' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : 'tokenBalanceIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'poolSupply' , type : 'uint256' } , { internalType : 'uint256' , name : 'totalWeight' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } , ] , name : 'calcPoolOutGivenSingleIn' , outputs : [ { internalType : 'uint256' , name : 'poolAmountOut' , type : 'uint256' } , ] , payable : false , stateMutability : 'pure' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : 'tokenBalanceIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'poolSupply' , type : 'uint256' } , { internalType : 'uint256' , name : 'totalWeight' , type : 'uint256' } , { internalType : 'uint256' , name : 'poolAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } , ] , name : 'calcSingleInGivenPoolOut' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , ] , payable : false , stateMutability : 'pure' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : 'tokenBalanceOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'poolSupply' , type : 'uint256' } , { internalType : 'uint256' , name : 'totalWeight' , type : 'uint256' } , { internalType : 'uint256' , name : 'poolAmountIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } , ] , name : 'calcSingleOutGivenPoolIn' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , ] , payable : false , stateMutability : 'pure' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : 'tokenBalanceIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenBalanceOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'tokenWeightOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } , ] , name : 'calcSpotPrice' , outputs : [ { internalType : 'uint256' , name : 'spotPrice' , type : 'uint256' } ] , payable : false , stateMutability : 'pure' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'decimals' , outputs : [ { internalType : 'uint8' , name : '' , type : 'uint8' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'dst' , type : 'address' } , { internalType : 'uint256' , name : 'amt' , type : 'uint256' } , ] , name : 'decreaseApproval' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'poolAmountIn' , type : 'uint256' } , { internalType : 'uint256[]' , name : 'minAmountsOut' , type : 'uint256[]' } , ] , name : 'exitPool' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenOut' , type : 'address' } , { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'maxPoolAmountIn' , type : 'uint256' } , ] , name : 'exitswapExternAmountOut' , outputs : [ { internalType : 'uint256' , name : 'poolAmountIn' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenOut' , type : 'address' } , { internalType : 'uint256' , name : 'poolAmountIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'minAmountOut' , type : 'uint256' } , ] , name : 'exitswapPoolAmountIn' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'finalize' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'token' , type : 'address' } ] , name : 'getBalance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getColor' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getController' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getCurrentTokens' , outputs : [ { internalType : 'address[]' , name : 'tokens' , type : 'address[]' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'token' , type : 'address' } ] , name : 'getDenormalizedWeight' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getFinalTokens' , outputs : [ { internalType : 'address[]' , name : 'tokens' , type : 'address[]' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'token' , type : 'address' } ] , name : 'getNormalizedWeight' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getNumTokens' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'tokenIn' , type : 'address' } , { internalType : 'address' , name : 'tokenOut' , type : 'address' } , ] , name : 'getSpotPrice' , outputs : [ { internalType : 'uint256' , name : 'spotPrice' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'tokenIn' , type : 'address' } , { internalType : 'address' , name : 'tokenOut' , type : 'address' } , ] , name : 'getSpotPriceSansFee' , outputs : [ { internalType : 'uint256' , name : 'spotPrice' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getSwapFee' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getTotalDenormalizedWeight' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'token' , type : 'address' } ] , name : 'gulp' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'dst' , type : 'address' } , { internalType : 'uint256' , name : 'amt' , type : 'uint256' } , ] , name : 'increaseApproval' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 't' , type : 'address' } ] , name : 'isBound' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'isFinalized' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'isPublicSwap' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'poolAmountOut' , type : 'uint256' } , { internalType : 'uint256[]' , name : 'maxAmountsIn' , type : 'uint256[]' } , ] , name : 'joinPool' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenIn' , type : 'address' } , { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'minPoolAmountOut' , type : 'uint256' } , ] , name : 'joinswapExternAmountIn' , outputs : [ { internalType : 'uint256' , name : 'poolAmountOut' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenIn' , type : 'address' } , { internalType : 'uint256' , name : 'poolAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'maxAmountIn' , type : 'uint256' } , ] , name : 'joinswapPoolAmountOut' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'name' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'token' , type : 'address' } , { internalType : 'uint256' , name : 'balance' , type : 'uint256' } , { internalType : 'uint256' , name : 'denorm' , type : 'uint256' } , ] , name : 'rebind' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'manager' , type : 'address' } ] , name : 'setController' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'bool' , name : 'public_' , type : 'bool' } ] , name : 'setPublicSwap' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'swapFee' , type : 'uint256' } ] , name : 'setSwapFee' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenIn' , type : 'address' } , { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , { internalType : 'address' , name : 'tokenOut' , type : 'address' } , { internalType : 'uint256' , name : 'minAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'maxPrice' , type : 'uint256' } , ] , name : 'swapExactAmountIn' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'spotPriceAfter' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenIn' , type : 'address' } , { internalType : 'uint256' , name : 'maxAmountIn' , type : 'uint256' } , { internalType : 'address' , name : 'tokenOut' , type : 'address' } , { internalType : 'uint256' , name : 'tokenAmountOut' , type : 'uint256' } , { internalType : 'uint256' , name : 'maxPrice' , type : 'uint256' } , ] , name : 'swapExactAmountOut' , outputs : [ { internalType : 'uint256' , name : 'tokenAmountIn' , type : 'uint256' } , { internalType : 'uint256' , name : 'spotPriceAfter' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'symbol' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'dst' , type : 'address' } , { internalType : 'uint256' , name : 'amt' , type : 'uint256' } , ] , name : 'transfer' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'src' , type : 'address' } , { internalType : 'address' , name : 'dst' , type : 'address' } , { internalType : 'uint256' , name : 'amt' , type : 'uint256' } , ] , name : 'transferFrom' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'token' , type : 'address' } ] , name : 'unbind' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const SYNTH_crvRenWSBTC_STAKING_POOL_ADDR = '0x13C1542A468319688B89E323fe9A3Be3A90EBb27' ; export const SYNTH_crvRenWSBTC_STAKING_POOL_ABI = [ { inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } , { internalType : 'address' , name : '_rewardsDistribution' , type : 'address' , } , { internalType : 'address' , name : '_rewardsToken' , type : 'address' } , { internalType : 'address' , name : '_stakingToken' , type : 'address' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'oldOwner' , type : 'address' , } , { indexed : false , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnerChanged' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnerNominated' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'token' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Recovered' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardAdded' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardPaid' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Staked' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Withdrawn' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DURATION' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'acceptOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'earned' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'exit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'getReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getRewardForDuration' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastTimeRewardApplicable' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastUpdateTime' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } ] , name : 'nominateNewOwner' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'nominatedOwner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'reward' , type : 'uint256' } ] , name : 'notifyRewardAmount' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'owner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'periodFinish' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenAddress' , type : 'address' } , { internalType : 'uint256' , name : 'tokenAmount' , type : 'uint256' } , ] , name : 'recoverERC20' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerToken' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerTokenStored' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardRate' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'rewards' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardsDistribution' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardsToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_rewardsDistribution' , type : 'address' , } , ] , name : 'setRewardsDistribution' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'stakingToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'userRewardPerTokenPaid' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const CURVE_BTC_POOL_ADDR = '0x7fC77b5c7614E1533320Ea6DDc2Eb61fa00A9714' ; export const CURVE_BTC_POOL_ABI = [ { name : 'TokenExchange' , inputs : [ { type : 'address' , name : 'buyer' , indexed : true } , { type : 'int128' , name : 'sold_id' , indexed : false } , { type : 'uint256' , name : 'tokens_sold' , indexed : false } , { type : 'int128' , name : 'bought_id' , indexed : false } , { type : 'uint256' , name : 'tokens_bought' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'AddLiquidity' , inputs : [ { type : 'address' , name : 'provider' , indexed : true } , { type : 'uint256[3]' , name : 'token_amounts' , indexed : false } , { type : 'uint256[3]' , name : 'fees' , indexed : false } , { type : 'uint256' , name : 'invariant' , indexed : false } , { type : 'uint256' , name : 'token_supply' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'RemoveLiquidity' , inputs : [ { type : 'address' , name : 'provider' , indexed : true } , { type : 'uint256[3]' , name : 'token_amounts' , indexed : false } , { type : 'uint256[3]' , name : 'fees' , indexed : false } , { type : 'uint256' , name : 'token_supply' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'RemoveLiquidityOne' , inputs : [ { type : 'address' , name : 'provider' , indexed : true } , { type : 'uint256' , name : 'token_amount' , indexed : false } , { type : 'uint256' , name : 'coin_amount' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'RemoveLiquidityImbalance' , inputs : [ { type : 'address' , name : 'provider' , indexed : true } , { type : 'uint256[3]' , name : 'token_amounts' , indexed : false } , { type : 'uint256[3]' , name : 'fees' , indexed : false } , { type : 'uint256' , name : 'invariant' , indexed : false } , { type : 'uint256' , name : 'token_supply' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'CommitNewAdmin' , inputs : [ { type : 'uint256' , name : 'deadline' , indexed : true , unit : 'sec' } , { type : 'address' , name : 'admin' , indexed : true } , ] , anonymous : false , type : 'event' , } , { name : 'NewAdmin' , inputs : [ { type : 'address' , name : 'admin' , indexed : true } ] , anonymous : false , type : 'event' , } , { name : 'CommitNewFee' , inputs : [ { type : 'uint256' , name : 'deadline' , indexed : true , unit : 'sec' } , { type : 'uint256' , name : 'fee' , indexed : false } , { type : 'uint256' , name : 'admin_fee' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'NewFee' , inputs : [ { type : 'uint256' , name : 'fee' , indexed : false } , { type : 'uint256' , name : 'admin_fee' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'RampA' , inputs : [ { type : 'uint256' , name : 'old_A' , indexed : false } , { type : 'uint256' , name : 'new_A' , indexed : false } , { type : 'uint256' , name : 'initial_time' , indexed : false , unit : 'sec' } , { type : 'uint256' , name : 'future_time' , indexed : false , unit : 'sec' } , ] , anonymous : false , type : 'event' , } , { name : 'StopRampA' , inputs : [ { type : 'uint256' , name : 'A' , indexed : false } , { type : 'uint256' , name : 't' , indexed : false , unit : 'sec' } , ] , anonymous : false , type : 'event' , } , { outputs : [ ] , inputs : [ { type : 'address[3]' , name : '_coins' } , { type : 'address' , name : '_pool_token' } , { type : 'uint256' , name : '_A' } , { type : 'uint256' , name : '_fee' } , ] , constant : false , payable : false , type : 'constructor' , } , { name : 'A' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 5227 , } , { name : 'get_virtual_price' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 1150488 , } , { name : 'calc_token_amount' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256[3]' , name : 'amounts' } , { type : 'bool' , name : 'deposit' } , ] , constant : true , payable : false , type : 'function' , gas : 4526955 , } , { name : 'add_liquidity' , outputs : [ ] , inputs : [ { type : 'uint256[3]' , name : 'amounts' } , { type : 'uint256' , name : 'min_mint_amount' } , ] , constant : false , payable : false , type : 'function' , gas : 6972762 , } , { name : 'get_dy' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'int128' , name : 'i' } , { type : 'int128' , name : 'j' } , { type : 'uint256' , name : 'dx' } , ] , constant : true , payable : false , type : 'function' , gas : 2687932 , } , { name : 'get_dy_underlying' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'int128' , name : 'i' } , { type : 'int128' , name : 'j' } , { type : 'uint256' , name : 'dx' } , ] , constant : true , payable : false , type : 'function' , gas : 2687745 , } , { name : 'exchange' , outputs : [ ] , inputs : [ { type : 'int128' , name : 'i' } , { type : 'int128' , name : 'j' } , { type : 'uint256' , name : 'dx' } , { type : 'uint256' , name : 'min_dy' } , ] , constant : false , payable : false , type : 'function' , gas : 5499133 , } , { name : 'remove_liquidity' , outputs : [ ] , inputs : [ { type : 'uint256' , name : '_amount' } , { type : 'uint256[3]' , name : 'min_amounts' } , ] , constant : false , payable : false , type : 'function' , gas : 196975 , } , { name : 'remove_liquidity_imbalance' , outputs : [ ] , inputs : [ { type : 'uint256[3]' , name : 'amounts' } , { type : 'uint256' , name : 'max_burn_amount' } , ] , constant : false , payable : false , type : 'function' , gas : 6972281 , } , { name : 'calc_withdraw_one_coin' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : '_token_amount' } , { type : 'int128' , name : 'i' } , ] , constant : true , payable : false , type : 'function' , } , { name : 'remove_liquidity_one_coin' , outputs : [ ] , inputs : [ { type : 'uint256' , name : '_token_amount' } , { type : 'int128' , name : 'i' } , { type : 'uint256' , name : 'min_amount' } , ] , constant : false , payable : false , type : 'function' , gas : 4044074 , } , { name : 'ramp_A' , outputs : [ ] , inputs : [ { type : 'uint256' , name : '_future_A' } , { type : 'uint256' , unit : 'sec' , name : '_future_time' } , ] , constant : false , payable : false , type : 'function' , gas : 151937 , } , { name : 'stop_ramp_A' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 148697 , } , { name : 'commit_new_fee' , outputs : [ ] , inputs : [ { type : 'uint256' , name : 'new_fee' } , { type : 'uint256' , name : 'new_admin_fee' } , ] , constant : false , payable : false , type : 'function' , gas : 110521 , } , { name : 'apply_new_fee' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 97220 , } , { name : 'revert_new_parameters' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 21955 , } , { name : 'commit_transfer_ownership' , outputs : [ ] , inputs : [ { type : 'address' , name : '_owner' } ] , constant : false , payable : false , type : 'function' , gas : 74632 , } , { name : 'apply_transfer_ownership' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 60688 , } , { name : 'revert_transfer_ownership' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 22045 , } , { name : 'withdraw_admin_fees' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 17565 , } , { name : 'kill_me' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 37998 , } , { name : 'unkill_me' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 22135 , } , { name : 'coins' , outputs : [ { type : 'address' , name : 'out' } ] , inputs : [ { type : 'int128' , name : 'arg0' } ] , constant : true , payable : false , type : 'function' , gas : 2310 , } , { name : 'balances' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'int128' , name : 'arg0' } ] , constant : true , payable : false , type : 'function' , gas : 2340 , } , { name : 'fee' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2171 , } , { name : 'admin_fee' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2201 , } , { name : 'owner' , outputs : [ { type : 'address' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2231 , } , { name : 'initial_A' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2261 , } , { name : 'future_A' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2291 , } , { name : 'initial_A_time' , outputs : [ { type : 'uint256' , unit : 'sec' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2321 , } , { name : 'future_A_time' , outputs : [ { type : 'uint256' , unit : 'sec' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2351 , } , { name : 'admin_actions_deadline' , outputs : [ { type : 'uint256' , unit : 'sec' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2381 , } , { name : 'transfer_ownership_deadline' , outputs : [ { type : 'uint256' , unit : 'sec' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2411 , } , { name : 'future_fee' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2441 , } , { name : 'future_admin_fee' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2471 , } , { name : 'future_owner' , outputs : [ { type : 'address' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2501 , } , ] ; export const SYNTH_iETH_STAKING_POOL_ADDR = '0x46c15afca591f7e4709dd4369077fa2daa11faf2' ; export const SYNTH_iETH_STAKING_POOL_ABI = [ { inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } , { internalType : 'address' , name : '_rewardsDistribution' , type : 'address' , } , { internalType : 'address' , name : '_rewardsToken' , type : 'address' } , { internalType : 'address' , name : '_stakingToken' , type : 'address' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'oldOwner' , type : 'address' , } , { indexed : false , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnerChanged' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnerNominated' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'token' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Recovered' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardAdded' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardPaid' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'newDuration' , type : 'uint256' , } , ] , name : 'RewardsDurationUpdated' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Staked' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Withdrawn' , type : 'event' , } , { constant : false , inputs : [ ] , name : 'acceptOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'earned' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'exit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'getReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getRewardForDuration' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastTimeRewardApplicable' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastUpdateTime' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } ] , name : 'nominateNewOwner' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'nominatedOwner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'reward' , type : 'uint256' } ] , name : 'notifyRewardAmount' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'owner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'periodFinish' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenAddress' , type : 'address' } , { internalType : 'uint256' , name : 'tokenAmount' , type : 'uint256' } , ] , name : 'recoverERC20' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerToken' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerTokenStored' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardRate' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'rewards' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardsDistribution' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardsDuration' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardsToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_rewardsDistribution' , type : 'address' , } , ] , name : 'setRewardsDistribution' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_rewardsDuration' , type : 'uint256' } , ] , name : 'setRewardsDuration' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'stakingToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'userRewardPerTokenPaid' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const SYNTH_iBTC_STAKING_POOL_ADDR = '0xE5Ea1DDA3299C0b133a93A47eF9F5536C6892AcE' ; export const SYNTH_iBTC_STAKING_POOL_ABI = [ { inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } , { internalType : 'address' , name : '_rewardsDistribution' , type : 'address' , } , { internalType : 'address' , name : '_rewardsToken' , type : 'address' } , { internalType : 'address' , name : '_stakingToken' , type : 'address' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'oldOwner' , type : 'address' , } , { indexed : false , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnerChanged' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnerNominated' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'token' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Recovered' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardAdded' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardPaid' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'newDuration' , type : 'uint256' , } , ] , name : 'RewardsDurationUpdated' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Staked' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Withdrawn' , type : 'event' , } , { constant : false , inputs : [ ] , name : 'acceptOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'earned' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'exit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'getReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getRewardForDuration' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastTimeRewardApplicable' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastUpdateTime' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } ] , name : 'nominateNewOwner' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'nominatedOwner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'reward' , type : 'uint256' } ] , name : 'notifyRewardAmount' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'owner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'periodFinish' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'tokenAddress' , type : 'address' } , { internalType : 'uint256' , name : 'tokenAmount' , type : 'uint256' } , ] , name : 'recoverERC20' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerToken' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerTokenStored' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardRate' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'rewards' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardsDistribution' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardsDuration' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardsToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_rewardsDistribution' , type : 'address' , } , ] , name : 'setRewardsDistribution' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_rewardsDuration' , type : 'uint256' } , ] , name : 'setRewardsDuration' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'stakingToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'userRewardPerTokenPaid' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const SYNTH_crvPlain3andSUSD_STAKING_POOL_ADDR = '0xDCB6A51eA3CA5d3Fd898Fd6564757c7aAeC3ca92' ; export const SYNTH_crvPlain3andSUSD_STAKING_POOL_ABI = [ { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'previousOwner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnershipTransferred' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardAdded' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardPaid' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Staked' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Withdrawn' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DURATION' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'earned' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'exit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'getReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'isOwner' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastTimeRewardApplicable' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastUpdateTime' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'reward' , type : 'uint256' } ] , name : 'notifyRewardAmount' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'owner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'periodFinish' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'renounceOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerToken' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerTokenStored' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardRate' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'rewards' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_rewardDistribution' , type : 'address' } , ] , name : 'setRewardDistribution' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'snx' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'newOwner' , type : 'address' } ] , name : 'transferOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'uni' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'userRewardPerTokenPaid' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const CURVE_SUSD_POOL_ADDR = '0xA5407eAE9Ba41422680e2e00537571bcC53efBfD' ; export const CURVE_SUSD_POOL_ABI = [ { name : 'TokenExchange' , inputs : [ { type : 'address' , name : 'buyer' , indexed : true } , { type : 'int128' , name : 'sold_id' , indexed : false } , { type : 'uint256' , name : 'tokens_sold' , indexed : false } , { type : 'int128' , name : 'bought_id' , indexed : false } , { type : 'uint256' , name : 'tokens_bought' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'TokenExchangeUnderlying' , inputs : [ { type : 'address' , name : 'buyer' , indexed : true } , { type : 'int128' , name : 'sold_id' , indexed : false } , { type : 'uint256' , name : 'tokens_sold' , indexed : false } , { type : 'int128' , name : 'bought_id' , indexed : false } , { type : 'uint256' , name : 'tokens_bought' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'AddLiquidity' , inputs : [ { type : 'address' , name : 'provider' , indexed : true } , { type : 'uint256[4]' , name : 'token_amounts' , indexed : false } , { type : 'uint256[4]' , name : 'fees' , indexed : false } , { type : 'uint256' , name : 'invariant' , indexed : false } , { type : 'uint256' , name : 'token_supply' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'RemoveLiquidity' , inputs : [ { type : 'address' , name : 'provider' , indexed : true } , { type : 'uint256[4]' , name : 'token_amounts' , indexed : false } , { type : 'uint256[4]' , name : 'fees' , indexed : false } , { type : 'uint256' , name : 'token_supply' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'RemoveLiquidityImbalance' , inputs : [ { type : 'address' , name : 'provider' , indexed : true } , { type : 'uint256[4]' , name : 'token_amounts' , indexed : false } , { type : 'uint256[4]' , name : 'fees' , indexed : false } , { type : 'uint256' , name : 'invariant' , indexed : false } , { type : 'uint256' , name : 'token_supply' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'CommitNewAdmin' , inputs : [ { type : 'uint256' , name : 'deadline' , indexed : true , unit : 'sec' } , { type : 'address' , name : 'admin' , indexed : true } , ] , anonymous : false , type : 'event' , } , { name : 'NewAdmin' , inputs : [ { type : 'address' , name : 'admin' , indexed : true } ] , anonymous : false , type : 'event' , } , { name : 'CommitNewParameters' , inputs : [ { type : 'uint256' , name : 'deadline' , indexed : true , unit : 'sec' } , { type : 'uint256' , name : 'A' , indexed : false } , { type : 'uint256' , name : 'fee' , indexed : false } , { type : 'uint256' , name : 'admin_fee' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'NewParameters' , inputs : [ { type : 'uint256' , name : 'A' , indexed : false } , { type : 'uint256' , name : 'fee' , indexed : false } , { type : 'uint256' , name : 'admin_fee' , indexed : false } , ] , anonymous : false , type : 'event' , } , { outputs : [ ] , inputs : [ { type : 'address[4]' , name : '_coins' } , { type : 'address[4]' , name : '_underlying_coins' } , { type : 'address' , name : '_pool_token' } , { type : 'uint256' , name : '_A' } , { type : 'uint256' , name : '_fee' } , ] , constant : false , payable : false , type : 'constructor' , } , { name : 'get_virtual_price' , outputs : [ { type : 'uint256' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 1570535 , } , { name : 'calc_token_amount' , outputs : [ { type : 'uint256' , name : '' } ] , inputs : [ { type : 'uint256[4]' , name : 'amounts' } , { type : 'bool' , name : 'deposit' } , ] , constant : true , payable : false , type : 'function' , gas : 6103471 , } , { name : 'add_liquidity' , outputs : [ ] , inputs : [ { type : 'uint256[4]' , name : 'amounts' } , { type : 'uint256' , name : 'min_mint_amount' } , ] , constant : false , payable : false , type : 'function' , gas : 9331701 , } , { name : 'get_dy' , outputs : [ { type : 'uint256' , name : '' } ] , inputs : [ { type : 'int128' , name : 'i' } , { type : 'int128' , name : 'j' } , { type : 'uint256' , name : 'dx' } , ] , constant : true , payable : false , type : 'function' , gas : 3489637 , } , { name : 'get_dy_underlying' , outputs : [ { type : 'uint256' , name : '' } ] , inputs : [ { type : 'int128' , name : 'i' } , { type : 'int128' , name : 'j' } , { type : 'uint256' , name : 'dx' } , ] , constant : true , payable : false , type : 'function' , gas : 3489467 , } , { name : 'exchange' , outputs : [ ] , inputs : [ { type : 'int128' , name : 'i' } , { type : 'int128' , name : 'j' } , { type : 'uint256' , name : 'dx' } , { type : 'uint256' , name : 'min_dy' } , ] , constant : false , payable : false , type : 'function' , gas : 7034253 , } , { name : 'exchange_underlying' , outputs : [ ] , inputs : [ { type : 'int128' , name : 'i' } , { type : 'int128' , name : 'j' } , { type : 'uint256' , name : 'dx' } , { type : 'uint256' , name : 'min_dy' } , ] , constant : false , payable : false , type : 'function' , gas : 7050488 , } , { name : 'remove_liquidity' , outputs : [ ] , inputs : [ { type : 'uint256' , name : '_amount' } , { type : 'uint256[4]' , name : 'min_amounts' } , ] , constant : false , payable : false , type : 'function' , gas : 241191 , } , { name : 'remove_liquidity_imbalance' , outputs : [ ] , inputs : [ { type : 'uint256[4]' , name : 'amounts' } , { type : 'uint256' , name : 'max_burn_amount' } , ] , constant : false , payable : false , type : 'function' , gas : 9330864 , } , { name : 'commit_new_parameters' , outputs : [ ] , inputs : [ { type : 'uint256' , name : 'amplification' } , { type : 'uint256' , name : 'new_fee' } , { type : 'uint256' , name : 'new_admin_fee' } , ] , constant : false , payable : false , type : 'function' , gas : 146045 , } , { name : 'apply_new_parameters' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 133452 , } , { name : 'revert_new_parameters' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 21775 , } , { name : 'commit_transfer_ownership' , outputs : [ ] , inputs : [ { type : 'address' , name : '_owner' } ] , constant : false , payable : false , type : 'function' , gas : 74452 , } , { name : 'apply_transfer_ownership' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 60508 , } , { name : 'revert_transfer_ownership' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 21865 , } , { name : 'withdraw_admin_fees' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 23448 , } , { name : 'kill_me' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 37818 , } , { name : 'unkill_me' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 21955 , } , { name : 'coins' , outputs : [ { type : 'address' , name : '' } ] , inputs : [ { type : 'int128' , name : 'arg0' } ] , constant : true , payable : false , type : 'function' , gas : 2130 , } , { name : 'underlying_coins' , outputs : [ { type : 'address' , name : '' } ] , inputs : [ { type : 'int128' , name : 'arg0' } ] , constant : true , payable : false , type : 'function' , gas : 2160 , } , { name : 'balances' , outputs : [ { type : 'uint256' , name : '' } ] , inputs : [ { type : 'int128' , name : 'arg0' } ] , constant : true , payable : false , type : 'function' , gas : 2190 , } , { name : 'A' , outputs : [ { type : 'uint256' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2021 , } , { name : 'fee' , outputs : [ { type : 'uint256' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2051 , } , { name : 'admin_fee' , outputs : [ { type : 'uint256' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2081 , } , { name : 'owner' , outputs : [ { type : 'address' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2111 , } , { name : 'admin_actions_deadline' , outputs : [ { type : 'uint256' , unit : 'sec' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2141 , } , { name : 'transfer_ownership_deadline' , outputs : [ { type : 'uint256' , unit : 'sec' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2171 , } , { name : 'future_A' , outputs : [ { type : 'uint256' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2201 , } , { name : 'future_fee' , outputs : [ { type : 'uint256' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2231 , } , { name : 'future_admin_fee' , outputs : [ { type : 'uint256' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2261 , } , { name : 'future_owner' , outputs : [ { type : 'address' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2291 , } , ] ; export const CURVE_SUSD_ZAP_ADDR = '0xFCBa3E75865d2d561BE8D220616520c171F12851' ; export const CURVE_SUSD_ZAP_ABI = [ { outputs : [ ] , inputs : [ { type : 'address[4]' , name : '_coins' } , { type : 'address[4]' , name : '_underlying_coins' } , { type : 'address' , name : '_curve' } , { type : 'address' , name : '_token' } , ] , constant : false , payable : false , type : 'constructor' , } , { name : 'add_liquidity' , outputs : [ ] , inputs : [ { type : 'uint256[4]' , name : 'uamounts' } , { type : 'uint256' , name : 'min_mint_amount' } , ] , constant : false , payable : false , type : 'function' , gas : 166032 , } , { name : 'remove_liquidity' , outputs : [ ] , inputs : [ { type : 'uint256' , name : '_amount' } , { type : 'uint256[4]' , name : 'min_uamounts' } , ] , constant : false , payable : false , type : 'function' , gas : 101481 , } , { name : 'remove_liquidity_imbalance' , outputs : [ ] , inputs : [ { type : 'uint256[4]' , name : 'uamounts' } , { type : 'uint256' , name : 'max_burn_amount' } , ] , constant : false , payable : false , type : 'function' , gas : 125088 , } , { name : 'calc_withdraw_one_coin' , outputs : [ { type : 'uint256' , name : '' } ] , inputs : [ { type : 'uint256' , name : '_token_amount' } , { type : 'int128' , name : 'i' } , ] , constant : true , payable : false , type : 'function' , } , { name : 'remove_liquidity_one_coin' , outputs : [ ] , inputs : [ { type : 'uint256' , name : '_token_amount' } , { type : 'int128' , name : 'i' } , { type : 'uint256' , name : 'min_uamount' } , ] , constant : false , payable : false , type : 'function' , } , { name : 'remove_liquidity_one_coin' , outputs : [ ] , inputs : [ { type : 'uint256' , name : '_token_amount' } , { type : 'int128' , name : 'i' } , { type : 'uint256' , name : 'min_uamount' } , { type : 'bool' , name : 'donate_dust' } , ] , constant : false , payable : false , type : 'function' , } , { name : 'withdraw_donated_dust' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 63973 , } , { name : 'coins' , outputs : [ { type : 'address' , name : '' } ] , inputs : [ { type : 'int128' , name : 'arg0' } ] , constant : true , payable : false , type : 'function' , gas : 1680 , } , { name : 'underlying_coins' , outputs : [ { type : 'address' , name : '' } ] , inputs : [ { type : 'int128' , name : 'arg0' } ] , constant : true , payable : false , type : 'function' , gas : 1710 , } , { name : 'curve' , outputs : [ { type : 'address' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 1541 , } , { name : 'token' , outputs : [ { type : 'address' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 1571 , } , ] ; export const SYNTH_UNIV1_SETH_STAKING_POOL_ADDR = '0x48D7f315feDcaD332F68aafa017c7C158BC54760' ; export const SYNTH_UNIV1_SETH_STAKING_POOL_ABI = [ { constant : true , inputs : [ { name : 'account' , type : 'address' } ] , name : 'earned' , outputs : [ { name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { name : '' , type : 'address' } ] , name : 'rewards' , outputs : [ { name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { name : '_rewardDistribution' , type : 'address' } ] , name : 'setRewardDistribution' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'DURATION' , outputs : [ { name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { name : 'amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { name : 'reward' , type : 'uint256' } ] , name : 'notifyRewardAmount' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'getReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'renounceOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardRate' , outputs : [ { name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastTimeRewardApplicable' , outputs : [ { name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { name : '' , type : 'address' } ] , name : 'userRewardPerTokenPaid' , outputs : [ { name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'owner' , outputs : [ { name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'isOwner' , outputs : [ { name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { name : 'amount' , type : 'uint256' } ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastUpdateTime' , outputs : [ { name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerToken' , outputs : [ { name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerTokenStored' , outputs : [ { name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'snx' , outputs : [ { name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'exit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'periodFinish' , outputs : [ { name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'uni' , outputs : [ { name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { name : 'newOwner' , type : 'address' } ] , name : 'transferOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { anonymous : false , inputs : [ { indexed : false , name : 'reward' , type : 'uint256' } ] , name : 'RewardAdded' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , name : 'user' , type : 'address' } , { indexed : false , name : 'amount' , type : 'uint256' } , ] , name : 'Staked' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , name : 'user' , type : 'address' } , { indexed : false , name : 'amount' , type : 'uint256' } , ] , name : 'Withdrawn' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , name : 'user' , type : 'address' } , { indexed : false , name : 'reward' , type : 'uint256' } , ] , name : 'RewardPaid' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , name : 'previousOwner' , type : 'address' } , { indexed : true , name : 'newOwner' , type : 'address' } , ] , name : 'OwnershipTransferred' , type : 'event' , } , ] ; export const UNISWAP_SETH_ETH_POOL_ADDR = '0xe9Cf7887b93150D4F2Da7dFc6D502B216438F244' ; export const UNISWAP_SETH_ETH_POOL_ABI = [ { name : 'TokenPurchase' , inputs : [ { type : 'address' , name : 'buyer' , indexed : true } , { type : 'uint256' , name : 'eth_sold' , indexed : true } , { type : 'uint256' , name : 'tokens_bought' , indexed : true } , ] , anonymous : false , type : 'event' , } , { name : 'EthPurchase' , inputs : [ { type : 'address' , name : 'buyer' , indexed : true } , { type : 'uint256' , name : 'tokens_sold' , indexed : true } , { type : 'uint256' , name : 'eth_bought' , indexed : true } , ] , anonymous : false , type : 'event' , } , { name : 'AddLiquidity' , inputs : [ { type : 'address' , name : 'provider' , indexed : true } , { type : 'uint256' , name : 'eth_amount' , indexed : true } , { type : 'uint256' , name : 'token_amount' , indexed : true } , ] , anonymous : false , type : 'event' , } , { name : 'RemoveLiquidity' , inputs : [ { type : 'address' , name : 'provider' , indexed : true } , { type : 'uint256' , name : 'eth_amount' , indexed : true } , { type : 'uint256' , name : 'token_amount' , indexed : true } , ] , anonymous : false , type : 'event' , } , { name : 'Transfer' , inputs : [ { type : 'address' , name : '_from' , indexed : true } , { type : 'address' , name : '_to' , indexed : true } , { type : 'uint256' , name : '_value' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'Approval' , inputs : [ { type : 'address' , name : '_owner' , indexed : true } , { type : 'address' , name : '_spender' , indexed : true } , { type : 'uint256' , name : '_value' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'setup' , outputs : [ ] , inputs : [ { type : 'address' , name : 'token_addr' } ] , constant : false , payable : false , type : 'function' , gas : 175875 , } , { name : 'addLiquidity' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'min_liquidity' } , { type : 'uint256' , name : 'max_tokens' } , { type : 'uint256' , name : 'deadline' } , ] , constant : false , payable : true , type : 'function' , gas : 82616 , } , { name : 'removeLiquidity' , outputs : [ { type : 'uint256' , name : 'out' } , { type : 'uint256' , name : 'out' } , ] , inputs : [ { type : 'uint256' , name : 'amount' } , { type : 'uint256' , name : 'min_eth' } , { type : 'uint256' , name : 'min_tokens' } , { type : 'uint256' , name : 'deadline' } , ] , constant : false , payable : false , type : 'function' , gas : 116814 , } , { name : '__default__' , outputs : [ ] , inputs : [ ] , constant : false , payable : true , type : 'function' , } , { name : 'ethToTokenSwapInput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'min_tokens' } , { type : 'uint256' , name : 'deadline' } , ] , constant : false , payable : true , type : 'function' , gas : 12757 , } , { name : 'ethToTokenTransferInput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'min_tokens' } , { type : 'uint256' , name : 'deadline' } , { type : 'address' , name : 'recipient' } , ] , constant : false , payable : true , type : 'function' , gas : 12965 , } , { name : 'ethToTokenSwapOutput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'tokens_bought' } , { type : 'uint256' , name : 'deadline' } , ] , constant : false , payable : true , type : 'function' , gas : 50463 , } , { name : 'ethToTokenTransferOutput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'tokens_bought' } , { type : 'uint256' , name : 'deadline' } , { type : 'address' , name : 'recipient' } , ] , constant : false , payable : true , type : 'function' , gas : 50671 , } , { name : 'tokenToEthSwapInput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'tokens_sold' } , { type : 'uint256' , name : 'min_eth' } , { type : 'uint256' , name : 'deadline' } , ] , constant : false , payable : false , type : 'function' , gas : 47503 , } , { name : 'tokenToEthTransferInput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'tokens_sold' } , { type : 'uint256' , name : 'min_eth' } , { type : 'uint256' , name : 'deadline' } , { type : 'address' , name : 'recipient' } , ] , constant : false , payable : false , type : 'function' , gas : 47712 , } , { name : 'tokenToEthSwapOutput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'eth_bought' } , { type : 'uint256' , name : 'max_tokens' } , { type : 'uint256' , name : 'deadline' } , ] , constant : false , payable : false , type : 'function' , gas : 50175 , } , { name : 'tokenToEthTransferOutput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'eth_bought' } , { type : 'uint256' , name : 'max_tokens' } , { type : 'uint256' , name : 'deadline' } , { type : 'address' , name : 'recipient' } , ] , constant : false , payable : false , type : 'function' , gas : 50384 , } , { name : 'tokenToTokenSwapInput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'tokens_sold' } , { type : 'uint256' , name : 'min_tokens_bought' } , { type : 'uint256' , name : 'min_eth_bought' } , { type : 'uint256' , name : 'deadline' } , { type : 'address' , name : 'token_addr' } , ] , constant : false , payable : false , type : 'function' , gas : 51007 , } , { name : 'tokenToTokenTransferInput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'tokens_sold' } , { type : 'uint256' , name : 'min_tokens_bought' } , { type : 'uint256' , name : 'min_eth_bought' } , { type : 'uint256' , name : 'deadline' } , { type : 'address' , name : 'recipient' } , { type : 'address' , name : 'token_addr' } , ] , constant : false , payable : false , type : 'function' , gas : 51098 , } , { name : 'tokenToTokenSwapOutput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'tokens_bought' } , { type : 'uint256' , name : 'max_tokens_sold' } , { type : 'uint256' , name : 'max_eth_sold' } , { type : 'uint256' , name : 'deadline' } , { type : 'address' , name : 'token_addr' } , ] , constant : false , payable : false , type : 'function' , gas : 54928 , } , { name : 'tokenToTokenTransferOutput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'tokens_bought' } , { type : 'uint256' , name : 'max_tokens_sold' } , { type : 'uint256' , name : 'max_eth_sold' } , { type : 'uint256' , name : 'deadline' } , { type : 'address' , name : 'recipient' } , { type : 'address' , name : 'token_addr' } , ] , constant : false , payable : false , type : 'function' , gas : 55019 , } , { name : 'tokenToExchangeSwapInput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'tokens_sold' } , { type : 'uint256' , name : 'min_tokens_bought' } , { type : 'uint256' , name : 'min_eth_bought' } , { type : 'uint256' , name : 'deadline' } , { type : 'address' , name : 'exchange_addr' } , ] , constant : false , payable : false , type : 'function' , gas : 49342 , } , { name : 'tokenToExchangeTransferInput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'tokens_sold' } , { type : 'uint256' , name : 'min_tokens_bought' } , { type : 'uint256' , name : 'min_eth_bought' } , { type : 'uint256' , name : 'deadline' } , { type : 'address' , name : 'recipient' } , { type : 'address' , name : 'exchange_addr' } , ] , constant : false , payable : false , type : 'function' , gas : 49532 , } , { name : 'tokenToExchangeSwapOutput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'tokens_bought' } , { type : 'uint256' , name : 'max_tokens_sold' } , { type : 'uint256' , name : 'max_eth_sold' } , { type : 'uint256' , name : 'deadline' } , { type : 'address' , name : 'exchange_addr' } , ] , constant : false , payable : false , type : 'function' , gas : 53233 , } , { name : 'tokenToExchangeTransferOutput' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'tokens_bought' } , { type : 'uint256' , name : 'max_tokens_sold' } , { type : 'uint256' , name : 'max_eth_sold' } , { type : 'uint256' , name : 'deadline' } , { type : 'address' , name : 'recipient' } , { type : 'address' , name : 'exchange_addr' } , ] , constant : false , payable : false , type : 'function' , gas : 53423 , } , { name : 'getEthToTokenInputPrice' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'eth_sold' } ] , constant : true , payable : false , type : 'function' , gas : 5542 , } , { name : 'getEthToTokenOutputPrice' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'tokens_bought' } ] , constant : true , payable : false , type : 'function' , gas : 6872 , } , { name : 'getTokenToEthInputPrice' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'tokens_sold' } ] , constant : true , payable : false , type : 'function' , gas : 5637 , } , { name : 'getTokenToEthOutputPrice' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256' , name : 'eth_bought' } ] , constant : true , payable : false , type : 'function' , gas : 6897 , } , { name : 'tokenAddress' , outputs : [ { type : 'address' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 1413 , } , { name : 'factoryAddress' , outputs : [ { type : 'address' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 1443 , } , { name : 'balanceOf' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'address' , name : '_owner' } ] , constant : true , payable : false , type : 'function' , } , { name : 'transfer' , outputs : [ { type : 'bool' , name : 'out' } ] , inputs : [ { type : 'address' , name : '_to' } , { type : 'uint256' , name : '_value' } , ] , constant : false , payable : false , type : 'function' , gas : 75034 , } , { name : 'transferFrom' , outputs : [ { type : 'bool' , name : 'out' } ] , inputs : [ { type : 'address' , name : '_from' } , { type : 'address' , name : '_to' } , { type : 'uint256' , name : '_value' } , ] , constant : false , payable : false , type : 'function' , gas : 110907 , } , { name : 'approve' , outputs : [ { type : 'bool' , name : 'out' } ] , inputs : [ { type : 'address' , name : '_spender' } , { type : 'uint256' , name : '_value' } , ] , constant : false , payable : false , type : 'function' , gas : 38769 , } , { name : 'allowance' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'address' , name : '_owner' } , { type : 'address' , name : '_spender' } , ] , constant : true , payable : false , type : 'function' , gas : 1925 , } , { name : 'name' , outputs : [ { type : 'bytes32' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 1623 , } , { name : 'symbol' , outputs : [ { type : 'bytes32' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 1653 , } , { name : 'decimals' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 1683 , } , { name : 'totalSupply' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , } , ] ; export const SYNTH_UNIV2_SXAU_STAKING_POOL_ADDR = '0x8302FE9F0C509a996573D3Cc5B0D5D51e4FDD5eC' ; export const SYNTH_UNIV2_SXAU_STAKING_POOL_ABI = [ { inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } , { internalType : 'address' , name : '_rewardsToken' , type : 'address' } , { internalType : 'address' , name : '_stakingToken' , type : 'address' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'oldOwner' , type : 'address' , } , { indexed : false , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnerChanged' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnerNominated' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardAdded' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardPaid' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Staked' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Withdrawn' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DURATION' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'acceptOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'earned' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'exit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'getReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastTimeRewardApplicable' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastUpdateTime' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } ] , name : 'nominateNewOwner' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'nominatedOwner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'reward' , type : 'uint256' } ] , name : 'notifyRewardAmount' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'owner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'periodFinish' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerToken' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerTokenStored' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardRate' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'rewards' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardsDistribution' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardsToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_rewardsDistribution' , type : 'address' , } , ] , name : 'setRewardsDistribution' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'stakingToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'userRewardPerTokenPaid' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const UNISWAP_SXAU_USDC_POOL_ADDR = '0x34a0216C5057bC18e5d34D4405284564eFd759b2' ; export const UNISWAP_SXAU_USDC_POOL_ABI = [ { inputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'owner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'spender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Approval' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'sender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount0' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1' , type : 'uint256' , } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' } , ] , name : 'Burn' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'sender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount0' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1' , type : 'uint256' , } , ] , name : 'Mint' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'sender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount0In' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1In' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount0Out' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1Out' , type : 'uint256' , } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' } , ] , name : 'Swap' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint112' , name : 'reserve0' , type : 'uint112' , } , { indexed : false , internalType : 'uint112' , name : 'reserve1' , type : 'uint112' , } , ] , name : 'Sync' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'from' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Transfer' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DOMAIN_SEPARATOR' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MINIMUM_LIQUIDITY' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'PERMIT_TYPEHASH' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } , { internalType : 'address' , name : '' , type : 'address' } , ] , name : 'allowance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , ] , name : 'approve' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } ] , name : 'burn' , outputs : [ { internalType : 'uint256' , name : 'amount0' , type : 'uint256' } , { internalType : 'uint256' , name : 'amount1' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'decimals' , outputs : [ { internalType : 'uint8' , name : '' , type : 'uint8' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'factory' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getReserves' , outputs : [ { internalType : 'uint112' , name : '_reserve0' , type : 'uint112' } , { internalType : 'uint112' , name : '_reserve1' , type : 'uint112' } , { internalType : 'uint32' , name : '_blockTimestampLast' , type : 'uint32' } , ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_token0' , type : 'address' } , { internalType : 'address' , name : '_token1' , type : 'address' } , ] , name : 'initialize' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'kLast' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } ] , name : 'mint' , outputs : [ { internalType : 'uint256' , name : 'liquidity' , type : 'uint256' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'name' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'nonces' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'owner' , type : 'address' } , { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , { internalType : 'uint256' , name : 'deadline' , type : 'uint256' } , { internalType : 'uint8' , name : 'v' , type : 'uint8' } , { internalType : 'bytes32' , name : 'r' , type : 'bytes32' } , { internalType : 'bytes32' , name : 's' , type : 'bytes32' } , ] , name : 'permit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'price0CumulativeLast' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'price1CumulativeLast' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } ] , name : 'skim' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount0Out' , type : 'uint256' } , { internalType : 'uint256' , name : 'amount1Out' , type : 'uint256' } , { internalType : 'address' , name : 'to' , type : 'address' } , { internalType : 'bytes' , name : 'data' , type : 'bytes' } , ] , name : 'swap' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'symbol' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'sync' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'token0' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'token1' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , ] , name : 'transfer' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'from' , type : 'address' } , { internalType : 'address' , name : 'to' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , ] , name : 'transferFrom' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const Y_STAKING_POOL_ADDR = '0x0001FB050Fe7312791bF6475b96569D83F695C9f' ; export const Y_STAKING_POOL_ABI = [ { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'previousOwner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnershipTransferred' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardAdded' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardPaid' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Staked' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Withdrawn' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DURATION' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'earned' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'exit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'getReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'isOwner' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastTimeRewardApplicable' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastUpdateTime' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'reward' , type : 'uint256' } ] , name : 'notifyRewardAmount' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'owner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'periodFinish' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'renounceOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerToken' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerTokenStored' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardRate' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'rewards' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_rewardDistribution' , type : 'address' } , ] , name : 'setRewardDistribution' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'newOwner' , type : 'address' } ] , name : 'transferOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'userRewardPerTokenPaid' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'y' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'yfi' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , ] ; export const CURVE_Y_POOL_ADDR = '0x45F783CCE6B7FF23B2ab2D70e416cdb7D6055f51' ; export const CURVE_Y_POOL_ABI = [ { name : 'TokenExchange' , inputs : [ { type : 'address' , name : 'buyer' , indexed : true } , { type : 'int128' , name : 'sold_id' , indexed : false } , { type : 'uint256' , name : 'tokens_sold' , indexed : false } , { type : 'int128' , name : 'bought_id' , indexed : false } , { type : 'uint256' , name : 'tokens_bought' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'TokenExchangeUnderlying' , inputs : [ { type : 'address' , name : 'buyer' , indexed : true } , { type : 'int128' , name : 'sold_id' , indexed : false } , { type : 'uint256' , name : 'tokens_sold' , indexed : false } , { type : 'int128' , name : 'bought_id' , indexed : false } , { type : 'uint256' , name : 'tokens_bought' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'AddLiquidity' , inputs : [ { type : 'address' , name : 'provider' , indexed : true } , { type : 'uint256[4]' , name : 'token_amounts' , indexed : false } , { type : 'uint256[4]' , name : 'fees' , indexed : false } , { type : 'uint256' , name : 'invariant' , indexed : false } , { type : 'uint256' , name : 'token_supply' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'RemoveLiquidity' , inputs : [ { type : 'address' , name : 'provider' , indexed : true } , { type : 'uint256[4]' , name : 'token_amounts' , indexed : false } , { type : 'uint256[4]' , name : 'fees' , indexed : false } , { type : 'uint256' , name : 'token_supply' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'RemoveLiquidityImbalance' , inputs : [ { type : 'address' , name : 'provider' , indexed : true } , { type : 'uint256[4]' , name : 'token_amounts' , indexed : false } , { type : 'uint256[4]' , name : 'fees' , indexed : false } , { type : 'uint256' , name : 'invariant' , indexed : false } , { type : 'uint256' , name : 'token_supply' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'CommitNewAdmin' , inputs : [ { type : 'uint256' , name : 'deadline' , indexed : true , unit : 'sec' } , { type : 'address' , name : 'admin' , indexed : true } , ] , anonymous : false , type : 'event' , } , { name : 'NewAdmin' , inputs : [ { type : 'address' , name : 'admin' , indexed : true } ] , anonymous : false , type : 'event' , } , { name : 'CommitNewParameters' , inputs : [ { type : 'uint256' , name : 'deadline' , indexed : true , unit : 'sec' } , { type : 'uint256' , name : 'A' , indexed : false } , { type : 'uint256' , name : 'fee' , indexed : false } , { type : 'uint256' , name : 'admin_fee' , indexed : false } , ] , anonymous : false , type : 'event' , } , { name : 'NewParameters' , inputs : [ { type : 'uint256' , name : 'A' , indexed : false } , { type : 'uint256' , name : 'fee' , indexed : false } , { type : 'uint256' , name : 'admin_fee' , indexed : false } , ] , anonymous : false , type : 'event' , } , { outputs : [ ] , inputs : [ { type : 'address[4]' , name : '_coins' } , { type : 'address[4]' , name : '_underlying_coins' } , { type : 'address' , name : '_pool_token' } , { type : 'uint256' , name : '_A' } , { type : 'uint256' , name : '_fee' } , ] , constant : false , payable : false , type : 'constructor' , } , { name : 'get_virtual_price' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 1535185 , } , { name : 'calc_token_amount' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'uint256[4]' , name : 'amounts' } , { type : 'bool' , name : 'deposit' } , ] , constant : true , payable : false , type : 'function' , gas : 6067881 , } , { name : 'add_liquidity' , outputs : [ ] , inputs : [ { type : 'uint256[4]' , name : 'amounts' } , { type : 'uint256' , name : 'min_mint_amount' } , ] , constant : false , payable : false , type : 'function' , gas : 9327083 , } , { name : 'get_dy' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'int128' , name : 'i' } , { type : 'int128' , name : 'j' } , { type : 'uint256' , name : 'dx' } , ] , constant : true , payable : false , type : 'function' , gas : 3454227 , } , { name : 'get_dx' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'int128' , name : 'i' } , { type : 'int128' , name : 'j' } , { type : 'uint256' , name : 'dy' } , ] , constant : true , payable : false , type : 'function' , gas : 3454232 , } , { name : 'get_dy_underlying' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'int128' , name : 'i' } , { type : 'int128' , name : 'j' } , { type : 'uint256' , name : 'dx' } , ] , constant : true , payable : false , type : 'function' , gas : 3454087 , } , { name : 'get_dx_underlying' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'int128' , name : 'i' } , { type : 'int128' , name : 'j' } , { type : 'uint256' , name : 'dy' } , ] , constant : true , payable : false , type : 'function' , gas : 3454093 , } , { name : 'exchange' , outputs : [ ] , inputs : [ { type : 'int128' , name : 'i' } , { type : 'int128' , name : 'j' } , { type : 'uint256' , name : 'dx' } , { type : 'uint256' , name : 'min_dy' } , ] , constant : false , payable : false , type : 'function' , gas : 7030208 , } , { name : 'exchange_underlying' , outputs : [ ] , inputs : [ { type : 'int128' , name : 'i' } , { type : 'int128' , name : 'j' } , { type : 'uint256' , name : 'dx' } , { type : 'uint256' , name : 'min_dy' } , ] , constant : false , payable : false , type : 'function' , gas : 7050194 , } , { name : 'remove_liquidity' , outputs : [ ] , inputs : [ { type : 'uint256' , name : '_amount' } , { type : 'uint256[4]' , name : 'min_amounts' } , ] , constant : false , payable : false , type : 'function' , gas : 240409 , } , { name : 'remove_liquidity_imbalance' , outputs : [ ] , inputs : [ { type : 'uint256[4]' , name : 'amounts' } , { type : 'uint256' , name : 'max_burn_amount' } , ] , constant : false , payable : false , type : 'function' , gas : 9326310 , } , { name : 'commit_new_parameters' , outputs : [ ] , inputs : [ { type : 'uint256' , name : 'amplification' } , { type : 'uint256' , name : 'new_fee' } , { type : 'uint256' , name : 'new_admin_fee' } , ] , constant : false , payable : false , type : 'function' , gas : 145867 , } , { name : 'apply_new_parameters' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 133482 , } , { name : 'revert_new_parameters' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 21805 , } , { name : 'commit_transfer_ownership' , outputs : [ ] , inputs : [ { type : 'address' , name : '_owner' } ] , constant : false , payable : false , type : 'function' , gas : 74482 , } , { name : 'apply_transfer_ownership' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 60538 , } , { name : 'revert_transfer_ownership' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 21895 , } , { name : 'withdraw_admin_fees' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 22667 , } , { name : 'kill_me' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 37848 , } , { name : 'unkill_me' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 21985 , } , { name : 'coins' , outputs : [ { type : 'address' , name : 'out' } ] , inputs : [ { type : 'int128' , name : 'arg0' } ] , constant : true , payable : false , type : 'function' , gas : 2160 , } , { name : 'underlying_coins' , outputs : [ { type : 'address' , name : 'out' } ] , inputs : [ { type : 'int128' , name : 'arg0' } ] , constant : true , payable : false , type : 'function' , gas : 2190 , } , { name : 'balances' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ { type : 'int128' , name : 'arg0' } ] , constant : true , payable : false , type : 'function' , } , { name : 'A' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2051 , } , { name : 'fee' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2081 , } , { name : 'admin_fee' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2111 , } , { name : 'owner' , outputs : [ { type : 'address' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2141 , } , { name : 'admin_actions_deadline' , outputs : [ { type : 'uint256' , unit : 'sec' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2171 , } , { name : 'transfer_ownership_deadline' , outputs : [ { type : 'uint256' , unit : 'sec' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2201 , } , { name : 'future_A' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2231 , } , { name : 'future_fee' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2261 , } , { name : 'future_admin_fee' , outputs : [ { type : 'uint256' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2291 , } , { name : 'future_owner' , outputs : [ { type : 'address' , name : 'out' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 2321 , } , ] ; export const CURVE_Y_DEPOSIT_POOL_ADDR = '0xbBC81d23Ea2c3ec7e56D39296F0cbB648873a5d3' ; export const CURVE_Y_DEPOSIT_POOL_ABI = [ { outputs : [ ] , inputs : [ { type : 'address[4]' , name : '_coins' } , { type : 'address[4]' , name : '_underlying_coins' } , { type : 'address' , name : '_curve' } , { type : 'address' , name : '_token' } , ] , constant : false , payable : false , type : 'constructor' , } , { name : 'add_liquidity' , outputs : [ ] , inputs : [ { type : 'uint256[4]' , name : 'uamounts' } , { type : 'uint256' , name : 'min_mint_amount' } , ] , constant : false , payable : false , type : 'function' , gas : 164560 , } , { name : 'remove_liquidity' , outputs : [ ] , inputs : [ { type : 'uint256' , name : '_amount' } , { type : 'uint256[4]' , name : 'min_uamounts' } , ] , constant : false , payable : false , type : 'function' , gas : 99521 , } , { name : 'remove_liquidity_imbalance' , outputs : [ ] , inputs : [ { type : 'uint256[4]' , name : 'uamounts' } , { type : 'uint256' , name : 'max_burn_amount' } , ] , constant : false , payable : false , type : 'function' , gas : 120148 , } , { name : 'calc_withdraw_one_coin' , outputs : [ { type : 'uint256' , name : '' } ] , inputs : [ { type : 'uint256' , name : '_token_amount' } , { type : 'int128' , name : 'i' } , ] , constant : true , payable : false , type : 'function' , gas : 3881601 , } , { name : 'remove_liquidity_one_coin' , outputs : [ ] , inputs : [ { type : 'uint256' , name : '_token_amount' } , { type : 'int128' , name : 'i' } , { type : 'uint256' , name : 'min_uamount' } , ] , constant : false , payable : false , type : 'function' , } , { name : 'remove_liquidity_one_coin' , outputs : [ ] , inputs : [ { type : 'uint256' , name : '_token_amount' } , { type : 'int128' , name : 'i' } , { type : 'uint256' , name : 'min_uamount' } , { type : 'bool' , name : 'donate_dust' } , ] , constant : false , payable : false , type : 'function' , } , { name : 'withdraw_donated_dust' , outputs : [ ] , inputs : [ ] , constant : false , payable : false , type : 'function' , gas : 63973 , } , { name : 'coins' , outputs : [ { type : 'address' , name : '' } ] , inputs : [ { type : 'int128' , name : 'arg0' } ] , constant : true , payable : false , type : 'function' , gas : 1680 , } , { name : 'underlying_coins' , outputs : [ { type : 'address' , name : '' } ] , inputs : [ { type : 'int128' , name : 'arg0' } ] , constant : true , payable : false , type : 'function' , gas : 1710 , } , { name : 'curve' , outputs : [ { type : 'address' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 1541 , } , { name : 'token' , outputs : [ { type : 'address' , name : '' } ] , inputs : [ ] , constant : true , payable : false , type : 'function' , gas : 1571 , } , ] ; export const YFI_STAKING_POOL_ADDR = '0xb01419E74D8a2abb1bbAD82925b19c36C191A701' ; export const YFI_STAKING_POOL_ABI = [ { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'previousOwner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnershipTransferred' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardAdded' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardPaid' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Staked' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Withdrawn' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DURATION' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'breaker' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'config' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'earned' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'exit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'getReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'governance' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'initialize' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'isOwner' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastTimeRewardApplicable' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastUpdateTime' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'minimum' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'reward' , type : 'uint256' } ] , name : 'notifyRewardAmount' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'owner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'periodFinish' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'renounceOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerToken' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerTokenStored' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardRate' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'rewards' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'contract IERC20' , name : '_token' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'seize' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'bool' , name : '_breaker' , type : 'bool' } ] , name : 'setBreaker' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_governance' , type : 'address' } ] , name : 'setGovernance' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_minimum' , type : 'uint256' } ] , name : 'setMinimum' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_rewardDistribution' , type : 'address' } , ] , name : 'setRewardDistribution' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'newOwner' , type : 'address' } ] , name : 'transferOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'userRewardPerTokenPaid' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'yCRV' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'yGov' , outputs : [ { internalType : 'contract YearnGovernance' , name : '' , type : 'address' } , ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'yfi' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , ] ; export const YGOV_BPT_STAKING_POOL_ADDR = '0x033E52f513F9B98e129381c6708F9faA2DEE5db5' ; export const YGOV_BPT_STAKING_POOL_ABI = [ { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'previousOwner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnershipTransferred' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardAdded' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardPaid' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Staked' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Withdrawn' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DURATION' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'bpt' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'earned' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'exit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'getReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'isOwner' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastTimeRewardApplicable' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastUpdateTime' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'reward' , type : 'uint256' } ] , name : 'notifyRewardAmount' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'owner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'periodFinish' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'renounceOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerToken' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerTokenStored' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardRate' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'rewards' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_rewardDistribution' , type : 'address' } , ] , name : 'setRewardDistribution' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'newOwner' , type : 'address' } ] , name : 'transferOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'userRewardPerTokenPaid' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'yfi' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , ] ; export const YGOV_BPT_2_STAKING_POOL_ADDR = '0x3A22dF48d84957F907e67F4313E3D43179040d6E' ; export const YGOV_BPT_2_STAKING_POOL_ABI = [ { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'previousOwner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnershipTransferred' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardAdded' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardPaid' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Staked' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Withdrawn' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DURATION' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'bpt' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'breaker' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'claimFees' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'config' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'earned' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'exit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'feesPaidIn' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'getReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'governance' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'initialize' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'isOwner' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastTimeRewardApplicable' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastUpdateTime' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lock' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'minimum' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'reward' , type : 'uint256' } ] , name : 'notifyRewardAmount' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'owner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'period' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'periodFinish' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'proposalCount' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , name : 'proposals' , outputs : [ { internalType : 'uint256' , name : 'id' , type : 'uint256' } , { internalType : 'address' , name : 'proposer' , type : 'address' } , { internalType : 'uint256' , name : 'totalForVotes' , type : 'uint256' } , { internalType : 'uint256' , name : 'totalAgainstVotes' , type : 'uint256' } , { internalType : 'uint256' , name : 'start' , type : 'uint256' } , { internalType : 'uint256' , name : 'end' , type : 'uint256' } , ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'propose' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'renounceOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerToken' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerTokenStored' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardRate' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'rewards' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'contract IERC20' , name : '_token' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'seize' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'bool' , name : '_breaker' , type : 'bool' } ] , name : 'setBreaker' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_governance' , type : 'address' } ] , name : 'setGovernance' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_lock' , type : 'uint256' } ] , name : 'setLock' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_minimum' , type : 'uint256' } ] , name : 'setMinimum' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_period' , type : 'uint256' } ] , name : 'setPeriod' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'contract IERC20' , name : '_feesPaidIn' , type : 'address' } , ] , name : 'setReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_rewardDistribution' , type : 'address' } , ] , name : 'setRewardDistribution' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'newOwner' , type : 'address' } ] , name : 'transferOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'updateFees' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'userRewardPerTokenPaid' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'id' , type : 'uint256' } ] , name : 'voteAgainst' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'id' , type : 'uint256' } ] , name : 'voteFor' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'voteLock' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'yBal' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'yIndex' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'ySupplyIndex' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'yfi' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , ] ; export const BPT_SNX_REN_TOKEN_ADDR = '0x330416C863f2acCE7aF9C9314B422d24c672534a' ; export const YFI_DAI_BPT_TOKEN_ADDR = '0x60626db611a9957C1ae4Ac5b7eDE69e24A3B76c5' ; export const YFI_YCRV_BPT_TOKEN_ADDR = '0x95C4B6C7CfF608c0CA048df8b81a484aA377172B' ; export const MUSD_USDC_BPT_TOKEN_ADDR = '0x72Cd8f4504941Bf8c5a21d1Fd83A96499FD71d2C' ; export const MUSD_WETH_BPT_TOKEN_ADDR = '0xe036CCE08cf4E23D33bC6B18e53Caf532AFa8513' ; export const MUSD_MTA_BPT_TOKEN_ADDR = '0x003a70265a3662342010823bEA15Dc84C6f7eD54' ; export const ERC20_ABI = [ { constant : true , inputs : [ ] , name : 'name' , outputs : [ { name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { name : '_spender' , type : 'address' } , { name : '_value' , type : 'uint256' } , ] , name : 'approve' , outputs : [ { name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { name : '_from' , type : 'address' } , { name : '_to' , type : 'address' } , { name : '_value' , type : 'uint256' } , ] , name : 'transferFrom' , outputs : [ { name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'decimals' , outputs : [ { name : '' , type : 'uint8' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { name : '_owner' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { name : 'balance' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'symbol' , outputs : [ { name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { name : '_to' , type : 'address' } , { name : '_value' , type : 'uint256' } , ] , name : 'transfer' , outputs : [ { name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { name : '_owner' , type : 'address' } , { name : '_spender' , type : 'address' } , ] , name : 'allowance' , outputs : [ { name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { payable : true , stateMutability : 'payable' , type : 'fallback' } , { anonymous : false , inputs : [ { indexed : true , name : 'owner' , type : 'address' } , { indexed : true , name : 'spender' , type : 'address' } , { indexed : false , name : 'value' , type : 'uint256' } , ] , name : 'Approval' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , name : 'from' , type : 'address' } , { indexed : true , name : 'to' , type : 'address' } , { indexed : false , name : 'value' , type : 'uint256' } , ] , name : 'Transfer' , type : 'event' , } , ] ; export const BLOCK_TIME = 13.4581790123457 ; export const BAL_DISTRIBUTION_WEEK = 3 ; export const YFFI_TOKEN_ADDR = '0xCee1d3c3A02267e37E6B373060F79d5d7b9e1669' ; export const YFFI_POOL_2_ADDR = '0x81dfa0b3cf2601012075ef2619afb9d4ed4da762' ; export const YFFI_POOL_1_ADDR = '0x95284D906Ab7F1bD86f522078973771EcBB20662' ; export const YFFI_POOL_3_ADDR = '0x7c8c77933e2fd6adc2ebfab5dc529c6787c57c34' ; export const YFFI_DAI_BPT_TOKEN_ADDR = '0xFe793bC3D1Ef8d38934896980254e81d0c5F6239' ; export const YFFI_YCRV_BPT_TOKEN_ADDR = '0xc855F1572c8128ADd6F0503084Ba23930B7461f8' ; export const YFFI_REWARD_CONTRACT_ABI = [ { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'previousOwner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnershipTransferred' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardAdded' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , ] , name : 'RewardPaid' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Staked' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Withdrawn' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DURATION' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'bpt' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'earned' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'exit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'getReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'initreward' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'isOwner' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastTimeRewardApplicable' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastUpdateTime' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'reward' , type : 'uint256' } ] , name : 'notifyRewardAmount' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'owner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'periodFinish' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'renounceOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerToken' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerTokenStored' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardRate' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'rewards' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_rewardDistribution' , type : 'address' } , ] , name : 'setRewardDistribution' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'starttime' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'newOwner' , type : 'address' } ] , name : 'transferOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'userRewardPerTokenPaid' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'yfi' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , ] ; export const DF_USDX_UNISWAP_POOL_ABI = [ { inputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'owner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'spender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Approval' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'sender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount0' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1' , type : 'uint256' , } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' , } , ] , name : 'Burn' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'sender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount0' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1' , type : 'uint256' , } , ] , name : 'Mint' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'sender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount0In' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1In' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount0Out' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1Out' , type : 'uint256' , } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' , } , ] , name : 'Swap' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint112' , name : 'reserve0' , type : 'uint112' , } , { indexed : false , internalType : 'uint112' , name : 'reserve1' , type : 'uint112' , } , ] , name : 'Sync' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'from' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Transfer' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DOMAIN_SEPARATOR' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MINIMUM_LIQUIDITY' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'PERMIT_TYPEHASH' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } , { internalType : 'address' , name : '' , type : 'address' } , ] , name : 'allowance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , ] , name : 'approve' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } ] , name : 'burn' , outputs : [ { internalType : 'uint256' , name : 'amount0' , type : 'uint256' } , { internalType : 'uint256' , name : 'amount1' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'decimals' , outputs : [ { internalType : 'uint8' , name : '' , type : 'uint8' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'factory' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getReserves' , outputs : [ { internalType : 'uint112' , name : '_reserve0' , type : 'uint112' } , { internalType : 'uint112' , name : '_reserve1' , type : 'uint112' } , { internalType : 'uint32' , name : '_blockTimestampLast' , type : 'uint32' , } , ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_token0' , type : 'address' } , { internalType : 'address' , name : '_token1' , type : 'address' } , ] , name : 'initialize' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'kLast' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } ] , name : 'mint' , outputs : [ { internalType : 'uint256' , name : 'liquidity' , type : 'uint256' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'name' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'nonces' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'owner' , type : 'address' } , { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , { internalType : 'uint256' , name : 'deadline' , type : 'uint256' } , { internalType : 'uint8' , name : 'v' , type : 'uint8' } , { internalType : 'bytes32' , name : 'r' , type : 'bytes32' } , { internalType : 'bytes32' , name : 's' , type : 'bytes32' } , ] , name : 'permit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'price0CumulativeLast' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'price1CumulativeLast' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } ] , name : 'skim' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount0Out' , type : 'uint256' } , { internalType : 'uint256' , name : 'amount1Out' , type : 'uint256' } , { internalType : 'address' , name : 'to' , type : 'address' } , { internalType : 'bytes' , name : 'data' , type : 'bytes' } , ] , name : 'swap' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'symbol' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'sync' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'token0' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'token1' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , ] , name : 'transfer' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'from' , type : 'address' } , { internalType : 'address' , name : 'to' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , ] , name : 'transferFrom' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const GOLDX_USDX_UNISWAP_POOL_ABI = [ { inputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'owner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'spender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Approval' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'sender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount0' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1' , type : 'uint256' , } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' , } , ] , name : 'Burn' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'sender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount0' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1' , type : 'uint256' , } , ] , name : 'Mint' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'sender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount0In' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1In' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount0Out' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1Out' , type : 'uint256' , } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' , } , ] , name : 'Swap' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint112' , name : 'reserve0' , type : 'uint112' , } , { indexed : false , internalType : 'uint112' , name : 'reserve1' , type : 'uint112' , } , ] , name : 'Sync' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'from' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Transfer' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DOMAIN_SEPARATOR' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MINIMUM_LIQUIDITY' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'PERMIT_TYPEHASH' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } , { internalType : 'address' , name : '' , type : 'address' } , ] , name : 'allowance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , ] , name : 'approve' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } ] , name : 'burn' , outputs : [ { internalType : 'uint256' , name : 'amount0' , type : 'uint256' } , { internalType : 'uint256' , name : 'amount1' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'decimals' , outputs : [ { internalType : 'uint8' , name : '' , type : 'uint8' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'factory' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getReserves' , outputs : [ { internalType : 'uint112' , name : '_reserve0' , type : 'uint112' } , { internalType : 'uint112' , name : '_reserve1' , type : 'uint112' } , { internalType : 'uint32' , name : '_blockTimestampLast' , type : 'uint32' , } , ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_token0' , type : 'address' } , { internalType : 'address' , name : '_token1' , type : 'address' } , ] , name : 'initialize' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'kLast' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } ] , name : 'mint' , outputs : [ { internalType : 'uint256' , name : 'liquidity' , type : 'uint256' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'name' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'nonces' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'owner' , type : 'address' } , { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , { internalType : 'uint256' , name : 'deadline' , type : 'uint256' } , { internalType : 'uint8' , name : 'v' , type : 'uint8' } , { internalType : 'bytes32' , name : 'r' , type : 'bytes32' } , { internalType : 'bytes32' , name : 's' , type : 'bytes32' } , ] , name : 'permit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'price0CumulativeLast' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'price1CumulativeLast' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } ] , name : 'skim' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount0Out' , type : 'uint256' } , { internalType : 'uint256' , name : 'amount1Out' , type : 'uint256' } , { internalType : 'address' , name : 'to' , type : 'address' } , { internalType : 'bytes' , name : 'data' , type : 'bytes' } , ] , name : 'swap' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'symbol' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'sync' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'token0' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'token1' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , ] , name : 'transfer' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'from' , type : 'address' } , { internalType : 'address' , name : 'to' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , ] , name : 'transferFrom' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const MUSD_MTA_BPT_TOKEN_2_ADDR = '0xa5DA8Cc7167070B62FdCB332EF097A55A68d8824' ; export const MTA_WETH_UNI_TOKEN_ADDR = '0x0d0d65E7A7dB277d3E0F5E1676325E75f3340455' ; export const MUSD_USDC_BPT_TOKEN_STAKING_ADDR = '0x881c72D1e6317f10a1cDCBe05040E7564E790C80' ; export const MUSD_MTA_BPT_TOKEN_STAKING_ADDR = '0x25970282aAC735Cd4c76f30BfB0Bf2BC8DAD4e70' ; export const MUSD_MTA_BPT_TOKEN_2_STAKING_ADDR = '0xf4a7d2d85F4BA11B5C73c35E27044c0c49F7f027' ; export const MUSD_WETH_BPT_TOKEN_STAKING_ADDR = '0xf7575D4D4DB78F6Ba43C734616C51E9fD4bAA7fb' ; export const MTA_WETH_UNI_TOKEN_STAKING_ADDR = '0x9B4abA35b35EEE7481775cCB4055Ce4e176C9a6F' ; export const MSTABLE_REWARDS_POOL_ABI = [ { inputs : [ { internalType : 'address' , name : '_nexus' , type : 'address' } , { internalType : 'address' , name : '_stakingToken' , type : 'address' } , { internalType : 'address' , name : '_rewardsToken' , type : 'address' } , { internalType : 'address' , name : '_platformToken' , type : 'address' } , { internalType : 'address' , name : '_rewardsDistributor' , type : 'address' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'platformReward' , type : 'uint256' , } , ] , name : 'RewardAdded' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'reward' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'platformReward' , type : 'uint256' , } , ] , name : 'RewardPaid' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , { indexed : false , internalType : 'address' , name : 'payer' , type : 'address' , } , ] , name : 'Staked' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Withdrawn' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DURATION' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '_account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'claimReward' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'claimRewardOnly' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '_account' , type : 'address' } ] , name : 'earned' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } , { internalType : 'uint256' , name : '' , type : 'uint256' } , ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'exit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getRewardToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastTimeRewardApplicable' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'lastUpdateTime' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'nexus' , outputs : [ { internalType : 'contract INexus' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_reward' , type : 'uint256' } ] , name : 'notifyRewardAmount' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'periodFinish' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'platformRewardPerTokenStored' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'platformRewardRate' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'platformRewards' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'platformToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'platformTokenVendor' , outputs : [ { internalType : 'contract PlatformTokenVendor' , name : '' , type : 'address' , } , ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerToken' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } , { internalType : 'uint256' , name : '' , type : 'uint256' } , ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardPerTokenStored' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardRate' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'rewards' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardsDistributor' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewardsToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_rewardsDistributor' , type : 'address' } , ] , name : 'setRewardsDistribution' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_amount' , type : 'uint256' } ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_beneficiary' , type : 'address' } , { internalType : 'uint256' , name : '_amount' , type : 'uint256' } , ] , name : 'stake' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'stakingToken' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'userPlatformRewardPerTokenPaid' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'userRewardPerTokenPaid' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const YAM_TOKEN_ABI = [ { inputs : [ { internalType : 'string' , name : 'name_' , type : 'string' } , { internalType : 'string' , name : 'symbol_' , type : 'string' } , { internalType : 'uint8' , name : 'decimals_' , type : 'uint8' } , { internalType : 'uint256' , name : 'initSupply_' , type : 'uint256' } , { internalType : 'address' , name : 'implementation_' , type : 'address' } , { internalType : 'bytes' , name : 'becomeImplementationData' , type : 'bytes' , } , ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'owner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'spender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Approval' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'delegator' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'fromDelegate' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'toDelegate' , type : 'address' , } , ] , name : 'DelegateChanged' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'delegate' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'previousBalance' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'newBalance' , type : 'uint256' , } , ] , name : 'DelegateVotesChanged' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'to' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Mint' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'oldGov' , type : 'address' , } , { indexed : false , internalType : 'address' , name : 'newGov' , type : 'address' , } , ] , name : 'NewGov' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'oldImplementation' , type : 'address' , } , { indexed : false , internalType : 'address' , name : 'newImplementation' , type : 'address' , } , ] , name : 'NewImplementation' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'oldIncentivizer' , type : 'address' , } , { indexed : false , internalType : 'address' , name : 'newIncentivizer' , type : 'address' , } , ] , name : 'NewIncentivizer' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'oldPendingGov' , type : 'address' , } , { indexed : false , internalType : 'address' , name : 'newPendingGov' , type : 'address' , } , ] , name : 'NewPendingGov' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'address' , name : 'oldRebaser' , type : 'address' , } , { indexed : false , internalType : 'address' , name : 'newRebaser' , type : 'address' , } , ] , name : 'NewRebaser' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'epoch' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'prevYamsScalingFactor' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'newYamsScalingFactor' , type : 'uint256' , } , ] , name : 'Rebase' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'from' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Transfer' , type : 'event' , } , { payable : true , stateMutability : 'payable' , type : 'fallback' } , { constant : true , inputs : [ ] , name : 'BASE' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'DELEGATION_TYPEHASH' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'DOMAIN_TYPEHASH' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : '_acceptGov' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'implementation_' , type : 'address' } , { internalType : 'bool' , name : 'allowResign' , type : 'bool' } , { internalType : 'bytes' , name : 'becomeImplementationData' , type : 'bytes' , } , ] , name : '_setImplementation' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'incentivizer_' , type : 'address' } , ] , name : '_setIncentivizer' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'newPendingGov' , type : 'address' } , ] , name : '_setPendingGov' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'rebaser_' , type : 'address' } ] , name : '_setRebaser' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'owner' , type : 'address' } , { internalType : 'address' , name : 'spender' , type : 'address' } , ] , name : 'allowance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'approve' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'owner' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'owner' , type : 'address' } ] , name : 'balanceOfUnderlying' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } , { internalType : 'uint32' , name : '' , type : 'uint32' } , ] , name : 'checkpoints' , outputs : [ { internalType : 'uint32' , name : 'fromBlock' , type : 'uint32' } , { internalType : 'uint256' , name : 'votes' , type : 'uint256' } , ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'decimals' , outputs : [ { internalType : 'uint8' , name : '' , type : 'uint8' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'subtractedValue' , type : 'uint256' } , ] , name : 'decreaseAllowance' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'delegatee' , type : 'address' } ] , name : 'delegate' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'delegatee' , type : 'address' } , { internalType : 'uint256' , name : 'nonce' , type : 'uint256' } , { internalType : 'uint256' , name : 'expiry' , type : 'uint256' } , { internalType : 'uint8' , name : 'v' , type : 'uint8' } , { internalType : 'bytes32' , name : 'r' , type : 'bytes32' } , { internalType : 'bytes32' , name : 's' , type : 'bytes32' } , ] , name : 'delegateBySig' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'bytes' , name : 'data' , type : 'bytes' } ] , name : 'delegateToImplementation' , outputs : [ { internalType : 'bytes' , name : '' , type : 'bytes' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'bytes' , name : 'data' , type : 'bytes' } ] , name : 'delegateToViewImplementation' , outputs : [ { internalType : 'bytes' , name : '' , type : 'bytes' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'delegator' , type : 'address' } ] , name : 'delegates' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'getCurrentVotes' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } , { internalType : 'uint256' , name : 'blockNumber' , type : 'uint256' } , ] , name : 'getPriorVotes' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'gov' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'implementation' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'incentivizer' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'addedValue' , type : 'uint256' } , ] , name : 'increaseAllowance' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'initSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'internalDecimals' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'maxScalingFactor' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } , { internalType : 'uint256' , name : 'mintAmount' , type : 'uint256' } , ] , name : 'mint' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'name' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'nonces' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'numCheckpoints' , outputs : [ { internalType : 'uint32' , name : '' , type : 'uint32' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'pendingGov' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'epoch' , type : 'uint256' } , { internalType : 'uint256' , name : 'indexDelta' , type : 'uint256' } , { internalType : 'bool' , name : 'positive' , type : 'bool' } , ] , name : 'rebase' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rebaser' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'symbol' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'dst' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'transfer' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'src' , type : 'address' } , { internalType : 'address' , name : 'dst' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'transferFrom' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'yamsScalingFactor' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , ] ; export const YAMv2_TOKEN_ABI = [ { inputs : [ { internalType : 'string' , name : 'name' , type : 'string' } , { internalType : 'string' , name : 'symbol' , type : 'string' } , { internalType : 'address' , name : 'minter_' , type : 'address' } , ] , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'owner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'spender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Approval' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'from' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Transfer' , type : 'event' , } , { inputs : [ { internalType : 'address' , name : 'owner' , type : 'address' } , { internalType : 'address' , name : 'spender' , type : 'address' } , ] , name : 'allowance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'approve' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ ] , name : 'decimals' , outputs : [ { internalType : 'uint8' , name : '' , type : 'uint8' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'subtractedValue' , type : 'uint256' } , ] , name : 'decreaseAllowance' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'addedValue' , type : 'uint256' } , ] , name : 'increaseAllowance' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'mint' , outputs : [ ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ ] , name : 'minter' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ ] , name : 'name' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ ] , name : 'symbol' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ { internalType : 'address' , name : 'recipient' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'transfer' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ { internalType : 'address' , name : 'sender' , type : 'address' } , { internalType : 'address' , name : 'recipient' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'transferFrom' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const AMPL_WETH_UNI_TOKEN_ADDR = '0xc5be99A02C6857f9Eac67BbCE58DF5572498F40c' ; export const UNISWAP_V2_PAIR_ABI = [ { inputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'owner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'spender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Approval' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'sender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount0' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1' , type : 'uint256' , } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' } , ] , name : 'Burn' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'sender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount0' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1' , type : 'uint256' , } , ] , name : 'Mint' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'sender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'amount0In' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1In' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount0Out' , type : 'uint256' , } , { indexed : false , internalType : 'uint256' , name : 'amount1Out' , type : 'uint256' , } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' } , ] , name : 'Swap' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint112' , name : 'reserve0' , type : 'uint112' , } , { indexed : false , internalType : 'uint112' , name : 'reserve1' , type : 'uint112' , } , ] , name : 'Sync' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'from' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Transfer' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'DOMAIN_SEPARATOR' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'MINIMUM_LIQUIDITY' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'PERMIT_TYPEHASH' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } , { internalType : 'address' , name : '' , type : 'address' } , ] , name : 'allowance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , ] , name : 'approve' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } ] , name : 'burn' , outputs : [ { internalType : 'uint256' , name : 'amount0' , type : 'uint256' } , { internalType : 'uint256' , name : 'amount1' , type : 'uint256' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'decimals' , outputs : [ { internalType : 'uint8' , name : '' , type : 'uint8' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'factory' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getReserves' , outputs : [ { internalType : 'uint112' , name : '_reserve0' , type : 'uint112' } , { internalType : 'uint112' , name : '_reserve1' , type : 'uint112' } , { internalType : 'uint32' , name : '_blockTimestampLast' , type : 'uint32' } , ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_token0' , type : 'address' } , { internalType : 'address' , name : '_token1' , type : 'address' } , ] , name : 'initialize' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'kLast' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } ] , name : 'mint' , outputs : [ { internalType : 'uint256' , name : 'liquidity' , type : 'uint256' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'name' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'nonces' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'owner' , type : 'address' } , { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , { internalType : 'uint256' , name : 'deadline' , type : 'uint256' } , { internalType : 'uint8' , name : 'v' , type : 'uint8' } , { internalType : 'bytes32' , name : 'r' , type : 'bytes32' } , { internalType : 'bytes32' , name : 's' , type : 'bytes32' } , ] , name : 'permit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'price0CumulativeLast' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'price1CumulativeLast' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } ] , name : 'skim' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : 'amount0Out' , type : 'uint256' } , { internalType : 'uint256' , name : 'amount1Out' , type : 'uint256' } , { internalType : 'address' , name : 'to' , type : 'address' } , { internalType : 'bytes' , name : 'data' , type : 'bytes' } , ] , name : 'swap' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'symbol' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'sync' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'token0' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'token1' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'to' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , ] , name : 'transfer' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'from' , type : 'address' } , { internalType : 'address' , name : 'to' , type : 'address' } , { internalType : 'uint256' , name : 'value' , type : 'uint256' } , ] , name : 'transferFrom' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const YAM_TOKEN_ADDR = '0x0e2298E3B3390e3b945a5456fBf59eCc3f55DA16' ; export const AMPL_TOKEN_ADDR = '0xD46bA6D942050d489DBd938a2C909A5d5039A161' ; export const YAM_YCRV_UNI_TOKEN_ADDR = '0x2C7a51A357d5739C5C74Bf3C96816849d2c9F726' ; export const YAM_WETH_UNI_TOKEN_ADDR = '0xC358001a71b3160B4B243D6e8c6F52579f82215e' ; export const MKR_TOKEN_ADDR = '0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2' ; export const LINK_TOKEN_ADDR = '0x514910771AF9Ca656af840dff83E8264EcF986CA' ; export const LEND_TOKEN_ADDR = '0x80fB784B7eD66730e8b1DBd9820aFD29931aab03' ; export const COMP_TOKEN_ADDR = '0xc00e94Cb662C3520282E6f5717214004A7f26888' ; export const YFL_TOKEN_ADDR = '0x28cb7e841ee97947a86b06fa4090c8451f64c0be' ; export const ALINK_TOKEN_ADDR = '0xA64BD6C70Cb9051F6A9ba1F163Fdc07E0DfB5F84' ; export const YFL_POOL_0_ADDR = '0x2bee9fd7d942be58004400da26c9155f6abd8fe9' ; export const YFL_POOL_1_ADDR = '0x85cb8bdc86a2f1ce8d8d54ebc4d4ebf760c5ef31' ; export const YFL_POOL_2_ADDR = '0x16f7724cBEd8338021D414D7e5745f7E6Bc39871' ; export const YFL_POOL_3_ADDR = '0x5D916fdEc8e93Ce279a75a355089b3cd9c0B64FC' ; export const YFL_GOVREW_ADDR = '0xe8bc8738e9d746e6b4551b9b5dbd9ec84ce277c5' ; export const YFL_LINK_BPT_TOKEN_ADDR = '0xc7062D899dd24b10BfeD5AdaAb21231a1e7708fE' ; export const YFL_YCRV_BPT_TOKEN_ADDR = '0x8194EFab90A290b987616F687Bc380b041A2Cc25' ; export const YFL_ALINK_BPT_TOKEN_ADDR = '0x08aC64EC9902635D18204a1a75DF0173Aea00057' ; export const YEARN_VAULT_CONTROLLER_ADDR = '0x9E65Ad11b299CA0Abefc2799dDB6314Ef2d91080' ; export const YEARN_VAULT_CONTROLLER_ABI = [ { inputs : [ { internalType : 'address' , name : '_rewards' , type : 'address' } ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_token' , type : 'address' } , { internalType : 'address' , name : '_strategy' , type : 'address' } , ] , name : 'approveStrategy' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } , { internalType : 'address' , name : '' , type : 'address' } , ] , name : 'approvedStrategies' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '_token' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } , { internalType : 'address' , name : '' , type : 'address' } , ] , name : 'converters' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_token' , type : 'address' } , { internalType : 'uint256' , name : '_amount' , type : 'uint256' } , ] , name : 'earn' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '_strategy' , type : 'address' } , { internalType : 'address' , name : '_token' , type : 'address' } , { internalType : 'uint256' , name : 'parts' , type : 'uint256' } , ] , name : 'getExpectedReturn' , outputs : [ { internalType : 'uint256' , name : 'expected' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'governance' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_strategy' , type : 'address' } , { internalType : 'address' , name : '_token' , type : 'address' } , ] , name : 'inCaseStrategyTokenGetStuck' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_token' , type : 'address' } , { internalType : 'uint256' , name : '_amount' , type : 'uint256' } , ] , name : 'inCaseTokensGetStuck' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'max' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'onesplit' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_token' , type : 'address' } , { internalType : 'address' , name : '_strategy' , type : 'address' } , ] , name : 'revokeStrategy' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewards' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_input' , type : 'address' } , { internalType : 'address' , name : '_output' , type : 'address' } , { internalType : 'address' , name : '_converter' , type : 'address' } , ] , name : 'setConverter' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_governance' , type : 'address' } ] , name : 'setGovernance' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_onesplit' , type : 'address' } ] , name : 'setOneSplit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_rewards' , type : 'address' } ] , name : 'setRewards' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_split' , type : 'uint256' } ] , name : 'setSplit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_strategist' , type : 'address' } ] , name : 'setStrategist' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_token' , type : 'address' } , { internalType : 'address' , name : '_strategy' , type : 'address' } , ] , name : 'setStrategy' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_token' , type : 'address' } , { internalType : 'address' , name : '_vault' , type : 'address' } , ] , name : 'setVault' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'split' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'strategies' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'strategist' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'vaults' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_token' , type : 'address' } , { internalType : 'uint256' , name : '_amount' , type : 'uint256' } , ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_token' , type : 'address' } ] , name : 'withdrawAll' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_strategy' , type : 'address' } , { internalType : 'address' , name : '_token' , type : 'address' } , { internalType : 'uint256' , name : 'parts' , type : 'uint256' } , ] , name : 'yearn' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const YEARN_DELEGATED_VAULT_CONTROLLER_ADDR = '0x2be5D998C95DE70D9A38b3d78e49751F10F9E88b' ; export const YEARN_DELEGATED_VAULT_CONTROLLER_ABI = [ { inputs : [ { internalType : 'address' , name : '_rewards' , type : 'address' } ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { constant : true , inputs : [ { internalType : 'address' , name : '_vault' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_vault' , type : 'address' } ] , name : 'claimInsurance' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } , { internalType : 'address' , name : '' , type : 'address' } , ] , name : 'converters' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_strategy' , type : 'address' } , { internalType : 'uint256' , name : 'parts' , type : 'uint256' } , ] , name : 'delegatedHarvest' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_vault' , type : 'address' } , { internalType : 'uint256' , name : '_amount' , type : 'uint256' } , ] , name : 'earn' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '_strategy' , type : 'address' } , { internalType : 'address' , name : '_token' , type : 'address' } , { internalType : 'uint256' , name : 'parts' , type : 'uint256' } , ] , name : 'getExpectedReturn' , outputs : [ { internalType : 'uint256' , name : 'expected' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'governance' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_strategy' , type : 'address' } , { internalType : 'address' , name : '_token' , type : 'address' } , { internalType : 'uint256' , name : 'parts' , type : 'uint256' } , ] , name : 'harvest' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_strategy' , type : 'address' } , { internalType : 'address' , name : '_token' , type : 'address' } , ] , name : 'inCaseStrategyGetStruck' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_token' , type : 'address' } , { internalType : 'uint256' , name : '_amount' , type : 'uint256' } , ] , name : 'inCaseTokensGetStuck' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'isStrategy' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'isVault' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'max' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'onesplit' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'rewards' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_input' , type : 'address' } , { internalType : 'address' , name : '_output' , type : 'address' } , { internalType : 'address' , name : '_converter' , type : 'address' } , ] , name : 'setConverter' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_governance' , type : 'address' } ] , name : 'setGovernance' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_onesplit' , type : 'address' } ] , name : 'setOneSplit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_split' , type : 'uint256' } ] , name : 'setSplit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_vault' , type : 'address' } , { internalType : 'address' , name : '_strategy' , type : 'address' } , ] , name : 'setStrategy' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'split' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'strategies' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'vaults' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '_vault' , type : 'address' } ] , name : 'want' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_vault' , type : 'address' } , { internalType : 'uint256' , name : '_amount' , type : 'uint256' } , ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_strategy' , type : 'address' } ] , name : 'withdrawAll' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const ALINK_VAULT_ADDR = '0x29E240CFD7946BA20895a7a02eDb25C210f9f324' ; export const DELEGATED_VAULT_ABI = [ { inputs : [ { internalType : 'address' , name : '_token' , type : 'address' } , { internalType : 'address' , name : '_controller' , type : 'address' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'owner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'spender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Approval' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'from' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Transfer' , type : 'event' , } , { constant : true , inputs : [ ] , name : 'aave' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'activate' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'owner' , type : 'address' } , { internalType : 'address' , name : 'spender' , type : 'address' } , ] , name : 'allowance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'approve' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'availableToBorrowETH' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'availableToBorrowReserve' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'balance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'claimInsurance' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'controller' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'credit' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'debt' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : '_lp' , type : 'address' } ] , name : 'debtShare' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'decimals' , outputs : [ { internalType : 'uint8' , name : '' , type : 'uint8' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'subtractedValue' , type : 'uint256' } , ] , name : 'decreaseAllowance' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_amount' , type : 'uint256' } ] , name : 'deposit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'depositAll' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'earn' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getAave' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getAaveCore' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getAaveOracle' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getPricePerFullShare' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getReservePrice' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'reserve' , type : 'address' } ] , name : 'getReservePriceETH' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getUnderlyingPrice' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : '_amount' , type : 'uint256' } ] , name : 'getUnderlyingPriceETH' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'governance' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'reserve' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'harvest' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'healthFactor' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'addedValue' , type : 'uint256' } , ] , name : 'increaseAllowance' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'insurance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'locked' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'ltv' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'max' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'maxSafeETH' , outputs : [ { internalType : 'uint256' , name : 'maxBorrowsETH' , type : 'uint256' } , { internalType : 'uint256' , name : 'totalBorrowsETH' , type : 'uint256' } , { internalType : 'uint256' , name : 'availableBorrowsETH' , type : 'uint256' } , ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'maxWithdrawal' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'name' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'uint256' , name : '_amount' , type : 'uint256' } ] , name : 'over' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'over' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'rebalance' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'reserve' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'repay' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'repayAll' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'reserve' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'safeWithdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_controller' , type : 'address' } ] , name : 'setController' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_hf' , type : 'uint256' } ] , name : 'setHealthFactor' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'shouldBorrow' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'shouldRebalance' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'symbol' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'token' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'recipient' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'transfer' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'sender' , type : 'address' } , { internalType : 'address' , name : 'recipient' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'transferFrom' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'underlying' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_shares' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'withdrawAll' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const YEARN_VAULT_ABI = [ { inputs : [ { internalType : 'address' , name : '_token' , type : 'address' } , { internalType : 'address' , name : '_controller' , type : 'address' } , ] , payable : false , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'owner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'spender' , type : 'address' , } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Approval' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'from' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'value' , type : 'uint256' , } , ] , name : 'Transfer' , type : 'event' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'owner' , type : 'address' } , { internalType : 'address' , name : 'spender' , type : 'address' } , ] , name : 'allowance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'approve' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'available' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'balance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'controller' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'decimals' , outputs : [ { internalType : 'uint8' , name : '' , type : 'uint8' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'subtractedValue' , type : 'uint256' } , ] , name : 'decreaseAllowance' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_amount' , type : 'uint256' } ] , name : 'deposit' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ ] , name : 'earn' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'getPricePerFullShare' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'governance' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'spender' , type : 'address' } , { internalType : 'uint256' , name : 'addedValue' , type : 'uint256' } , ] , name : 'increaseAllowance' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'max' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'min' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'name' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_controller' , type : 'address' } ] , name : 'setController' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : '_governance' , type : 'address' } ] , name : 'setGovernance' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_min' , type : 'uint256' } ] , name : 'setMin' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'symbol' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'token' , outputs : [ { internalType : 'contract IERC20' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'recipient' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'transfer' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'address' , name : 'sender' , type : 'address' } , { internalType : 'address' , name : 'recipient' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , ] , name : 'transferFrom' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_shares' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' , } , ] ; export const TUSD_TOKEN_ADDR = '0x0000000000085d4780B73119b644AE5ecd22b376' ; export const USDT_TOKEN_ADDR = '0xdAC17F958D2ee523a2206206994597C13D831ec7' ; export const SHRIMP_TOKEN_ADDR = '0x38c4102D11893351cED7eF187fCF43D33eb1aBE6' ; export const CREAM_TOKEN_ADDR = '0x2ba592F78dB6436527729929AAf6c908497cB200' ; export const DICE_TOKEN_ADDR = '0xCF67CEd76E8356366291246A9222169F4dBdBe64' ; export const YAM_CLASSIC_ADDR = '0x49411930AC0c14713e36Db62700FBE31017aCc9A' ; export const MASTER_CHEF_ABI = [ { inputs : [ { internalType : 'contract SushiToken' , name : '_sushi' , type : 'address' } , { internalType : 'address' , name : '_devaddr' , type : 'address' } , { internalType : 'uint256' , name : '_sushiPerBlock' , type : 'uint256' } , { internalType : 'uint256' , name : '_startBlock' , type : 'uint256' } , { internalType : 'uint256' , name : '_bonusEndBlock' , type : 'uint256' } , ] , stateMutability : 'nonpayable' , type : 'constructor' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : true , internalType : 'uint256' , name : 'pid' , type : 'uint256' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Deposit' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : true , internalType : 'uint256' , name : 'pid' , type : 'uint256' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'EmergencyWithdraw' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'previousOwner' , type : 'address' , } , { indexed : true , internalType : 'address' , name : 'newOwner' , type : 'address' , } , ] , name : 'OwnershipTransferred' , type : 'event' , } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'user' , type : 'address' } , { indexed : true , internalType : 'uint256' , name : 'pid' , type : 'uint256' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' , } , ] , name : 'Withdraw' , type : 'event' , } , { inputs : [ ] , name : 'BONUS_MULTIPLIER' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ { internalType : 'uint256' , name : '_allocPoint' , type : 'uint256' } , { internalType : 'contract IERC20' , name : '_lpToken' , type : 'address' } , { internalType : 'bool' , name : '_withUpdate' , type : 'bool' } , ] , name : 'add' , outputs : [ ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ ] , name : 'bonusEndBlock' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ { internalType : 'uint256' , name : '_pid' , type : 'uint256' } , { internalType : 'uint256' , name : '_amount' , type : 'uint256' } , ] , name : 'deposit' , outputs : [ ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ { internalType : 'address' , name : '_devaddr' , type : 'address' } ] , name : 'dev' , outputs : [ ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ ] , name : 'devaddr' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ { internalType : 'uint256' , name : '_pid' , type : 'uint256' } ] , name : 'emergencyWithdraw' , outputs : [ ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ { internalType : 'uint256' , name : '_from' , type : 'uint256' } , { internalType : 'uint256' , name : '_to' , type : 'uint256' } , ] , name : 'getMultiplier' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ ] , name : 'massUpdatePools' , outputs : [ ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ { internalType : 'uint256' , name : '_pid' , type : 'uint256' } ] , name : 'migrate' , outputs : [ ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ ] , name : 'migrator' , outputs : [ { internalType : 'contract IMigratorChef' , name : '' , type : 'address' } , ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ ] , name : 'owner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ { internalType : 'uint256' , name : '_pid' , type : 'uint256' } , { internalType : 'address' , name : '_user' , type : 'address' } , ] , name : 'pendingSushi' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , name : 'poolInfo' , outputs : [ { internalType : 'contract IERC20' , name : 'lpToken' , type : 'address' } , { internalType : 'uint256' , name : 'allocPoint' , type : 'uint256' } , { internalType : 'uint256' , name : 'lastRewardBlock' , type : 'uint256' } , { internalType : 'uint256' , name : 'accSushiPerShare' , type : 'uint256' } , ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ ] , name : 'poolLength' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ ] , name : 'renounceOwnership' , outputs : [ ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ { internalType : 'uint256' , name : '_pid' , type : 'uint256' } , { internalType : 'uint256' , name : '_allocPoint' , type : 'uint256' } , { internalType : 'bool' , name : '_withUpdate' , type : 'bool' } , ] , name : 'set' , outputs : [ ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ { internalType : 'contract IMigratorChef' , name : '_migrator' , type : 'address' , } , ] , name : 'setMigrator' , outputs : [ ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ ] , name : 'startBlock' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ ] , name : 'sushi' , outputs : [ { internalType : 'contract SushiToken' , name : '' , type : 'address' } , ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ ] , name : 'sushiPerBlock' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ ] , name : 'totalAllocPoint' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ { internalType : 'address' , name : 'newOwner' , type : 'address' } ] , name : 'transferOwnership' , outputs : [ ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ { internalType : 'uint256' , name : '_pid' , type : 'uint256' } ] , name : 'updatePool' , outputs : [ ] , stateMutability : 'nonpayable' , type : 'function' , } , { inputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } , { internalType : 'address' , name : '' , type : 'address' } , ] , name : 'userInfo' , outputs : [ { internalType : 'uint256' , name : 'amount' , type : 'uint256' } , { internalType : 'uint256' , name : 'rewardDebt' , type : 'uint256' } , ] , stateMutability : 'view' , type : 'function' , } , { inputs : [ { internalType : 'uint256' , name : '_pid' , type : 'uint256' } , { internalType : 'uint256' , name : '_amount' , type : 'uint256' } , ] , name : 'withdraw' , outputs : [ ] , stateMutability : 'nonpayable' , type : 'function' , } , ] ;