0 txs
0 calls
constructor
constructor(address _gfi, address _governance)
functions
allFarms
viewfunction allFarms(uint256) view returns (address)
FarmImplementation
viewfunction FarmImplementation() view returns (address)
farmVersion
viewfunction farmVersion(address, address) view returns (uint256)
feeManager
viewfunction feeManager() view returns (address)
getFarm
viewfunction getFarm(address, address, uint256) view returns (address)
getFarmIndex
viewfunction getFarmIndex(address, address) view returns (uint256)
gfi
viewfunction gfi() view returns (address)
governance
viewfunction governance() view returns (address)
harvestFee
viewfunction harvestFee() view returns (uint256)
incinerator
viewfunction incinerator() view returns (address)
owner
viewfunction owner() view returns (address)
whitelist
viewfunction whitelist(address) view returns (bool)
adjustWhitelist
nonpayablefunction adjustWhitelist(address _address, bool _bool)
approveOrRevokeFarm
nonpayablefunction approveOrRevokeFarm(bool status, address from, address depositToken, address rewardToken, uint256 amount, uint256 blockReward, uint256 start, uint256 end, uint256 bonusEnd, uint256 bonus)
createFarm
nonpayablefunction createFarm(address depositToken, address rewardToken, uint256 amount, uint256 blockReward, uint256 start, uint256 end, uint256 bonusEnd, uint256 bonus)
renounceOwnership
nonpayablefunction renounceOwnership()
setFeeManager
nonpayablefunction setFeeManager(address _feeManager)
setGovernance
nonpayablefunction setGovernance(address _governance)
setHarvestFee
nonpayablefunction setHarvestFee(uint256 _fee)
setIncinerator
nonpayablefunction setIncinerator(address _incinerator)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
AddressChanged
event AddressChanged(address oldAddress, address newAddress)
FarmCreated
event FarmCreated(address farmAddress, address depositToken, address rewardToken, uint256 start, uint256 end)
HarvestFeeChanged
event HarvestFeeChanged(uint256 newFee)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
whiteListChanged
event whiteListChanged(address _address, bool newBool)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162002f5b38038062002f5b833981016040819052620000349162000127565b6200003f33620000ac565b6040516200004d90620000fc565b604051809103906000f0801580156200006a573d6000803e3d6000fd5b50600180546001600160a01b03199081166001600160a01b0393841617909155600b80548216948316949094179093556008805490931691161790556200015e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611da480620011b783390190565b80516001600160a01b03811681146200012257600080fd5b919050565b600080604083850312156200013a578182fd5b62000145836200010a565b915062000155602084016200010a565b90509250929050565b611049806200016e6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063792fc0db116100b8578063b59629171161007c578063b5962917146102c9578063b98af2aa146102d2578063bd18bd21146102e5578063d0fb0203146102f8578063f2fde38b1461030b578063ffac90521461031e57600080fd5b8063792fc0db1461024c5780638da5cb5b1461025f5780639b19251a146102705780639dcd0b21146102a3578063ab033ea9146102b657600080fd5b8063472d35b9116100ff578063472d35b9146101e057806354fede99146101f35780635aa6e6751461021e578063715018a614610231578063792b55b61461023957600080fd5b80630c19b05e1461013c578063190d1d2e1461016c5780631d44810d146101a55780632a2e71fb146101b857806343acb9a9146101cd575b600080fd5b600b5461014f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61019761017a366004610d86565b600560209081526000928352604080842090915290825290205481565b604051908152602001610163565b60095461014f906001600160a01b031681565b6101cb6101c6366004610df3565b610358565b005b61014f6101db366004610f37565b61077c565b6101cb6101ee366004610d65565b6107a6565b610197610201366004610d86565b600460209081526000928352604080842090915290825290205481565b60085461014f906001600160a01b031681565b6101cb610839565b6101cb610247366004610f37565b61086f565b6101cb61025a366004610d65565b610930565b6000546001600160a01b031661014f565b61029361027e366004610d65565b60076020526000908152604090205460ff1681565b6040519015158152602001610163565b6101cb6102b1366004610e59565b6109c3565b6101cb6102c4366004610d65565b610a50565b610197600a5481565b6101cb6102e0366004610eab565b610ae3565b60015461014f906001600160a01b031681565b600c5461014f906001600160a01b031681565b6101cb610319366004610d65565b610b70565b61014f61032c366004610db8565b60036020908152600093845260408085208252928452828420905282529020546001600160a01b031681565b3360009081526007602052604090205460ff166103ff576000610382338a8a8a8a8a8a8a8a610c0b565b60008181526002602052604090205490915060ff166103e85760405162461bcd60e51b815260206004820152601e60248201527f4661726d20706172616d657465727320617265206e6f742076616c696421000060448201526064015b60405180910390fd5b6000908152600260205260409020805460ff191690555b6001600160a01b038089166000908152600560209081526040808320938b1683529290522054610430906001610fe1565b6001600160a01b0389811660009081526005602090815260408083208c85168452825280832085905580516bffffffffffffffffffffffff1960608f811b8216838601528e901b16603482015260488082019690965281518082039096018652606801905283519301929092206001549092916104ae911683610c53565b6001600160a01b038b811660008181526003602090815260408083208f8616808552908352818420858552600584528285208286528452828520548552835281842080549688166001600160a01b031997881681179091556006805496865260048086528487208488529095528386208790556001870181559094527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f9094018054909516831790945592516323b872dd60e01b815233938101939093526024830152604482018b90529192506323b872dd90606401602060405180830381600087803b15801561059e57600080fd5b505af11580156105b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d69190610e8f565b6106355760405162461bcd60e51b815260206004820152602a60248201527f4661696c656420746f207472616e7366657220746f6b656e7320746f206261636044820152696b206e6577206661726d60b01b60648201526084016103df565b806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561067057600080fd5b505af1158015610684573d6000803e3d6000fd5b5050604051630d4b8cb960e01b81526001600160a01b038d811660048301528c81166024830152604482018c9052606482018b9052608482018a905260a4820189905260c4820188905260e4820187905284169250630d4b8cb9915061010401600060405180830381600087803b1580156106fe57600080fd5b505af1158015610712573d6000803e3d6000fd5b5050604080516001600160a01b0385811682528e811660208301528d1681830152606081018a90526080810189905290517f345d879fa0ac15c47d2d9da61899fc9f20739b1ea13cf9e40c935fbb6aeb877e93509081900360a0019150a150505050505050505050565b6006818154811061078c57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146107d05760405162461bcd60e51b81526004016103df90610fac565b600c54604080516001600160a01b03928316815291831660208301527f1552bf14c580c20e53a4227e9b76734da8e21905a818fdc5fa05dcb2891bb89e910160405180910390a1600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108635760405162461bcd60e51b81526004016103df90610fac565b61086d6000610cf9565b565b6000546001600160a01b031633146108995760405162461bcd60e51b81526004016103df90610fac565b60058111156108f55760405162461bcd60e51b815260206004820152602260248201527f4e6577206665652063616e206e6f742062652067726561746572207468616e20604482015261352560f01b60648201526084016103df565b600a8190556040518181527f8d3deb119e89219e2b4963500f53a7f4a174332303a8de695a7979203fcc0a6f9060200160405180910390a150565b6000546001600160a01b0316331461095a5760405162461bcd60e51b81526004016103df90610fac565b600954604080516001600160a01b03928316815291831660208301527f1552bf14c580c20e53a4227e9b76734da8e21905a818fdc5fa05dcb2891bb89e910160405180910390a1600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109ed5760405162461bcd60e51b81526004016103df90610fac565b6001600160a01b038216600081815260076020908152604091829020805460ff19168515159081179091558251938452908301527f9989cec740a9d888e73e94915eaa95e03f36dbca99da0eefb704f816015676ff910160405180910390a15050565b6000546001600160a01b03163314610a7a5760405162461bcd60e51b81526004016103df90610fac565b600854604080516001600160a01b03928316815291831660208301527f1552bf14c580c20e53a4227e9b76734da8e21905a818fdc5fa05dcb2891bb89e910160405180910390a1600880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b0d5760405162461bcd60e51b81526004016103df90610fac565b6000898989898989898989604051602001610b3099989796959493929190610f4f565b60408051808303601f190181529181528151602092830120600090815260029092529020805460ff19169b15159b909b17909a5550505050505050505050565b6000546001600160a01b03163314610b9a5760405162461bcd60e51b81526004016103df90610fac565b6001600160a01b038116610bff5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103df565b610c0881610cf9565b50565b6000898989898989898989604051602001610c2e99989796959493929190610f4f565b6040516020818303038152906040528051906020012090509998505050505050505050565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528360601b60148201526e5af43d82803e903d91602b57fd5bf360881b6028820152826037826000f59150506001600160a01b038116610cf35760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c656400000000000000000060448201526064016103df565b92915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610d6057600080fd5b919050565b600060208284031215610d76578081fd5b610d7f82610d49565b9392505050565b60008060408385031215610d98578081fd5b610da183610d49565b9150610daf60208401610d49565b90509250929050565b600080600060608486031215610dcc578081fd5b610dd584610d49565b9250610de360208501610d49565b9150604084013590509250925092565b600080600080600080600080610100898b031215610e0f578384fd5b610e1889610d49565b9750610e2660208a01610d49565b979a9799505050506040860135956060810135956080820135955060a0820135945060c0820135935060e0909101359150565b60008060408385031215610e6b578182fd5b610e7483610d49565b91506020830135610e8481611005565b809150509250929050565b600060208284031215610ea0578081fd5b8151610d7f81611005565b6000806000806000806000806000806101408b8d031215610eca578182fd5b8a35610ed581611005565b9950610ee360208c01610d49565b9850610ef160408c01610d49565b9750610eff60608c01610d49565b999c989b50969960808101359860a0820135985060c0820135975060e082013596506101008201359550610120909101359350915050565b600060208284031215610f48578081fd5b5035919050565b6bffffffffffffffffffffffff1960609a8b1b81168252988a1b891660148201529690981b9096166028860152603c850193909352605c840191909152607c830152609c82015260bc81019190915260dc81019190915260fc0190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000821982111561100057634e487b7160e01b81526011600452602481fd5b500190565b8015158114610c0857600080fdfea2646970667358221220eac85c93648f7c4cf97b84af6d9ac33c870109342bc63bfb963aa70eb8be275f64736f6c63430008040033608060405234801561001057600080fd5b50611d84806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063ad9847db1161008c578063db2e21bc11610066578063db2e21bc1461028e578063e3161ddd14610296578063f40f0f521461029e578063f5a19f9e146102b157600080fd5b8063ad9847db14610226578063b6b55f2514610257578063d1f9e4091461026a57600080fd5b80632e1a7d4d116100c85780632e1a7d4d146101e1578063567e98f9146101f45780638129fc1c1461020b5780638dbb1e3a1461021357600080fd5b80630d4b8cb9146100ef5780631959a002146101045780631d49d66c14610145575b600080fd5b6101026100fd366004611bda565b6102b9565b005b61012b610112366004611b9b565b600d602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b600254600354600454600554600654600754600854600954600a54600b54600c546101839a6001600160a01b039081169a169897969594939291908b565b604080516001600160a01b039c8d1681529b909a1660208c0152988a01979097526060890195909552608088019390935260a087019190915260c086015260e08501526101008401526101208301526101408201526101600161013c565b6101026101ef366004611c64565b6104bd565b6101fd600e5481565b60405190815260200161013c565b610102610b31565b6101fd610221366004611c94565b610c23565b60005461023f906201000090046001600160a01b031681565b6040516001600160a01b03909116815260200161013c565b610102610265366004611c64565b610ccd565b60015461027e90600160a01b900460ff1681565b604051901515815260200161013c565b6101026113a2565b6101026114ab565b6101fd6102ac366004611b9b565b611542565b6101026115fa565b6000546201000090046001600160a01b031633146102d657600080fd5b600154600160a01b900460ff16156103415760405162461bcd60e51b8152602060048201526024808201527f477261766974792046696e616e63653a20496e697420616c72656164792063616044820152631b1b195960e21b60648201526084015b60405180910390fd5b6040516370a0823160e01b815230600482015286906001600160a01b038916906370a082319060240160206040518083038186803b15801561038257600080fd5b505afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c7c565b101561042e5760405162461bcd60e51b815260206004820152603e60248201527f4661726d20646f6573206e6f74206861766520656e6f7567682072657761726460448201527f20746f6b656e7320746f206261636b20696e697469616c697a6174696f6e00006064820152608401610338565b600380546001600160a01b0319166001600160a01b03891617905560048490556005859055600682905560078190558688600043871061046e5786610470565b435b600280546001600160a01b039094166001600160a01b0319909416939093179092555060095550506000600a55506008555050600b5550506001805460ff60a01b1916600160a01b179055565b336000908152600d60205260409020805482111561053b5760405162461bcd60e51b815260206004820152603560248201527f5769746864726177616c207265717565737420616d6f756e74206578636565646044820152741cc81d5cd95c8819985c9b5a5b99c8185b5bdd5b9d605a1b6064820152608401610338565b6105436114ab565b8054821480156105535750600082115b156105745760016002600a01600082825461056e9190611d0c565b90915550505b6001810154600a5482546000929164e8d4a51000916105939190611ced565b61059d9190611ccd565b6105a79190611d0c565b90506000600160009054906101000a90046001600160a01b03166001600160a01b031663b59629176040518163ffffffff1660e01b815260040160206040518083038186803b1580156105f957600080fd5b505afa15801561060d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106319190611c7c565b1180156106b65750600154604051634d8c928d60e11b81523360048201526001600160a01b0390911690639b19251a9060240160206040518083038186803b15801561067c57600080fd5b505afa158015610690573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b49190611c44565b155b15610a1a576000606482600160009054906101000a90046001600160a01b03166001600160a01b031663b59629176040518163ffffffff1660e01b815260040160206040518083038186803b15801561070e57600080fd5b505afa158015610722573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107469190611c7c565b6107509190611ced565b61075a9190611ccd565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316630c19b05e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107aa57600080fd5b505afa1580156107be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e29190611bbe565b6003546001600160a01b039081169116141561090357600160009054906101000a90046001600160a01b03166001600160a01b0316630c19b05e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561084657600080fd5b505afa15801561085a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087e9190611bbe565b6001600160a01b03166342966c68826040518263ffffffff1660e01b81526004016108ab91815260200190565b602060405180830381600087803b1580156108c557600080fd5b505af11580156108d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fd9190611c44565b50610a0c565b6003546001546040805163d0fb020360e01b815290516001600160a01b039384169363a9059cbb93169163d0fb0203916004808301926020929190829003018186803b15801561095257600080fd5b505afa158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a9190611bbe565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401602060405180830381600087803b1580156109d257600080fd5b505af11580156109e6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0a9190611c44565b505b610a168183611d0c565b9150505b610a243382611a4f565b82826000016000828254610a389190611d0c565b9091555050600a54825464e8d4a5100091610a5291611ced565b610a5c9190611ccd565b6001830155600e54610a6f908490611d0c565b600e5560025460405163a9059cbb60e01b8152336004820152602481018590526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b158015610abe57600080fd5b505af1158015610ad2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af69190611c44565b5060405183815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a2505050565b600054610100900460ff1680610b4a575060005460ff16155b610bad5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610338565b600054610100900460ff16158015610bcf576000805461ffff19166101011790555b600080546201000033810262010000600160b01b03199092169190911791829055600180546001600160a01b031916919092046001600160a01b03161790558015610c20576000805461ff00191690555b50565b6000806002800154841015610c3a57600454610c3c565b835b905060008360026006015411610c5457600854610c56565b835b6006549091508111610c8257600754610c6f8383611d0c565b610c799190611ced565b92505050610cc7565b6006548210610c9557610c798282611d0c565b600654610ca29082611d0c565b600754600654610cb3908590611d0c565b610cbd9190611ced565b610c799190611cb5565b92915050565b600454431015610d315760405162461bcd60e51b815260206004820152602960248201527f477261766974792046696e616e63653a204661726d696e6720686173206e6f7460448201526820737461727465642160b81b6064820152608401610338565b600854431115610d8f5760405162461bcd60e51b815260206004820152602360248201527f477261766974792046696e616e63653a204661726d696e672068617320656e6460448201526265642160e81b6064820152608401610338565b336000908152600d60205260409020610da66114ab565b80541561125f576001810154600a5482546000929164e8d4a5100091610dcc9190611ced565b610dd69190611ccd565b610de09190611d0c565b90506000600160009054906101000a90046001600160a01b03166001600160a01b031663b59629176040518163ffffffff1660e01b815260040160206040518083038186803b158015610e3257600080fd5b505afa158015610e46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6a9190611c7c565b118015610eef5750600154604051634d8c928d60e11b81523360048201526001600160a01b0390911690639b19251a9060240160206040518083038186803b158015610eb557600080fd5b505afa158015610ec9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eed9190611c44565b155b15611253576000606482600160009054906101000a90046001600160a01b03166001600160a01b031663b59629176040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4757600080fd5b505afa158015610f5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7f9190611c7c565b610f899190611ced565b610f939190611ccd565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316630c19b05e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610fe357600080fd5b505afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b9190611bbe565b6003546001600160a01b039081169116141561113c57600160009054906101000a90046001600160a01b03166001600160a01b0316630c19b05e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561107f57600080fd5b505afa158015611093573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b79190611bbe565b6001600160a01b03166342966c68826040518263ffffffff1660e01b81526004016110e491815260200190565b602060405180830381600087803b1580156110fe57600080fd5b505af1158015611112573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111369190611c44565b50611245565b6003546001546040805163d0fb020360e01b815290516001600160a01b039384169363a9059cbb93169163d0fb0203916004808301926020929190829003018186803b15801561118b57600080fd5b505afa15801561119f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c39190611bbe565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401602060405180830381600087803b15801561120b57600080fd5b505af115801561121f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112439190611c44565b505b61124f8183611d0c565b9150505b61125d3382611a4f565b505b805415801561126e5750600082115b1561128f5760016002600a0160008282546112899190611cb5565b90915550505b6002546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd90606401602060405180830381600087803b1580156112e157600080fd5b505af11580156112f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113199190611c44565b5081600e546113289190611cb5565b600e5580548290829060009061133f908490611cb5565b9091555050600a54815464e8d4a510009161135991611ced565b6113639190611ccd565b600182015560405182815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c906020015b60405180910390a25050565b336000908152600d6020526040812080548282556001820192909255600e549091906113cf908290611d0c565b600e5580156113f45760016002600a0160008282546113ee9190611d0c565b90915550505b60025460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b15801561144057600080fd5b505af1158015611454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114789190611c44565b5060405181815233907f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd969590602001611396565b60095443116114b657565b600e54806114d75760085443106114cf576008546114d1565b435b60095550565b60006114e860026007015443610c23565b6005549091506000906114fb9083611ced565b90508261150d8264e8d4a51000611ced565b6115179190611ccd565b600a546115249190611cb5565b600a5560085443106115385760085461153a565b435b600955505050565b6001600160a01b0381166000908152600d60205260408120600a54600e546009544311801561157057508015155b156115c457600061158660026007015443610c23565b6005549091506000906115999083611ced565b9050826115ab8264e8d4a51000611ced565b6115b59190611ccd565b6115bf9085611cb5565b935050505b6001830154835464e8d4a51000906115dd908590611ced565b6115e79190611ccd565b6115f19190611d0c565b95945050505050565b6001546040805163060cd82f60e11b815290516000926001600160a01b031691630c19b05e916004808301926020929190829003018186803b15801561163f57600080fd5b505afa158015611653573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116779190611bbe565b6003549091506001600160a01b03808316911614806116a357506002546001600160a01b038281169116145b6117015760405162461bcd60e51b815260206004820152602960248201527f52657761726420746f6b656e206f72204465706f73697420746f6b656e206d7560448201526873742062652047464960b81b6064820152608401610338565b60015460408051631d44810d60e01b815290516000926001600160a01b031691631d44810d916004808301926020929190829003018186803b15801561174657600080fd5b505afa15801561175a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177e9190611bbe565b6001600160a01b031614156117e05760405162461bcd60e51b815260206004820152602260248201527f496e63696e657261746f722063616e2774206265205a65726f20416464726573604482015261732160f01b6064820152608401610338565b600160009054906101000a90046001600160a01b03166001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b15801561182e57600080fd5b505afa158015611842573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118669190611bbe565b6001600160a01b031663ffc76a88600160009054906101000a90046001600160a01b03166001600160a01b0316631d44810d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118c257600080fd5b505afa1580156118d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fa9190611bbe565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381600087803b15801561193b57600080fd5b505af115801561194f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119739190611c7c565b50600160009054906101000a90046001600160a01b03166001600160a01b0316631d44810d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156119c257600080fd5b505afa1580156119d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119fa9190611bbe565b6001600160a01b031663cf15a8ee6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611a3457600080fd5b505af1158015611a48573d6000803e3d6000fd5b5050505050565b6003546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b158015611a9357600080fd5b505afa158015611aa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611acb9190611c7c565b905080821115611b625760035460405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490529091169063a9059cbb906044015b602060405180830381600087803b158015611b2457600080fd5b505af1158015611b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5c9190611c44565b50505050565b60035460405163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529091169063a9059cbb90604401611b0a565b600060208284031215611bac578081fd5b8135611bb781611d39565b9392505050565b600060208284031215611bcf578081fd5b8151611bb781611d39565b600080600080600080600080610100898b031215611bf6578384fd5b8835611c0181611d39565b97506020890135611c1181611d39565b979a9799505050506040860135956060810135956080820135955060a0820135945060c0820135935060e0909101359150565b600060208284031215611c55578081fd5b81518015158114611bb7578182fd5b600060208284031215611c75578081fd5b5035919050565b600060208284031215611c8d578081fd5b5051919050565b60008060408385031215611ca6578182fd5b50508035926020909101359150565b60008219821115611cc857611cc8611d23565b500190565b600082611ce857634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611d0757611d07611d23565b500290565b600082821015611d1e57611d1e611d23565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610c2057600080fdfea26469706673582212201bb4030b7ffa2184bddd425f07c9fd64fbbe635b9b8e91786a48c4ccdaac420f64736f6c63430008040033000000000000000000000000874e178a2f3f3f9d34db862453cd756e7eab0381000000000000000000000000ee5578a3bab33f7a56575785bb4846b90be37d50