0 txs
0 calls
constructor
No constructor.
functions
actionDelay
viewfunction actionDelay() view returns (uint256)
COLLATERAL_RATIO_MAX
viewfunction COLLATERAL_RATIO_MAX() view returns (uint256)
COLLATERAL_RATIO_PRECISION
viewfunction COLLATERAL_RATIO_PRECISION() view returns (uint256)
collateralReserve
viewfunction collateralReserve() view returns (address)
collateralToken
viewfunction collateralToken() view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
FEE_PRECISION
viewfunction FEE_PRECISION() view returns (uint256)
getCollateralPrice
viewfunction getCollateralPrice() view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
getSynthPrice
viewfunction getSynthPrice() view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
lastAction
viewfunction lastAction(address) view returns (uint256)
MAX_FEE
viewfunction MAX_FEE() view returns (uint256)
mintingFee
viewfunction mintingFee() view returns (uint256)
mintPaused
viewfunction mintPaused() view returns (bool)
PRICE_PRECISION
viewfunction PRICE_PRECISION() view returns (uint256)
redeemPaused
viewfunction redeemPaused() view returns (bool)
redemptionFee
viewfunction redemptionFee() view returns (uint256)
share
viewfunction share() view returns (address)
synth
viewfunction synth() view returns (address)
synthTWAP
viewfunction synthTWAP() view returns (address)
whitelistContracts
viewfunction whitelistContracts(address) view returns (bool)
addWhitelistContract
nonpayablefunction addWhitelistContract(address _contract)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _collateralReserve, address _collateralToken, address _synth, address _share, address _owner)
mint1t1Synth
nonpayablefunction mint1t1Synth(uint256 colAmount, uint256 synthOutMin)
mintAlgorithmicSynth
nonpayablefunction mintAlgorithmicSynth(uint256 shareAmount, uint256 synthOutMin)
mintFractionalSynth
nonpayablefunction mintFractionalSynth(uint256 _collateralAmount, uint256 _shareAmount, uint256 _synthOutMin)
redeem1t1Synth
nonpayablefunction redeem1t1Synth(uint256 _synthAmount, uint256 _minCollateralAmountOut)
redeemAlgorithmicSynth
nonpayablefunction redeemAlgorithmicSynth(uint256 _synthAmount, uint256 _shareOutMin)
redeemFractionalSynth
nonpayablefunction redeemFractionalSynth(uint256 _synthAmount, uint256 _shareOutMin, uint256 _minCollateralAmountOut)
removeWhitelistContract
nonpayablefunction removeWhitelistContract(address _contract)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setActionDelay
nonpayablefunction setActionDelay(uint256 _newDelay)
setCollateralReserve
nonpayablefunction setCollateralReserve(address _collateralReserve)
setMintingFee
nonpayablefunction setMintingFee(uint256 _new)
setRedemptionFee
nonpayablefunction setRedemptionFee(uint256 _new)
toggleMinting
nonpayablefunction toggleMinting()
toggleRedeeming
nonpayablefunction toggleRedeeming()
withdrawFee
nonpayablefunction withdrawFee()
events
CollateralPriceToggled
event CollateralPriceToggled(bool toggled)
MintingToggled
event MintingToggled(bool toggled)
RedeemingToggled
event RedeemingToggled(bool toggled)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
SetMintingFee
event SetMintingFee(uint256 newFee)
SetRedemptionFee
event SetRedemptionFee(uint256 newFee)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50613e27806100206000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c806395082d2511610151578063c4d7c18b116100c3578063d56d5a7d11610087578063d56d5a7d1461064c578063daa5048514610672578063dd89fe0a146104f0578063e63a391f146104f0578063e941fa781461067a578063f7683bbc1461068257610269565b8063c4d7c18b146105d8578063c6320ab9146105fb578063ca15c87314610603578063d07ac67e146104f0578063d547741f1461062057610269565b8063b1d48f2411610115578063b1d48f2414610551578063b2016bd414610574578063b235d4681461057c578063b260343d14610584578063bc063e1a146105aa578063c0baeadb146105b257610269565b806395082d25146104f0578063a217fddf146104f8578063a8d5fd6514610500578063af5a6c7e14610508578063b04f30101461052e57610269565b8063458f5815116101ea5780637d55094d116101ae5780637d55094d146104585780637dbc1df0146104605780637e4831d31461047d57806387dc192f146104995780639010d07c146104a157806391d14854146104c457610269565b8063458f5815146103f1578063465b0c41146103f95780635a64ad951461040157806370720d1f1461040957806378f0cb761461042f57610269565b8063248a9ca311610231578063248a9ca31461031e578063283b38fc1461034d5780632f2ff15d1461037057806336568abe1461039c578063401fe34e146103c857610269565b8063022bdff41461026e5780630572382e1461028d578063115f4fee146102b15780631459457a146102b9578063238a470914610301575b600080fd5b61028b6004803603602081101561028457600080fd5b503561068a565b005b61029561073b565b604080516001600160a01b039092168252519081900360200190f35b61029561074a565b61028b600480360360a08110156102cf57600080fd5b506001600160a01b03813581169160208101358216916040820135811691606081013582169160809091013516610759565b61028b6004803603602081101561031757600080fd5b5035610897565b61033b6004803603602081101561033457600080fd5b503561097f565b60408051918252519081900360200190f35b61028b6004803603604081101561036357600080fd5b5080359060200135610994565b61028b6004803603604081101561038657600080fd5b50803590602001356001600160a01b0316610ee6565b61028b600480360360408110156103b257600080fd5b50803590602001356001600160a01b0316610f52565b61028b600480360360608110156103de57600080fd5b5080359060208101359060400135610fb3565b61033b611591565b610295611597565b61033b6115a6565b61033b6004803603602081101561041f57600080fd5b50356001600160a01b03166115ac565b61028b6004803603606081101561044557600080fd5b50803590602081013590604001356115be565b61028b611c9a565b61028b6004803603602081101561047657600080fd5b5035611d5b565b610485611e43565b604080519115158252519081900360200190f35b61033b611e4c565b610295600480360360408110156104b757600080fd5b5080359060200135611e52565b610485600480360360408110156104da57600080fd5b50803590602001356001600160a01b0316611e73565b61033b611e8b565b61033b611e97565b610295611e9c565b6104856004803603602081101561051e57600080fd5b50356001600160a01b0316611eab565b61028b6004803603604081101561054457600080fd5b5080359060200135611ec0565b61028b6004803603604081101561056757600080fd5b50803590602001356121f0565b61029561266b565b61048561267a565b61028b6004803603602081101561059a57600080fd5b50356001600160a01b0316612688565b61033b61276d565b61028b600480360360208110156105c857600080fd5b50356001600160a01b0316612778565b61028b600480360360408110156105ee57600080fd5b50803590602001356127f1565b61033b612c28565b61033b6004803603602081101561061957600080fd5b5035612c9e565b61028b6004803603604081101561063657600080fd5b50803590602001356001600160a01b0316612cb5565b61028b6004803603602081101561066257600080fd5b50356001600160a01b0316612d0e565b61028b612e44565b61028b612f13565b61033b613259565b6106a2600080516020613ca583398151915233611e73565b6106e1576040805162461bcd60e51b815260206004820152601a6024820152600080516020613c55833981519152604482015290519081900360640190fd5b60008111610736576040805162461bcd60e51b815260206004820152601860248201527f44656c61792073686f756c64206e6f74206265207a65726f0000000000000000604482015290519081900360640190fd5b606d55565b6069546001600160a01b031681565b6067546001600160a01b031681565b600054610100900460ff16806107725750610772613334565b80610780575060005460ff16155b6107bb5760405162461bcd60e51b815260040180806020018281038252602e815260200180613cc5602e913960400191505060405180910390fd5b600054610100900460ff161580156107e6576000805460ff1961ff0019909116610100171660011790555b606580546001600160a01b038089166001600160a01b03199283161790925560688054888416908316179055606780548784169083161790556066805492861692909116919091179055610838613345565b610843600083610f44565b61085b600080516020613ca583398151915283610ee6565b6001606d819055606e805461ff001960ff1990911690921791909116610100179055801561088f576000805461ff00191690555b505050505050565b6108af600080516020613ca583398151915233611e73565b6108ee576040805162461bcd60e51b815260206004820152601a6024820152600080516020613c55833981519152604482015290519081900360640190fd5b66b1a2bc2ec50000811115610944576040805162461bcd60e51b81526020600482015260176024820152760a8d0ca40dccaee40cccaca40d2e640e8dede40d0d2ced604b1b604482015290519081900360640190fd5b606b8190556040805182815290517f37af4afe14a7e53d5545d42802ae956099df696619c59a81f8e388ec3734ce779181900360200190a150565b60009081526033602052604090206002015490565b606e54610100900460ff16156109e7576040805162461bcd60e51b815260206004820152601360248201527214995919595b5a5b99c81a5cc81c185d5cd959606a1b604482015290519081900360640190fd5b33321480610a04575033600090815260a0602052604090205460ff165b610a43576040805162461bcd60e51b81526020600482015260176024820152600080516020613cf3833981519152604482015290519081900360640190fd5b606d54336000908152606a6020526040902054610a5f916133f7565b431015610a6b57600080fd5b6065546040805163582920d160e11b81529051670de0b6b3a7640000926001600160a01b03169163b05241a2916004808301926020929190829003018186803b158015610ab757600080fd5b505afa158015610acb573d6000803e3d6000fd5b505050506040513d6020811015610ae157600080fd5b505114610b35576040805162461bcd60e51b815260206004820152601d60248201527f436f6c6c61746572616c20726174696f206d757374206265203d3d2031000000604482015290519081900360640190fd5b606754604080516370a0823160e01b8152336004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610b7f57600080fd5b505afa158015610b93573d6000803e3d6000fd5b505050506040513d6020811015610ba957600080fd5b50511015610bf0576040805162461bcd60e51b815260206004820152600f60248201526e09cde40cadcdeeaced040e6f2dce8d608b1b604482015290519081900360640190fd5b6000610c15610bfd613259565b610c0f610c08612c28565b8690613451565b906134aa565b90506000610c4c670de0b6b3a7640000610c0f610c45606c54670de0b6b3a76400006134ec90919063ffffffff16565b8590613451565b606854606554604080516370a0823160e01b81526001600160a01b03928316600482015290519394509116916370a0823191602480820192602092909190829003018186803b158015610c9e57600080fd5b505afa158015610cb2573d6000803e3d6000fd5b505050506040513d6020811015610cc857600080fd5b5051811115610d1e576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420656e6f75676820636f6c6c61746572616c20696e20706f6f6c000000604482015290519081900360640190fd5b80831115610d6c576040805162461bcd60e51b815260206004820152601660248201527514db1a5c1c1859d9481b1a5b5a5d081c995858da195960521b604482015290519081900360640190fd5b6000610d7883836134ec565b336000818152606a6020526040808220439055606554606854825163a4293ead60e01b815260048101959095526001600160a01b039081166024860152604485018890529151949550169263a4293ead92606480820193929182900301818387803b158015610de657600080fd5b505af1158015610dfa573d6000803e3d6000fd5b50506065546068546040805163a4293ead60e01b81523060048201526001600160a01b03928316602482015260448101879052905191909216935063a4293ead9250606480830192600092919082900301818387803b158015610e5c57600080fd5b505af1158015610e70573d6000803e3d6000fd5b50506067546040805163079cc67960e41b8152336004820152602481018a905290516001600160a01b0390921693506379cc6790925060448082019260009290919082900301818387803b158015610ec757600080fd5b505af1158015610edb573d6000803e3d6000fd5b505050505050505050565b600082815260336020526040902060020154610f0990610f0461352e565b611e73565b610f445760405162461bcd60e51b815260040180806020018281038252602f815260200180613c03602f913960400191505060405180910390fd5b610f4e8282613532565b5050565b610f5a61352e565b6001600160a01b0316816001600160a01b031614610fa95760405162461bcd60e51b815260040180806020018281038252602f815260200180613dc3602f913960400191505060405180910390fd5b610f4e828261359b565b606e5460ff1615610fff576040805162461bcd60e51b8152602060048201526011602482015270135a5b9d1a5b99c81a5cc81c185d5cd959607a1b604482015290519081900360640190fd5b3332148061101c575033600090815260a0602052604090205460ff165b61105b576040805162461bcd60e51b81526020600482015260176024820152600080516020613cf3833981519152604482015290519081900360640190fd5b606d54336000908152606a6020526040902054611077916133f7565b43101561108357600080fd5b606554604080516302d8ed6360e51b815290516000926001600160a01b031691635b1dac60916004808301926020929190829003018186803b1580156110c857600080fd5b505afa1580156110dc573d6000803e3d6000fd5b505050506040513d60208110156110f257600080fd5b505190506000611100613259565b9050600061110c612c28565b90506000606560009054906101000a90046001600160a01b03166001600160a01b031663ece667c76040518163ffffffff1660e01b815260040160206040518083038186803b15801561115e57600080fd5b505afa158015611172573d6000803e3d6000fd5b505050506040513d602081101561118857600080fd5b50519050670de0b6b3a7640000811080156111a35750600081115b6111de5760405162461bcd60e51b8152600401808060200182810382526027815260200180613d346027913960400191505060405180910390fd5b606654604080516370a0823160e01b8152336004820152905188926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561122857600080fd5b505afa15801561123c573d6000803e3d6000fd5b505050506040513d602081101561125257600080fd5b50511015611299576040805162461bcd60e51b815260206004820152600f60248201526e4e6f20656e6f75676820536861726560881b604482015290519081900360640190fd5b60006112a58885613451565b905060006112d26112b68488613451565b610c0f846112cc670de0b6b3a7640000886134ec565b90613451565b905060006112ea6112e38389613451565b84906133f7565b90506000611306670de0b6b3a7640000610c0f88818684613451565b90506000611336670de0b6b3a7640000610c0f610c45606b54670de0b6b3a76400006134ec90919063ffffffff16565b9050808a1115611386576040805162461bcd60e51b815260206004820152601660248201527514db1a5c1c1859d9481b1a5b5a5d081c995858da195960521b604482015290519081900360640190fd5b8a8411156113db576040805162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f75676820536861726520696e70757474656400000000000000604482015290519081900360640190fd5b60006113e783836134ec565b336000818152606a6020526040808220439055606654815163079cc67960e41b81526004810194909452602484018a905290519394506001600160a01b0316926379cc679092604480820193929182900301818387803b15801561144a57600080fd5b505af115801561145e573d6000803e3d6000fd5b505050506114ac33606560009054906101000a90046001600160a01b03168f606860009054906101000a90046001600160a01b03166001600160a01b0316613604909392919063ffffffff16565b606754604080516340c10f1960e01b81523360048201526024810185905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b1580156114ff57600080fd5b505af1158015611513573d6000803e3d6000fd5b5050606754604080516340c10f1960e01b81523060048201526024810186905290516001600160a01b0390921693506340c10f19925060448082019260009290919082900301818387803b15801561156a57600080fd5b505af115801561157e573d6000803e3d6000fd5b5050505050505050505050505050505050565b606c5481565b6065546001600160a01b031681565b606b5481565b606a6020526000908152604090205481565b606e54610100900460ff1615611611576040805162461bcd60e51b815260206004820152601360248201527214995919595b5a5b99c81a5cc81c185d5cd959606a1b604482015290519081900360640190fd5b3332148061162e575033600090815260a0602052604090205460ff165b61166d576040805162461bcd60e51b81526020600482015260176024820152600080516020613cf3833981519152604482015290519081900360640190fd5b606d54336000908152606a6020526040902054611689916133f7565b43101561169557600080fd5b606754604080516370a0823160e01b8152336004820152905185926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156116df57600080fd5b505afa1580156116f3573d6000803e3d6000fd5b505050506040513d602081101561170957600080fd5b50511015611750576040805162461bcd60e51b815260206004820152600f60248201526e09cde40cadcdeeaced040e6f2dce8d608b1b604482015290519081900360640190fd5b6065546040805163582920d160e11b815290516000926001600160a01b03169163b05241a2916004808301926020929190829003018186803b15801561179557600080fd5b505afa1580156117a9573d6000803e3d6000fd5b505050506040513d60208110156117bf57600080fd5b50519050670de0b6b3a7640000811080156117da5750600081115b6118155760405162461bcd60e51b815260040180806020018281038252603e815260200180613d85603e913960400191505060405180910390fd5b606554604080516302d8ed6360e51b815290516000926001600160a01b031691635b1dac60916004808301926020929190829003018186803b15801561185a57600080fd5b505afa15801561186e573d6000803e3d6000fd5b505050506040513d602081101561188457600080fd5b505190506000611892612c28565b9050600061189e613259565b905060006118d5670de0b6b3a7640000610c0f6118ce606c54670de0b6b3a76400006134ec90919063ffffffff16565b8b90613451565b905060006118ef670de0b6b3a7640000610c0f8487613451565b905060006118fd8a846134ec565b9050600061191a87610c0f610c08670de0b6b3a76400008c6134ec565b9050600061192c86610c0f868c613451565b606854606554604080516370a0823160e01b81526001600160a01b03928316600482015290519394509116916370a0823191602480820192602092909190829003018186803b15801561197e57600080fd5b505afa158015611992573d6000803e3d6000fd5b505050506040513d60208110156119a857600080fd5b50518111156119fe576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420656e6f75676820636f6c6c61746572616c20696e20706f6f6c000000604482015290519081900360640190fd5b808a1115611a3d5760405162461bcd60e51b8152600401808060200182810382526023815260200180613c326023913960400191505060405180910390fd5b818b1115611a92576040805162461bcd60e51b815260206004820152601e60248201527f536c697070616765206c696d69742072656163686564205b53686172655d0000604482015290519081900360640190fd5b43606a6000336001600160a01b03166001600160a01b0316815260200190815260200160002081905550606760009054906101000a90046001600160a01b03166001600160a01b03166379cc6790338e6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611b2857600080fd5b505af1158015611b3c573d6000803e3d6000fd5b5050606754604080516340c10f1960e01b81523060048201526024810188905290516001600160a01b0390921693506340c10f19925060448082019260009290919082900301818387803b158015611b9357600080fd5b505af1158015611ba7573d6000803e3d6000fd5b5050606654604080516340c10f1960e01b81523360048201526024810187905290516001600160a01b0390921693506340c10f19925060448082019260009290919082900301818387803b158015611bfe57600080fd5b505af1158015611c12573d6000803e3d6000fd5b50506065546068546040805163a4293ead60e01b81523360048201526001600160a01b03928316602482015260448101879052905191909216935063a4293ead9250606480830192600092919082900301818387803b158015611c7457600080fd5b505af1158015611c88573d6000803e3d6000fd5b50505050505050505050505050505050565b611cc47f539440820030c4994db4e31b6b800deafd503688728f932addfe7a410515c14c33611e73565b611d0e576040805162461bcd60e51b815260206004820152601660248201527521b0b63632b91034b9903737ba1030903830bab9b2b960511b604482015290519081900360640190fd5b606e805460ff19811660ff918216151791829055604080519290911615158252517f6bdfe227d5db299c59aa56d5f846f40dbd73b271aaa78e18ed74fc3e00b8aa6b9181900360200190a1565b611d73600080516020613ca583398151915233611e73565b611db2576040805162461bcd60e51b815260206004820152601a6024820152600080516020613c55833981519152604482015290519081900360640190fd5b66b1a2bc2ec50000811115611e08576040805162461bcd60e51b81526020600482015260176024820152760a8d0ca40dccaee40cccaca40d2e640e8dede40d0d2ced604b1b604482015290519081900360640190fd5b606c8190556040805182815290517f173b4b3b03fb087112d0c804538bfb7ae6b2ce1d51854a4a6dea9daa122c59779181900360200190a150565b606e5460ff1681565b606d5481565b6000828152603360205260408120611e6a9083613664565b90505b92915050565b6000828152603360205260408120611e6a9083613670565b670de0b6b3a764000081565b600081565b6066546001600160a01b031681565b60a06020526000908152604090205460ff1681565b606e5460ff1615611f0c576040805162461bcd60e51b8152602060048201526011602482015270135a5b9d1a5b99c81a5cc81c185d5cd959607a1b604482015290519081900360640190fd5b33321480611f29575033600090815260a0602052604090205460ff165b611f68576040805162461bcd60e51b81526020600482015260176024820152600080516020613cf3833981519152604482015290519081900360640190fd5b606d54336000908152606a6020526040902054611f84916133f7565b431015611f9057600080fd5b6065546040805163ece667c760e01b81529051670de0b6b3a7640000926001600160a01b03169163ece667c7916004808301926020929190829003018186803b158015611fdc57600080fd5b505afa158015611ff0573d6000803e3d6000fd5b505050506040513d602081101561200657600080fd5b5051101561205b576040805162461bcd60e51b815260206004820152601d60248201527f436f6c6c61746572616c20726174696f206d757374206265203e3d2031000000604482015290519081900360640190fd5b6000612073612068612c28565b610c0f610c08613259565b905060006120a3670de0b6b3a7640000610c0f610c45606b54670de0b6b3a76400006134ec90919063ffffffff16565b9050808311156120f3576040805162461bcd60e51b815260206004820152601660248201527514db1a5c1c1859d9481b1a5b5a5d081c995858da195960521b604482015290519081900360640190fd5b60006120ff83836134ec565b336000818152606a60205260409020439055606554606854929350612132926001600160a01b0390811692911688613604565b606754604080516340c10f1960e01b81523360048201526024810185905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b15801561218557600080fd5b505af1158015612199573d6000803e3d6000fd5b5050606754604080516340c10f1960e01b81523060048201526024810186905290516001600160a01b0390921693506340c10f19925060448082019260009290919082900301818387803b158015610ec757600080fd5b606e54610100900460ff1615612243576040805162461bcd60e51b815260206004820152601360248201527214995919595b5a5b99c81a5cc81c185d5cd959606a1b604482015290519081900360640190fd5b33321480612260575033600090815260a0602052604090205460ff165b61229f576040805162461bcd60e51b81526020600482015260176024820152600080516020613cf3833981519152604482015290519081900360640190fd5b606d54336000908152606a60205260409020546122bb916133f7565b4310156122c757600080fd5b606754604080516370a0823160e01b8152336004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561231157600080fd5b505afa158015612325573d6000803e3d6000fd5b505050506040513d602081101561233b57600080fd5b50511015612382576040805162461bcd60e51b815260206004820152600f60248201526e09cde40cadcdeeaced040e6f2dce8d608b1b604482015290519081900360640190fd5b6065546040805163582920d160e11b815290516000926001600160a01b03169163b05241a2916004808301926020929190829003018186803b1580156123c757600080fd5b505afa1580156123db573d6000803e3d6000fd5b505050506040513d60208110156123f157600080fd5b505190508015612448576040805162461bcd60e51b815260206004820152601a60248201527f436f6c6c61746572616c20726174696f206d7573742062652030000000000000604482015290519081900360640190fd5b606554604080516302d8ed6360e51b815290516000926001600160a01b031691635b1dac60916004808301926020929190829003018186803b15801561248d57600080fd5b505afa1580156124a1573d6000803e3d6000fd5b505050506040513d60208110156124b757600080fd5b5051905060006124c5612c28565b905060006124df670de0b6b3a7640000610c0f8885613451565b905060006124f984610c0f84670de0b6b3a7640000613451565b90506000612529670de0b6b3a7640000610c0f610c45606c54670de0b6b3a76400006134ec90919063ffffffff16565b336000908152606a6020526040902043905590508087111561258b576040805162461bcd60e51b815260206004820152601660248201527514db1a5c1c1859d9481b1a5b5a5d081c995858da195960521b604482015290519081900360640190fd5b6067546040805163079cc67960e41b8152336004820152602481018b905290516001600160a01b03909216916379cc67909160448082019260009290919082900301818387803b1580156125de57600080fd5b505af11580156125f2573d6000803e3d6000fd5b5050606654604080516340c10f1960e01b81523360048201526024810186905290516001600160a01b0390921693506340c10f19925060448082019260009290919082900301818387803b15801561264957600080fd5b505af115801561265d573d6000803e3d6000fd5b505050505050505050505050565b6068546001600160a01b031681565b606e54610100900460ff1681565b6126a0600080516020613ca583398151915233611e73565b6126df576040805162461bcd60e51b815260206004820152601a6024820152600080516020613c55833981519152604482015290519081900360640190fd5b6001600160a01b038116600090815260a0602052604090205460ff1661274c576040805162461bcd60e51b815260206004820152601c60248201527f436f6e747261637420776173206e6f742077686974656c697374656400000000604482015290519081900360640190fd5b6001600160a01b0316600090815260a060205260409020805460ff19169055565b66b1a2bc2ec5000081565b612790600080516020613ca583398151915233611e73565b6127cf576040805162461bcd60e51b815260206004820152601a6024820152600080516020613c55833981519152604482015290519081900360640190fd5b606580546001600160a01b0319166001600160a01b0392909216919091179055565b606e5460ff161561283d576040805162461bcd60e51b8152602060048201526011602482015270135a5b9d1a5b99c81a5cc81c185d5cd959607a1b604482015290519081900360640190fd5b3332148061285a575033600090815260a0602052604090205460ff165b612899576040805162461bcd60e51b81526020600482015260176024820152600080516020613cf3833981519152604482015290519081900360640190fd5b606d54336000908152606a60205260409020546128b5916133f7565b4310156128c157600080fd5b606654604080516370a0823160e01b8152336004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561290b57600080fd5b505afa15801561291f573d6000803e3d6000fd5b505050506040513d602081101561293557600080fd5b5051101561297c576040805162461bcd60e51b815260206004820152600f60248201526e4e6f20656e6f75676820536861726560881b604482015290519081900360640190fd5b606560009054906101000a90046001600160a01b03166001600160a01b031663ece667c76040518163ffffffff1660e01b815260040160206040518083038186803b1580156129ca57600080fd5b505afa1580156129de573d6000803e3d6000fd5b505050506040513d60208110156129f457600080fd5b505115612a48576040805162461bcd60e51b815260206004820152601a60248201527f436f6c6c61746572616c20726174696f206d7573742062652030000000000000604482015290519081900360640190fd5b6000612ace612a55612c28565b606554604080516302d8ed6360e51b81529051610c0f926001600160a01b031691635b1dac60916004808301926020929190829003018186803b158015612a9b57600080fd5b505afa158015612aaf573d6000803e3d6000fd5b505050506040513d6020811015612ac557600080fd5b50518690613451565b90506000612afe670de0b6b3a7640000610c0f610c45606b54670de0b6b3a76400006134ec90919063ffffffff16565b905080831115612b4e576040805162461bcd60e51b815260206004820152601660248201527514db1a5c1c1859d9481b1a5b5a5d081c995858da195960521b604482015290519081900360640190fd5b6000612b5a83836134ec565b336000818152606a6020526040808220439055606654815163079cc67960e41b81526004810194909452602484018a905290519394506001600160a01b0316926379cc679092604480820193929182900301818387803b158015612bbd57600080fd5b505af1158015612bd1573d6000803e3d6000fd5b5050606754604080516340c10f1960e01b81523360048201526024810187905290516001600160a01b0390921693506340c10f19925060448082019260009290919082900301818387803b15801561218557600080fd5b6067546040805163c6320ab960e01b815290516000926001600160a01b03169163c6320ab9916004808301926020929190829003018186803b158015612c6d57600080fd5b505afa158015612c81573d6000803e3d6000fd5b505050506040513d6020811015612c9757600080fd5b5051905090565b6000818152603360205260408120611e6d90613685565b600082815260336020526040902060020154612cd390610f0461352e565b610fa95760405162461bcd60e51b8152600401808060200182810382526030815260200180613c756030913960400191505060405180910390fd5b612d26600080516020613ca583398151915233611e73565b612d65576040805162461bcd60e51b815260206004820152601a6024820152600080516020613c55833981519152604482015290519081900360640190fd5b6001600160a01b038116612db2576040805162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015290519081900360640190fd5b6001600160a01b038116600090815260a0602052604090205460ff1615612e20576040805162461bcd60e51b815260206004820152601860248201527f436f6e7472616374207761732077686974656c69737465640000000000000000604482015290519081900360640190fd5b6001600160a01b0316600090815260a060205260409020805460ff19166001179055565b612e6e7f539440820030c4994db4e31b6b800deafd503688728f932addfe7a410515c14c33611e73565b612eb8576040805162461bcd60e51b815260206004820152601660248201527521b0b63632b91034b9903737ba1030903830bab9b2b960511b604482015290519081900360640190fd5b606e805460ff610100808304821615810261ff001990931692909217928390556040805192909304161515815290517f5860c5063a65e23cea4e2e2925f1a841bb6d1bc9615bd425f8dd084980b051419181900360200190a1565b612f2b600080516020613ca583398151915233611e73565b612f6a576040805162461bcd60e51b815260206004820152601a6024820152600080516020613c55833981519152604482015290519081900360640190fd5b606854604080516370a0823160e01b815230600482015290516001600160a01b039092169163a9059cbb91339184916370a08231916024808301926020929190829003018186803b158015612fbe57600080fd5b505afa158015612fd2573d6000803e3d6000fd5b505050506040513d6020811015612fe857600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561303957600080fd5b505af115801561304d573d6000803e3d6000fd5b505050506040513d602081101561306357600080fd5b5050606754604080516370a0823160e01b815230600482015290516001600160a01b039092169163a9059cbb91339184916370a08231916024808301926020929190829003018186803b1580156130b957600080fd5b505afa1580156130cd573d6000803e3d6000fd5b505050506040513d60208110156130e357600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561313457600080fd5b505af1158015613148573d6000803e3d6000fd5b505050506040513d602081101561315e57600080fd5b5050606654604080516370a0823160e01b815230600482015290516001600160a01b039092169163a9059cbb91339184916370a08231916024808301926020929190829003018186803b1580156131b457600080fd5b505afa1580156131c8573d6000803e3d6000fd5b505050506040513d60208110156131de57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561322f57600080fd5b505af1158015613243573d6000803e3d6000fd5b505050506040513d6020811015610f4e57600080fd5b60655460685460408051637c48714360e11b81526001600160a01b0392831660048201529051600093929092169163f890e28691602480820192602092909190829003018186803b1580156132ad57600080fd5b505afa1580156132c1573d6000803e3d6000fd5b505050506040513d60208110156132d757600080fd5b505160685460408051633ddac95360e01b81526001600160a01b039283166004820152670de0b6b3a7640000602482015290519190921691633ddac953916044808301926020929190829003018186803b158015612c6d57600080fd5b600061333f30613690565b15905090565b600054610100900460ff168061335e575061335e613334565b8061336c575060005460ff16155b6133a75760405162461bcd60e51b815260040180806020018281038252602e815260200180613cc5602e913960400191505060405180910390fd5b600054610100900460ff161580156133d2576000805460ff1961ff0019909116610100171660011790555b6133da613696565b6133e2613696565b80156133f4576000805461ff00191690555b50565b600082820183811015611e6a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261346057506000611e6d565b8282028284828161346d57fe5b0414611e6a5760405162461bcd60e51b8152600401808060200182810382526021815260200180613d136021913960400191505060405180910390fd5b6000611e6a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613736565b6000611e6a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506137d8565b3390565b600082815260336020526040902061354a9082613832565b15610f4e5761355761352e565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526033602052604090206135b39082613847565b15610f4e576135c061352e565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261365e90859061385c565b50505050565b6000611e6a8383613a14565b6000611e6a836001600160a01b038416613a78565b6000611e6d82613a90565b3b151590565b600054610100900460ff16806136af57506136af613334565b806136bd575060005460ff16155b6136f85760405162461bcd60e51b815260040180806020018281038252602e815260200180613cc5602e913960400191505060405180910390fd5b600054610100900460ff161580156133e2576000805460ff1961ff00199091166101001716600117905580156133f4576000805461ff001916905550565b600081836137c25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561378757818101518382015260200161376f565b50505050905090810190601f1680156137b45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816137ce57fe5b0495945050505050565b6000818484111561382a5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561378757818101518382015260200161376f565b505050900390565b6000611e6a836001600160a01b038416613a94565b6000611e6a836001600160a01b038416613ade565b61386e826001600160a01b0316613ba4565b6138bf576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106138fd5780518252601f1990920191602091820191016138de565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461395f576040519150601f19603f3d011682016040523d82523d6000602084013e613964565b606091505b5091509150816139bb576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b80511561365e578080602001905160208110156139d757600080fd5b505161365e5760405162461bcd60e51b815260040180806020018281038252602a815260200180613d5b602a913960400191505060405180910390fd5b81546000908210613a565760405162461bcd60e51b8152600401808060200182810382526022815260200180613be16022913960400191505060405180910390fd5b826000018281548110613a6557fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b5490565b6000613aa08383613a78565b613ad657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611e6d565b506000611e6d565b60008181526001830160205260408120548015613b9a5783546000198083019190810190600090879083908110613b1157fe5b9060005260206000200154905080876000018481548110613b2e57fe5b600091825260208083209091019290925582815260018981019092526040902090840190558654879080613b5e57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050611e6d565b6000915050611e6d565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590613bd857508115155b94935050505056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e74536c697070616765206c696d69742072656163686564205b436f6c6c61746572616c5d43616c6c6572206973206e6f742061206d61696e7461696e6572000000000000416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b65d88b35d7427a01a8e16d8a129535b4cf3150edf8d92c0a44dc1eba73bdaf18cb496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564416c6c6f77206e6f6e2d636f6e7472616374206f6e6c79000000000000000000536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6c6c61746572616c20726174696f206d757374206e6f742062652031303025206f722030255361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564436f6c6c61746572616c20726174696f206e6565647320746f206265206c6f776572207468616e2031303025206f7220686967686572207468616e203025416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66a26469706673582212203a741e50fc134339c399a3d4e66c51f0e391c9593a76abb9c1eb94cfb7ebc3d664736f6c634300060c0033