From 295b365dca5f3dee990ee99b5b000fc39a393119 Mon Sep 17 00:00:00 2001 From: jamesatomc Date: Sat, 13 Sep 2025 17:46:14 +0700 Subject: [PATCH] Refactor Farming and DEX contracts for improved functionality and clarity - Updated FarmingPage component to use new contract functions: totalSupply, getRewardRate, and isPaused. - Modified contract addresses in contracts.ts for KANARI, DEX_FACTORY, KANARI_NATIVE_POOL, and FARMING. - Enhanced Farming contract ABI with new functions: getPeriodFinish, getRewardRate, getRewardForDuration, and isPaused. - Adjusted DeployDEX script to mint rewards directly to the fee recipient and ensure proper funding of the farming contract. - Improved internal functions in ConstantProductAMM and Farming contracts for better readability and precision handling. - Updated tests in Farming.t.sol to reflect changes in reward rate calculations and getter functions. --- .../2892/run-1757758113.json | 469 ++++++++++++++++++ .../DeployDEX_v2.s.sol/2892/run-latest.json | 278 +++++------ .../91342/run-1757757881.json | 164 ++++++ .../DeployDEX_v2.s.sol/91342/run-latest.json | 164 ++++++ frontend/src/components/FarmingPage.tsx | 13 +- frontend/src/lib/contracts.ts | 107 +++- script/DeployDEX_v2.s.sol | 189 +++---- src/ConstantProductAMM.sol | 6 +- src/Farming.sol | 11 +- src/Kanari.sol | 2 +- test/Farming.t.sol | 8 +- 11 files changed, 1146 insertions(+), 265 deletions(-) create mode 100644 broadcast/DeployDEX_v2.s.sol/2892/run-1757758113.json create mode 100644 broadcast/DeployDEX_v2.s.sol/91342/run-1757757881.json create mode 100644 broadcast/DeployDEX_v2.s.sol/91342/run-latest.json diff --git a/broadcast/DeployDEX_v2.s.sol/2892/run-1757758113.json b/broadcast/DeployDEX_v2.s.sol/2892/run-1757758113.json new file mode 100644 index 0000000..12142b3 --- /dev/null +++ b/broadcast/DeployDEX_v2.s.sol/2892/run-1757758113.json @@ -0,0 +1,469 @@ +{ + "transactions": [ + { + "hash": "0x474eff26a1a6be13475adbd2374e25649560e0051ca2629ffbdecca46b1b18b6", + "transactionType": "CREATE", + "contractName": "Kanari", + "contractAddress": "0xcefb699cf39c5462cad926920f869a252fde09ec", + "function": null, + "arguments": null, + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "gas": "0x1581d7", + "value": "0x0", + "input": "0x60806040526064600655348015610014575f5ffd5b50336040518060400160405280600c81526020016b25b0b730b934902a37b5b2b760a11b815250604051806040016040528060068152602001654b414e41524960d01b81525081600390816100699190610219565b5060046100768282610219565b5050506001600160a01b0381166100a657604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100af81610130565b506005805460ff60a01b1916600960a11b179055335f818152600760209081526040808320805460ff19908116600190811790925530855282852080548216831790558585526008909352818420805490931617909155517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a26102d3565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806101a957607f821691505b6020821081036101c757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561021457805f5260205f20601f840160051c810160208510156101f25750805b601f840160051c820191505b81811015610211575f81556001016101fe565b50505b505050565b81516001600160401b0381111561023257610232610181565b610246816102408454610195565b846101cd565b6020601f821160018114610278575f83156102615750848201515b5f19600385901b1c1916600184901b178455610211565b5f84815260208120601f198516915b828110156102a75787850151825560209485019460019092019101610287565b50848210156102c457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b610f8c806102e05f395ff3fe608060405234801561000f575f5ffd5b506004361061016d575f3560e01c8063715018a6116100d9578063bed9985011610093578063dd62ed3e1161006e578063dd62ed3e1461031e578063e1f1c4a714610356578063f2fde38b1461035f578063f46eccc414610372575f5ffd5b8063bed99850146102f9578063d80cbc8c14610302578063d89135cd14610315575f5ffd5b8063715018a6146102a05780638da5cb5b146102a85780639358928b146102c357806395d89b41146102cb578063983b2d56146102d3578063a9059cbb146102e6575f5ffd5b80633092afd51161012a5780633092afd51461020e578063313ce5671461022157806332cb6b0c1461024057806340c10f191461025257806342966c681461026557806370a0823114610278575f5ffd5b806306fdde0314610171578063095ea7b31461018f5780630e88dad1146101b257806318160ddd146101d4578063189d165e146101e657806323b872dd146101fb575b5f5ffd5b610179610394565b6040516101869190610d62565b60405180910390f35b6101a261019d366004610db2565b610424565b6040519015158152602001610186565b6101a26101c0366004610dda565b60076020525f908152604090205460ff1681565b6002545b604051908152602001610186565b6101f96101f4366004610df3565b61043d565b005b6101a2610209366004610e0a565b6104cd565b6101f961021c366004610dda565b6104f0565b600554600160a01b900460ff1660405160ff9091168152602001610186565b6101d86a09195731e2ce35eb00000081565b6101f9610260366004610db2565b610596565b6101f9610273366004610df3565b61065d565b6101d8610286366004610dda565b6001600160a01b03165f9081526020819052604090205490565b6101f96106ad565b6005546040516001600160a01b039091168152602001610186565b6101d86106c0565b6101796106dc565b6101f96102e1366004610dda565b6106eb565b6101a26102f4366004610db2565b6107e8565b6101d860065481565b6101f9610310366004610e44565b6107f5565b6101d860095481565b6101d861032c366004610e7d565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6101d861271081565b6101f961036d366004610dda565b61085b565b6101a2610380366004610dda565b60086020525f908152604090205460ff1681565b6060600380546103a390610eae565b80601f01602080910402602001604051908101604052809291908181526020018280546103cf90610eae565b801561041a5780601f106103f15761010080835404028352916020019161041a565b820191905f5260205f20905b8154815290600101906020018083116103fd57829003601f168201915b5050505050905090565b5f33610431818585610898565b60019150505b92915050565b6104456108aa565b6103e88111156104915760405162461bcd60e51b8152602060048201526012602482015271084eae4dc40e4c2e8ca40e8dede40d0d2ced60731b60448201526064015b60405180910390fd5b60068190556040518181527f47863b595116a31383855975a4078913dce7881e717b75a06ced2db5d534ff78906020015b60405180910390a150565b5f336104da8582856108d7565b6104e5858585610953565b506001949350505050565b6104f86108aa565b6001600160a01b0381165f9081526008602052604090205460ff1661054e5760405162461bcd60e51b815260206004820152600c60248201526b2737ba10309036b4b73a32b960a11b6044820152606401610488565b6001600160a01b0381165f81815260086020526040808220805460ff19169055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a250565b6001600160a01b0382166105ec5760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74206d696e7420746f207a65726f206164647265737300000000006044820152606401610488565b6a09195731e2ce35eb0000008161060260025490565b61060c9190610efa565b111561064f5760405162461bcd60e51b815260206004820152601260248201527145786365656473206d617820737570706c7960701b6044820152606401610488565b61065982826109b0565b5050565b61066733826109e4565b8060095f8282546106789190610efa565b90915550506040518181527f6ef4855b666dcc7884561072e4358b28dfe01feb1b7f4dcebc00e62d50394ac7906020016104c2565b6106b56108aa565b6106be5f610a18565b565b5f6009546106cd60025490565b6106d79190610f0d565b905090565b6060600480546103a390610eae565b6106f36108aa565b6001600160a01b0381166107425760405162461bcd60e51b8152602060048201526016602482015275496e76616c6964206d696e746572206164647265737360501b6044820152606401610488565b6001600160a01b0381165f9081526008602052604090205460ff161561079d5760405162461bcd60e51b815260206004820152601060248201526f20b63932b0b23c90309036b4b73a32b960811b6044820152606401610488565b6001600160a01b0381165f81815260086020526040808220805460ff19166001179055517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a250565b5f33610431818585610953565b6107fd6108aa565b6001600160a01b0382165f81815260076020908152604091829020805460ff191685151590811790915591519182527fd9403aab61f2051cf551fc2209c9aead3db9f0cb7c4ad96db0909a09c0edf695910160405180910390a25050565b6108636108aa565b6001600160a01b03811661088c57604051631e4fbdf760e01b81525f6004820152602401610488565b61089581610a18565b50565b6108a58383836001610a69565b505050565b6005546001600160a01b031633146106be5760405163118cdaa760e01b8152336004820152602401610488565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561094d578181101561093f57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610488565b61094d84848484035f610a69565b50505050565b6001600160a01b03831661097c57604051634b637e8f60e11b81525f6004820152602401610488565b6001600160a01b0382166109a55760405163ec442f0560e01b81525f6004820152602401610488565b6108a5838383610b3b565b6001600160a01b0382166109d95760405163ec442f0560e01b81525f6004820152602401610488565b6106595f8383610b3b565b6001600160a01b038216610a0d57604051634b637e8f60e11b81525f6004820152602401610488565b610659825f83610b3b565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038416610a925760405163e602df0560e01b81525f6004820152602401610488565b6001600160a01b038316610abb57604051634a1406b160e11b81525f6004820152602401610488565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561094d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b2d91815260200190565b60405180910390a350505050565b6001600160a01b03831615801590610b5b57506001600160a01b03821615155b15610bdd575f610b6b8483610be8565b90508015610bdb57610b7e845f83610c3c565b8060095f828254610b8f9190610efa565b90915550506040518181527f6ef4855b666dcc7884561072e4358b28dfe01feb1b7f4dcebc00e62d50394ac79060200160405180910390a161094d8484610bd68486610f0d565b610c3c565b505b6108a5838383610c3c565b6001600160a01b0382165f9081526007602052604081205460ff1680610c0e5750600654155b15610c1a57505f610437565b61271060065483610c2b9190610f20565b610c359190610f37565b9392505050565b6001600160a01b038316610c66578060025f828254610c5b9190610efa565b90915550610cd69050565b6001600160a01b0383165f9081526020819052604090205481811015610cb85760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610488565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610cf257600280548290039055610d10565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d5591815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610dad575f5ffd5b919050565b5f5f60408385031215610dc3575f5ffd5b610dcc83610d97565b946020939093013593505050565b5f60208284031215610dea575f5ffd5b610c3582610d97565b5f60208284031215610e03575f5ffd5b5035919050565b5f5f5f60608486031215610e1c575f5ffd5b610e2584610d97565b9250610e3360208501610d97565b929592945050506040919091013590565b5f5f60408385031215610e55575f5ffd5b610e5e83610d97565b915060208301358015158114610e72575f5ffd5b809150509250929050565b5f5f60408385031215610e8e575f5ffd5b610e9783610d97565b9150610ea560208401610d97565b90509250929050565b600181811c90821680610ec257607f821691505b602082108103610ee057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561043757610437610ee6565b8181038181111561043757610437610ee6565b808202811582820484141761043757610437610ee6565b5f82610f5157634e487b7160e01b5f52601260045260245ffd5b50049056fea264697066735822122011417a150ea1f1515136e56e4d879b927b7f6b17a40a2f39a4454712d8346d2b64736f6c634300081e0033", + "nonce": "0xef", + "chainId": "0xb4c" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe958565f3921682a04df81b63024400b11016bf243b6a05098fbeee091c13c4c", + "transactionType": "CALL", + "contractName": "Kanari", + "contractAddress": "0xcefb699cf39c5462cad926920f869a252fde09ec", + "function": "mint(address,uint256)", + "arguments": [ + "0xC88C539aa6f67daeDaeA7aff75FE1F8848d6CeC2", + "6000000000000000000000000" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0xcefb699cf39c5462cad926920f869a252fde09ec", + "gas": "0x173ab", + "value": "0x0", + "input": "0x40c10f19000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec200000000000000000000000000000000000000000004f68ca6d8cd91c6000000", + "nonce": "0xf0", + "chainId": "0xb4c" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc8df20bb5fbd041567aa8e402fdbc079c5a01136c106efb531e35c70dac2e1d4", + "transactionType": "CREATE", + "contractName": "DEXFactory", + "contractAddress": "0xb24361e65059537c684014fc9aa903d60b3290dc", + "function": null, + "arguments": [ + "0xC88C539aa6f67daeDaeA7aff75FE1F8848d6CeC2" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "gas": "0x48bb20", + "value": "0x0", + "input": "0x6080604052600a600555601e600655348015610019575f5ffd5b5060405161413138038061413183398101604081905261003891610132565b338061005e57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610067816100e3565b506001600160a01b0381166100be5760405162461bcd60e51b815260206004820152601560248201527f496e76616c69642066656520726563697069656e7400000000000000000000006044820152606401610055565b600480546001600160a01b0319166001600160a01b039290921691909117905561015f565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610142575f5ffd5b81516001600160a01b0381168114610158575f5ffd5b9392505050565b613fc58061016c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610111575f3560e01c8063a8c6262a1161009e578063d88ff1f41161006e578063d88ff1f414610276578063e34336151461028b578063e74b981b1461029e578063efde4e64146102b1578063f2fde38b146102b9575f5ffd5b8063a8c6262a14610214578063b1aecc8e14610227578063b9bdb4ef1461025a578063bcae25a41461026d575f5ffd5b8063531aa03e116100e4578063531aa03e146101845780635b16ebb7146101b75780636ce0c4b5146101e9578063715018a6146101fc5780638da5cb5b14610204575f5ffd5b806307188087146101155780631c29415f1461012a57806341d1de97146101465780634690484014610171575b5f5ffd5b610128610123366004610db5565b6102cc565b005b61013360055481565b6040519081526020015b60405180910390f35b610159610154366004610dec565b6103cf565b6040516001600160a01b03909116815260200161013d565b600454610159906001600160a01b031681565b610159610192366004610db5565b600160209081525f92835260408084209091529082529020546001600160a01b031681565b6101d96101c5366004610e03565b60036020525f908152604090205460ff1681565b604051901515815260200161013d565b6101596101f7366004610dec565b6103f7565b61012861046d565b5f546001600160a01b0316610159565b610128610222366004610e25565b61047f565b61023a610235366004610e03565b6105da565b604080516001600160a01b0393841681529290911660208301520161013d565b610128610268366004610e57565b610707565b61013360065481565b61027e6107db565b60405161013d9190610e77565b610159610299366004610db5565b61083b565b6101286102ac366004610e03565b610c30565b600254610133565b6101286102c7366004610e03565b610ccf565b6102d4610d0c565b6001600160a01b0382166103035760405162461bcd60e51b81526004016102fa90610ec2565b60405180910390fd5b6001600160a01b0382165f9081526003602052604090205460ff1661033a5760405162461bcd60e51b81526004016102fa90610ee8565b60405163e74b981b60e01b81526001600160a01b03828116600483015283919082169063e74b981b906024015f604051808303815f87803b15801561037d575f5ffd5b505af115801561038f573d5f5f3e3d5ffd5b50506040516001600160a01b038086169350861691507f08df8ba9b5db9091d74a4a3f75f9c011dad9a006cf9b9366eb34a942d0edf6ad905f90a3505050565b600281815481106103de575f80fd5b5f918252602090912001546001600160a01b0316905081565b6002545f9082106104405760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b60448201526064016102fa565b6002828154811061045357610453610f12565b5f918252602090912001546001600160a01b031692915050565b610475610d0c565b61047d610d38565b565b610487610d0c565b6001600160a01b0383166104ad5760405162461bcd60e51b81526004016102fa90610ec2565b6001600160a01b0383165f9081526003602052604090205460ff166104e45760405162461bcd60e51b81526004016102fa90610ee8565b604051630ec4331760e01b81526004810183905283906001600160a01b03821690630ec43317906024015f604051808303815f87803b158015610525575f5ffd5b505af1158015610537573d5f5f3e3d5ffd5b50506040516339613db160e11b8152600481018590526001600160a01b03841692506372c27b6291506024015f604051808303815f87803b15801561057a575f5ffd5b505af115801561058c573d5f5f3e3d5ffd5b505060408051868152602081018690526001600160a01b03881693507fda6e21b7e37fa72509db45fd6c98a2e7261a7bdf77b485d89aecc4a9407d906f92500160405180910390a250505050565b5f806001600160a01b0383166106025760405162461bcd60e51b81526004016102fa90610ec2565b6001600160a01b0383165f9081526003602052604090205460ff166106395760405162461bcd60e51b81526004016102fa90610ee8565b5f839050806001600160a01b0316630fc63d106040518163ffffffff1660e01b8152600401602060405180830381865afa158015610679573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069d9190610f26565b9250806001600160a01b0316635f64b55b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ff9190610f26565b915050915091565b61070f610d0c565b60648211156107535760405162461bcd60e51b815260206004820152601060248201526f088caec40cccaca40e8dede40d0d2ced60831b60448201526064016102fa565b6101f48111156107945760405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b60448201526064016102fa565b6005829055600681905560408051838152602081018390527fd31db2d23fe42d625fd61189088b6ca9e19f1d03ed676d9480fee9705dfca300910160405180910390a15050565b6060600280548060200260200160405190810160405280929190818152602001828054801561083157602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610813575b5050505050905090565b5f816001600160a01b0316836001600160a01b0316036108905760405162461bcd60e51b815260206004820152601060248201526f4964656e746963616c20746f6b656e7360801b60448201526064016102fa565b6001600160a01b0383161515806108af57506001600160a01b03821615155b6108fb5760405162461bcd60e51b815260206004820152601a60248201527f426f746820746f6b656e732063616e6e6f74206265207a65726f00000000000060448201526064016102fa565b5f5f836001600160a01b0316856001600160a01b03161061091d578385610920565b84845b6001600160a01b038083165f908152600160209081526040808320848616845290915290205492945090925016156109905760405162461bcd60e51b8152602060048201526013602482015272506f6f6c20616c72656164792065786973747360681b60448201526064016102fa565b5f6001600160a01b03831615806109ae57506001600160a01b038216155b156109fc575f83836040516109c290610d94565b6001600160a01b039283168152911660208201526040016040518091039082f09050801580156109f4573d5f5f3e3d5ffd5b509050610a3e565b8282604051610a0a90610d94565b6001600160a01b03928316815291166020820152604001604051809103905ff080158015610a3a573d5f5f3e3d5ffd5b5090505b6004805460405163e74b981b60e01b81526001600160a01b0391821692810192909252919450849182169063e74b981b906024015f604051808303815f87803b158015610a89575f5ffd5b505af1158015610a9b573d5f5f3e3d5ffd5b5050600554604051630ec4331760e01b815260048101919091526001600160a01b0384169250630ec4331791506024015f604051808303815f87803b158015610ae2575f5ffd5b505af1158015610af4573d5f5f3e3d5ffd5b50506006546040516339613db160e11b815260048101919091526001600160a01b03841692506372c27b6291506024015f604051808303815f87803b158015610b3b575f5ffd5b505af1158015610b4d573d5f5f3e3d5ffd5b505050506001600160a01b038381165f8181526001602081815260408084208887168086529083528185208054978c166001600160a01b03199889168117909155848452828620878752845282862080548916821790556002805480870182557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805490991682179098558086526003845294829020805460ff19169094179093559454855193845290830152927febbbe9dc3a19d2f959ac76ac0372b4983cdfb945f5d6aef4873c36fabb2ba8aa910160405180910390a350505092915050565b610c38610d0c565b6001600160a01b038116610c865760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a5908199959481c9958da5c1a595b9d605a1b60448201526064016102fa565b600480546001600160a01b0319166001600160a01b0383169081179091556040517f7a7b5a0a132f9e0581eb8527f66eae9ee89c2a3e79d4ac7e41a1f1f4d48a7fc2905f90a250565b610cd7610d0c565b6001600160a01b038116610d0057604051631e4fbdf760e01b81525f60048201526024016102fa565b610d0981610d45565b50565b5f546001600160a01b0316331461047d5760405163118cdaa760e01b81523360048201526024016102fa565b610d40610d0c565b61047d5f5b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61304e80610f4283390190565b6001600160a01b0381168114610d09575f5ffd5b5f5f60408385031215610dc6575f5ffd5b8235610dd181610da1565b91506020830135610de181610da1565b809150509250929050565b5f60208284031215610dfc575f5ffd5b5035919050565b5f60208284031215610e13575f5ffd5b8135610e1e81610da1565b9392505050565b5f5f5f60608486031215610e37575f5ffd5b8335610e4281610da1565b95602085013595506040909401359392505050565b5f5f60408385031215610e68575f5ffd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015610eb75783516001600160a01b0316835260209384019390920191600101610e90565b509095945050505050565b6020808252600c908201526b125b9d985b1a59081c1bdbdb60a21b604082015260600190565b60208082526010908201526f139bdd0818481d985b1a59081c1bdbdb60821b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610f36575f5ffd5b8151610e1e81610da156fe610100604052600c60c09081526b20a6a6902628102a37b5b2b760a11b60e05260019061002c90826101d1565b506040805180820190915260068152650414d4d2d4c560d41b602082015260029061005790826101d1565b506003805460ff19166012179055601e600955600a805560405161304e3881900390819083398101604081905261008d916102a6565b60015f556001600160a01b0382161580156100af57506001600160a01b038116155b156101005760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e617469766500000000604482015260640160405180910390fd5b6001600160a01b039182166080521660a05260078054336001600160a01b031991821681179092556008805490911690911790556102d7565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061016157607f821691505b60208210810361017f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101cc57805f5260205f20601f840160051c810160208510156101aa5750805b601f840160051c820191505b818110156101c9575f81556001016101b6565b50505b505050565b81516001600160401b038111156101ea576101ea610139565b6101fe816101f8845461014d565b84610185565b6020601f821160018114610230575f83156102195750848201515b5f19600385901b1c1916600184901b1784556101c9565b5f84815260208120601f198516915b8281101561025f578785015182556020948501946001909201910161023f565b508482101561027c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b80516001600160a01b03811681146102a1575f5ffd5b919050565b5f5f604083850312156102b7575f5ffd5b6102c08361028b565b91506102ce6020840161028b565b90509250929050565b60805160a051612c846103ca5f395f818161036d01528181610670015281816106aa01528181610ccb01528181610e0c01528181610e4601528181610f0e01528181610ff5015281816110270152818161164901528181611a9201528181611cba01528181611fbb01528181612057015261223601525f818161023d015281816105b2015281816105ec01528181610c9901528181610d4501528181610d7f01528181610ed301528181610f9101528181610fc30152818161160e0152818161169c01528181611a6c01528181611c7f01528181611eee01528181611f8a015281816121fb01526122a80152612c845ff3fe60806040526004361061017e575f3560e01c80635f64b55b116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610479578063e74b981b146104bd578063f140a35a146104dc578063f88bf15a146104fb575f5ffd5b8063a9059cbb14610428578063ad3b1b4714610447578063c9ec924814610466575f5ffd5b80635f64b55b1461035c57806370a082311461038f57806372c27b62146103c35780638da5cb5b146103e257806395d89b4114610401578063a360501c14610415575f5ffd5b806323b872dd11610138578063313ce56711610113578063313ce567146102de578063469048401461030957806355fb1d46146103285780635b0803611461033d575f5ffd5b806323b872dd14610295578063249d39e9146102b457806324a9d853146102c9575f5ffd5b806306fdde03146101895780630902f1ac146101b3578063095ea7b3146101dc5780630ec433171461020b5780630fc63d101461022c57806318160ddd14610277575f5ffd5b3661018557005b5f5ffd5b348015610194575f5ffd5b5061019d61051a565b6040516101aa91906128e3565b60405180910390f35b3480156101be575f5ffd5b506101c76105a6565b604080519283526020830191909152016101aa565b3480156101e7575f5ffd5b506101fb6101f6366004612933565b610728565b60405190151581526020016101aa565b348015610216575f5ffd5b5061022a61022536600461295b565b610794565b005b348015610237575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101aa565b348015610282575f5ffd5b506004545b6040519081526020016101aa565b3480156102a0575f5ffd5b506101fb6102af366004612972565b610898565b3480156102bf575f5ffd5b5061028761271081565b3480156102d4575f5ffd5b5061028760095481565b3480156102e9575f5ffd5b506003546102f79060ff1681565b60405160ff90911681526020016101aa565b348015610314575f5ffd5b5060085461025f906001600160a01b031681565b348015610333575f5ffd5b50610287600a5481565b348015610348575f5ffd5b506102876103573660046129ac565b610968565b348015610367575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a575f5ffd5b506102876103a93660046129d6565b6001600160a01b03165f9081526005602052604090205490565b3480156103ce575f5ffd5b5061022a6103dd36600461295b565b610b18565b3480156103ed575f5ffd5b5060075461025f906001600160a01b031681565b34801561040c575f5ffd5b5061019d610c09565b6102876104233660046129f6565b610c16565b348015610433575f5ffd5b506101fb610442366004612933565b6113b5565b348015610452575f5ffd5b5061022a610461366004612933565b6113ca565b610287610474366004612a2d565b61159d565b348015610484575f5ffd5b50610287610493366004612a63565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156104c8575f5ffd5b5061022a6104d73660046129d6565b611bb3565b3480156104e7575f5ffd5b506102876104f63660046129ac565b611c7c565b348015610506575f5ffd5b506101c7610515366004612a8b565b611d5e565b6001805461052790612aba565b80601f016020809104026020016040519081016040528092919081815260200182805461055390612aba565b801561059e5780601f106105755761010080835404028352916020019161059e565b820191905f5260205f20905b81548152906001019060200180831161058157829003601f168201915b505050505081565b5f806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610662576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610639573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065d9190612af2565b610664565b475b91506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610720576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156106f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b9190612af2565b610722565b475b90509091565b335f8181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107829086815260200190565b60405180910390a35060015b92915050565b6007546001600160a01b031633146107c75760405162461bcd60e51b81526004016107be90612b09565b60405180910390fd5b606481111561080b5760405162461bcd60e51b815260206004820152601060248201526f088caec40cccaca40e8dede40d0d2ced60831b60448201526064016107be565b612710811061085c5760405162461bcd60e51b815260206004820152601f60248201527f44657620666565206d757374206265206c657373207468616e2031303030300060448201526064016107be565b600a8190556040518181527fd2fcc8c801d1c6ec6267fa3420cc8428c11a8c06f0d110a700fe9ff1e7317360906020015b60405180910390a150565b6001600160a01b0383165f9081526006602090815260408083203384529091528120545f19811461095257828110156109245760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016107be565b61092e8382612b40565b6001600160a01b0386165f9081526006602090815260408083203384529091529020555b61095d8585856120d6565b506001949350505050565b5f5f83116109885760405162461bcd60e51b81526004016107be90612b53565b5f612710600a548561099a9190612b81565b6109a49190612b98565b90505f6109b18286612b40565b90505f6109be82866121f8565b90506009546127106109d09190612b40565b6109db905f19612b98565b821115610a3c5760405162461bcd60e51b815260206004820152602960248201527f416d6f756e74496e20746f6f206c6172676520666f7220696d706163742063616044820152683631bab630ba34b7b760b91b60648201526084016107be565b5f612710600954612710610a509190612b40565b610a5a9085612b81565b610a649190612b98565b9050805f03610a79575f94505050505061078e565b818111610a8c575f94505050505061078e565b5f610a978383612b40565b9050610aa66127105f19612b98565b811115610af55760405162461bcd60e51b815260206004820152601b60248201527f496d706163742063616c63756c6174696f6e206f766572666c6f77000000000060448201526064016107be565b81610b0261271083612b81565b610b0c9190612b98565b98975050505050505050565b6007546001600160a01b03163314610b425760405162461bcd60e51b81526004016107be90612b09565b6101f4811115610b835760405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b60448201526064016107be565b6127108110610bd45760405162461bcd60e51b815260206004820152601b60248201527f466565206d757374206265206c657373207468616e203130303030000000000060448201526064016107be565b60098190556040518181527f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c769060200161088d565b6002805461052790612aba565b5f610c1f61241e565b81421115610c3f5760405162461bcd60e51b81526004016107be90612bb7565b5f86118015610c4d57505f85115b610c8f5760405162461bcd60e51b81526020600482015260136024820152720416d6f756e7473206d757374206265203e203606c1b60448201526064016107be565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016158015610ced57506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016155b15610d3a5760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e61746976650000000060448201526064016107be565b5f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610df5576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610dcc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df09190612af2565b610dff565b610dff3447612b40565b90505f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610ebc576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610e93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb79190612af2565b610ec6565b610ec63447612b40565b90505f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f0457610f018982612be2565b90505b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f3f57610f3c8882612be2565b90505b803414610f875760405162461bcd60e51b8152602060048201526016602482015275496e636f7272656374206e61746976652076616c756560501b60448201526064016107be565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610feb57610feb6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308c612446565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161561104f5761104f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308b612446565b6004545f036111265788880289158061107057508861106e8b83612b98565b145b6110bc5760405162461bcd60e51b815260206004820152601760248201527f4d756c7469706c69636174696f6e206f766572666c6f7700000000000000000060448201526064016107be565b6110c5816124b3565b94505f85116111165760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b61112033866125cd565b5061135d565b5f8311801561113457505f82115b6111775760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e74207265736572766560601b60448201526064016107be565b5f61118160045490565b905061118e815f19612b98565b8a11156111d15760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744120746f6f206c6172676560781b60448201526064016107be565b5f846111dd838d612b81565b6111e79190612b98565b90506111f4825f19612b98565b8a11156112375760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744220746f6f206c6172676560781b60448201526064016107be565b5f84611243848d612b81565b61124d9190612b98565b905080821061125c578061125e565b815b96505f87116112af5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b898c10156112ff5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74412070726f766964656400000060448201526064016107be565b888b101561134f5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74422070726f766964656400000060448201526064016107be565b61135933886125cd565b5050505b604080518a8152602081018a905290810185905233907f64b83944e79c3ce8d4c297411de637c3e102d064677aac0c163976ebdcd6f50e9060600160405180910390a25050506113ac60015f55565b95945050505050565b5f6113c13384846120d6565b50600192915050565b6007546001600160a01b031633146113f45760405162461bcd60e51b81526004016107be90612b09565b6008546001600160a01b03166114435760405162461bcd60e51b8152602060048201526014602482015273139bc8199959481c9958da5c1a595b9d081cd95d60621b60448201526064016107be565b6001600160a01b03821661153657478111156114985760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016107be565b6008546040515f916001600160a01b03169083908381818185875af1925050503d805f81146114e2576040519150601f19603f3d011682016040523d82523d5f602084013e6114e7565b606091505b50509050806115305760405162461bcd60e51b8152602060048201526015602482015274119959481dda5d1a191c985dd85b0819985a5b1959605a1b60448201526064016107be565b50611550565b600854611550906001600160a01b03848116911683612654565b600854604080518381526001600160a01b038581166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25050565b5f6115a661241e565b814211156115c65760405162461bcd60e51b81526004016107be90612bb7565b5f841161160c5760405162461bcd60e51b81526020600482015260146024820152730616d6f756e74496e206d757374206265203e20360641b60448201526064016107be565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316148061167d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b6116995760405162461bcd60e51b81526004016107be90612bf5565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b03161490505f5f6116db6105a6565b915091505f612710600a54896116f19190612b81565b6116fb9190612b98565b90505f611708828a612b40565b90505f81116117595760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e7420746f6f20736d616c6c2061667465722064657620666565000060448201526064016107be565b6001600160a01b038a1661190a578834146117c25760405162461bcd60e51b8152602060048201526024808201527f496e636f7272656374206d73672e76616c756520666f72206e617469766520696044820152631b9c1d5d60e21b60648201526084016107be565b5f821180156117db57506008546001600160a01b031615155b156118cb576008546040515f916001600160a01b03169084908381818185875af1925050503d805f811461182a576040519150601f19603f3d011682016040523d82523d5f602084013e61182f565b606091505b50509050806118805760405162461bcd60e51b815260206004820152601760248201527f44657620666565207472616e73666572206661696c656400000000000000000060448201526064016107be565b600854604080518581526001600160a01b038e81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a2505b5f856118e0576118db8285612b40565b6118ea565b6118ea8286612b40565b90506119028282886118fc578761268a565b8661268a565b965050611a14565b34156119585760405162461bcd60e51b815260206004820152601760248201527f556e6578706563746564206e61746976652076616c756500000000000000000060448201526064016107be565b61196d6001600160a01b038b1633308c612446565b5f8211801561198657506008546001600160a01b031615155b156119ef576008546119a5906001600160a01b038c8116911684612654565b600854604080518481526001600160a01b038d81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25b611a1181866119fe5784611a00565b855b87611a0b578661268a565b8561268a565b95505b87861015611a645760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016107be565b5f85611a90577f0000000000000000000000000000000000000000000000000000000000000000611ab2565b7f00000000000000000000000000000000000000000000000000000000000000005b90506001600160a01b038116611b2d576040515f90339089908381818185875af1925050503d805f8114611b01576040519150601f19603f3d011682016040523d82523d5f602084013e611b06565b606091505b5050905080611b275760405162461bcd60e51b81526004016107be90612c1e565b50611b41565b611b416001600160a01b0382163389612654565b604080516001600160a01b038d81168252602082018d90528316818301526060810189905260808101859052905133917f51e00ff851e6d19ee3412286211af0aa9676df8d942e677195fc7445b4c08e30919081900360a00190a2505050505050611bab60015f55565b949350505050565b6007546001600160a01b03163314611bdd5760405162461bcd60e51b81526004016107be90612b09565b6001600160a01b038116611c2b5760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a5908199959481c9958da5c1a595b9d605a1b60448201526064016107be565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3905f90a35050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480611cee57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b611d0a5760405162461bcd60e51b81526004016107be90612bf5565b5f8311611d295760405162461bcd60e51b81526004016107be90612b53565b5f612710600a5485611d3b9190612b81565b611d459190612b98565b90505f611d528286612b40565b90506113ac81856121f8565b5f5f611d6861241e565b82421115611d885760405162461bcd60e51b81526004016107be90612bb7565b5f8611611dcf5760405162461bcd60e51b815260206004820152601560248201527404c5020616d6f756e74206d757374206265203e203605c1b60448201526064016107be565b5f611dd960045490565b90505f8111611e195760405162461bcd60e51b815260206004820152600c60248201526b4e6f206c697175696469747960a01b60448201526064016107be565b5f5f611e236105a6565b909250905082611e338a84612b81565b611e3d9190612b98565b945082611e4a8a83612b81565b611e549190612b98565b935087851015611e985760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744120746f6f206c6f7760881b60448201526064016107be565b86841015611eda5760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744220746f6f206c6f7760881b60448201526064016107be565b611ee4338a612784565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016611f7d576040515f90339087908381818185875af1925050503d805f8114611f51576040519150601f19603f3d011682016040523d82523d5f602084013e611f56565b606091505b5050905080611f775760405162461bcd60e51b81526004016107be90612c1e565b50611fb1565b611fb16001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163387612654565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661204a576040515f90339086908381818185875af1925050503d805f811461201e576040519150601f19603f3d011682016040523d82523d5f602084013e612023565b606091505b50509050806120445760405162461bcd60e51b81526004016107be90612c1e565b5061207e565b61207e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163386612654565b60408051868152602081018690529081018a905233907f1dc8bb69df2b8e91fbdcbfcf93d951b3f0000f085a95fe3f7946d6161439245d9060600160405180910390a25050506120cd60015f55565b94509492505050565b6001600160a01b0383165f9081526005602052604090205481111561214c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107be565b6001600160a01b0383165f9081526005602052604081208054839290612173908490612b40565b90915550506001600160a01b0382165f908152600560205260408120805483929061219f908490612be2565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121eb91815260200190565b60405180910390a3505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061226a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b6122865760405162461bcd60e51b81526004016107be90612bf5565b5f83116122a55760405162461bcd60e51b81526004016107be90612b53565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161490505f5f6122e76105a6565b915091505f836122f757816122f9565b825b90505f846123075783612309565b825b90505f8211801561231957505f81115b61235c5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f60095461271061236d9190612b40565b612377908a612b81565b9050612384825f19612b98565b8111156123de5760405162461bcd60e51b815260206004820152602260248201527f416d6f756e74496e20746f6f206c6172676520666f722063616c63756c61746960448201526137b760f11b60648201526084016107be565b5f6123e98383612b81565b90505f826123f961271087612b81565b6124039190612be2565b905061240f8183612b98565b9b9a5050505050505050505050565b60025f540361244057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b6040516001600160a01b0384811660248301528381166044830152606482018390526124ad9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612877565b50505050565b5f815f036124c257505f919050565b600182600160801b81106124db5760409190911b9060801c5b6801000000000000000081106124f65760209190911b9060401c5b640100000000811061250d5760109190911b9060201c5b6201000081106125225760089190911b9060101c5b61010081106125365760049190911b9060081c5b601081106125495760029190911b9060041c5b6008811061255957600182901b91505b8192506001838561256a9190612b98565b6125749085612be2565b901c925060016125848486612b98565b61258e9085612be2565b901c9250600161259e8486612b98565b6125a89085612be2565b901c92505f6125b78486612b98565b9050838110156125c5578093505b505050919050565b8060045f8282546125de9190612be2565b90915550506001600160a01b0382165f908152600560205260408120805483929061260a908490612be2565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6040516001600160a01b0383811660248301526044820183905261268591859182169063a9059cbb9060640161247b565b505050565b5f5f8311801561269957505f82115b6126dc5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f6009546127106126ed9190612b40565b6126f79086612b81565b9050612704835f19612b98565b8111156127485760405162461bcd60e51b8152602060048201526012602482015271416d6f756e74496e20746f6f206c6172676560701b60448201526064016107be565b5f6127538483612b81565b90505f8261276361271088612b81565b61276d9190612be2565b90506127798183612b98565b979650505050505050565b6001600160a01b0382165f908152600560205260409020548111156127f65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107be565b6001600160a01b0382165f908152600560205260408120805483929061281d908490612b40565b925050819055508060045f8282546128359190612b40565b90915550506040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001612648565b5f5f60205f8451602086015f885af180612896576040513d5f823e3d81fd5b50505f513d915081156128ad5780600114156128ba565b6001600160a01b0384163b155b156124ad57604051635274afe760e01b81526001600160a01b03851660048201526024016107be565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461292e575f5ffd5b919050565b5f5f60408385031215612944575f5ffd5b61294d83612918565b946020939093013593505050565b5f6020828403121561296b575f5ffd5b5035919050565b5f5f5f60608486031215612984575f5ffd5b61298d84612918565b925061299b60208501612918565b929592945050506040919091013590565b5f5f604083850312156129bd575f5ffd5b823591506129cd60208401612918565b90509250929050565b5f602082840312156129e6575f5ffd5b6129ef82612918565b9392505050565b5f5f5f5f5f60a08688031215612a0a575f5ffd5b505083359560208501359550604085013594606081013594506080013592509050565b5f5f5f5f60808587031215612a40575f5ffd5b612a4985612918565b966020860135965060408601359560600135945092505050565b5f5f60408385031215612a74575f5ffd5b612a7d83612918565b91506129cd60208401612918565b5f5f5f5f60808587031215612a9e575f5ffd5b5050823594602084013594506040840135936060013592509050565b600181811c90821680612ace57607f821691505b602082108103612aec57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215612b02575f5ffd5b5051919050565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561078e5761078e612b2c565b6020808252601490820152730416d6f756e74496e206d757374206265203e20360641b604082015260600190565b808202811582820484141761078e5761078e612b2c565b5f82612bb257634e487b7160e01b5f52601260045260245ffd5b500490565b602080825260119082015270111958591b1a5b9948195e18d959591959607a1b604082015260600190565b8082018082111561078e5761078e612b2c565b6020808252600f908201526e24b73b30b634b2103a37b5b2b724b760891b604082015260600190565b60208082526016908201527513985d1a5d99481d1c985b9cd9995c8819985a5b195960521b60408201526060019056fea2646970667358221220b38772ad16e0124d53f36c8ac787bc531413db5c1f5a6b3c16560865361ada1a64736f6c634300081e0033a26469706673582212200cd272e5f413d648abb548abffaa7d41eaca44d9f7876f692c27e6c7f8ffc15f64736f6c634300081e0033000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "nonce": "0xf1", + "chainId": "0xb4c" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf6d298f5fd70d6aeb7ca5b061b615abba2b2709f66f2d007c49c93d74b109cac", + "transactionType": "CALL", + "contractName": "DEXFactory", + "contractAddress": "0xb24361e65059537c684014fc9aa903d60b3290dc", + "function": "createPool(address,address)", + "arguments": [ + "0xcefB699Cf39C5462CaD926920f869a252FDE09EC", + "0x0000000000000000000000000000000000000000" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0xb24361e65059537c684014fc9aa903d60b3290dc", + "gas": "0x3b05e1", + "value": "0x0", + "input": "0xe3433615000000000000000000000000cefb699cf39c5462cad926920f869a252fde09ec0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xf2", + "chainId": "0xb4c" + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xed415a516a0f83e27314ddc8fb12bb3fd572d260", + "initCode": "0x610100604052600c60c09081526b20a6a6902628102a37b5b2b760a11b60e05260019061002c90826101d1565b506040805180820190915260068152650414d4d2d4c560d41b602082015260029061005790826101d1565b506003805460ff19166012179055601e600955600a805560405161304e3881900390819083398101604081905261008d916102a6565b60015f556001600160a01b0382161580156100af57506001600160a01b038116155b156101005760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e617469766500000000604482015260640160405180910390fd5b6001600160a01b039182166080521660a05260078054336001600160a01b031991821681179092556008805490911690911790556102d7565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061016157607f821691505b60208210810361017f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101cc57805f5260205f20601f840160051c810160208510156101aa5750805b601f840160051c820191505b818110156101c9575f81556001016101b6565b50505b505050565b81516001600160401b038111156101ea576101ea610139565b6101fe816101f8845461014d565b84610185565b6020601f821160018114610230575f83156102195750848201515b5f19600385901b1c1916600184901b1784556101c9565b5f84815260208120601f198516915b8281101561025f578785015182556020948501946001909201910161023f565b508482101561027c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b80516001600160a01b03811681146102a1575f5ffd5b919050565b5f5f604083850312156102b7575f5ffd5b6102c08361028b565b91506102ce6020840161028b565b90509250929050565b60805160a051612c846103ca5f395f818161036d01528181610670015281816106aa01528181610ccb01528181610e0c01528181610e4601528181610f0e01528181610ff5015281816110270152818161164901528181611a9201528181611cba01528181611fbb01528181612057015261223601525f818161023d015281816105b2015281816105ec01528181610c9901528181610d4501528181610d7f01528181610ed301528181610f9101528181610fc30152818161160e0152818161169c01528181611a6c01528181611c7f01528181611eee01528181611f8a015281816121fb01526122a80152612c845ff3fe60806040526004361061017e575f3560e01c80635f64b55b116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610479578063e74b981b146104bd578063f140a35a146104dc578063f88bf15a146104fb575f5ffd5b8063a9059cbb14610428578063ad3b1b4714610447578063c9ec924814610466575f5ffd5b80635f64b55b1461035c57806370a082311461038f57806372c27b62146103c35780638da5cb5b146103e257806395d89b4114610401578063a360501c14610415575f5ffd5b806323b872dd11610138578063313ce56711610113578063313ce567146102de578063469048401461030957806355fb1d46146103285780635b0803611461033d575f5ffd5b806323b872dd14610295578063249d39e9146102b457806324a9d853146102c9575f5ffd5b806306fdde03146101895780630902f1ac146101b3578063095ea7b3146101dc5780630ec433171461020b5780630fc63d101461022c57806318160ddd14610277575f5ffd5b3661018557005b5f5ffd5b348015610194575f5ffd5b5061019d61051a565b6040516101aa91906128e3565b60405180910390f35b3480156101be575f5ffd5b506101c76105a6565b604080519283526020830191909152016101aa565b3480156101e7575f5ffd5b506101fb6101f6366004612933565b610728565b60405190151581526020016101aa565b348015610216575f5ffd5b5061022a61022536600461295b565b610794565b005b348015610237575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101aa565b348015610282575f5ffd5b506004545b6040519081526020016101aa565b3480156102a0575f5ffd5b506101fb6102af366004612972565b610898565b3480156102bf575f5ffd5b5061028761271081565b3480156102d4575f5ffd5b5061028760095481565b3480156102e9575f5ffd5b506003546102f79060ff1681565b60405160ff90911681526020016101aa565b348015610314575f5ffd5b5060085461025f906001600160a01b031681565b348015610333575f5ffd5b50610287600a5481565b348015610348575f5ffd5b506102876103573660046129ac565b610968565b348015610367575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a575f5ffd5b506102876103a93660046129d6565b6001600160a01b03165f9081526005602052604090205490565b3480156103ce575f5ffd5b5061022a6103dd36600461295b565b610b18565b3480156103ed575f5ffd5b5060075461025f906001600160a01b031681565b34801561040c575f5ffd5b5061019d610c09565b6102876104233660046129f6565b610c16565b348015610433575f5ffd5b506101fb610442366004612933565b6113b5565b348015610452575f5ffd5b5061022a610461366004612933565b6113ca565b610287610474366004612a2d565b61159d565b348015610484575f5ffd5b50610287610493366004612a63565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156104c8575f5ffd5b5061022a6104d73660046129d6565b611bb3565b3480156104e7575f5ffd5b506102876104f63660046129ac565b611c7c565b348015610506575f5ffd5b506101c7610515366004612a8b565b611d5e565b6001805461052790612aba565b80601f016020809104026020016040519081016040528092919081815260200182805461055390612aba565b801561059e5780601f106105755761010080835404028352916020019161059e565b820191905f5260205f20905b81548152906001019060200180831161058157829003601f168201915b505050505081565b5f806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610662576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610639573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065d9190612af2565b610664565b475b91506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610720576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156106f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b9190612af2565b610722565b475b90509091565b335f8181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107829086815260200190565b60405180910390a35060015b92915050565b6007546001600160a01b031633146107c75760405162461bcd60e51b81526004016107be90612b09565b60405180910390fd5b606481111561080b5760405162461bcd60e51b815260206004820152601060248201526f088caec40cccaca40e8dede40d0d2ced60831b60448201526064016107be565b612710811061085c5760405162461bcd60e51b815260206004820152601f60248201527f44657620666565206d757374206265206c657373207468616e2031303030300060448201526064016107be565b600a8190556040518181527fd2fcc8c801d1c6ec6267fa3420cc8428c11a8c06f0d110a700fe9ff1e7317360906020015b60405180910390a150565b6001600160a01b0383165f9081526006602090815260408083203384529091528120545f19811461095257828110156109245760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016107be565b61092e8382612b40565b6001600160a01b0386165f9081526006602090815260408083203384529091529020555b61095d8585856120d6565b506001949350505050565b5f5f83116109885760405162461bcd60e51b81526004016107be90612b53565b5f612710600a548561099a9190612b81565b6109a49190612b98565b90505f6109b18286612b40565b90505f6109be82866121f8565b90506009546127106109d09190612b40565b6109db905f19612b98565b821115610a3c5760405162461bcd60e51b815260206004820152602960248201527f416d6f756e74496e20746f6f206c6172676520666f7220696d706163742063616044820152683631bab630ba34b7b760b91b60648201526084016107be565b5f612710600954612710610a509190612b40565b610a5a9085612b81565b610a649190612b98565b9050805f03610a79575f94505050505061078e565b818111610a8c575f94505050505061078e565b5f610a978383612b40565b9050610aa66127105f19612b98565b811115610af55760405162461bcd60e51b815260206004820152601b60248201527f496d706163742063616c63756c6174696f6e206f766572666c6f77000000000060448201526064016107be565b81610b0261271083612b81565b610b0c9190612b98565b98975050505050505050565b6007546001600160a01b03163314610b425760405162461bcd60e51b81526004016107be90612b09565b6101f4811115610b835760405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b60448201526064016107be565b6127108110610bd45760405162461bcd60e51b815260206004820152601b60248201527f466565206d757374206265206c657373207468616e203130303030000000000060448201526064016107be565b60098190556040518181527f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c769060200161088d565b6002805461052790612aba565b5f610c1f61241e565b81421115610c3f5760405162461bcd60e51b81526004016107be90612bb7565b5f86118015610c4d57505f85115b610c8f5760405162461bcd60e51b81526020600482015260136024820152720416d6f756e7473206d757374206265203e203606c1b60448201526064016107be565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016158015610ced57506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016155b15610d3a5760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e61746976650000000060448201526064016107be565b5f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610df5576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610dcc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df09190612af2565b610dff565b610dff3447612b40565b90505f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610ebc576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610e93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb79190612af2565b610ec6565b610ec63447612b40565b90505f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f0457610f018982612be2565b90505b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f3f57610f3c8882612be2565b90505b803414610f875760405162461bcd60e51b8152602060048201526016602482015275496e636f7272656374206e61746976652076616c756560501b60448201526064016107be565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610feb57610feb6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308c612446565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161561104f5761104f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308b612446565b6004545f036111265788880289158061107057508861106e8b83612b98565b145b6110bc5760405162461bcd60e51b815260206004820152601760248201527f4d756c7469706c69636174696f6e206f766572666c6f7700000000000000000060448201526064016107be565b6110c5816124b3565b94505f85116111165760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b61112033866125cd565b5061135d565b5f8311801561113457505f82115b6111775760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e74207265736572766560601b60448201526064016107be565b5f61118160045490565b905061118e815f19612b98565b8a11156111d15760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744120746f6f206c6172676560781b60448201526064016107be565b5f846111dd838d612b81565b6111e79190612b98565b90506111f4825f19612b98565b8a11156112375760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744220746f6f206c6172676560781b60448201526064016107be565b5f84611243848d612b81565b61124d9190612b98565b905080821061125c578061125e565b815b96505f87116112af5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b898c10156112ff5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74412070726f766964656400000060448201526064016107be565b888b101561134f5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74422070726f766964656400000060448201526064016107be565b61135933886125cd565b5050505b604080518a8152602081018a905290810185905233907f64b83944e79c3ce8d4c297411de637c3e102d064677aac0c163976ebdcd6f50e9060600160405180910390a25050506113ac60015f55565b95945050505050565b5f6113c13384846120d6565b50600192915050565b6007546001600160a01b031633146113f45760405162461bcd60e51b81526004016107be90612b09565b6008546001600160a01b03166114435760405162461bcd60e51b8152602060048201526014602482015273139bc8199959481c9958da5c1a595b9d081cd95d60621b60448201526064016107be565b6001600160a01b03821661153657478111156114985760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016107be565b6008546040515f916001600160a01b03169083908381818185875af1925050503d805f81146114e2576040519150601f19603f3d011682016040523d82523d5f602084013e6114e7565b606091505b50509050806115305760405162461bcd60e51b8152602060048201526015602482015274119959481dda5d1a191c985dd85b0819985a5b1959605a1b60448201526064016107be565b50611550565b600854611550906001600160a01b03848116911683612654565b600854604080518381526001600160a01b038581166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25050565b5f6115a661241e565b814211156115c65760405162461bcd60e51b81526004016107be90612bb7565b5f841161160c5760405162461bcd60e51b81526020600482015260146024820152730616d6f756e74496e206d757374206265203e20360641b60448201526064016107be565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316148061167d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b6116995760405162461bcd60e51b81526004016107be90612bf5565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b03161490505f5f6116db6105a6565b915091505f612710600a54896116f19190612b81565b6116fb9190612b98565b90505f611708828a612b40565b90505f81116117595760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e7420746f6f20736d616c6c2061667465722064657620666565000060448201526064016107be565b6001600160a01b038a1661190a578834146117c25760405162461bcd60e51b8152602060048201526024808201527f496e636f7272656374206d73672e76616c756520666f72206e617469766520696044820152631b9c1d5d60e21b60648201526084016107be565b5f821180156117db57506008546001600160a01b031615155b156118cb576008546040515f916001600160a01b03169084908381818185875af1925050503d805f811461182a576040519150601f19603f3d011682016040523d82523d5f602084013e61182f565b606091505b50509050806118805760405162461bcd60e51b815260206004820152601760248201527f44657620666565207472616e73666572206661696c656400000000000000000060448201526064016107be565b600854604080518581526001600160a01b038e81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a2505b5f856118e0576118db8285612b40565b6118ea565b6118ea8286612b40565b90506119028282886118fc578761268a565b8661268a565b965050611a14565b34156119585760405162461bcd60e51b815260206004820152601760248201527f556e6578706563746564206e61746976652076616c756500000000000000000060448201526064016107be565b61196d6001600160a01b038b1633308c612446565b5f8211801561198657506008546001600160a01b031615155b156119ef576008546119a5906001600160a01b038c8116911684612654565b600854604080518481526001600160a01b038d81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25b611a1181866119fe5784611a00565b855b87611a0b578661268a565b8561268a565b95505b87861015611a645760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016107be565b5f85611a90577f0000000000000000000000000000000000000000000000000000000000000000611ab2565b7f00000000000000000000000000000000000000000000000000000000000000005b90506001600160a01b038116611b2d576040515f90339089908381818185875af1925050503d805f8114611b01576040519150601f19603f3d011682016040523d82523d5f602084013e611b06565b606091505b5050905080611b275760405162461bcd60e51b81526004016107be90612c1e565b50611b41565b611b416001600160a01b0382163389612654565b604080516001600160a01b038d81168252602082018d90528316818301526060810189905260808101859052905133917f51e00ff851e6d19ee3412286211af0aa9676df8d942e677195fc7445b4c08e30919081900360a00190a2505050505050611bab60015f55565b949350505050565b6007546001600160a01b03163314611bdd5760405162461bcd60e51b81526004016107be90612b09565b6001600160a01b038116611c2b5760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a5908199959481c9958da5c1a595b9d605a1b60448201526064016107be565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3905f90a35050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480611cee57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b611d0a5760405162461bcd60e51b81526004016107be90612bf5565b5f8311611d295760405162461bcd60e51b81526004016107be90612b53565b5f612710600a5485611d3b9190612b81565b611d459190612b98565b90505f611d528286612b40565b90506113ac81856121f8565b5f5f611d6861241e565b82421115611d885760405162461bcd60e51b81526004016107be90612bb7565b5f8611611dcf5760405162461bcd60e51b815260206004820152601560248201527404c5020616d6f756e74206d757374206265203e203605c1b60448201526064016107be565b5f611dd960045490565b90505f8111611e195760405162461bcd60e51b815260206004820152600c60248201526b4e6f206c697175696469747960a01b60448201526064016107be565b5f5f611e236105a6565b909250905082611e338a84612b81565b611e3d9190612b98565b945082611e4a8a83612b81565b611e549190612b98565b935087851015611e985760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744120746f6f206c6f7760881b60448201526064016107be565b86841015611eda5760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744220746f6f206c6f7760881b60448201526064016107be565b611ee4338a612784565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016611f7d576040515f90339087908381818185875af1925050503d805f8114611f51576040519150601f19603f3d011682016040523d82523d5f602084013e611f56565b606091505b5050905080611f775760405162461bcd60e51b81526004016107be90612c1e565b50611fb1565b611fb16001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163387612654565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661204a576040515f90339086908381818185875af1925050503d805f811461201e576040519150601f19603f3d011682016040523d82523d5f602084013e612023565b606091505b50509050806120445760405162461bcd60e51b81526004016107be90612c1e565b5061207e565b61207e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163386612654565b60408051868152602081018690529081018a905233907f1dc8bb69df2b8e91fbdcbfcf93d951b3f0000f085a95fe3f7946d6161439245d9060600160405180910390a25050506120cd60015f55565b94509492505050565b6001600160a01b0383165f9081526005602052604090205481111561214c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107be565b6001600160a01b0383165f9081526005602052604081208054839290612173908490612b40565b90915550506001600160a01b0382165f908152600560205260408120805483929061219f908490612be2565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121eb91815260200190565b60405180910390a3505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061226a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b6122865760405162461bcd60e51b81526004016107be90612bf5565b5f83116122a55760405162461bcd60e51b81526004016107be90612b53565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161490505f5f6122e76105a6565b915091505f836122f757816122f9565b825b90505f846123075783612309565b825b90505f8211801561231957505f81115b61235c5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f60095461271061236d9190612b40565b612377908a612b81565b9050612384825f19612b98565b8111156123de5760405162461bcd60e51b815260206004820152602260248201527f416d6f756e74496e20746f6f206c6172676520666f722063616c63756c61746960448201526137b760f11b60648201526084016107be565b5f6123e98383612b81565b90505f826123f961271087612b81565b6124039190612be2565b905061240f8183612b98565b9b9a5050505050505050505050565b60025f540361244057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b6040516001600160a01b0384811660248301528381166044830152606482018390526124ad9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612877565b50505050565b5f815f036124c257505f919050565b600182600160801b81106124db5760409190911b9060801c5b6801000000000000000081106124f65760209190911b9060401c5b640100000000811061250d5760109190911b9060201c5b6201000081106125225760089190911b9060101c5b61010081106125365760049190911b9060081c5b601081106125495760029190911b9060041c5b6008811061255957600182901b91505b8192506001838561256a9190612b98565b6125749085612be2565b901c925060016125848486612b98565b61258e9085612be2565b901c9250600161259e8486612b98565b6125a89085612be2565b901c92505f6125b78486612b98565b9050838110156125c5578093505b505050919050565b8060045f8282546125de9190612be2565b90915550506001600160a01b0382165f908152600560205260408120805483929061260a908490612be2565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6040516001600160a01b0383811660248301526044820183905261268591859182169063a9059cbb9060640161247b565b505050565b5f5f8311801561269957505f82115b6126dc5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f6009546127106126ed9190612b40565b6126f79086612b81565b9050612704835f19612b98565b8111156127485760405162461bcd60e51b8152602060048201526012602482015271416d6f756e74496e20746f6f206c6172676560701b60448201526064016107be565b5f6127538483612b81565b90505f8261276361271088612b81565b61276d9190612be2565b90506127798183612b98565b979650505050505050565b6001600160a01b0382165f908152600560205260409020548111156127f65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107be565b6001600160a01b0382165f908152600560205260408120805483929061281d908490612b40565b925050819055508060045f8282546128359190612b40565b90915550506040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001612648565b5f5f60205f8451602086015f885af180612896576040513d5f823e3d81fd5b50505f513d915081156128ad5780600114156128ba565b6001600160a01b0384163b155b156124ad57604051635274afe760e01b81526001600160a01b03851660048201526024016107be565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461292e575f5ffd5b919050565b5f5f60408385031215612944575f5ffd5b61294d83612918565b946020939093013593505050565b5f6020828403121561296b575f5ffd5b5035919050565b5f5f5f60608486031215612984575f5ffd5b61298d84612918565b925061299b60208501612918565b929592945050506040919091013590565b5f5f604083850312156129bd575f5ffd5b823591506129cd60208401612918565b90509250929050565b5f602082840312156129e6575f5ffd5b6129ef82612918565b9392505050565b5f5f5f5f5f60a08688031215612a0a575f5ffd5b505083359560208501359550604085013594606081013594506080013592509050565b5f5f5f5f60808587031215612a40575f5ffd5b612a4985612918565b966020860135965060408601359560600135945092505050565b5f5f60408385031215612a74575f5ffd5b612a7d83612918565b91506129cd60208401612918565b5f5f5f5f60808587031215612a9e575f5ffd5b5050823594602084013594506040840135936060013592509050565b600181811c90821680612ace57607f821691505b602082108103612aec57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215612b02575f5ffd5b5051919050565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561078e5761078e612b2c565b6020808252601490820152730416d6f756e74496e206d757374206265203e20360641b604082015260600190565b808202811582820484141761078e5761078e612b2c565b5f82612bb257634e487b7160e01b5f52601260045260245ffd5b500490565b602080825260119082015270111958591b1a5b9948195e18d959591959607a1b604082015260600190565b8082018082111561078e5761078e612b2c565b6020808252600f908201526e24b73b30b634b2103a37b5b2b724b760891b604082015260600190565b60208082526016908201527513985d1a5d99481d1c985b9cd9995c8819985a5b195960521b60408201526060019056fea2646970667358221220b38772ad16e0124d53f36c8ac787bc531413db5c1f5a6b3c16560865361ada1a64736f6c634300081e00330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cefb699cf39c5462cad926920f869a252fde09ec" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x1c984ceecb7f8b98c12d692dfdd1993fa450c7b09052fba00130c05f9b9f56b4", + "transactionType": "CREATE", + "contractName": "Farming", + "contractAddress": "0xea4054041b1c65308a0d2f2d88dea0f107a0c85a", + "function": null, + "arguments": [ + "0xeD415A516A0F83e27314Ddc8fb12bB3fd572D260", + "0xcefB699Cf39C5462CaD926920f869a252FDE09EC" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "gas": "0x19355a", + "value": "0x0", + "input": "0x60c060405234801561000f575f5ffd5b5060405161171738038061171783398101604081905261002e91610182565b338061005457604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61005d81610118565b50600180556001600160a01b0382166100ab5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2102628103a37b5b2b760811b604482015260640161004b565b6001600160a01b0381166101015760405162461bcd60e51b815260206004820152601460248201527f496e76616c69642072657761726420746f6b656e000000000000000000000000604482015260640161004b565b6001600160a01b039182166080521660a0526101b3565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461017d575f5ffd5b919050565b5f5f60408385031215610193575f5ffd5b61019c83610167565b91506101aa60208401610167565b90509250929050565b60805160a0516115126102055f395f818161052d0152818161073e01528181610ae20152610c3001525f81816102f9015281816109d201528181610baf01528181610ea8015261106701526115125ff3fe6080604052600436106101c7575f3560e01c80638456cb59116100f2578063cb17d14f11610092578063e9fad8ee11610062578063e9fad8ee146104d4578063ebe2b12b146104e8578063f2fde38b146104fd578063f7c618c11461051c575f5ffd5b8063cb17d14f14610483578063cd3daf9d14610497578063db2e21bc146104ab578063df136d65146104bf575f5ffd5b80638da5cb5b116100cd5780638da5cb5b14610416578063a694fc3a14610432578063b187bd2614610451578063c8f33c911461046e575f5ffd5b80638456cb59146103b85780638980f11f146103cc5780638b876347146103eb575f5ffd5b80634e71d92d11610168578063715018a611610138578063715018a6146103675780637b0a47ee1461037b5780637e1a37861461039057806380faa57d146103a4575f5ffd5b80634e71d92d146102ab5780635c975abb146102bf5780635fcbd285146102e857806370a0823114610333575f5ffd5b80631c1f78eb116101a35780631c1f78eb1461024357806328662551146102575780632e1a7d4d146102785780633f4ba83a14610297575f5ffd5b80628cc262146101d25780630700037d1461020457806318160ddd1461022f575f5ffd5b366101ce57005b5f5ffd5b3480156101dd575f5ffd5b506101f16101ec3660046113e7565b61054f565b6040519081526020015b60405180910390f35b34801561020f575f5ffd5b506101f161021e3660046113e7565b60096020525f908152604090205481565b34801561023a575f5ffd5b506006546101f1565b34801561024e575f5ffd5b506101f16105e9565b348015610262575f5ffd5b50610276610271366004611407565b610630565b005b348015610283575f5ffd5b50610276610292366004611427565b610889565b3480156102a2575f5ffd5b50610276610a3c565b3480156102b6575f5ffd5b50610276610a4e565b3480156102ca575f5ffd5b505f54600160a01b900460ff165b60405190151581526020016101fb565b3480156102f3575f5ffd5b5061031b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101fb565b34801561033e575f5ffd5b506101f161034d3660046113e7565b6001600160a01b03165f9081526007602052604090205490565b348015610372575f5ffd5b50610276610b52565b348015610386575f5ffd5b506101f160025481565b34801561039b575f5ffd5b506101f1610b63565b3480156103af575f5ffd5b506101f1610b7f565b3480156103c3575f5ffd5b50610276610b95565b3480156103d7575f5ffd5b506102766103e636600461143e565b610ba5565b3480156103f6575f5ffd5b506101f16104053660046113e7565b60086020525f908152604090205481565b348015610421575f5ffd5b505f546001600160a01b031661031b565b34801561043d575f5ffd5b5061027661044c366004611427565b610d62565b34801561045c575f5ffd5b505f54600160a01b900460ff166102d8565b348015610479575f5ffd5b506101f160045481565b34801561048e575f5ffd5b506003546101f1565b3480156104a2575f5ffd5b506101f1610f02565b3480156104b6575f5ffd5b50610276610fc9565b3480156104ca575f5ffd5b506101f160055481565b3480156104df575f5ffd5b506102766110d5565b3480156104f3575f5ffd5b506101f160035481565b348015610508575f5ffd5b506102766105173660046113e7565b6110f5565b348015610527575f5ffd5b5061031b7f000000000000000000000000000000000000000000000000000000000000000081565b5f5f610559610f02565b6001600160a01b0384165f90815260086020526040812054919250818311156105be57670de0b6b3a764000061058f838561147a565b6001600160a01b0387165f908152600760205260409020546105b19190611493565b6105bb91906114aa565b90505b6001600160a01b0385165f908152600960205260409020546105e090826114c9565b95945050505050565b5f60035442106105f857505f90565b5f42600354610607919061147a565b9050670de0b6b3a7640000816002546106209190611493565b61062a91906114aa565b91505090565b61063861112f565b61064061115b565b610648611185565b5f610651610f02565b60055561065c610b7f565b6004556001600160a01b038116156106a2576106778161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f82116106ed5760405162461bcd60e51b815260206004820152601460248201527304475726174696f6e206d757374206265203e20360641b60448201526064015b60405180910390fd5b5f83116107315760405162461bcd60e51b81526020600482015260126024820152710526577617264206d757374206265203e20360741b60448201526064016106e4565b6107666001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866111af565b5f6003544210610794578261078385670de0b6b3a7640000611493565b61078d91906114aa565b90506107e3565b5f426003546107a3919061147a565b90505f600254826107b49190611493565b905084816107ca88670de0b6b3a7640000611493565b6107d491906114c9565b6107de91906114aa565b925050505b5f81116108285760405162461bcd60e51b8152602060048201526013602482015272526577617264207261746520746f6f206c6f7760681b60448201526064016106e4565b600281905542600481905561083e9084906114c9565b60035560408051858152602081018590527f6c07ee05dcf262f13abf9d87b846ee789d2f90fe991d495acd7d7fc109ee1f55910160405180910390a1505061088560018055565b5050565b61089161115b565b610899611185565b336108a2610f02565b6005556108ad610b7f565b6004556001600160a01b038116156108f3576108c88161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f82116109365760405162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b60448201526064016106e4565b335f9081526007602052604090205482111561098b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016106e4565b8160065f82825461099c919061147a565b9091555050335f90815260076020526040812080548492906109bf90849061147a565b909155506109f990506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338461121c565b60405182815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5906020015b60405180910390a250610a3960018055565b50565b610a4461112f565b610a4c611252565b565b610a5661115b565b610a5e611185565b33610a67610f02565b600555610a72610b7f565b6004556001600160a01b03811615610ab857610a8d8161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b335f908152600960205260409020548015610b4757335f81815260096020526040812055610b11907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908361121c565b60405181815233907fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e04869060200160405180910390a25b5050610a4c60018055565b610b5a61112f565b610a4c5f6112a6565b5f670de0b6b3a7640000600254610b7a91906114aa565b905090565b5f6003544210610b90575060035490565b504290565b610b9d61112f565b610a4c6112f5565b610bad61112f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610c2e5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265636f766572204c5020746f6b656e00000000000000000060448201526064016106e4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610caf5760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74207265636f7665722072657761726420746f6b656e000000000060448201526064016106e4565b306001600160a01b03831603610d075760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74207265636f76657220636f6e747261637420746f6b656e00000060448201526064016106e4565b610d1b6001600160a01b038316338361121c565b816001600160a01b03167f4590b594be6fdef6bd5e18792a2494ddf2156b618c7bbe48d13a92831208af0582604051610d5691815260200190565b60405180910390a25050565b610d6a61115b565b610d72611185565b33610d7b610f02565b600555610d86610b7f565b6004556001600160a01b03811615610dcc57610da18161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f8211610e0c5760405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b60448201526064016106e4565b600654610e1a905f1961147a565b821115610e615760405162461bcd60e51b8152602060048201526015602482015274546f74616c20737570706c79206f766572666c6f7760581b60448201526064016106e4565b8160065f828254610e7291906114c9565b9091555050335f9081526007602052604081208054849290610e959084906114c9565b90915550610ed090506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330856111af565b60405182815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d90602001610a27565b5f6006545f03610f13575060055490565b5f600454610f1f610b7f565b610f29919061147a565b9050805f03610f3a57505060055490565b6002541580610f565750600254610f52905f196114aa565b8111155b610fa25760405162461bcd60e51b815260206004820152601a60248201527f4f766572666c6f7720696e20726577617264506572546f6b656e00000000000060448201526064016106e4565b600654600254610fb29083611493565b610fbc91906114aa565b60055461062a91906114c9565b610fd1611185565b335f90815260076020526040902054806110255760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b60448201526064016106e4565b8060065f828254611036919061147a565b9091555050335f818152600760209081526040808320839055600982528083208390556008909152812055611096907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908361121c565b60405181815233907f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd96959060200160405180910390a250610a4c60018055565b335f908152600760205260409020546110ed90610889565b610a4c610a4e565b6110fd61112f565b6001600160a01b03811661112657604051631e4fbdf760e01b81525f60048201526024016106e4565b610a39816112a6565b5f546001600160a01b03163314610a4c5760405163118cdaa760e01b81523360048201526024016106e4565b5f54600160a01b900460ff1615610a4c5760405163d93c066560e01b815260040160405180910390fd5b6002600154036111a857604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b6040516001600160a01b0384811660248301528381166044830152606482018390526112169186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611337565b50505050565b6040516001600160a01b0383811660248301526044820183905261124d91859182169063a9059cbb906064016111e4565b505050565b61125a6113a3565b5f805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6112fd61115b565b5f805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586112893390565b5f5f60205f8451602086015f885af180611356576040513d5f823e3d81fd5b50505f513d9150811561136d57806001141561137a565b6001600160a01b0384163b155b1561121657604051635274afe760e01b81526001600160a01b03851660048201526024016106e4565b5f54600160a01b900460ff16610a4c57604051638dfc202b60e01b815260040160405180910390fd5b80356001600160a01b03811681146113e2575f5ffd5b919050565b5f602082840312156113f7575f5ffd5b611400826113cc565b9392505050565b5f5f60408385031215611418575f5ffd5b50508035926020909101359150565b5f60208284031215611437575f5ffd5b5035919050565b5f5f6040838503121561144f575f5ffd5b611458836113cc565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561148d5761148d611466565b92915050565b808202811582820484141761148d5761148d611466565b5f826114c457634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561148d5761148d61146656fea26469706673582212202b809426f6c135e8ee85814cc96bd824b6eef7af6592d09cc0eff3704ff809ca64736f6c634300081e0033000000000000000000000000ed415a516a0f83e27314ddc8fb12bb3fd572d260000000000000000000000000cefb699cf39c5462cad926920f869a252fde09ec", + "nonce": "0xf3", + "chainId": "0xb4c" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2040a84ffd7c08494a26084344995d83d3540c7b025db162078de4b4f8733474", + "transactionType": "CALL", + "contractName": "Kanari", + "contractAddress": "0xcefb699cf39c5462cad926920f869a252fde09ec", + "function": "approve(address,uint256)", + "arguments": [ + "0xEA4054041b1c65308a0D2F2d88DEa0f107A0c85A", + "6000000000000000000000000" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0xcefb699cf39c5462cad926920f869a252fde09ec", + "gas": "0xfa6a", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000ea4054041b1c65308a0d2f2d88dea0f107a0c85a00000000000000000000000000000000000000000004f68ca6d8cd91c6000000", + "nonce": "0xf4", + "chainId": "0xb4c" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x84f41da6d62f662afafb88e4a16c716943e26a895d5dfe249c8a02ff2b40f0d6", + "transactionType": "CALL", + "contractName": "Farming", + "contractAddress": "0xea4054041b1c65308a0d2f2d88dea0f107a0c85a", + "function": "fundRewards(uint256,uint256)", + "arguments": [ + "6000000000000000000000000", + "189216000" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0xea4054041b1c65308a0d2f2d88dea0f107a0c85a", + "gas": "0x2c1ee", + "value": "0x0", + "input": "0x2866255100000000000000000000000000000000000000000004f68ca6d8cd91c6000000000000000000000000000000000000000000000000000000000000000b473500", + "nonce": "0xf5", + "chainId": "0xb4c" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x108b43", + "logs": [ + { + "address": "0xcefb699cf39c5462cad926920f869a252fde09ec", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2" + ], + "data": "0x", + "blockHash": "0x90b1373a01cabe0e63acf31fab42c9cf2bbb4bc029c010e215573cb4d9d48542", + "blockNumber": "0xd2d7a", + "blockTimestamp": "0x68c5426a", + "transactionHash": "0x474eff26a1a6be13475adbd2374e25649560e0051ca2629ffbdecca46b1b18b6", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xcefb699cf39c5462cad926920f869a252fde09ec", + "topics": [ + "0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6", + "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2" + ], + "data": "0x", + "blockHash": "0x90b1373a01cabe0e63acf31fab42c9cf2bbb4bc029c010e215573cb4d9d48542", + "blockNumber": "0xd2d7a", + "blockTimestamp": "0x68c5426a", + "transactionHash": "0x474eff26a1a6be13475adbd2374e25649560e0051ca2629ffbdecca46b1b18b6", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + } + ], + "logsBloom": "0x00800000000000000000000040000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000000000000000020000000000000000000800000000008000000000000000000000400000000020000000000000000000000000000000000000000000000000000000000000000020000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000002000200000000000000000000000", + "type": "0x2", + "transactionHash": "0x474eff26a1a6be13475adbd2374e25649560e0051ca2629ffbdecca46b1b18b6", + "transactionIndex": "0x0", + "blockHash": "0x90b1373a01cabe0e63acf31fab42c9cf2bbb4bc029c010e215573cb4d9d48542", + "blockNumber": "0xd2d7a", + "gasUsed": "0x108b43", + "effectiveGasPrice": "0x8", + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": null, + "contractAddress": "0xcefb699cf39c5462cad926920f869a252fde09ec" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x10d15", + "logs": [ + { + "address": "0xcefb699cf39c5462cad926920f869a252fde09ec", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2" + ], + "data": "0x00000000000000000000000000000000000000000004f68ca6d8cd91c6000000", + "blockHash": "0xee351851e1d5efa206211f9624790cdb5964dca99cd8b422f0f739539310344e", + "blockNumber": "0xd2d7b", + "blockTimestamp": "0x68c5426f", + "transactionHash": "0xe958565f3921682a04df81b63024400b11016bf243b6a05098fbeee091c13c4c", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000020000000000000000000000000000000000000000000000000000000000000000020000000400000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000002000200000000000000000000000", + "type": "0x2", + "transactionHash": "0xe958565f3921682a04df81b63024400b11016bf243b6a05098fbeee091c13c4c", + "transactionIndex": "0x0", + "blockHash": "0xee351851e1d5efa206211f9624790cdb5964dca99cd8b422f0f739539310344e", + "blockNumber": "0xd2d7b", + "gasUsed": "0x10d15", + "effectiveGasPrice": "0x8", + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0xcefb699cf39c5462cad926920f869a252fde09ec", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x37f268", + "logs": [ + { + "address": "0xb24361e65059537c684014fc9aa903d60b3290dc", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2" + ], + "data": "0x", + "blockHash": "0x6a6473004749e7ac04f5a55f7917f51d2da4fb6f3c767a8a56f6e938c9cad4f2", + "blockNumber": "0xd2d7e", + "blockTimestamp": "0x68c5427e", + "transactionHash": "0xc8df20bb5fbd041567aa8e402fdbc079c5a01136c106efb531e35c70dac2e1d4", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000040000000000000000000000000800000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000004000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000100000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000002000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc8df20bb5fbd041567aa8e402fdbc079c5a01136c106efb531e35c70dac2e1d4", + "transactionIndex": "0x0", + "blockHash": "0x6a6473004749e7ac04f5a55f7917f51d2da4fb6f3c767a8a56f6e938c9cad4f2", + "blockNumber": "0xd2d7e", + "gasUsed": "0x37f268", + "effectiveGasPrice": "0x8", + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": null, + "contractAddress": "0xb24361e65059537c684014fc9aa903d60b3290dc" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x285b8b", + "logs": [ + { + "address": "0xed415a516a0f83e27314ddc8fb12bb3fd572d260", + "topics": [ + "0xaaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3", + "0x000000000000000000000000b24361e65059537c684014fc9aa903d60b3290dc", + "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2" + ], + "data": "0x", + "blockHash": "0xeb64c1f720d9c87fdaee0efc6394a8ae9391f0053cef77e319c4db89d9dcbac8", + "blockNumber": "0xd2d80", + "blockTimestamp": "0x68c54288", + "transactionHash": "0xf6d298f5fd70d6aeb7ca5b061b615abba2b2709f66f2d007c49c93d74b109cac", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xed415a516a0f83e27314ddc8fb12bb3fd572d260", + "topics": [ + "0xd2fcc8c801d1c6ec6267fa3420cc8428c11a8c06f0d110a700fe9ff1e7317360" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0xeb64c1f720d9c87fdaee0efc6394a8ae9391f0053cef77e319c4db89d9dcbac8", + "blockNumber": "0xd2d80", + "blockTimestamp": "0x68c54288", + "transactionHash": "0xf6d298f5fd70d6aeb7ca5b061b615abba2b2709f66f2d007c49c93d74b109cac", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xed415a516a0f83e27314ddc8fb12bb3fd572d260", + "topics": [ + "0x8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c76" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000001e", + "blockHash": "0xeb64c1f720d9c87fdaee0efc6394a8ae9391f0053cef77e319c4db89d9dcbac8", + "blockNumber": "0xd2d80", + "blockTimestamp": "0x68c54288", + "transactionHash": "0xf6d298f5fd70d6aeb7ca5b061b615abba2b2709f66f2d007c49c93d74b109cac", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xb24361e65059537c684014fc9aa903d60b3290dc", + "topics": [ + "0xebbbe9dc3a19d2f959ac76ac0372b4983cdfb945f5d6aef4873c36fabb2ba8aa", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000cefb699cf39c5462cad926920f869a252fde09ec" + ], + "data": "0x000000000000000000000000ed415a516a0f83e27314ddc8fb12bb3fd572d2600000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xeb64c1f720d9c87fdaee0efc6394a8ae9391f0053cef77e319c4db89d9dcbac8", + "blockNumber": "0xd2d80", + "blockTimestamp": "0x68c54288", + "transactionHash": "0xf6d298f5fd70d6aeb7ca5b061b615abba2b2709f66f2d007c49c93d74b109cac", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x000000000100000000000000400000000000000000000000000000000000000008000000000000000000000000000000003000000000000000000000000000000000000000000000800006000000000000000000000000000000000000000000022000a0020000004000000002000800000000400000040200000000000000000000000000000000000000000000000000000000400000000000000100000000000000000020000004000000000000000000000000000000000000000000000000000000000000001000000800001000000000000000000800000000000020000000000000000000000000000000000000002000400000000000000000000000", + "type": "0x2", + "transactionHash": "0xf6d298f5fd70d6aeb7ca5b061b615abba2b2709f66f2d007c49c93d74b109cac", + "transactionIndex": "0x0", + "blockHash": "0xeb64c1f720d9c87fdaee0efc6394a8ae9391f0053cef77e319c4db89d9dcbac8", + "blockNumber": "0xd2d80", + "gasUsed": "0x285b8b", + "effectiveGasPrice": "0x8", + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0xb24361e65059537c684014fc9aa903d60b3290dc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x13641e", + "logs": [ + { + "address": "0xea4054041b1c65308a0d2f2d88dea0f107a0c85a", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2" + ], + "data": "0x", + "blockHash": "0x100c0c017740359a057487c7621e738e3d05a9fd75cd9a2061ac67c483d85b11", + "blockNumber": "0xd2d82", + "blockTimestamp": "0x68c54292", + "transactionHash": "0x1c984ceecb7f8b98c12d692dfdd1993fa450c7b09052fba00130c05f9b9f56b4", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000040000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000010000000000000000000000000020000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000200000000000000000000000002000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x1c984ceecb7f8b98c12d692dfdd1993fa450c7b09052fba00130c05f9b9f56b4", + "transactionIndex": "0x0", + "blockHash": "0x100c0c017740359a057487c7621e738e3d05a9fd75cd9a2061ac67c483d85b11", + "blockNumber": "0xd2d82", + "gasUsed": "0x13641e", + "effectiveGasPrice": "0x8", + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": null, + "contractAddress": "0xea4054041b1c65308a0d2f2d88dea0f107a0c85a" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb54d", + "logs": [ + { + "address": "0xcefb699cf39c5462cad926920f869a252fde09ec", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "0x000000000000000000000000ea4054041b1c65308a0d2f2d88dea0f107a0c85a" + ], + "data": "0x00000000000000000000000000000000000000000004f68ca6d8cd91c6000000", + "blockHash": "0x05439029e8d621f62a0e4d679bac34deb4275fc16616a1f0c756cef4e20d0f58", + "blockNumber": "0xd2d84", + "blockTimestamp": "0x68c5429c", + "transactionHash": "0x2040a84ffd7c08494a26084344995d83d3540c7b025db162078de4b4f8733474", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000020000000000000000000000000000000000000000008000000000000020000000020000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000002000200000000000000000000000", + "type": "0x2", + "transactionHash": "0x2040a84ffd7c08494a26084344995d83d3540c7b025db162078de4b4f8733474", + "transactionIndex": "0x0", + "blockHash": "0x05439029e8d621f62a0e4d679bac34deb4275fc16616a1f0c756cef4e20d0f58", + "blockNumber": "0xd2d84", + "gasUsed": "0xb54d", + "effectiveGasPrice": "0x8", + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0xcefb699cf39c5462cad926920f869a252fde09ec", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1ff15", + "logs": [ + { + "address": "0xcefb699cf39c5462cad926920f869a252fde09ec", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "0x000000000000000000000000ea4054041b1c65308a0d2f2d88dea0f107a0c85a" + ], + "data": "0x00000000000000000000000000000000000000000004f68ca6d8cd91c6000000", + "blockHash": "0x8b7520ceb44de5341be29d4fe56b10279ce20a28f0980e9a08aa7dc3f7cfa598", + "blockNumber": "0xd2d85", + "blockTimestamp": "0x68c542a1", + "transactionHash": "0x84f41da6d62f662afafb88e4a16c716943e26a895d5dfe249c8a02ff2b40f0d6", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xea4054041b1c65308a0d2f2d88dea0f107a0c85a", + "topics": [ + "0x6c07ee05dcf262f13abf9d87b846ee789d2f90fe991d495acd7d7fc109ee1f55" + ], + "data": "0x00000000000000000000000000000000000000000004f68ca6d8cd91c6000000000000000000000000000000000000000000000000000000000000000b473500", + "blockHash": "0x8b7520ceb44de5341be29d4fe56b10279ce20a28f0980e9a08aa7dc3f7cfa598", + "blockNumber": "0xd2d85", + "blockTimestamp": "0x68c542a1", + "transactionHash": "0x84f41da6d62f662afafb88e4a16c716943e26a895d5dfe249c8a02ff2b40f0d6", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000200000000000000000000000000000000000000000000000000000000000000000001000000000000010000000000000000020000000000000000000000000000000000000010008000000000000000000000020000000400000000000000000000000000100000000000000000000000002000000000001000000000000000000000000000000000100000000000000000000200000000000000000000000002000200000000000000000000000", + "type": "0x2", + "transactionHash": "0x84f41da6d62f662afafb88e4a16c716943e26a895d5dfe249c8a02ff2b40f0d6", + "transactionIndex": "0x0", + "blockHash": "0x8b7520ceb44de5341be29d4fe56b10279ce20a28f0980e9a08aa7dc3f7cfa598", + "blockNumber": "0xd2d85", + "gasUsed": "0x1ff15", + "effectiveGasPrice": "0x8", + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0xea4054041b1c65308a0d2f2d88dea0f107a0c85a", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1757758113, + "chain": 2892, + "commit": "37e4ae0" +} \ No newline at end of file diff --git a/broadcast/DeployDEX_v2.s.sol/2892/run-latest.json b/broadcast/DeployDEX_v2.s.sol/2892/run-latest.json index e3e0a6d..12142b3 100644 --- a/broadcast/DeployDEX_v2.s.sol/2892/run-latest.json +++ b/broadcast/DeployDEX_v2.s.sol/2892/run-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0x1bcc52b2017dbf9e81cf84a73140a8cd8bf561cbb09561077203ba518cf2edc3", + "hash": "0x474eff26a1a6be13475adbd2374e25649560e0051ca2629ffbdecca46b1b18b6", "transactionType": "CREATE", "contractName": "Kanari", - "contractAddress": "0x022f8de9adf2b8aea32c715f79b5f05a611625ec", + "contractAddress": "0xcefb699cf39c5462cad926920f869a252fde09ec", "function": null, "arguments": null, "transaction": { @@ -12,17 +12,17 @@ "gas": "0x1581d7", "value": "0x0", "input": "0x60806040526064600655348015610014575f5ffd5b50336040518060400160405280600c81526020016b25b0b730b934902a37b5b2b760a11b815250604051806040016040528060068152602001654b414e41524960d01b81525081600390816100699190610219565b5060046100768282610219565b5050506001600160a01b0381166100a657604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100af81610130565b506005805460ff60a01b1916600960a11b179055335f818152600760209081526040808320805460ff19908116600190811790925530855282852080548216831790558585526008909352818420805490931617909155517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a26102d3565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806101a957607f821691505b6020821081036101c757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561021457805f5260205f20601f840160051c810160208510156101f25750805b601f840160051c820191505b81811015610211575f81556001016101fe565b50505b505050565b81516001600160401b0381111561023257610232610181565b610246816102408454610195565b846101cd565b6020601f821160018114610278575f83156102615750848201515b5f19600385901b1c1916600184901b178455610211565b5f84815260208120601f198516915b828110156102a75787850151825560209485019460019092019101610287565b50848210156102c457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b610f8c806102e05f395ff3fe608060405234801561000f575f5ffd5b506004361061016d575f3560e01c8063715018a6116100d9578063bed9985011610093578063dd62ed3e1161006e578063dd62ed3e1461031e578063e1f1c4a714610356578063f2fde38b1461035f578063f46eccc414610372575f5ffd5b8063bed99850146102f9578063d80cbc8c14610302578063d89135cd14610315575f5ffd5b8063715018a6146102a05780638da5cb5b146102a85780639358928b146102c357806395d89b41146102cb578063983b2d56146102d3578063a9059cbb146102e6575f5ffd5b80633092afd51161012a5780633092afd51461020e578063313ce5671461022157806332cb6b0c1461024057806340c10f191461025257806342966c681461026557806370a0823114610278575f5ffd5b806306fdde0314610171578063095ea7b31461018f5780630e88dad1146101b257806318160ddd146101d4578063189d165e146101e657806323b872dd146101fb575b5f5ffd5b610179610394565b6040516101869190610d62565b60405180910390f35b6101a261019d366004610db2565b610424565b6040519015158152602001610186565b6101a26101c0366004610dda565b60076020525f908152604090205460ff1681565b6002545b604051908152602001610186565b6101f96101f4366004610df3565b61043d565b005b6101a2610209366004610e0a565b6104cd565b6101f961021c366004610dda565b6104f0565b600554600160a01b900460ff1660405160ff9091168152602001610186565b6101d86a09195731e2ce35eb00000081565b6101f9610260366004610db2565b610596565b6101f9610273366004610df3565b61065d565b6101d8610286366004610dda565b6001600160a01b03165f9081526020819052604090205490565b6101f96106ad565b6005546040516001600160a01b039091168152602001610186565b6101d86106c0565b6101796106dc565b6101f96102e1366004610dda565b6106eb565b6101a26102f4366004610db2565b6107e8565b6101d860065481565b6101f9610310366004610e44565b6107f5565b6101d860095481565b6101d861032c366004610e7d565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6101d861271081565b6101f961036d366004610dda565b61085b565b6101a2610380366004610dda565b60086020525f908152604090205460ff1681565b6060600380546103a390610eae565b80601f01602080910402602001604051908101604052809291908181526020018280546103cf90610eae565b801561041a5780601f106103f15761010080835404028352916020019161041a565b820191905f5260205f20905b8154815290600101906020018083116103fd57829003601f168201915b5050505050905090565b5f33610431818585610898565b60019150505b92915050565b6104456108aa565b6103e88111156104915760405162461bcd60e51b8152602060048201526012602482015271084eae4dc40e4c2e8ca40e8dede40d0d2ced60731b60448201526064015b60405180910390fd5b60068190556040518181527f47863b595116a31383855975a4078913dce7881e717b75a06ced2db5d534ff78906020015b60405180910390a150565b5f336104da8582856108d7565b6104e5858585610953565b506001949350505050565b6104f86108aa565b6001600160a01b0381165f9081526008602052604090205460ff1661054e5760405162461bcd60e51b815260206004820152600c60248201526b2737ba10309036b4b73a32b960a11b6044820152606401610488565b6001600160a01b0381165f81815260086020526040808220805460ff19169055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a250565b6001600160a01b0382166105ec5760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74206d696e7420746f207a65726f206164647265737300000000006044820152606401610488565b6a09195731e2ce35eb0000008161060260025490565b61060c9190610efa565b111561064f5760405162461bcd60e51b815260206004820152601260248201527145786365656473206d617820737570706c7960701b6044820152606401610488565b61065982826109b0565b5050565b61066733826109e4565b8060095f8282546106789190610efa565b90915550506040518181527f6ef4855b666dcc7884561072e4358b28dfe01feb1b7f4dcebc00e62d50394ac7906020016104c2565b6106b56108aa565b6106be5f610a18565b565b5f6009546106cd60025490565b6106d79190610f0d565b905090565b6060600480546103a390610eae565b6106f36108aa565b6001600160a01b0381166107425760405162461bcd60e51b8152602060048201526016602482015275496e76616c6964206d696e746572206164647265737360501b6044820152606401610488565b6001600160a01b0381165f9081526008602052604090205460ff161561079d5760405162461bcd60e51b815260206004820152601060248201526f20b63932b0b23c90309036b4b73a32b960811b6044820152606401610488565b6001600160a01b0381165f81815260086020526040808220805460ff19166001179055517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a250565b5f33610431818585610953565b6107fd6108aa565b6001600160a01b0382165f81815260076020908152604091829020805460ff191685151590811790915591519182527fd9403aab61f2051cf551fc2209c9aead3db9f0cb7c4ad96db0909a09c0edf695910160405180910390a25050565b6108636108aa565b6001600160a01b03811661088c57604051631e4fbdf760e01b81525f6004820152602401610488565b61089581610a18565b50565b6108a58383836001610a69565b505050565b6005546001600160a01b031633146106be5760405163118cdaa760e01b8152336004820152602401610488565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561094d578181101561093f57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610488565b61094d84848484035f610a69565b50505050565b6001600160a01b03831661097c57604051634b637e8f60e11b81525f6004820152602401610488565b6001600160a01b0382166109a55760405163ec442f0560e01b81525f6004820152602401610488565b6108a5838383610b3b565b6001600160a01b0382166109d95760405163ec442f0560e01b81525f6004820152602401610488565b6106595f8383610b3b565b6001600160a01b038216610a0d57604051634b637e8f60e11b81525f6004820152602401610488565b610659825f83610b3b565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038416610a925760405163e602df0560e01b81525f6004820152602401610488565b6001600160a01b038316610abb57604051634a1406b160e11b81525f6004820152602401610488565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561094d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b2d91815260200190565b60405180910390a350505050565b6001600160a01b03831615801590610b5b57506001600160a01b03821615155b15610bdd575f610b6b8483610be8565b90508015610bdb57610b7e845f83610c3c565b8060095f828254610b8f9190610efa565b90915550506040518181527f6ef4855b666dcc7884561072e4358b28dfe01feb1b7f4dcebc00e62d50394ac79060200160405180910390a161094d8484610bd68486610f0d565b610c3c565b505b6108a5838383610c3c565b6001600160a01b0382165f9081526007602052604081205460ff1680610c0e5750600654155b15610c1a57505f610437565b61271060065483610c2b9190610f20565b610c359190610f37565b9392505050565b6001600160a01b038316610c66578060025f828254610c5b9190610efa565b90915550610cd69050565b6001600160a01b0383165f9081526020819052604090205481811015610cb85760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610488565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610cf257600280548290039055610d10565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d5591815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610dad575f5ffd5b919050565b5f5f60408385031215610dc3575f5ffd5b610dcc83610d97565b946020939093013593505050565b5f60208284031215610dea575f5ffd5b610c3582610d97565b5f60208284031215610e03575f5ffd5b5035919050565b5f5f5f60608486031215610e1c575f5ffd5b610e2584610d97565b9250610e3360208501610d97565b929592945050506040919091013590565b5f5f60408385031215610e55575f5ffd5b610e5e83610d97565b915060208301358015158114610e72575f5ffd5b809150509250929050565b5f5f60408385031215610e8e575f5ffd5b610e9783610d97565b9150610ea560208401610d97565b90509250929050565b600181811c90821680610ec257607f821691505b602082108103610ee057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561043757610437610ee6565b8181038181111561043757610437610ee6565b808202811582820484141761043757610437610ee6565b5f82610f5157634e487b7160e01b5f52601260045260245ffd5b50049056fea264697066735822122011417a150ea1f1515136e56e4d879b927b7f6b17a40a2f39a4454712d8346d2b64736f6c634300081e0033", - "nonce": "0xdf", + "nonce": "0xef", "chainId": "0xb4c" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x56cfc2b786fdc7192819f1c67efe17eb7a88a51701f82c8da2fd0df9e36011f3", + "hash": "0xe958565f3921682a04df81b63024400b11016bf243b6a05098fbeee091c13c4c", "transactionType": "CALL", "contractName": "Kanari", - "contractAddress": "0x022f8de9adf2b8aea32c715f79b5f05a611625ec", + "contractAddress": "0xcefb699cf39c5462cad926920f869a252fde09ec", "function": "mint(address,uint256)", "arguments": [ "0xC88C539aa6f67daeDaeA7aff75FE1F8848d6CeC2", @@ -30,21 +30,21 @@ ], "transaction": { "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", - "to": "0x022f8de9adf2b8aea32c715f79b5f05a611625ec", + "to": "0xcefb699cf39c5462cad926920f869a252fde09ec", "gas": "0x173ab", "value": "0x0", "input": "0x40c10f19000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec200000000000000000000000000000000000000000004f68ca6d8cd91c6000000", - "nonce": "0xe0", + "nonce": "0xf0", "chainId": "0xb4c" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x898d5ff919a9301c9a3fe1ccfbda10104ee496b3bd603e7392a44d70b2665e39", + "hash": "0xc8df20bb5fbd041567aa8e402fdbc079c5a01136c106efb531e35c70dac2e1d4", "transactionType": "CREATE", "contractName": "DEXFactory", - "contractAddress": "0xad255cc5437aca030b1f8d41054cc2bfeabfb3a9", + "contractAddress": "0xb24361e65059537c684014fc9aa903d60b3290dc", "function": null, "arguments": [ "0xC88C539aa6f67daeDaeA7aff75FE1F8848d6CeC2" @@ -54,88 +54,88 @@ "gas": "0x48bb20", "value": "0x0", "input": "0x6080604052600a600555601e600655348015610019575f5ffd5b5060405161413138038061413183398101604081905261003891610132565b338061005e57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610067816100e3565b506001600160a01b0381166100be5760405162461bcd60e51b815260206004820152601560248201527f496e76616c69642066656520726563697069656e7400000000000000000000006044820152606401610055565b600480546001600160a01b0319166001600160a01b039290921691909117905561015f565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610142575f5ffd5b81516001600160a01b0381168114610158575f5ffd5b9392505050565b613fc58061016c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610111575f3560e01c8063a8c6262a1161009e578063d88ff1f41161006e578063d88ff1f414610276578063e34336151461028b578063e74b981b1461029e578063efde4e64146102b1578063f2fde38b146102b9575f5ffd5b8063a8c6262a14610214578063b1aecc8e14610227578063b9bdb4ef1461025a578063bcae25a41461026d575f5ffd5b8063531aa03e116100e4578063531aa03e146101845780635b16ebb7146101b75780636ce0c4b5146101e9578063715018a6146101fc5780638da5cb5b14610204575f5ffd5b806307188087146101155780631c29415f1461012a57806341d1de97146101465780634690484014610171575b5f5ffd5b610128610123366004610db5565b6102cc565b005b61013360055481565b6040519081526020015b60405180910390f35b610159610154366004610dec565b6103cf565b6040516001600160a01b03909116815260200161013d565b600454610159906001600160a01b031681565b610159610192366004610db5565b600160209081525f92835260408084209091529082529020546001600160a01b031681565b6101d96101c5366004610e03565b60036020525f908152604090205460ff1681565b604051901515815260200161013d565b6101596101f7366004610dec565b6103f7565b61012861046d565b5f546001600160a01b0316610159565b610128610222366004610e25565b61047f565b61023a610235366004610e03565b6105da565b604080516001600160a01b0393841681529290911660208301520161013d565b610128610268366004610e57565b610707565b61013360065481565b61027e6107db565b60405161013d9190610e77565b610159610299366004610db5565b61083b565b6101286102ac366004610e03565b610c30565b600254610133565b6101286102c7366004610e03565b610ccf565b6102d4610d0c565b6001600160a01b0382166103035760405162461bcd60e51b81526004016102fa90610ec2565b60405180910390fd5b6001600160a01b0382165f9081526003602052604090205460ff1661033a5760405162461bcd60e51b81526004016102fa90610ee8565b60405163e74b981b60e01b81526001600160a01b03828116600483015283919082169063e74b981b906024015f604051808303815f87803b15801561037d575f5ffd5b505af115801561038f573d5f5f3e3d5ffd5b50506040516001600160a01b038086169350861691507f08df8ba9b5db9091d74a4a3f75f9c011dad9a006cf9b9366eb34a942d0edf6ad905f90a3505050565b600281815481106103de575f80fd5b5f918252602090912001546001600160a01b0316905081565b6002545f9082106104405760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b60448201526064016102fa565b6002828154811061045357610453610f12565b5f918252602090912001546001600160a01b031692915050565b610475610d0c565b61047d610d38565b565b610487610d0c565b6001600160a01b0383166104ad5760405162461bcd60e51b81526004016102fa90610ec2565b6001600160a01b0383165f9081526003602052604090205460ff166104e45760405162461bcd60e51b81526004016102fa90610ee8565b604051630ec4331760e01b81526004810183905283906001600160a01b03821690630ec43317906024015f604051808303815f87803b158015610525575f5ffd5b505af1158015610537573d5f5f3e3d5ffd5b50506040516339613db160e11b8152600481018590526001600160a01b03841692506372c27b6291506024015f604051808303815f87803b15801561057a575f5ffd5b505af115801561058c573d5f5f3e3d5ffd5b505060408051868152602081018690526001600160a01b03881693507fda6e21b7e37fa72509db45fd6c98a2e7261a7bdf77b485d89aecc4a9407d906f92500160405180910390a250505050565b5f806001600160a01b0383166106025760405162461bcd60e51b81526004016102fa90610ec2565b6001600160a01b0383165f9081526003602052604090205460ff166106395760405162461bcd60e51b81526004016102fa90610ee8565b5f839050806001600160a01b0316630fc63d106040518163ffffffff1660e01b8152600401602060405180830381865afa158015610679573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069d9190610f26565b9250806001600160a01b0316635f64b55b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ff9190610f26565b915050915091565b61070f610d0c565b60648211156107535760405162461bcd60e51b815260206004820152601060248201526f088caec40cccaca40e8dede40d0d2ced60831b60448201526064016102fa565b6101f48111156107945760405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b60448201526064016102fa565b6005829055600681905560408051838152602081018390527fd31db2d23fe42d625fd61189088b6ca9e19f1d03ed676d9480fee9705dfca300910160405180910390a15050565b6060600280548060200260200160405190810160405280929190818152602001828054801561083157602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610813575b5050505050905090565b5f816001600160a01b0316836001600160a01b0316036108905760405162461bcd60e51b815260206004820152601060248201526f4964656e746963616c20746f6b656e7360801b60448201526064016102fa565b6001600160a01b0383161515806108af57506001600160a01b03821615155b6108fb5760405162461bcd60e51b815260206004820152601a60248201527f426f746820746f6b656e732063616e6e6f74206265207a65726f00000000000060448201526064016102fa565b5f5f836001600160a01b0316856001600160a01b03161061091d578385610920565b84845b6001600160a01b038083165f908152600160209081526040808320848616845290915290205492945090925016156109905760405162461bcd60e51b8152602060048201526013602482015272506f6f6c20616c72656164792065786973747360681b60448201526064016102fa565b5f6001600160a01b03831615806109ae57506001600160a01b038216155b156109fc575f83836040516109c290610d94565b6001600160a01b039283168152911660208201526040016040518091039082f09050801580156109f4573d5f5f3e3d5ffd5b509050610a3e565b8282604051610a0a90610d94565b6001600160a01b03928316815291166020820152604001604051809103905ff080158015610a3a573d5f5f3e3d5ffd5b5090505b6004805460405163e74b981b60e01b81526001600160a01b0391821692810192909252919450849182169063e74b981b906024015f604051808303815f87803b158015610a89575f5ffd5b505af1158015610a9b573d5f5f3e3d5ffd5b5050600554604051630ec4331760e01b815260048101919091526001600160a01b0384169250630ec4331791506024015f604051808303815f87803b158015610ae2575f5ffd5b505af1158015610af4573d5f5f3e3d5ffd5b50506006546040516339613db160e11b815260048101919091526001600160a01b03841692506372c27b6291506024015f604051808303815f87803b158015610b3b575f5ffd5b505af1158015610b4d573d5f5f3e3d5ffd5b505050506001600160a01b038381165f8181526001602081815260408084208887168086529083528185208054978c166001600160a01b03199889168117909155848452828620878752845282862080548916821790556002805480870182557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805490991682179098558086526003845294829020805460ff19169094179093559454855193845290830152927febbbe9dc3a19d2f959ac76ac0372b4983cdfb945f5d6aef4873c36fabb2ba8aa910160405180910390a350505092915050565b610c38610d0c565b6001600160a01b038116610c865760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a5908199959481c9958da5c1a595b9d605a1b60448201526064016102fa565b600480546001600160a01b0319166001600160a01b0383169081179091556040517f7a7b5a0a132f9e0581eb8527f66eae9ee89c2a3e79d4ac7e41a1f1f4d48a7fc2905f90a250565b610cd7610d0c565b6001600160a01b038116610d0057604051631e4fbdf760e01b81525f60048201526024016102fa565b610d0981610d45565b50565b5f546001600160a01b0316331461047d5760405163118cdaa760e01b81523360048201526024016102fa565b610d40610d0c565b61047d5f5b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61304e80610f4283390190565b6001600160a01b0381168114610d09575f5ffd5b5f5f60408385031215610dc6575f5ffd5b8235610dd181610da1565b91506020830135610de181610da1565b809150509250929050565b5f60208284031215610dfc575f5ffd5b5035919050565b5f60208284031215610e13575f5ffd5b8135610e1e81610da1565b9392505050565b5f5f5f60608486031215610e37575f5ffd5b8335610e4281610da1565b95602085013595506040909401359392505050565b5f5f60408385031215610e68575f5ffd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015610eb75783516001600160a01b0316835260209384019390920191600101610e90565b509095945050505050565b6020808252600c908201526b125b9d985b1a59081c1bdbdb60a21b604082015260600190565b60208082526010908201526f139bdd0818481d985b1a59081c1bdbdb60821b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610f36575f5ffd5b8151610e1e81610da156fe610100604052600c60c09081526b20a6a6902628102a37b5b2b760a11b60e05260019061002c90826101d1565b506040805180820190915260068152650414d4d2d4c560d41b602082015260029061005790826101d1565b506003805460ff19166012179055601e600955600a805560405161304e3881900390819083398101604081905261008d916102a6565b60015f556001600160a01b0382161580156100af57506001600160a01b038116155b156101005760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e617469766500000000604482015260640160405180910390fd5b6001600160a01b039182166080521660a05260078054336001600160a01b031991821681179092556008805490911690911790556102d7565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061016157607f821691505b60208210810361017f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101cc57805f5260205f20601f840160051c810160208510156101aa5750805b601f840160051c820191505b818110156101c9575f81556001016101b6565b50505b505050565b81516001600160401b038111156101ea576101ea610139565b6101fe816101f8845461014d565b84610185565b6020601f821160018114610230575f83156102195750848201515b5f19600385901b1c1916600184901b1784556101c9565b5f84815260208120601f198516915b8281101561025f578785015182556020948501946001909201910161023f565b508482101561027c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b80516001600160a01b03811681146102a1575f5ffd5b919050565b5f5f604083850312156102b7575f5ffd5b6102c08361028b565b91506102ce6020840161028b565b90509250929050565b60805160a051612c846103ca5f395f818161036d01528181610670015281816106aa01528181610ccb01528181610e0c01528181610e4601528181610f0e01528181610ff5015281816110270152818161164901528181611a9201528181611cba01528181611fbb01528181612057015261223601525f818161023d015281816105b2015281816105ec01528181610c9901528181610d4501528181610d7f01528181610ed301528181610f9101528181610fc30152818161160e0152818161169c01528181611a6c01528181611c7f01528181611eee01528181611f8a015281816121fb01526122a80152612c845ff3fe60806040526004361061017e575f3560e01c80635f64b55b116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610479578063e74b981b146104bd578063f140a35a146104dc578063f88bf15a146104fb575f5ffd5b8063a9059cbb14610428578063ad3b1b4714610447578063c9ec924814610466575f5ffd5b80635f64b55b1461035c57806370a082311461038f57806372c27b62146103c35780638da5cb5b146103e257806395d89b4114610401578063a360501c14610415575f5ffd5b806323b872dd11610138578063313ce56711610113578063313ce567146102de578063469048401461030957806355fb1d46146103285780635b0803611461033d575f5ffd5b806323b872dd14610295578063249d39e9146102b457806324a9d853146102c9575f5ffd5b806306fdde03146101895780630902f1ac146101b3578063095ea7b3146101dc5780630ec433171461020b5780630fc63d101461022c57806318160ddd14610277575f5ffd5b3661018557005b5f5ffd5b348015610194575f5ffd5b5061019d61051a565b6040516101aa91906128e3565b60405180910390f35b3480156101be575f5ffd5b506101c76105a6565b604080519283526020830191909152016101aa565b3480156101e7575f5ffd5b506101fb6101f6366004612933565b610728565b60405190151581526020016101aa565b348015610216575f5ffd5b5061022a61022536600461295b565b610794565b005b348015610237575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101aa565b348015610282575f5ffd5b506004545b6040519081526020016101aa565b3480156102a0575f5ffd5b506101fb6102af366004612972565b610898565b3480156102bf575f5ffd5b5061028761271081565b3480156102d4575f5ffd5b5061028760095481565b3480156102e9575f5ffd5b506003546102f79060ff1681565b60405160ff90911681526020016101aa565b348015610314575f5ffd5b5060085461025f906001600160a01b031681565b348015610333575f5ffd5b50610287600a5481565b348015610348575f5ffd5b506102876103573660046129ac565b610968565b348015610367575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a575f5ffd5b506102876103a93660046129d6565b6001600160a01b03165f9081526005602052604090205490565b3480156103ce575f5ffd5b5061022a6103dd36600461295b565b610b18565b3480156103ed575f5ffd5b5060075461025f906001600160a01b031681565b34801561040c575f5ffd5b5061019d610c09565b6102876104233660046129f6565b610c16565b348015610433575f5ffd5b506101fb610442366004612933565b6113b5565b348015610452575f5ffd5b5061022a610461366004612933565b6113ca565b610287610474366004612a2d565b61159d565b348015610484575f5ffd5b50610287610493366004612a63565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156104c8575f5ffd5b5061022a6104d73660046129d6565b611bb3565b3480156104e7575f5ffd5b506102876104f63660046129ac565b611c7c565b348015610506575f5ffd5b506101c7610515366004612a8b565b611d5e565b6001805461052790612aba565b80601f016020809104026020016040519081016040528092919081815260200182805461055390612aba565b801561059e5780601f106105755761010080835404028352916020019161059e565b820191905f5260205f20905b81548152906001019060200180831161058157829003601f168201915b505050505081565b5f806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610662576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610639573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065d9190612af2565b610664565b475b91506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610720576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156106f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b9190612af2565b610722565b475b90509091565b335f8181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107829086815260200190565b60405180910390a35060015b92915050565b6007546001600160a01b031633146107c75760405162461bcd60e51b81526004016107be90612b09565b60405180910390fd5b606481111561080b5760405162461bcd60e51b815260206004820152601060248201526f088caec40cccaca40e8dede40d0d2ced60831b60448201526064016107be565b612710811061085c5760405162461bcd60e51b815260206004820152601f60248201527f44657620666565206d757374206265206c657373207468616e2031303030300060448201526064016107be565b600a8190556040518181527fd2fcc8c801d1c6ec6267fa3420cc8428c11a8c06f0d110a700fe9ff1e7317360906020015b60405180910390a150565b6001600160a01b0383165f9081526006602090815260408083203384529091528120545f19811461095257828110156109245760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016107be565b61092e8382612b40565b6001600160a01b0386165f9081526006602090815260408083203384529091529020555b61095d8585856120d6565b506001949350505050565b5f5f83116109885760405162461bcd60e51b81526004016107be90612b53565b5f612710600a548561099a9190612b81565b6109a49190612b98565b90505f6109b18286612b40565b90505f6109be82866121f8565b90506009546127106109d09190612b40565b6109db905f19612b98565b821115610a3c5760405162461bcd60e51b815260206004820152602960248201527f416d6f756e74496e20746f6f206c6172676520666f7220696d706163742063616044820152683631bab630ba34b7b760b91b60648201526084016107be565b5f612710600954612710610a509190612b40565b610a5a9085612b81565b610a649190612b98565b9050805f03610a79575f94505050505061078e565b818111610a8c575f94505050505061078e565b5f610a978383612b40565b9050610aa66127105f19612b98565b811115610af55760405162461bcd60e51b815260206004820152601b60248201527f496d706163742063616c63756c6174696f6e206f766572666c6f77000000000060448201526064016107be565b81610b0261271083612b81565b610b0c9190612b98565b98975050505050505050565b6007546001600160a01b03163314610b425760405162461bcd60e51b81526004016107be90612b09565b6101f4811115610b835760405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b60448201526064016107be565b6127108110610bd45760405162461bcd60e51b815260206004820152601b60248201527f466565206d757374206265206c657373207468616e203130303030000000000060448201526064016107be565b60098190556040518181527f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c769060200161088d565b6002805461052790612aba565b5f610c1f61241e565b81421115610c3f5760405162461bcd60e51b81526004016107be90612bb7565b5f86118015610c4d57505f85115b610c8f5760405162461bcd60e51b81526020600482015260136024820152720416d6f756e7473206d757374206265203e203606c1b60448201526064016107be565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016158015610ced57506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016155b15610d3a5760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e61746976650000000060448201526064016107be565b5f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610df5576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610dcc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df09190612af2565b610dff565b610dff3447612b40565b90505f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610ebc576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610e93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb79190612af2565b610ec6565b610ec63447612b40565b90505f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f0457610f018982612be2565b90505b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f3f57610f3c8882612be2565b90505b803414610f875760405162461bcd60e51b8152602060048201526016602482015275496e636f7272656374206e61746976652076616c756560501b60448201526064016107be565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610feb57610feb6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308c612446565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161561104f5761104f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308b612446565b6004545f036111265788880289158061107057508861106e8b83612b98565b145b6110bc5760405162461bcd60e51b815260206004820152601760248201527f4d756c7469706c69636174696f6e206f766572666c6f7700000000000000000060448201526064016107be565b6110c5816124b3565b94505f85116111165760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b61112033866125cd565b5061135d565b5f8311801561113457505f82115b6111775760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e74207265736572766560601b60448201526064016107be565b5f61118160045490565b905061118e815f19612b98565b8a11156111d15760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744120746f6f206c6172676560781b60448201526064016107be565b5f846111dd838d612b81565b6111e79190612b98565b90506111f4825f19612b98565b8a11156112375760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744220746f6f206c6172676560781b60448201526064016107be565b5f84611243848d612b81565b61124d9190612b98565b905080821061125c578061125e565b815b96505f87116112af5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b898c10156112ff5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74412070726f766964656400000060448201526064016107be565b888b101561134f5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74422070726f766964656400000060448201526064016107be565b61135933886125cd565b5050505b604080518a8152602081018a905290810185905233907f64b83944e79c3ce8d4c297411de637c3e102d064677aac0c163976ebdcd6f50e9060600160405180910390a25050506113ac60015f55565b95945050505050565b5f6113c13384846120d6565b50600192915050565b6007546001600160a01b031633146113f45760405162461bcd60e51b81526004016107be90612b09565b6008546001600160a01b03166114435760405162461bcd60e51b8152602060048201526014602482015273139bc8199959481c9958da5c1a595b9d081cd95d60621b60448201526064016107be565b6001600160a01b03821661153657478111156114985760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016107be565b6008546040515f916001600160a01b03169083908381818185875af1925050503d805f81146114e2576040519150601f19603f3d011682016040523d82523d5f602084013e6114e7565b606091505b50509050806115305760405162461bcd60e51b8152602060048201526015602482015274119959481dda5d1a191c985dd85b0819985a5b1959605a1b60448201526064016107be565b50611550565b600854611550906001600160a01b03848116911683612654565b600854604080518381526001600160a01b038581166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25050565b5f6115a661241e565b814211156115c65760405162461bcd60e51b81526004016107be90612bb7565b5f841161160c5760405162461bcd60e51b81526020600482015260146024820152730616d6f756e74496e206d757374206265203e20360641b60448201526064016107be565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316148061167d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b6116995760405162461bcd60e51b81526004016107be90612bf5565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b03161490505f5f6116db6105a6565b915091505f612710600a54896116f19190612b81565b6116fb9190612b98565b90505f611708828a612b40565b90505f81116117595760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e7420746f6f20736d616c6c2061667465722064657620666565000060448201526064016107be565b6001600160a01b038a1661190a578834146117c25760405162461bcd60e51b8152602060048201526024808201527f496e636f7272656374206d73672e76616c756520666f72206e617469766520696044820152631b9c1d5d60e21b60648201526084016107be565b5f821180156117db57506008546001600160a01b031615155b156118cb576008546040515f916001600160a01b03169084908381818185875af1925050503d805f811461182a576040519150601f19603f3d011682016040523d82523d5f602084013e61182f565b606091505b50509050806118805760405162461bcd60e51b815260206004820152601760248201527f44657620666565207472616e73666572206661696c656400000000000000000060448201526064016107be565b600854604080518581526001600160a01b038e81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a2505b5f856118e0576118db8285612b40565b6118ea565b6118ea8286612b40565b90506119028282886118fc578761268a565b8661268a565b965050611a14565b34156119585760405162461bcd60e51b815260206004820152601760248201527f556e6578706563746564206e61746976652076616c756500000000000000000060448201526064016107be565b61196d6001600160a01b038b1633308c612446565b5f8211801561198657506008546001600160a01b031615155b156119ef576008546119a5906001600160a01b038c8116911684612654565b600854604080518481526001600160a01b038d81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25b611a1181866119fe5784611a00565b855b87611a0b578661268a565b8561268a565b95505b87861015611a645760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016107be565b5f85611a90577f0000000000000000000000000000000000000000000000000000000000000000611ab2565b7f00000000000000000000000000000000000000000000000000000000000000005b90506001600160a01b038116611b2d576040515f90339089908381818185875af1925050503d805f8114611b01576040519150601f19603f3d011682016040523d82523d5f602084013e611b06565b606091505b5050905080611b275760405162461bcd60e51b81526004016107be90612c1e565b50611b41565b611b416001600160a01b0382163389612654565b604080516001600160a01b038d81168252602082018d90528316818301526060810189905260808101859052905133917f51e00ff851e6d19ee3412286211af0aa9676df8d942e677195fc7445b4c08e30919081900360a00190a2505050505050611bab60015f55565b949350505050565b6007546001600160a01b03163314611bdd5760405162461bcd60e51b81526004016107be90612b09565b6001600160a01b038116611c2b5760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a5908199959481c9958da5c1a595b9d605a1b60448201526064016107be565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3905f90a35050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480611cee57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b611d0a5760405162461bcd60e51b81526004016107be90612bf5565b5f8311611d295760405162461bcd60e51b81526004016107be90612b53565b5f612710600a5485611d3b9190612b81565b611d459190612b98565b90505f611d528286612b40565b90506113ac81856121f8565b5f5f611d6861241e565b82421115611d885760405162461bcd60e51b81526004016107be90612bb7565b5f8611611dcf5760405162461bcd60e51b815260206004820152601560248201527404c5020616d6f756e74206d757374206265203e203605c1b60448201526064016107be565b5f611dd960045490565b90505f8111611e195760405162461bcd60e51b815260206004820152600c60248201526b4e6f206c697175696469747960a01b60448201526064016107be565b5f5f611e236105a6565b909250905082611e338a84612b81565b611e3d9190612b98565b945082611e4a8a83612b81565b611e549190612b98565b935087851015611e985760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744120746f6f206c6f7760881b60448201526064016107be565b86841015611eda5760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744220746f6f206c6f7760881b60448201526064016107be565b611ee4338a612784565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016611f7d576040515f90339087908381818185875af1925050503d805f8114611f51576040519150601f19603f3d011682016040523d82523d5f602084013e611f56565b606091505b5050905080611f775760405162461bcd60e51b81526004016107be90612c1e565b50611fb1565b611fb16001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163387612654565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661204a576040515f90339086908381818185875af1925050503d805f811461201e576040519150601f19603f3d011682016040523d82523d5f602084013e612023565b606091505b50509050806120445760405162461bcd60e51b81526004016107be90612c1e565b5061207e565b61207e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163386612654565b60408051868152602081018690529081018a905233907f1dc8bb69df2b8e91fbdcbfcf93d951b3f0000f085a95fe3f7946d6161439245d9060600160405180910390a25050506120cd60015f55565b94509492505050565b6001600160a01b0383165f9081526005602052604090205481111561214c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107be565b6001600160a01b0383165f9081526005602052604081208054839290612173908490612b40565b90915550506001600160a01b0382165f908152600560205260408120805483929061219f908490612be2565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121eb91815260200190565b60405180910390a3505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061226a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b6122865760405162461bcd60e51b81526004016107be90612bf5565b5f83116122a55760405162461bcd60e51b81526004016107be90612b53565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161490505f5f6122e76105a6565b915091505f836122f757816122f9565b825b90505f846123075783612309565b825b90505f8211801561231957505f81115b61235c5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f60095461271061236d9190612b40565b612377908a612b81565b9050612384825f19612b98565b8111156123de5760405162461bcd60e51b815260206004820152602260248201527f416d6f756e74496e20746f6f206c6172676520666f722063616c63756c61746960448201526137b760f11b60648201526084016107be565b5f6123e98383612b81565b90505f826123f961271087612b81565b6124039190612be2565b905061240f8183612b98565b9b9a5050505050505050505050565b60025f540361244057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b6040516001600160a01b0384811660248301528381166044830152606482018390526124ad9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612877565b50505050565b5f815f036124c257505f919050565b600182600160801b81106124db5760409190911b9060801c5b6801000000000000000081106124f65760209190911b9060401c5b640100000000811061250d5760109190911b9060201c5b6201000081106125225760089190911b9060101c5b61010081106125365760049190911b9060081c5b601081106125495760029190911b9060041c5b6008811061255957600182901b91505b8192506001838561256a9190612b98565b6125749085612be2565b901c925060016125848486612b98565b61258e9085612be2565b901c9250600161259e8486612b98565b6125a89085612be2565b901c92505f6125b78486612b98565b9050838110156125c5578093505b505050919050565b8060045f8282546125de9190612be2565b90915550506001600160a01b0382165f908152600560205260408120805483929061260a908490612be2565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6040516001600160a01b0383811660248301526044820183905261268591859182169063a9059cbb9060640161247b565b505050565b5f5f8311801561269957505f82115b6126dc5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f6009546127106126ed9190612b40565b6126f79086612b81565b9050612704835f19612b98565b8111156127485760405162461bcd60e51b8152602060048201526012602482015271416d6f756e74496e20746f6f206c6172676560701b60448201526064016107be565b5f6127538483612b81565b90505f8261276361271088612b81565b61276d9190612be2565b90506127798183612b98565b979650505050505050565b6001600160a01b0382165f908152600560205260409020548111156127f65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107be565b6001600160a01b0382165f908152600560205260408120805483929061281d908490612b40565b925050819055508060045f8282546128359190612b40565b90915550506040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001612648565b5f5f60205f8451602086015f885af180612896576040513d5f823e3d81fd5b50505f513d915081156128ad5780600114156128ba565b6001600160a01b0384163b155b156124ad57604051635274afe760e01b81526001600160a01b03851660048201526024016107be565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461292e575f5ffd5b919050565b5f5f60408385031215612944575f5ffd5b61294d83612918565b946020939093013593505050565b5f6020828403121561296b575f5ffd5b5035919050565b5f5f5f60608486031215612984575f5ffd5b61298d84612918565b925061299b60208501612918565b929592945050506040919091013590565b5f5f604083850312156129bd575f5ffd5b823591506129cd60208401612918565b90509250929050565b5f602082840312156129e6575f5ffd5b6129ef82612918565b9392505050565b5f5f5f5f5f60a08688031215612a0a575f5ffd5b505083359560208501359550604085013594606081013594506080013592509050565b5f5f5f5f60808587031215612a40575f5ffd5b612a4985612918565b966020860135965060408601359560600135945092505050565b5f5f60408385031215612a74575f5ffd5b612a7d83612918565b91506129cd60208401612918565b5f5f5f5f60808587031215612a9e575f5ffd5b5050823594602084013594506040840135936060013592509050565b600181811c90821680612ace57607f821691505b602082108103612aec57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215612b02575f5ffd5b5051919050565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561078e5761078e612b2c565b6020808252601490820152730416d6f756e74496e206d757374206265203e20360641b604082015260600190565b808202811582820484141761078e5761078e612b2c565b5f82612bb257634e487b7160e01b5f52601260045260245ffd5b500490565b602080825260119082015270111958591b1a5b9948195e18d959591959607a1b604082015260600190565b8082018082111561078e5761078e612b2c565b6020808252600f908201526e24b73b30b634b2103a37b5b2b724b760891b604082015260600190565b60208082526016908201527513985d1a5d99481d1c985b9cd9995c8819985a5b195960521b60408201526060019056fea2646970667358221220b38772ad16e0124d53f36c8ac787bc531413db5c1f5a6b3c16560865361ada1a64736f6c634300081e0033a26469706673582212200cd272e5f413d648abb548abffaa7d41eaca44d9f7876f692c27e6c7f8ffc15f64736f6c634300081e0033000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2", - "nonce": "0xe1", + "nonce": "0xf1", "chainId": "0xb4c" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xc542fc784a4403ec98e0883de0220fbd1d14490728589fbc94dd9b2525adb321", + "hash": "0xf6d298f5fd70d6aeb7ca5b061b615abba2b2709f66f2d007c49c93d74b109cac", "transactionType": "CALL", "contractName": "DEXFactory", - "contractAddress": "0xad255cc5437aca030b1f8d41054cc2bfeabfb3a9", + "contractAddress": "0xb24361e65059537c684014fc9aa903d60b3290dc", "function": "createPool(address,address)", "arguments": [ - "0x022F8de9adF2B8Aea32C715F79b5f05A611625EC", + "0xcefB699Cf39C5462CaD926920f869a252FDE09EC", "0x0000000000000000000000000000000000000000" ], "transaction": { "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", - "to": "0xad255cc5437aca030b1f8d41054cc2bfeabfb3a9", + "to": "0xb24361e65059537c684014fc9aa903d60b3290dc", "gas": "0x3b05e1", "value": "0x0", - "input": "0xe3433615000000000000000000000000022f8de9adf2b8aea32c715f79b5f05a611625ec0000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xe2", + "input": "0xe3433615000000000000000000000000cefb699cf39c5462cad926920f869a252fde09ec0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xf2", "chainId": "0xb4c" }, "additionalContracts": [ { "transactionType": "CREATE", - "address": "0x71d5414715a3957dfdeadb2a7368c5768c0683d3", - "initCode": "0x610100604052600c60c09081526b20a6a6902628102a37b5b2b760a11b60e05260019061002c90826101d1565b506040805180820190915260068152650414d4d2d4c560d41b602082015260029061005790826101d1565b506003805460ff19166012179055601e600955600a805560405161304e3881900390819083398101604081905261008d916102a6565b60015f556001600160a01b0382161580156100af57506001600160a01b038116155b156101005760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e617469766500000000604482015260640160405180910390fd5b6001600160a01b039182166080521660a05260078054336001600160a01b031991821681179092556008805490911690911790556102d7565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061016157607f821691505b60208210810361017f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101cc57805f5260205f20601f840160051c810160208510156101aa5750805b601f840160051c820191505b818110156101c9575f81556001016101b6565b50505b505050565b81516001600160401b038111156101ea576101ea610139565b6101fe816101f8845461014d565b84610185565b6020601f821160018114610230575f83156102195750848201515b5f19600385901b1c1916600184901b1784556101c9565b5f84815260208120601f198516915b8281101561025f578785015182556020948501946001909201910161023f565b508482101561027c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b80516001600160a01b03811681146102a1575f5ffd5b919050565b5f5f604083850312156102b7575f5ffd5b6102c08361028b565b91506102ce6020840161028b565b90509250929050565b60805160a051612c846103ca5f395f818161036d01528181610670015281816106aa01528181610ccb01528181610e0c01528181610e4601528181610f0e01528181610ff5015281816110270152818161164901528181611a9201528181611cba01528181611fbb01528181612057015261223601525f818161023d015281816105b2015281816105ec01528181610c9901528181610d4501528181610d7f01528181610ed301528181610f9101528181610fc30152818161160e0152818161169c01528181611a6c01528181611c7f01528181611eee01528181611f8a015281816121fb01526122a80152612c845ff3fe60806040526004361061017e575f3560e01c80635f64b55b116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610479578063e74b981b146104bd578063f140a35a146104dc578063f88bf15a146104fb575f5ffd5b8063a9059cbb14610428578063ad3b1b4714610447578063c9ec924814610466575f5ffd5b80635f64b55b1461035c57806370a082311461038f57806372c27b62146103c35780638da5cb5b146103e257806395d89b4114610401578063a360501c14610415575f5ffd5b806323b872dd11610138578063313ce56711610113578063313ce567146102de578063469048401461030957806355fb1d46146103285780635b0803611461033d575f5ffd5b806323b872dd14610295578063249d39e9146102b457806324a9d853146102c9575f5ffd5b806306fdde03146101895780630902f1ac146101b3578063095ea7b3146101dc5780630ec433171461020b5780630fc63d101461022c57806318160ddd14610277575f5ffd5b3661018557005b5f5ffd5b348015610194575f5ffd5b5061019d61051a565b6040516101aa91906128e3565b60405180910390f35b3480156101be575f5ffd5b506101c76105a6565b604080519283526020830191909152016101aa565b3480156101e7575f5ffd5b506101fb6101f6366004612933565b610728565b60405190151581526020016101aa565b348015610216575f5ffd5b5061022a61022536600461295b565b610794565b005b348015610237575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101aa565b348015610282575f5ffd5b506004545b6040519081526020016101aa565b3480156102a0575f5ffd5b506101fb6102af366004612972565b610898565b3480156102bf575f5ffd5b5061028761271081565b3480156102d4575f5ffd5b5061028760095481565b3480156102e9575f5ffd5b506003546102f79060ff1681565b60405160ff90911681526020016101aa565b348015610314575f5ffd5b5060085461025f906001600160a01b031681565b348015610333575f5ffd5b50610287600a5481565b348015610348575f5ffd5b506102876103573660046129ac565b610968565b348015610367575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a575f5ffd5b506102876103a93660046129d6565b6001600160a01b03165f9081526005602052604090205490565b3480156103ce575f5ffd5b5061022a6103dd36600461295b565b610b18565b3480156103ed575f5ffd5b5060075461025f906001600160a01b031681565b34801561040c575f5ffd5b5061019d610c09565b6102876104233660046129f6565b610c16565b348015610433575f5ffd5b506101fb610442366004612933565b6113b5565b348015610452575f5ffd5b5061022a610461366004612933565b6113ca565b610287610474366004612a2d565b61159d565b348015610484575f5ffd5b50610287610493366004612a63565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156104c8575f5ffd5b5061022a6104d73660046129d6565b611bb3565b3480156104e7575f5ffd5b506102876104f63660046129ac565b611c7c565b348015610506575f5ffd5b506101c7610515366004612a8b565b611d5e565b6001805461052790612aba565b80601f016020809104026020016040519081016040528092919081815260200182805461055390612aba565b801561059e5780601f106105755761010080835404028352916020019161059e565b820191905f5260205f20905b81548152906001019060200180831161058157829003601f168201915b505050505081565b5f806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610662576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610639573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065d9190612af2565b610664565b475b91506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610720576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156106f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b9190612af2565b610722565b475b90509091565b335f8181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107829086815260200190565b60405180910390a35060015b92915050565b6007546001600160a01b031633146107c75760405162461bcd60e51b81526004016107be90612b09565b60405180910390fd5b606481111561080b5760405162461bcd60e51b815260206004820152601060248201526f088caec40cccaca40e8dede40d0d2ced60831b60448201526064016107be565b612710811061085c5760405162461bcd60e51b815260206004820152601f60248201527f44657620666565206d757374206265206c657373207468616e2031303030300060448201526064016107be565b600a8190556040518181527fd2fcc8c801d1c6ec6267fa3420cc8428c11a8c06f0d110a700fe9ff1e7317360906020015b60405180910390a150565b6001600160a01b0383165f9081526006602090815260408083203384529091528120545f19811461095257828110156109245760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016107be565b61092e8382612b40565b6001600160a01b0386165f9081526006602090815260408083203384529091529020555b61095d8585856120d6565b506001949350505050565b5f5f83116109885760405162461bcd60e51b81526004016107be90612b53565b5f612710600a548561099a9190612b81565b6109a49190612b98565b90505f6109b18286612b40565b90505f6109be82866121f8565b90506009546127106109d09190612b40565b6109db905f19612b98565b821115610a3c5760405162461bcd60e51b815260206004820152602960248201527f416d6f756e74496e20746f6f206c6172676520666f7220696d706163742063616044820152683631bab630ba34b7b760b91b60648201526084016107be565b5f612710600954612710610a509190612b40565b610a5a9085612b81565b610a649190612b98565b9050805f03610a79575f94505050505061078e565b818111610a8c575f94505050505061078e565b5f610a978383612b40565b9050610aa66127105f19612b98565b811115610af55760405162461bcd60e51b815260206004820152601b60248201527f496d706163742063616c63756c6174696f6e206f766572666c6f77000000000060448201526064016107be565b81610b0261271083612b81565b610b0c9190612b98565b98975050505050505050565b6007546001600160a01b03163314610b425760405162461bcd60e51b81526004016107be90612b09565b6101f4811115610b835760405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b60448201526064016107be565b6127108110610bd45760405162461bcd60e51b815260206004820152601b60248201527f466565206d757374206265206c657373207468616e203130303030000000000060448201526064016107be565b60098190556040518181527f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c769060200161088d565b6002805461052790612aba565b5f610c1f61241e565b81421115610c3f5760405162461bcd60e51b81526004016107be90612bb7565b5f86118015610c4d57505f85115b610c8f5760405162461bcd60e51b81526020600482015260136024820152720416d6f756e7473206d757374206265203e203606c1b60448201526064016107be565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016158015610ced57506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016155b15610d3a5760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e61746976650000000060448201526064016107be565b5f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610df5576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610dcc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df09190612af2565b610dff565b610dff3447612b40565b90505f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610ebc576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610e93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb79190612af2565b610ec6565b610ec63447612b40565b90505f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f0457610f018982612be2565b90505b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f3f57610f3c8882612be2565b90505b803414610f875760405162461bcd60e51b8152602060048201526016602482015275496e636f7272656374206e61746976652076616c756560501b60448201526064016107be565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610feb57610feb6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308c612446565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161561104f5761104f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308b612446565b6004545f036111265788880289158061107057508861106e8b83612b98565b145b6110bc5760405162461bcd60e51b815260206004820152601760248201527f4d756c7469706c69636174696f6e206f766572666c6f7700000000000000000060448201526064016107be565b6110c5816124b3565b94505f85116111165760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b61112033866125cd565b5061135d565b5f8311801561113457505f82115b6111775760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e74207265736572766560601b60448201526064016107be565b5f61118160045490565b905061118e815f19612b98565b8a11156111d15760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744120746f6f206c6172676560781b60448201526064016107be565b5f846111dd838d612b81565b6111e79190612b98565b90506111f4825f19612b98565b8a11156112375760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744220746f6f206c6172676560781b60448201526064016107be565b5f84611243848d612b81565b61124d9190612b98565b905080821061125c578061125e565b815b96505f87116112af5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b898c10156112ff5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74412070726f766964656400000060448201526064016107be565b888b101561134f5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74422070726f766964656400000060448201526064016107be565b61135933886125cd565b5050505b604080518a8152602081018a905290810185905233907f64b83944e79c3ce8d4c297411de637c3e102d064677aac0c163976ebdcd6f50e9060600160405180910390a25050506113ac60015f55565b95945050505050565b5f6113c13384846120d6565b50600192915050565b6007546001600160a01b031633146113f45760405162461bcd60e51b81526004016107be90612b09565b6008546001600160a01b03166114435760405162461bcd60e51b8152602060048201526014602482015273139bc8199959481c9958da5c1a595b9d081cd95d60621b60448201526064016107be565b6001600160a01b03821661153657478111156114985760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016107be565b6008546040515f916001600160a01b03169083908381818185875af1925050503d805f81146114e2576040519150601f19603f3d011682016040523d82523d5f602084013e6114e7565b606091505b50509050806115305760405162461bcd60e51b8152602060048201526015602482015274119959481dda5d1a191c985dd85b0819985a5b1959605a1b60448201526064016107be565b50611550565b600854611550906001600160a01b03848116911683612654565b600854604080518381526001600160a01b038581166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25050565b5f6115a661241e565b814211156115c65760405162461bcd60e51b81526004016107be90612bb7565b5f841161160c5760405162461bcd60e51b81526020600482015260146024820152730616d6f756e74496e206d757374206265203e20360641b60448201526064016107be565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316148061167d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b6116995760405162461bcd60e51b81526004016107be90612bf5565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b03161490505f5f6116db6105a6565b915091505f612710600a54896116f19190612b81565b6116fb9190612b98565b90505f611708828a612b40565b90505f81116117595760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e7420746f6f20736d616c6c2061667465722064657620666565000060448201526064016107be565b6001600160a01b038a1661190a578834146117c25760405162461bcd60e51b8152602060048201526024808201527f496e636f7272656374206d73672e76616c756520666f72206e617469766520696044820152631b9c1d5d60e21b60648201526084016107be565b5f821180156117db57506008546001600160a01b031615155b156118cb576008546040515f916001600160a01b03169084908381818185875af1925050503d805f811461182a576040519150601f19603f3d011682016040523d82523d5f602084013e61182f565b606091505b50509050806118805760405162461bcd60e51b815260206004820152601760248201527f44657620666565207472616e73666572206661696c656400000000000000000060448201526064016107be565b600854604080518581526001600160a01b038e81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a2505b5f856118e0576118db8285612b40565b6118ea565b6118ea8286612b40565b90506119028282886118fc578761268a565b8661268a565b965050611a14565b34156119585760405162461bcd60e51b815260206004820152601760248201527f556e6578706563746564206e61746976652076616c756500000000000000000060448201526064016107be565b61196d6001600160a01b038b1633308c612446565b5f8211801561198657506008546001600160a01b031615155b156119ef576008546119a5906001600160a01b038c8116911684612654565b600854604080518481526001600160a01b038d81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25b611a1181866119fe5784611a00565b855b87611a0b578661268a565b8561268a565b95505b87861015611a645760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016107be565b5f85611a90577f0000000000000000000000000000000000000000000000000000000000000000611ab2565b7f00000000000000000000000000000000000000000000000000000000000000005b90506001600160a01b038116611b2d576040515f90339089908381818185875af1925050503d805f8114611b01576040519150601f19603f3d011682016040523d82523d5f602084013e611b06565b606091505b5050905080611b275760405162461bcd60e51b81526004016107be90612c1e565b50611b41565b611b416001600160a01b0382163389612654565b604080516001600160a01b038d81168252602082018d90528316818301526060810189905260808101859052905133917f51e00ff851e6d19ee3412286211af0aa9676df8d942e677195fc7445b4c08e30919081900360a00190a2505050505050611bab60015f55565b949350505050565b6007546001600160a01b03163314611bdd5760405162461bcd60e51b81526004016107be90612b09565b6001600160a01b038116611c2b5760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a5908199959481c9958da5c1a595b9d605a1b60448201526064016107be565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3905f90a35050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480611cee57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b611d0a5760405162461bcd60e51b81526004016107be90612bf5565b5f8311611d295760405162461bcd60e51b81526004016107be90612b53565b5f612710600a5485611d3b9190612b81565b611d459190612b98565b90505f611d528286612b40565b90506113ac81856121f8565b5f5f611d6861241e565b82421115611d885760405162461bcd60e51b81526004016107be90612bb7565b5f8611611dcf5760405162461bcd60e51b815260206004820152601560248201527404c5020616d6f756e74206d757374206265203e203605c1b60448201526064016107be565b5f611dd960045490565b90505f8111611e195760405162461bcd60e51b815260206004820152600c60248201526b4e6f206c697175696469747960a01b60448201526064016107be565b5f5f611e236105a6565b909250905082611e338a84612b81565b611e3d9190612b98565b945082611e4a8a83612b81565b611e549190612b98565b935087851015611e985760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744120746f6f206c6f7760881b60448201526064016107be565b86841015611eda5760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744220746f6f206c6f7760881b60448201526064016107be565b611ee4338a612784565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016611f7d576040515f90339087908381818185875af1925050503d805f8114611f51576040519150601f19603f3d011682016040523d82523d5f602084013e611f56565b606091505b5050905080611f775760405162461bcd60e51b81526004016107be90612c1e565b50611fb1565b611fb16001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163387612654565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661204a576040515f90339086908381818185875af1925050503d805f811461201e576040519150601f19603f3d011682016040523d82523d5f602084013e612023565b606091505b50509050806120445760405162461bcd60e51b81526004016107be90612c1e565b5061207e565b61207e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163386612654565b60408051868152602081018690529081018a905233907f1dc8bb69df2b8e91fbdcbfcf93d951b3f0000f085a95fe3f7946d6161439245d9060600160405180910390a25050506120cd60015f55565b94509492505050565b6001600160a01b0383165f9081526005602052604090205481111561214c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107be565b6001600160a01b0383165f9081526005602052604081208054839290612173908490612b40565b90915550506001600160a01b0382165f908152600560205260408120805483929061219f908490612be2565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121eb91815260200190565b60405180910390a3505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061226a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b6122865760405162461bcd60e51b81526004016107be90612bf5565b5f83116122a55760405162461bcd60e51b81526004016107be90612b53565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161490505f5f6122e76105a6565b915091505f836122f757816122f9565b825b90505f846123075783612309565b825b90505f8211801561231957505f81115b61235c5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f60095461271061236d9190612b40565b612377908a612b81565b9050612384825f19612b98565b8111156123de5760405162461bcd60e51b815260206004820152602260248201527f416d6f756e74496e20746f6f206c6172676520666f722063616c63756c61746960448201526137b760f11b60648201526084016107be565b5f6123e98383612b81565b90505f826123f961271087612b81565b6124039190612be2565b905061240f8183612b98565b9b9a5050505050505050505050565b60025f540361244057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b6040516001600160a01b0384811660248301528381166044830152606482018390526124ad9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612877565b50505050565b5f815f036124c257505f919050565b600182600160801b81106124db5760409190911b9060801c5b6801000000000000000081106124f65760209190911b9060401c5b640100000000811061250d5760109190911b9060201c5b6201000081106125225760089190911b9060101c5b61010081106125365760049190911b9060081c5b601081106125495760029190911b9060041c5b6008811061255957600182901b91505b8192506001838561256a9190612b98565b6125749085612be2565b901c925060016125848486612b98565b61258e9085612be2565b901c9250600161259e8486612b98565b6125a89085612be2565b901c92505f6125b78486612b98565b9050838110156125c5578093505b505050919050565b8060045f8282546125de9190612be2565b90915550506001600160a01b0382165f908152600560205260408120805483929061260a908490612be2565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6040516001600160a01b0383811660248301526044820183905261268591859182169063a9059cbb9060640161247b565b505050565b5f5f8311801561269957505f82115b6126dc5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f6009546127106126ed9190612b40565b6126f79086612b81565b9050612704835f19612b98565b8111156127485760405162461bcd60e51b8152602060048201526012602482015271416d6f756e74496e20746f6f206c6172676560701b60448201526064016107be565b5f6127538483612b81565b90505f8261276361271088612b81565b61276d9190612be2565b90506127798183612b98565b979650505050505050565b6001600160a01b0382165f908152600560205260409020548111156127f65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107be565b6001600160a01b0382165f908152600560205260408120805483929061281d908490612b40565b925050819055508060045f8282546128359190612b40565b90915550506040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001612648565b5f5f60205f8451602086015f885af180612896576040513d5f823e3d81fd5b50505f513d915081156128ad5780600114156128ba565b6001600160a01b0384163b155b156124ad57604051635274afe760e01b81526001600160a01b03851660048201526024016107be565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461292e575f5ffd5b919050565b5f5f60408385031215612944575f5ffd5b61294d83612918565b946020939093013593505050565b5f6020828403121561296b575f5ffd5b5035919050565b5f5f5f60608486031215612984575f5ffd5b61298d84612918565b925061299b60208501612918565b929592945050506040919091013590565b5f5f604083850312156129bd575f5ffd5b823591506129cd60208401612918565b90509250929050565b5f602082840312156129e6575f5ffd5b6129ef82612918565b9392505050565b5f5f5f5f5f60a08688031215612a0a575f5ffd5b505083359560208501359550604085013594606081013594506080013592509050565b5f5f5f5f60808587031215612a40575f5ffd5b612a4985612918565b966020860135965060408601359560600135945092505050565b5f5f60408385031215612a74575f5ffd5b612a7d83612918565b91506129cd60208401612918565b5f5f5f5f60808587031215612a9e575f5ffd5b5050823594602084013594506040840135936060013592509050565b600181811c90821680612ace57607f821691505b602082108103612aec57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215612b02575f5ffd5b5051919050565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561078e5761078e612b2c565b6020808252601490820152730416d6f756e74496e206d757374206265203e20360641b604082015260600190565b808202811582820484141761078e5761078e612b2c565b5f82612bb257634e487b7160e01b5f52601260045260245ffd5b500490565b602080825260119082015270111958591b1a5b9948195e18d959591959607a1b604082015260600190565b8082018082111561078e5761078e612b2c565b6020808252600f908201526e24b73b30b634b2103a37b5b2b724b760891b604082015260600190565b60208082526016908201527513985d1a5d99481d1c985b9cd9995c8819985a5b195960521b60408201526060019056fea2646970667358221220b38772ad16e0124d53f36c8ac787bc531413db5c1f5a6b3c16560865361ada1a64736f6c634300081e00330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022f8de9adf2b8aea32c715f79b5f05a611625ec" + "address": "0xed415a516a0f83e27314ddc8fb12bb3fd572d260", + "initCode": "0x610100604052600c60c09081526b20a6a6902628102a37b5b2b760a11b60e05260019061002c90826101d1565b506040805180820190915260068152650414d4d2d4c560d41b602082015260029061005790826101d1565b506003805460ff19166012179055601e600955600a805560405161304e3881900390819083398101604081905261008d916102a6565b60015f556001600160a01b0382161580156100af57506001600160a01b038116155b156101005760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e617469766500000000604482015260640160405180910390fd5b6001600160a01b039182166080521660a05260078054336001600160a01b031991821681179092556008805490911690911790556102d7565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061016157607f821691505b60208210810361017f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101cc57805f5260205f20601f840160051c810160208510156101aa5750805b601f840160051c820191505b818110156101c9575f81556001016101b6565b50505b505050565b81516001600160401b038111156101ea576101ea610139565b6101fe816101f8845461014d565b84610185565b6020601f821160018114610230575f83156102195750848201515b5f19600385901b1c1916600184901b1784556101c9565b5f84815260208120601f198516915b8281101561025f578785015182556020948501946001909201910161023f565b508482101561027c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b80516001600160a01b03811681146102a1575f5ffd5b919050565b5f5f604083850312156102b7575f5ffd5b6102c08361028b565b91506102ce6020840161028b565b90509250929050565b60805160a051612c846103ca5f395f818161036d01528181610670015281816106aa01528181610ccb01528181610e0c01528181610e4601528181610f0e01528181610ff5015281816110270152818161164901528181611a9201528181611cba01528181611fbb01528181612057015261223601525f818161023d015281816105b2015281816105ec01528181610c9901528181610d4501528181610d7f01528181610ed301528181610f9101528181610fc30152818161160e0152818161169c01528181611a6c01528181611c7f01528181611eee01528181611f8a015281816121fb01526122a80152612c845ff3fe60806040526004361061017e575f3560e01c80635f64b55b116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610479578063e74b981b146104bd578063f140a35a146104dc578063f88bf15a146104fb575f5ffd5b8063a9059cbb14610428578063ad3b1b4714610447578063c9ec924814610466575f5ffd5b80635f64b55b1461035c57806370a082311461038f57806372c27b62146103c35780638da5cb5b146103e257806395d89b4114610401578063a360501c14610415575f5ffd5b806323b872dd11610138578063313ce56711610113578063313ce567146102de578063469048401461030957806355fb1d46146103285780635b0803611461033d575f5ffd5b806323b872dd14610295578063249d39e9146102b457806324a9d853146102c9575f5ffd5b806306fdde03146101895780630902f1ac146101b3578063095ea7b3146101dc5780630ec433171461020b5780630fc63d101461022c57806318160ddd14610277575f5ffd5b3661018557005b5f5ffd5b348015610194575f5ffd5b5061019d61051a565b6040516101aa91906128e3565b60405180910390f35b3480156101be575f5ffd5b506101c76105a6565b604080519283526020830191909152016101aa565b3480156101e7575f5ffd5b506101fb6101f6366004612933565b610728565b60405190151581526020016101aa565b348015610216575f5ffd5b5061022a61022536600461295b565b610794565b005b348015610237575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101aa565b348015610282575f5ffd5b506004545b6040519081526020016101aa565b3480156102a0575f5ffd5b506101fb6102af366004612972565b610898565b3480156102bf575f5ffd5b5061028761271081565b3480156102d4575f5ffd5b5061028760095481565b3480156102e9575f5ffd5b506003546102f79060ff1681565b60405160ff90911681526020016101aa565b348015610314575f5ffd5b5060085461025f906001600160a01b031681565b348015610333575f5ffd5b50610287600a5481565b348015610348575f5ffd5b506102876103573660046129ac565b610968565b348015610367575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a575f5ffd5b506102876103a93660046129d6565b6001600160a01b03165f9081526005602052604090205490565b3480156103ce575f5ffd5b5061022a6103dd36600461295b565b610b18565b3480156103ed575f5ffd5b5060075461025f906001600160a01b031681565b34801561040c575f5ffd5b5061019d610c09565b6102876104233660046129f6565b610c16565b348015610433575f5ffd5b506101fb610442366004612933565b6113b5565b348015610452575f5ffd5b5061022a610461366004612933565b6113ca565b610287610474366004612a2d565b61159d565b348015610484575f5ffd5b50610287610493366004612a63565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156104c8575f5ffd5b5061022a6104d73660046129d6565b611bb3565b3480156104e7575f5ffd5b506102876104f63660046129ac565b611c7c565b348015610506575f5ffd5b506101c7610515366004612a8b565b611d5e565b6001805461052790612aba565b80601f016020809104026020016040519081016040528092919081815260200182805461055390612aba565b801561059e5780601f106105755761010080835404028352916020019161059e565b820191905f5260205f20905b81548152906001019060200180831161058157829003601f168201915b505050505081565b5f806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610662576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610639573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065d9190612af2565b610664565b475b91506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610720576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156106f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b9190612af2565b610722565b475b90509091565b335f8181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107829086815260200190565b60405180910390a35060015b92915050565b6007546001600160a01b031633146107c75760405162461bcd60e51b81526004016107be90612b09565b60405180910390fd5b606481111561080b5760405162461bcd60e51b815260206004820152601060248201526f088caec40cccaca40e8dede40d0d2ced60831b60448201526064016107be565b612710811061085c5760405162461bcd60e51b815260206004820152601f60248201527f44657620666565206d757374206265206c657373207468616e2031303030300060448201526064016107be565b600a8190556040518181527fd2fcc8c801d1c6ec6267fa3420cc8428c11a8c06f0d110a700fe9ff1e7317360906020015b60405180910390a150565b6001600160a01b0383165f9081526006602090815260408083203384529091528120545f19811461095257828110156109245760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016107be565b61092e8382612b40565b6001600160a01b0386165f9081526006602090815260408083203384529091529020555b61095d8585856120d6565b506001949350505050565b5f5f83116109885760405162461bcd60e51b81526004016107be90612b53565b5f612710600a548561099a9190612b81565b6109a49190612b98565b90505f6109b18286612b40565b90505f6109be82866121f8565b90506009546127106109d09190612b40565b6109db905f19612b98565b821115610a3c5760405162461bcd60e51b815260206004820152602960248201527f416d6f756e74496e20746f6f206c6172676520666f7220696d706163742063616044820152683631bab630ba34b7b760b91b60648201526084016107be565b5f612710600954612710610a509190612b40565b610a5a9085612b81565b610a649190612b98565b9050805f03610a79575f94505050505061078e565b818111610a8c575f94505050505061078e565b5f610a978383612b40565b9050610aa66127105f19612b98565b811115610af55760405162461bcd60e51b815260206004820152601b60248201527f496d706163742063616c63756c6174696f6e206f766572666c6f77000000000060448201526064016107be565b81610b0261271083612b81565b610b0c9190612b98565b98975050505050505050565b6007546001600160a01b03163314610b425760405162461bcd60e51b81526004016107be90612b09565b6101f4811115610b835760405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b60448201526064016107be565b6127108110610bd45760405162461bcd60e51b815260206004820152601b60248201527f466565206d757374206265206c657373207468616e203130303030000000000060448201526064016107be565b60098190556040518181527f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c769060200161088d565b6002805461052790612aba565b5f610c1f61241e565b81421115610c3f5760405162461bcd60e51b81526004016107be90612bb7565b5f86118015610c4d57505f85115b610c8f5760405162461bcd60e51b81526020600482015260136024820152720416d6f756e7473206d757374206265203e203606c1b60448201526064016107be565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016158015610ced57506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016155b15610d3a5760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e61746976650000000060448201526064016107be565b5f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610df5576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610dcc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df09190612af2565b610dff565b610dff3447612b40565b90505f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610ebc576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610e93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb79190612af2565b610ec6565b610ec63447612b40565b90505f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f0457610f018982612be2565b90505b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f3f57610f3c8882612be2565b90505b803414610f875760405162461bcd60e51b8152602060048201526016602482015275496e636f7272656374206e61746976652076616c756560501b60448201526064016107be565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610feb57610feb6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308c612446565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161561104f5761104f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308b612446565b6004545f036111265788880289158061107057508861106e8b83612b98565b145b6110bc5760405162461bcd60e51b815260206004820152601760248201527f4d756c7469706c69636174696f6e206f766572666c6f7700000000000000000060448201526064016107be565b6110c5816124b3565b94505f85116111165760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b61112033866125cd565b5061135d565b5f8311801561113457505f82115b6111775760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e74207265736572766560601b60448201526064016107be565b5f61118160045490565b905061118e815f19612b98565b8a11156111d15760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744120746f6f206c6172676560781b60448201526064016107be565b5f846111dd838d612b81565b6111e79190612b98565b90506111f4825f19612b98565b8a11156112375760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744220746f6f206c6172676560781b60448201526064016107be565b5f84611243848d612b81565b61124d9190612b98565b905080821061125c578061125e565b815b96505f87116112af5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b898c10156112ff5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74412070726f766964656400000060448201526064016107be565b888b101561134f5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74422070726f766964656400000060448201526064016107be565b61135933886125cd565b5050505b604080518a8152602081018a905290810185905233907f64b83944e79c3ce8d4c297411de637c3e102d064677aac0c163976ebdcd6f50e9060600160405180910390a25050506113ac60015f55565b95945050505050565b5f6113c13384846120d6565b50600192915050565b6007546001600160a01b031633146113f45760405162461bcd60e51b81526004016107be90612b09565b6008546001600160a01b03166114435760405162461bcd60e51b8152602060048201526014602482015273139bc8199959481c9958da5c1a595b9d081cd95d60621b60448201526064016107be565b6001600160a01b03821661153657478111156114985760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016107be565b6008546040515f916001600160a01b03169083908381818185875af1925050503d805f81146114e2576040519150601f19603f3d011682016040523d82523d5f602084013e6114e7565b606091505b50509050806115305760405162461bcd60e51b8152602060048201526015602482015274119959481dda5d1a191c985dd85b0819985a5b1959605a1b60448201526064016107be565b50611550565b600854611550906001600160a01b03848116911683612654565b600854604080518381526001600160a01b038581166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25050565b5f6115a661241e565b814211156115c65760405162461bcd60e51b81526004016107be90612bb7565b5f841161160c5760405162461bcd60e51b81526020600482015260146024820152730616d6f756e74496e206d757374206265203e20360641b60448201526064016107be565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316148061167d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b6116995760405162461bcd60e51b81526004016107be90612bf5565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b03161490505f5f6116db6105a6565b915091505f612710600a54896116f19190612b81565b6116fb9190612b98565b90505f611708828a612b40565b90505f81116117595760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e7420746f6f20736d616c6c2061667465722064657620666565000060448201526064016107be565b6001600160a01b038a1661190a578834146117c25760405162461bcd60e51b8152602060048201526024808201527f496e636f7272656374206d73672e76616c756520666f72206e617469766520696044820152631b9c1d5d60e21b60648201526084016107be565b5f821180156117db57506008546001600160a01b031615155b156118cb576008546040515f916001600160a01b03169084908381818185875af1925050503d805f811461182a576040519150601f19603f3d011682016040523d82523d5f602084013e61182f565b606091505b50509050806118805760405162461bcd60e51b815260206004820152601760248201527f44657620666565207472616e73666572206661696c656400000000000000000060448201526064016107be565b600854604080518581526001600160a01b038e81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a2505b5f856118e0576118db8285612b40565b6118ea565b6118ea8286612b40565b90506119028282886118fc578761268a565b8661268a565b965050611a14565b34156119585760405162461bcd60e51b815260206004820152601760248201527f556e6578706563746564206e61746976652076616c756500000000000000000060448201526064016107be565b61196d6001600160a01b038b1633308c612446565b5f8211801561198657506008546001600160a01b031615155b156119ef576008546119a5906001600160a01b038c8116911684612654565b600854604080518481526001600160a01b038d81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25b611a1181866119fe5784611a00565b855b87611a0b578661268a565b8561268a565b95505b87861015611a645760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016107be565b5f85611a90577f0000000000000000000000000000000000000000000000000000000000000000611ab2565b7f00000000000000000000000000000000000000000000000000000000000000005b90506001600160a01b038116611b2d576040515f90339089908381818185875af1925050503d805f8114611b01576040519150601f19603f3d011682016040523d82523d5f602084013e611b06565b606091505b5050905080611b275760405162461bcd60e51b81526004016107be90612c1e565b50611b41565b611b416001600160a01b0382163389612654565b604080516001600160a01b038d81168252602082018d90528316818301526060810189905260808101859052905133917f51e00ff851e6d19ee3412286211af0aa9676df8d942e677195fc7445b4c08e30919081900360a00190a2505050505050611bab60015f55565b949350505050565b6007546001600160a01b03163314611bdd5760405162461bcd60e51b81526004016107be90612b09565b6001600160a01b038116611c2b5760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a5908199959481c9958da5c1a595b9d605a1b60448201526064016107be565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3905f90a35050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480611cee57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b611d0a5760405162461bcd60e51b81526004016107be90612bf5565b5f8311611d295760405162461bcd60e51b81526004016107be90612b53565b5f612710600a5485611d3b9190612b81565b611d459190612b98565b90505f611d528286612b40565b90506113ac81856121f8565b5f5f611d6861241e565b82421115611d885760405162461bcd60e51b81526004016107be90612bb7565b5f8611611dcf5760405162461bcd60e51b815260206004820152601560248201527404c5020616d6f756e74206d757374206265203e203605c1b60448201526064016107be565b5f611dd960045490565b90505f8111611e195760405162461bcd60e51b815260206004820152600c60248201526b4e6f206c697175696469747960a01b60448201526064016107be565b5f5f611e236105a6565b909250905082611e338a84612b81565b611e3d9190612b98565b945082611e4a8a83612b81565b611e549190612b98565b935087851015611e985760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744120746f6f206c6f7760881b60448201526064016107be565b86841015611eda5760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744220746f6f206c6f7760881b60448201526064016107be565b611ee4338a612784565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016611f7d576040515f90339087908381818185875af1925050503d805f8114611f51576040519150601f19603f3d011682016040523d82523d5f602084013e611f56565b606091505b5050905080611f775760405162461bcd60e51b81526004016107be90612c1e565b50611fb1565b611fb16001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163387612654565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661204a576040515f90339086908381818185875af1925050503d805f811461201e576040519150601f19603f3d011682016040523d82523d5f602084013e612023565b606091505b50509050806120445760405162461bcd60e51b81526004016107be90612c1e565b5061207e565b61207e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163386612654565b60408051868152602081018690529081018a905233907f1dc8bb69df2b8e91fbdcbfcf93d951b3f0000f085a95fe3f7946d6161439245d9060600160405180910390a25050506120cd60015f55565b94509492505050565b6001600160a01b0383165f9081526005602052604090205481111561214c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107be565b6001600160a01b0383165f9081526005602052604081208054839290612173908490612b40565b90915550506001600160a01b0382165f908152600560205260408120805483929061219f908490612be2565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121eb91815260200190565b60405180910390a3505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061226a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b6122865760405162461bcd60e51b81526004016107be90612bf5565b5f83116122a55760405162461bcd60e51b81526004016107be90612b53565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161490505f5f6122e76105a6565b915091505f836122f757816122f9565b825b90505f846123075783612309565b825b90505f8211801561231957505f81115b61235c5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f60095461271061236d9190612b40565b612377908a612b81565b9050612384825f19612b98565b8111156123de5760405162461bcd60e51b815260206004820152602260248201527f416d6f756e74496e20746f6f206c6172676520666f722063616c63756c61746960448201526137b760f11b60648201526084016107be565b5f6123e98383612b81565b90505f826123f961271087612b81565b6124039190612be2565b905061240f8183612b98565b9b9a5050505050505050505050565b60025f540361244057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b6040516001600160a01b0384811660248301528381166044830152606482018390526124ad9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612877565b50505050565b5f815f036124c257505f919050565b600182600160801b81106124db5760409190911b9060801c5b6801000000000000000081106124f65760209190911b9060401c5b640100000000811061250d5760109190911b9060201c5b6201000081106125225760089190911b9060101c5b61010081106125365760049190911b9060081c5b601081106125495760029190911b9060041c5b6008811061255957600182901b91505b8192506001838561256a9190612b98565b6125749085612be2565b901c925060016125848486612b98565b61258e9085612be2565b901c9250600161259e8486612b98565b6125a89085612be2565b901c92505f6125b78486612b98565b9050838110156125c5578093505b505050919050565b8060045f8282546125de9190612be2565b90915550506001600160a01b0382165f908152600560205260408120805483929061260a908490612be2565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6040516001600160a01b0383811660248301526044820183905261268591859182169063a9059cbb9060640161247b565b505050565b5f5f8311801561269957505f82115b6126dc5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f6009546127106126ed9190612b40565b6126f79086612b81565b9050612704835f19612b98565b8111156127485760405162461bcd60e51b8152602060048201526012602482015271416d6f756e74496e20746f6f206c6172676560701b60448201526064016107be565b5f6127538483612b81565b90505f8261276361271088612b81565b61276d9190612be2565b90506127798183612b98565b979650505050505050565b6001600160a01b0382165f908152600560205260409020548111156127f65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107be565b6001600160a01b0382165f908152600560205260408120805483929061281d908490612b40565b925050819055508060045f8282546128359190612b40565b90915550506040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001612648565b5f5f60205f8451602086015f885af180612896576040513d5f823e3d81fd5b50505f513d915081156128ad5780600114156128ba565b6001600160a01b0384163b155b156124ad57604051635274afe760e01b81526001600160a01b03851660048201526024016107be565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461292e575f5ffd5b919050565b5f5f60408385031215612944575f5ffd5b61294d83612918565b946020939093013593505050565b5f6020828403121561296b575f5ffd5b5035919050565b5f5f5f60608486031215612984575f5ffd5b61298d84612918565b925061299b60208501612918565b929592945050506040919091013590565b5f5f604083850312156129bd575f5ffd5b823591506129cd60208401612918565b90509250929050565b5f602082840312156129e6575f5ffd5b6129ef82612918565b9392505050565b5f5f5f5f5f60a08688031215612a0a575f5ffd5b505083359560208501359550604085013594606081013594506080013592509050565b5f5f5f5f60808587031215612a40575f5ffd5b612a4985612918565b966020860135965060408601359560600135945092505050565b5f5f60408385031215612a74575f5ffd5b612a7d83612918565b91506129cd60208401612918565b5f5f5f5f60808587031215612a9e575f5ffd5b5050823594602084013594506040840135936060013592509050565b600181811c90821680612ace57607f821691505b602082108103612aec57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215612b02575f5ffd5b5051919050565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561078e5761078e612b2c565b6020808252601490820152730416d6f756e74496e206d757374206265203e20360641b604082015260600190565b808202811582820484141761078e5761078e612b2c565b5f82612bb257634e487b7160e01b5f52601260045260245ffd5b500490565b602080825260119082015270111958591b1a5b9948195e18d959591959607a1b604082015260600190565b8082018082111561078e5761078e612b2c565b6020808252600f908201526e24b73b30b634b2103a37b5b2b724b760891b604082015260600190565b60208082526016908201527513985d1a5d99481d1c985b9cd9995c8819985a5b195960521b60408201526060019056fea2646970667358221220b38772ad16e0124d53f36c8ac787bc531413db5c1f5a6b3c16560865361ada1a64736f6c634300081e00330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cefb699cf39c5462cad926920f869a252fde09ec" } ], "isFixedGasLimit": false }, { - "hash": "0x9cf81240009dc910f320d3a02f280e796bd2c78bf7ba786a018f5be5b2b27abf", + "hash": "0x1c984ceecb7f8b98c12d692dfdd1993fa450c7b09052fba00130c05f9b9f56b4", "transactionType": "CREATE", "contractName": "Farming", - "contractAddress": "0x1871a6c114b62a8ea0855b1a29b7df4341ed9a0d", + "contractAddress": "0xea4054041b1c65308a0d2f2d88dea0f107a0c85a", "function": null, "arguments": [ - "0x71D5414715a3957dFDeaDB2a7368c5768C0683D3", - "0x022F8de9adF2B8Aea32C715F79b5f05A611625EC" + "0xeD415A516A0F83e27314Ddc8fb12bB3fd572D260", + "0xcefB699Cf39C5462CaD926920f869a252FDE09EC" ], "transaction": { "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", - "gas": "0x1918ea", + "gas": "0x19355a", "value": "0x0", - "input": "0x60c060405234801561000f575f5ffd5b506040516116fd3803806116fd83398101604081905261002e91610182565b338061005457604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61005d81610118565b50600180556001600160a01b0382166100ab5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2102628103a37b5b2b760811b604482015260640161004b565b6001600160a01b0381166101015760405162461bcd60e51b815260206004820152601460248201527f496e76616c69642072657761726420746f6b656e000000000000000000000000604482015260640161004b565b6001600160a01b039182166080521660a0526101b3565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461017d575f5ffd5b919050565b5f5f60408385031215610193575f5ffd5b61019c83610167565b91506101aa60208401610167565b90509250929050565b60805160a0516114f86102055f395f818161052d0152818161074001528181610ae40152610c1601525f81816102f9015281816109d401528181610b9501528181610e8e015261104d01526114f85ff3fe6080604052600436106101c7575f3560e01c80638456cb59116100f2578063cb17d14f11610092578063e9fad8ee11610062578063e9fad8ee146104d4578063ebe2b12b146104e8578063f2fde38b146104fd578063f7c618c11461051c575f5ffd5b8063cb17d14f14610483578063cd3daf9d14610497578063db2e21bc146104ab578063df136d65146104bf575f5ffd5b80638da5cb5b116100cd5780638da5cb5b14610416578063a694fc3a14610432578063b187bd2614610451578063c8f33c911461046e575f5ffd5b80638456cb59146103b85780638980f11f146103cc5780638b876347146103eb575f5ffd5b80634e71d92d11610168578063715018a611610138578063715018a6146103675780637b0a47ee1461037b5780637e1a37861461039057806380faa57d146103a4575f5ffd5b80634e71d92d146102ab5780635c975abb146102bf5780635fcbd285146102e857806370a0823114610333575f5ffd5b80631c1f78eb116101a35780631c1f78eb1461024357806328662551146102575780632e1a7d4d146102785780633f4ba83a14610297575f5ffd5b80628cc262146101d25780630700037d1461020457806318160ddd1461022f575f5ffd5b366101ce57005b5f5ffd5b3480156101dd575f5ffd5b506101f16101ec3660046113cd565b61054f565b6040519081526020015b60405180910390f35b34801561020f575f5ffd5b506101f161021e3660046113cd565b60096020525f908152604090205481565b34801561023a575f5ffd5b506006546101f1565b34801561024e575f5ffd5b506101f16105e9565b348015610262575f5ffd5b506102766102713660046113ed565b610632565b005b348015610283575f5ffd5b5061027661029236600461140d565b61088b565b3480156102a2575f5ffd5b50610276610a3e565b3480156102b6575f5ffd5b50610276610a50565b3480156102ca575f5ffd5b505f54600160a01b900460ff165b60405190151581526020016101fb565b3480156102f3575f5ffd5b5061031b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101fb565b34801561033e575f5ffd5b506101f161034d3660046113cd565b6001600160a01b03165f9081526007602052604090205490565b348015610372575f5ffd5b50610276610b54565b348015610386575f5ffd5b506101f160025481565b34801561039b575f5ffd5b506002546101f1565b3480156103af575f5ffd5b506101f1610b65565b3480156103c3575f5ffd5b50610276610b7b565b3480156103d7575f5ffd5b506102766103e6366004611424565b610b8b565b3480156103f6575f5ffd5b506101f16104053660046113cd565b60086020525f908152604090205481565b348015610421575f5ffd5b505f546001600160a01b031661031b565b34801561043d575f5ffd5b5061027661044c36600461140d565b610d48565b34801561045c575f5ffd5b505f54600160a01b900460ff166102d8565b348015610479575f5ffd5b506101f160045481565b34801561048e575f5ffd5b506003546101f1565b3480156104a2575f5ffd5b506101f1610ee8565b3480156104b6575f5ffd5b50610276610faf565b3480156104ca575f5ffd5b506101f160055481565b3480156104df575f5ffd5b506102766110bb565b3480156104f3575f5ffd5b506101f160035481565b348015610508575f5ffd5b506102766105173660046113cd565b6110db565b348015610527575f5ffd5b5061031b7f000000000000000000000000000000000000000000000000000000000000000081565b5f5f610559610ee8565b6001600160a01b0384165f90815260086020526040812054919250818311156105be57670de0b6b3a764000061058f8385611460565b6001600160a01b0387165f908152600760205260409020546105b19190611479565b6105bb9190611490565b90505b6001600160a01b0385165f908152600960205260409020546105e090826114af565b95945050505050565b5f60035442106105f857505f90565b5f6004546003546106099190611460565b9050670de0b6b3a7640000816002546106229190611479565b61062c9190611490565b91505090565b61063a611115565b610642611141565b61064a61116b565b5f610653610ee8565b60055561065e610b65565b6004556001600160a01b038116156106a4576106798161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f82116106ef5760405162461bcd60e51b815260206004820152601460248201527304475726174696f6e206d757374206265203e20360641b60448201526064015b60405180910390fd5b5f83116107335760405162461bcd60e51b81526020600482015260126024820152710526577617264206d757374206265203e20360741b60448201526064016106e6565b6107686001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086611195565b5f6003544210610796578261078585670de0b6b3a7640000611479565b61078f9190611490565b90506107e5565b5f426003546107a59190611460565b90505f600254826107b69190611479565b905084816107cc88670de0b6b3a7640000611479565b6107d691906114af565b6107e09190611490565b925050505b5f811161082a5760405162461bcd60e51b8152602060048201526013602482015272526577617264207261746520746f6f206c6f7760681b60448201526064016106e6565b60028190554260048190556108409084906114af565b60035560408051858152602081018590527f6c07ee05dcf262f13abf9d87b846ee789d2f90fe991d495acd7d7fc109ee1f55910160405180910390a1505061088760018055565b5050565b610893611141565b61089b61116b565b336108a4610ee8565b6005556108af610b65565b6004556001600160a01b038116156108f5576108ca8161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f82116109385760405162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b60448201526064016106e6565b335f9081526007602052604090205482111561098d5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016106e6565b8160065f82825461099e9190611460565b9091555050335f90815260076020526040812080548492906109c1908490611460565b909155506109fb90506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163384611202565b60405182815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5906020015b60405180910390a250610a3b60018055565b50565b610a46611115565b610a4e611238565b565b610a58611141565b610a6061116b565b33610a69610ee8565b600555610a74610b65565b6004556001600160a01b03811615610aba57610a8f8161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b335f908152600960205260409020548015610b4957335f81815260096020526040812055610b13907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169083611202565b60405181815233907fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e04869060200160405180910390a25b5050610a4e60018055565b610b5c611115565b610a4e5f61128c565b5f6003544210610b76575060035490565b504290565b610b83611115565b610a4e6112db565b610b93611115565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610c145760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265636f766572204c5020746f6b656e00000000000000000060448201526064016106e6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610c955760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74207265636f7665722072657761726420746f6b656e000000000060448201526064016106e6565b306001600160a01b03831603610ced5760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74207265636f76657220636f6e747261637420746f6b656e00000060448201526064016106e6565b610d016001600160a01b0383163383611202565b816001600160a01b03167f4590b594be6fdef6bd5e18792a2494ddf2156b618c7bbe48d13a92831208af0582604051610d3c91815260200190565b60405180910390a25050565b610d50611141565b610d5861116b565b33610d61610ee8565b600555610d6c610b65565b6004556001600160a01b03811615610db257610d878161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f8211610df25760405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b60448201526064016106e6565b600654610e00905f19611460565b821115610e475760405162461bcd60e51b8152602060048201526015602482015274546f74616c20737570706c79206f766572666c6f7760581b60448201526064016106e6565b8160065f828254610e5891906114af565b9091555050335f9081526007602052604081208054849290610e7b9084906114af565b90915550610eb690506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333085611195565b60405182815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d90602001610a29565b5f6006545f03610ef9575060055490565b5f600454610f05610b65565b610f0f9190611460565b9050805f03610f2057505060055490565b6002541580610f3c5750600254610f38905f19611490565b8111155b610f885760405162461bcd60e51b815260206004820152601a60248201527f4f766572666c6f7720696e20726577617264506572546f6b656e00000000000060448201526064016106e6565b600654600254610f989083611479565b610fa29190611490565b60055461062c91906114af565b610fb761116b565b335f908152600760205260409020548061100b5760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b60448201526064016106e6565b8060065f82825461101c9190611460565b9091555050335f81815260076020908152604080832083905560098252808320839055600890915281205561107c907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169083611202565b60405181815233907f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd96959060200160405180910390a250610a4e60018055565b335f908152600760205260409020546110d39061088b565b610a4e610a50565b6110e3611115565b6001600160a01b03811661110c57604051631e4fbdf760e01b81525f60048201526024016106e6565b610a3b8161128c565b5f546001600160a01b03163314610a4e5760405163118cdaa760e01b81523360048201526024016106e6565b5f54600160a01b900460ff1615610a4e5760405163d93c066560e01b815260040160405180910390fd5b60026001540361118e57604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b6040516001600160a01b0384811660248301528381166044830152606482018390526111fc9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061131d565b50505050565b6040516001600160a01b0383811660248301526044820183905261123391859182169063a9059cbb906064016111ca565b505050565b611240611389565b5f805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6112e3611141565b5f805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861126f3390565b5f5f60205f8451602086015f885af18061133c576040513d5f823e3d81fd5b50505f513d91508115611353578060011415611360565b6001600160a01b0384163b155b156111fc57604051635274afe760e01b81526001600160a01b03851660048201526024016106e6565b5f54600160a01b900460ff16610a4e57604051638dfc202b60e01b815260040160405180910390fd5b80356001600160a01b03811681146113c8575f5ffd5b919050565b5f602082840312156113dd575f5ffd5b6113e6826113b2565b9392505050565b5f5f604083850312156113fe575f5ffd5b50508035926020909101359150565b5f6020828403121561141d575f5ffd5b5035919050565b5f5f60408385031215611435575f5ffd5b61143e836113b2565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156114735761147361144c565b92915050565b80820281158282048414176114735761147361144c565b5f826114aa57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156114735761147361144c56fea2646970667358221220d71092850309b0ef89da1b1aff70e8cbe5f89dbe2c6452e412a7ddcbe650659864736f6c634300081e003300000000000000000000000071d5414715a3957dfdeadb2a7368c5768c0683d3000000000000000000000000022f8de9adf2b8aea32c715f79b5f05a611625ec", - "nonce": "0xe3", + "input": "0x60c060405234801561000f575f5ffd5b5060405161171738038061171783398101604081905261002e91610182565b338061005457604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61005d81610118565b50600180556001600160a01b0382166100ab5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2102628103a37b5b2b760811b604482015260640161004b565b6001600160a01b0381166101015760405162461bcd60e51b815260206004820152601460248201527f496e76616c69642072657761726420746f6b656e000000000000000000000000604482015260640161004b565b6001600160a01b039182166080521660a0526101b3565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461017d575f5ffd5b919050565b5f5f60408385031215610193575f5ffd5b61019c83610167565b91506101aa60208401610167565b90509250929050565b60805160a0516115126102055f395f818161052d0152818161073e01528181610ae20152610c3001525f81816102f9015281816109d201528181610baf01528181610ea8015261106701526115125ff3fe6080604052600436106101c7575f3560e01c80638456cb59116100f2578063cb17d14f11610092578063e9fad8ee11610062578063e9fad8ee146104d4578063ebe2b12b146104e8578063f2fde38b146104fd578063f7c618c11461051c575f5ffd5b8063cb17d14f14610483578063cd3daf9d14610497578063db2e21bc146104ab578063df136d65146104bf575f5ffd5b80638da5cb5b116100cd5780638da5cb5b14610416578063a694fc3a14610432578063b187bd2614610451578063c8f33c911461046e575f5ffd5b80638456cb59146103b85780638980f11f146103cc5780638b876347146103eb575f5ffd5b80634e71d92d11610168578063715018a611610138578063715018a6146103675780637b0a47ee1461037b5780637e1a37861461039057806380faa57d146103a4575f5ffd5b80634e71d92d146102ab5780635c975abb146102bf5780635fcbd285146102e857806370a0823114610333575f5ffd5b80631c1f78eb116101a35780631c1f78eb1461024357806328662551146102575780632e1a7d4d146102785780633f4ba83a14610297575f5ffd5b80628cc262146101d25780630700037d1461020457806318160ddd1461022f575f5ffd5b366101ce57005b5f5ffd5b3480156101dd575f5ffd5b506101f16101ec3660046113e7565b61054f565b6040519081526020015b60405180910390f35b34801561020f575f5ffd5b506101f161021e3660046113e7565b60096020525f908152604090205481565b34801561023a575f5ffd5b506006546101f1565b34801561024e575f5ffd5b506101f16105e9565b348015610262575f5ffd5b50610276610271366004611407565b610630565b005b348015610283575f5ffd5b50610276610292366004611427565b610889565b3480156102a2575f5ffd5b50610276610a3c565b3480156102b6575f5ffd5b50610276610a4e565b3480156102ca575f5ffd5b505f54600160a01b900460ff165b60405190151581526020016101fb565b3480156102f3575f5ffd5b5061031b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101fb565b34801561033e575f5ffd5b506101f161034d3660046113e7565b6001600160a01b03165f9081526007602052604090205490565b348015610372575f5ffd5b50610276610b52565b348015610386575f5ffd5b506101f160025481565b34801561039b575f5ffd5b506101f1610b63565b3480156103af575f5ffd5b506101f1610b7f565b3480156103c3575f5ffd5b50610276610b95565b3480156103d7575f5ffd5b506102766103e636600461143e565b610ba5565b3480156103f6575f5ffd5b506101f16104053660046113e7565b60086020525f908152604090205481565b348015610421575f5ffd5b505f546001600160a01b031661031b565b34801561043d575f5ffd5b5061027661044c366004611427565b610d62565b34801561045c575f5ffd5b505f54600160a01b900460ff166102d8565b348015610479575f5ffd5b506101f160045481565b34801561048e575f5ffd5b506003546101f1565b3480156104a2575f5ffd5b506101f1610f02565b3480156104b6575f5ffd5b50610276610fc9565b3480156104ca575f5ffd5b506101f160055481565b3480156104df575f5ffd5b506102766110d5565b3480156104f3575f5ffd5b506101f160035481565b348015610508575f5ffd5b506102766105173660046113e7565b6110f5565b348015610527575f5ffd5b5061031b7f000000000000000000000000000000000000000000000000000000000000000081565b5f5f610559610f02565b6001600160a01b0384165f90815260086020526040812054919250818311156105be57670de0b6b3a764000061058f838561147a565b6001600160a01b0387165f908152600760205260409020546105b19190611493565b6105bb91906114aa565b90505b6001600160a01b0385165f908152600960205260409020546105e090826114c9565b95945050505050565b5f60035442106105f857505f90565b5f42600354610607919061147a565b9050670de0b6b3a7640000816002546106209190611493565b61062a91906114aa565b91505090565b61063861112f565b61064061115b565b610648611185565b5f610651610f02565b60055561065c610b7f565b6004556001600160a01b038116156106a2576106778161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f82116106ed5760405162461bcd60e51b815260206004820152601460248201527304475726174696f6e206d757374206265203e20360641b60448201526064015b60405180910390fd5b5f83116107315760405162461bcd60e51b81526020600482015260126024820152710526577617264206d757374206265203e20360741b60448201526064016106e4565b6107666001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866111af565b5f6003544210610794578261078385670de0b6b3a7640000611493565b61078d91906114aa565b90506107e3565b5f426003546107a3919061147a565b90505f600254826107b49190611493565b905084816107ca88670de0b6b3a7640000611493565b6107d491906114c9565b6107de91906114aa565b925050505b5f81116108285760405162461bcd60e51b8152602060048201526013602482015272526577617264207261746520746f6f206c6f7760681b60448201526064016106e4565b600281905542600481905561083e9084906114c9565b60035560408051858152602081018590527f6c07ee05dcf262f13abf9d87b846ee789d2f90fe991d495acd7d7fc109ee1f55910160405180910390a1505061088560018055565b5050565b61089161115b565b610899611185565b336108a2610f02565b6005556108ad610b7f565b6004556001600160a01b038116156108f3576108c88161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f82116109365760405162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b60448201526064016106e4565b335f9081526007602052604090205482111561098b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016106e4565b8160065f82825461099c919061147a565b9091555050335f90815260076020526040812080548492906109bf90849061147a565b909155506109f990506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338461121c565b60405182815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5906020015b60405180910390a250610a3960018055565b50565b610a4461112f565b610a4c611252565b565b610a5661115b565b610a5e611185565b33610a67610f02565b600555610a72610b7f565b6004556001600160a01b03811615610ab857610a8d8161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b335f908152600960205260409020548015610b4757335f81815260096020526040812055610b11907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908361121c565b60405181815233907fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e04869060200160405180910390a25b5050610a4c60018055565b610b5a61112f565b610a4c5f6112a6565b5f670de0b6b3a7640000600254610b7a91906114aa565b905090565b5f6003544210610b90575060035490565b504290565b610b9d61112f565b610a4c6112f5565b610bad61112f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610c2e5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265636f766572204c5020746f6b656e00000000000000000060448201526064016106e4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610caf5760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74207265636f7665722072657761726420746f6b656e000000000060448201526064016106e4565b306001600160a01b03831603610d075760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74207265636f76657220636f6e747261637420746f6b656e00000060448201526064016106e4565b610d1b6001600160a01b038316338361121c565b816001600160a01b03167f4590b594be6fdef6bd5e18792a2494ddf2156b618c7bbe48d13a92831208af0582604051610d5691815260200190565b60405180910390a25050565b610d6a61115b565b610d72611185565b33610d7b610f02565b600555610d86610b7f565b6004556001600160a01b03811615610dcc57610da18161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f8211610e0c5760405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b60448201526064016106e4565b600654610e1a905f1961147a565b821115610e615760405162461bcd60e51b8152602060048201526015602482015274546f74616c20737570706c79206f766572666c6f7760581b60448201526064016106e4565b8160065f828254610e7291906114c9565b9091555050335f9081526007602052604081208054849290610e959084906114c9565b90915550610ed090506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330856111af565b60405182815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d90602001610a27565b5f6006545f03610f13575060055490565b5f600454610f1f610b7f565b610f29919061147a565b9050805f03610f3a57505060055490565b6002541580610f565750600254610f52905f196114aa565b8111155b610fa25760405162461bcd60e51b815260206004820152601a60248201527f4f766572666c6f7720696e20726577617264506572546f6b656e00000000000060448201526064016106e4565b600654600254610fb29083611493565b610fbc91906114aa565b60055461062a91906114c9565b610fd1611185565b335f90815260076020526040902054806110255760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b60448201526064016106e4565b8060065f828254611036919061147a565b9091555050335f818152600760209081526040808320839055600982528083208390556008909152812055611096907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908361121c565b60405181815233907f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd96959060200160405180910390a250610a4c60018055565b335f908152600760205260409020546110ed90610889565b610a4c610a4e565b6110fd61112f565b6001600160a01b03811661112657604051631e4fbdf760e01b81525f60048201526024016106e4565b610a39816112a6565b5f546001600160a01b03163314610a4c5760405163118cdaa760e01b81523360048201526024016106e4565b5f54600160a01b900460ff1615610a4c5760405163d93c066560e01b815260040160405180910390fd5b6002600154036111a857604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b6040516001600160a01b0384811660248301528381166044830152606482018390526112169186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611337565b50505050565b6040516001600160a01b0383811660248301526044820183905261124d91859182169063a9059cbb906064016111e4565b505050565b61125a6113a3565b5f805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6112fd61115b565b5f805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586112893390565b5f5f60205f8451602086015f885af180611356576040513d5f823e3d81fd5b50505f513d9150811561136d57806001141561137a565b6001600160a01b0384163b155b1561121657604051635274afe760e01b81526001600160a01b03851660048201526024016106e4565b5f54600160a01b900460ff16610a4c57604051638dfc202b60e01b815260040160405180910390fd5b80356001600160a01b03811681146113e2575f5ffd5b919050565b5f602082840312156113f7575f5ffd5b611400826113cc565b9392505050565b5f5f60408385031215611418575f5ffd5b50508035926020909101359150565b5f60208284031215611437575f5ffd5b5035919050565b5f5f6040838503121561144f575f5ffd5b611458836113cc565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561148d5761148d611466565b92915050565b808202811582820484141761148d5761148d611466565b5f826114c457634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561148d5761148d61146656fea26469706673582212202b809426f6c135e8ee85814cc96bd824b6eef7af6592d09cc0eff3704ff809ca64736f6c634300081e0033000000000000000000000000ed415a516a0f83e27314ddc8fb12bb3fd572d260000000000000000000000000cefb699cf39c5462cad926920f869a252fde09ec", + "nonce": "0xf3", "chainId": "0xb4c" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x244f097e6655a172cdbc86f3c550fd38e337470d569eced2a97991661618ce4a", + "hash": "0x2040a84ffd7c08494a26084344995d83d3540c7b025db162078de4b4f8733474", "transactionType": "CALL", "contractName": "Kanari", - "contractAddress": "0x022f8de9adf2b8aea32c715f79b5f05a611625ec", + "contractAddress": "0xcefb699cf39c5462cad926920f869a252fde09ec", "function": "approve(address,uint256)", "arguments": [ - "0x1871A6c114B62A8Ea0855b1a29B7Df4341ED9a0d", + "0xEA4054041b1c65308a0D2F2d88DEa0f107A0c85A", "6000000000000000000000000" ], "transaction": { "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", - "to": "0x022f8de9adf2b8aea32c715f79b5f05a611625ec", + "to": "0xcefb699cf39c5462cad926920f869a252fde09ec", "gas": "0xfa6a", "value": "0x0", - "input": "0x095ea7b30000000000000000000000001871a6c114b62a8ea0855b1a29b7df4341ed9a0d00000000000000000000000000000000000000000004f68ca6d8cd91c6000000", - "nonce": "0xe4", + "input": "0x095ea7b3000000000000000000000000ea4054041b1c65308a0d2f2d88dea0f107a0c85a00000000000000000000000000000000000000000004f68ca6d8cd91c6000000", + "nonce": "0xf4", "chainId": "0xb4c" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x6ef10bb0a25b6b71679ce3fe7fa399c57f97769fa5f013332d7e1f1aef574d98", + "hash": "0x84f41da6d62f662afafb88e4a16c716943e26a895d5dfe249c8a02ff2b40f0d6", "transactionType": "CALL", "contractName": "Farming", - "contractAddress": "0x1871a6c114b62a8ea0855b1a29b7df4341ed9a0d", + "contractAddress": "0xea4054041b1c65308a0d2f2d88dea0f107a0c85a", "function": "fundRewards(uint256,uint256)", "arguments": [ "6000000000000000000000000", @@ -143,11 +143,11 @@ ], "transaction": { "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", - "to": "0x1871a6c114b62a8ea0855b1a29b7df4341ed9a0d", + "to": "0xea4054041b1c65308a0d2f2d88dea0f107a0c85a", "gas": "0x2c1ee", "value": "0x0", "input": "0x2866255100000000000000000000000000000000000000000004f68ca6d8cd91c6000000000000000000000000000000000000000000000000000000000000000b473500", - "nonce": "0xe5", + "nonce": "0xf5", "chainId": "0xb4c" }, "additionalContracts": [], @@ -160,80 +160,80 @@ "cumulativeGasUsed": "0x108b43", "logs": [ { - "address": "0x022f8de9adf2b8aea32c715f79b5f05a611625ec", + "address": "0xcefb699cf39c5462cad926920f869a252fde09ec", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2" ], "data": "0x", - "blockHash": "0x9b197bbcbf7cda43f43ab688fec0659f78311758021a7d04516b0c63e3808ebd", - "blockNumber": "0xb9dcf", - "blockTimestamp": "0x68bd7378", - "transactionHash": "0x1bcc52b2017dbf9e81cf84a73140a8cd8bf561cbb09561077203ba518cf2edc3", + "blockHash": "0x90b1373a01cabe0e63acf31fab42c9cf2bbb4bc029c010e215573cb4d9d48542", + "blockNumber": "0xd2d7a", + "blockTimestamp": "0x68c5426a", + "transactionHash": "0x474eff26a1a6be13475adbd2374e25649560e0051ca2629ffbdecca46b1b18b6", "transactionIndex": "0x0", "logIndex": "0x0", "removed": false }, { - "address": "0x022f8de9adf2b8aea32c715f79b5f05a611625ec", + "address": "0xcefb699cf39c5462cad926920f869a252fde09ec", "topics": [ "0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6", "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2" ], "data": "0x", - "blockHash": "0x9b197bbcbf7cda43f43ab688fec0659f78311758021a7d04516b0c63e3808ebd", - "blockNumber": "0xb9dcf", - "blockTimestamp": "0x68bd7378", - "transactionHash": "0x1bcc52b2017dbf9e81cf84a73140a8cd8bf561cbb09561077203ba518cf2edc3", + "blockHash": "0x90b1373a01cabe0e63acf31fab42c9cf2bbb4bc029c010e215573cb4d9d48542", + "blockNumber": "0xd2d7a", + "blockTimestamp": "0x68c5426a", + "transactionHash": "0x474eff26a1a6be13475adbd2374e25649560e0051ca2629ffbdecca46b1b18b6", "transactionIndex": "0x0", "logIndex": "0x1", "removed": false } ], - "logsBloom": "0x00800000000000000000000040000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000000000000000020000000000000000100800000000008000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000002002000000000000000000000000000", + "logsBloom": "0x00800000000000000000000040000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000040000000000000000000000000000020000000000000000000800000000008000000000000000000000400000000020000000000000000000000000000000000000000000000000000000000000000020000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000002000200000000000000000000000", "type": "0x2", - "transactionHash": "0x1bcc52b2017dbf9e81cf84a73140a8cd8bf561cbb09561077203ba518cf2edc3", + "transactionHash": "0x474eff26a1a6be13475adbd2374e25649560e0051ca2629ffbdecca46b1b18b6", "transactionIndex": "0x0", - "blockHash": "0x9b197bbcbf7cda43f43ab688fec0659f78311758021a7d04516b0c63e3808ebd", - "blockNumber": "0xb9dcf", + "blockHash": "0x90b1373a01cabe0e63acf31fab42c9cf2bbb4bc029c010e215573cb4d9d48542", + "blockNumber": "0xd2d7a", "gasUsed": "0x108b43", "effectiveGasPrice": "0x8", "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", "to": null, - "contractAddress": "0x022f8de9adf2b8aea32c715f79b5f05a611625ec" + "contractAddress": "0xcefb699cf39c5462cad926920f869a252fde09ec" }, { "status": "0x1", "cumulativeGasUsed": "0x10d15", "logs": [ { - "address": "0x022f8de9adf2b8aea32c715f79b5f05a611625ec", + "address": "0xcefb699cf39c5462cad926920f869a252fde09ec", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2" ], "data": "0x00000000000000000000000000000000000000000004f68ca6d8cd91c6000000", - "blockHash": "0xd5eb4d511f83e1cb98068d613386d403503c84b062899104b1bae76bd4de37ff", - "blockNumber": "0xb9dd1", - "blockTimestamp": "0x68bd7382", - "transactionHash": "0x56cfc2b786fdc7192819f1c67efe17eb7a88a51701f82c8da2fd0df9e36011f3", + "blockHash": "0xee351851e1d5efa206211f9624790cdb5964dca99cd8b422f0f739539310344e", + "blockNumber": "0xd2d7b", + "blockTimestamp": "0x68c5426f", + "transactionHash": "0xe958565f3921682a04df81b63024400b11016bf243b6a05098fbeee091c13c4c", "transactionIndex": "0x0", "logIndex": "0x0", "removed": false } ], - "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000100800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000200000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000002002000000000000000000000000000", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000020000000000000000000000000000000000000000000000000000000000000000020000000400000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000002000200000000000000000000000", "type": "0x2", - "transactionHash": "0x56cfc2b786fdc7192819f1c67efe17eb7a88a51701f82c8da2fd0df9e36011f3", + "transactionHash": "0xe958565f3921682a04df81b63024400b11016bf243b6a05098fbeee091c13c4c", "transactionIndex": "0x0", - "blockHash": "0xd5eb4d511f83e1cb98068d613386d403503c84b062899104b1bae76bd4de37ff", - "blockNumber": "0xb9dd1", + "blockHash": "0xee351851e1d5efa206211f9624790cdb5964dca99cd8b422f0f739539310344e", + "blockNumber": "0xd2d7b", "gasUsed": "0x10d15", "effectiveGasPrice": "0x8", "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", - "to": "0x022f8de9adf2b8aea32c715f79b5f05a611625ec", + "to": "0xcefb699cf39c5462cad926920f869a252fde09ec", "contractAddress": null }, { @@ -241,175 +241,175 @@ "cumulativeGasUsed": "0x37f268", "logs": [ { - "address": "0xad255cc5437aca030b1f8d41054cc2bfeabfb3a9", + "address": "0xb24361e65059537c684014fc9aa903d60b3290dc", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2" ], "data": "0x", - "blockHash": "0x6d931e50c8ec83e9b4966c6344b9302d7320696f68d218f1209d08c38c04cede", - "blockNumber": "0xb9dd3", - "blockTimestamp": "0x68bd738c", - "transactionHash": "0x898d5ff919a9301c9a3fe1ccfbda10104ee496b3bd603e7392a44d70b2665e39", + "blockHash": "0x6a6473004749e7ac04f5a55f7917f51d2da4fb6f3c767a8a56f6e938c9cad4f2", + "blockNumber": "0xd2d7e", + "blockTimestamp": "0x68c5427e", + "transactionHash": "0xc8df20bb5fbd041567aa8e402fdbc079c5a01136c106efb531e35c70dac2e1d4", "transactionIndex": "0x0", "logIndex": "0x0", "removed": false } ], - "logsBloom": "0x00000000000000000000000040000000000000000000000000800000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000020000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000002000000000000000000000000000", + "logsBloom": "0x00000000000000000000000040000000000000000000000000800000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000004000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000100000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000002000000000000000000000000000", "type": "0x2", - "transactionHash": "0x898d5ff919a9301c9a3fe1ccfbda10104ee496b3bd603e7392a44d70b2665e39", + "transactionHash": "0xc8df20bb5fbd041567aa8e402fdbc079c5a01136c106efb531e35c70dac2e1d4", "transactionIndex": "0x0", - "blockHash": "0x6d931e50c8ec83e9b4966c6344b9302d7320696f68d218f1209d08c38c04cede", - "blockNumber": "0xb9dd3", + "blockHash": "0x6a6473004749e7ac04f5a55f7917f51d2da4fb6f3c767a8a56f6e938c9cad4f2", + "blockNumber": "0xd2d7e", "gasUsed": "0x37f268", "effectiveGasPrice": "0x8", "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", "to": null, - "contractAddress": "0xad255cc5437aca030b1f8d41054cc2bfeabfb3a9" + "contractAddress": "0xb24361e65059537c684014fc9aa903d60b3290dc" }, { "status": "0x1", "cumulativeGasUsed": "0x285b8b", "logs": [ { - "address": "0x71d5414715a3957dfdeadb2a7368c5768c0683d3", + "address": "0xed415a516a0f83e27314ddc8fb12bb3fd572d260", "topics": [ "0xaaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3", - "0x000000000000000000000000ad255cc5437aca030b1f8d41054cc2bfeabfb3a9", + "0x000000000000000000000000b24361e65059537c684014fc9aa903d60b3290dc", "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2" ], "data": "0x", - "blockHash": "0x772854e1919ae0554ff12fe3b8eca513363e531d7508da0dc572783d2ebf0a09", - "blockNumber": "0xb9dd5", - "blockTimestamp": "0x68bd7396", - "transactionHash": "0xc542fc784a4403ec98e0883de0220fbd1d14490728589fbc94dd9b2525adb321", + "blockHash": "0xeb64c1f720d9c87fdaee0efc6394a8ae9391f0053cef77e319c4db89d9dcbac8", + "blockNumber": "0xd2d80", + "blockTimestamp": "0x68c54288", + "transactionHash": "0xf6d298f5fd70d6aeb7ca5b061b615abba2b2709f66f2d007c49c93d74b109cac", "transactionIndex": "0x0", "logIndex": "0x0", "removed": false }, { - "address": "0x71d5414715a3957dfdeadb2a7368c5768c0683d3", + "address": "0xed415a516a0f83e27314ddc8fb12bb3fd572d260", "topics": [ "0xd2fcc8c801d1c6ec6267fa3420cc8428c11a8c06f0d110a700fe9ff1e7317360" ], "data": "0x000000000000000000000000000000000000000000000000000000000000000a", - "blockHash": "0x772854e1919ae0554ff12fe3b8eca513363e531d7508da0dc572783d2ebf0a09", - "blockNumber": "0xb9dd5", - "blockTimestamp": "0x68bd7396", - "transactionHash": "0xc542fc784a4403ec98e0883de0220fbd1d14490728589fbc94dd9b2525adb321", + "blockHash": "0xeb64c1f720d9c87fdaee0efc6394a8ae9391f0053cef77e319c4db89d9dcbac8", + "blockNumber": "0xd2d80", + "blockTimestamp": "0x68c54288", + "transactionHash": "0xf6d298f5fd70d6aeb7ca5b061b615abba2b2709f66f2d007c49c93d74b109cac", "transactionIndex": "0x0", "logIndex": "0x1", "removed": false }, { - "address": "0x71d5414715a3957dfdeadb2a7368c5768c0683d3", + "address": "0xed415a516a0f83e27314ddc8fb12bb3fd572d260", "topics": [ "0x8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c76" ], "data": "0x000000000000000000000000000000000000000000000000000000000000001e", - "blockHash": "0x772854e1919ae0554ff12fe3b8eca513363e531d7508da0dc572783d2ebf0a09", - "blockNumber": "0xb9dd5", - "blockTimestamp": "0x68bd7396", - "transactionHash": "0xc542fc784a4403ec98e0883de0220fbd1d14490728589fbc94dd9b2525adb321", + "blockHash": "0xeb64c1f720d9c87fdaee0efc6394a8ae9391f0053cef77e319c4db89d9dcbac8", + "blockNumber": "0xd2d80", + "blockTimestamp": "0x68c54288", + "transactionHash": "0xf6d298f5fd70d6aeb7ca5b061b615abba2b2709f66f2d007c49c93d74b109cac", "transactionIndex": "0x0", "logIndex": "0x2", "removed": false }, { - "address": "0xad255cc5437aca030b1f8d41054cc2bfeabfb3a9", + "address": "0xb24361e65059537c684014fc9aa903d60b3290dc", "topics": [ "0xebbbe9dc3a19d2f959ac76ac0372b4983cdfb945f5d6aef4873c36fabb2ba8aa", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000022f8de9adf2b8aea32c715f79b5f05a611625ec" + "0x000000000000000000000000cefb699cf39c5462cad926920f869a252fde09ec" ], - "data": "0x00000000000000000000000071d5414715a3957dfdeadb2a7368c5768c0683d30000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x772854e1919ae0554ff12fe3b8eca513363e531d7508da0dc572783d2ebf0a09", - "blockNumber": "0xb9dd5", - "blockTimestamp": "0x68bd7396", - "transactionHash": "0xc542fc784a4403ec98e0883de0220fbd1d14490728589fbc94dd9b2525adb321", + "data": "0x000000000000000000000000ed415a516a0f83e27314ddc8fb12bb3fd572d2600000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xeb64c1f720d9c87fdaee0efc6394a8ae9391f0053cef77e319c4db89d9dcbac8", + "blockNumber": "0xd2d80", + "blockTimestamp": "0x68c54288", + "transactionHash": "0xf6d298f5fd70d6aeb7ca5b061b615abba2b2709f66f2d007c49c93d74b109cac", "transactionIndex": "0x0", "logIndex": "0x3", "removed": false } ], - "logsBloom": "0x00000000010000000000000040000000000000000000000000000000000010000800000000000000000000000000800000000000000000000000000000000000000000000000000080000000000020000000000000000000000000000000200000000020020000000000000000000800000000000000000200000000000000000000000000000000000000000000000000000000400400000400000000000000000000000020000004000000000004000000000000000000000000000000000000000000000000001000000800001410000000000000000800000000000020000000000000000000000000000000008000002000400000000800000000000000", + "logsBloom": "0x000000000100000000000000400000000000000000000000000000000000000008000000000000000000000000000000003000000000000000000000000000000000000000000000800006000000000000000000000000000000000000000000022000a0020000004000000002000800000000400000040200000000000000000000000000000000000000000000000000000000400000000000000100000000000000000020000004000000000000000000000000000000000000000000000000000000000000001000000800001000000000000000000800000000000020000000000000000000000000000000000000002000400000000000000000000000", "type": "0x2", - "transactionHash": "0xc542fc784a4403ec98e0883de0220fbd1d14490728589fbc94dd9b2525adb321", + "transactionHash": "0xf6d298f5fd70d6aeb7ca5b061b615abba2b2709f66f2d007c49c93d74b109cac", "transactionIndex": "0x0", - "blockHash": "0x772854e1919ae0554ff12fe3b8eca513363e531d7508da0dc572783d2ebf0a09", - "blockNumber": "0xb9dd5", + "blockHash": "0xeb64c1f720d9c87fdaee0efc6394a8ae9391f0053cef77e319c4db89d9dcbac8", + "blockNumber": "0xd2d80", "gasUsed": "0x285b8b", "effectiveGasPrice": "0x8", "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", - "to": "0xad255cc5437aca030b1f8d41054cc2bfeabfb3a9", + "to": "0xb24361e65059537c684014fc9aa903d60b3290dc", "contractAddress": null }, { "status": "0x1", - "cumulativeGasUsed": "0x134e3e", + "cumulativeGasUsed": "0x13641e", "logs": [ { - "address": "0x1871a6c114b62a8ea0855b1a29b7df4341ed9a0d", + "address": "0xea4054041b1c65308a0d2f2d88dea0f107a0c85a", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2" ], "data": "0x", - "blockHash": "0x31badfef4b610b4cf577f54ca25d92d0946dba0dae968d73652730dc5ca1739f", - "blockNumber": "0xb9dd6", - "blockTimestamp": "0x68bd739b", - "transactionHash": "0x9cf81240009dc910f320d3a02f280e796bd2c78bf7ba786a018f5be5b2b27abf", + "blockHash": "0x100c0c017740359a057487c7621e738e3d05a9fd75cd9a2061ac67c483d85b11", + "blockNumber": "0xd2d82", + "blockTimestamp": "0x68c54292", + "transactionHash": "0x1c984ceecb7f8b98c12d692dfdd1993fa450c7b09052fba00130c05f9b9f56b4", "transactionIndex": "0x0", "logIndex": "0x0", "removed": false } ], - "logsBloom": "0x00000000000000000000000040040000000000000000000000800000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000040000000400000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000002000000000000000000000000000", + "logsBloom": "0x00000000000000000000000040000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000010000000000000000000000000020000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000200000000000000000000000002000000000000000000000000000", "type": "0x2", - "transactionHash": "0x9cf81240009dc910f320d3a02f280e796bd2c78bf7ba786a018f5be5b2b27abf", + "transactionHash": "0x1c984ceecb7f8b98c12d692dfdd1993fa450c7b09052fba00130c05f9b9f56b4", "transactionIndex": "0x0", - "blockHash": "0x31badfef4b610b4cf577f54ca25d92d0946dba0dae968d73652730dc5ca1739f", - "blockNumber": "0xb9dd6", - "gasUsed": "0x134e3e", + "blockHash": "0x100c0c017740359a057487c7621e738e3d05a9fd75cd9a2061ac67c483d85b11", + "blockNumber": "0xd2d82", + "gasUsed": "0x13641e", "effectiveGasPrice": "0x8", "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", "to": null, - "contractAddress": "0x1871a6c114b62a8ea0855b1a29b7df4341ed9a0d" + "contractAddress": "0xea4054041b1c65308a0d2f2d88dea0f107a0c85a" }, { "status": "0x1", "cumulativeGasUsed": "0xb54d", "logs": [ { - "address": "0x022f8de9adf2b8aea32c715f79b5f05a611625ec", + "address": "0xcefb699cf39c5462cad926920f869a252fde09ec", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2", - "0x0000000000000000000000001871a6c114b62a8ea0855b1a29b7df4341ed9a0d" + "0x000000000000000000000000ea4054041b1c65308a0d2f2d88dea0f107a0c85a" ], "data": "0x00000000000000000000000000000000000000000004f68ca6d8cd91c6000000", - "blockHash": "0xee5647d1d953b3bd3dee07561edf3e1b7488fbfc6b0fbb16f47ea2b972a43b32", - "blockNumber": "0xb9dd8", - "blockTimestamp": "0x68bd73a5", - "transactionHash": "0x244f097e6655a172cdbc86f3c550fd38e337470d569eced2a97991661618ce4a", + "blockHash": "0x05439029e8d621f62a0e4d679bac34deb4275fc16616a1f0c756cef4e20d0f58", + "blockNumber": "0xd2d84", + "blockTimestamp": "0x68c5429c", + "transactionHash": "0x2040a84ffd7c08494a26084344995d83d3540c7b025db162078de4b4f8733474", "transactionIndex": "0x0", "logIndex": "0x0", "removed": false } ], - "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000020000000000000000000000000200000000000000040000000000000000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000002002000000000000000000000000000", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000020000000000000000000000000000000000000000008000000000000020000000020000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000002000200000000000000000000000", "type": "0x2", - "transactionHash": "0x244f097e6655a172cdbc86f3c550fd38e337470d569eced2a97991661618ce4a", + "transactionHash": "0x2040a84ffd7c08494a26084344995d83d3540c7b025db162078de4b4f8733474", "transactionIndex": "0x0", - "blockHash": "0xee5647d1d953b3bd3dee07561edf3e1b7488fbfc6b0fbb16f47ea2b972a43b32", - "blockNumber": "0xb9dd8", + "blockHash": "0x05439029e8d621f62a0e4d679bac34deb4275fc16616a1f0c756cef4e20d0f58", + "blockNumber": "0xd2d84", "gasUsed": "0xb54d", "effectiveGasPrice": "0x8", "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", - "to": "0x022f8de9adf2b8aea32c715f79b5f05a611625ec", + "to": "0xcefb699cf39c5462cad926920f869a252fde09ec", "contractAddress": null }, { @@ -417,53 +417,53 @@ "cumulativeGasUsed": "0x1ff15", "logs": [ { - "address": "0x022f8de9adf2b8aea32c715f79b5f05a611625ec", + "address": "0xcefb699cf39c5462cad926920f869a252fde09ec", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2", - "0x0000000000000000000000001871a6c114b62a8ea0855b1a29b7df4341ed9a0d" + "0x000000000000000000000000ea4054041b1c65308a0d2f2d88dea0f107a0c85a" ], "data": "0x00000000000000000000000000000000000000000004f68ca6d8cd91c6000000", - "blockHash": "0xfb1b89d41544e53d9addc9b926f415315a0cea46d21d8e7e01738b64cd93ac93", - "blockNumber": "0xb9dd9", - "blockTimestamp": "0x68bd73aa", - "transactionHash": "0x6ef10bb0a25b6b71679ce3fe7fa399c57f97769fa5f013332d7e1f1aef574d98", + "blockHash": "0x8b7520ceb44de5341be29d4fe56b10279ce20a28f0980e9a08aa7dc3f7cfa598", + "blockNumber": "0xd2d85", + "blockTimestamp": "0x68c542a1", + "transactionHash": "0x84f41da6d62f662afafb88e4a16c716943e26a895d5dfe249c8a02ff2b40f0d6", "transactionIndex": "0x0", "logIndex": "0x0", "removed": false }, { - "address": "0x1871a6c114b62a8ea0855b1a29b7df4341ed9a0d", + "address": "0xea4054041b1c65308a0d2f2d88dea0f107a0c85a", "topics": [ "0x6c07ee05dcf262f13abf9d87b846ee789d2f90fe991d495acd7d7fc109ee1f55" ], "data": "0x00000000000000000000000000000000000000000004f68ca6d8cd91c6000000000000000000000000000000000000000000000000000000000000000b473500", - "blockHash": "0xfb1b89d41544e53d9addc9b926f415315a0cea46d21d8e7e01738b64cd93ac93", - "blockNumber": "0xb9dd9", - "blockTimestamp": "0x68bd73aa", - "transactionHash": "0x6ef10bb0a25b6b71679ce3fe7fa399c57f97769fa5f013332d7e1f1aef574d98", + "blockHash": "0x8b7520ceb44de5341be29d4fe56b10279ce20a28f0980e9a08aa7dc3f7cfa598", + "blockNumber": "0xd2d85", + "blockTimestamp": "0x68c542a1", + "transactionHash": "0x84f41da6d62f662afafb88e4a16c716943e26a895d5dfe249c8a02ff2b40f0d6", "transactionIndex": "0x0", "logIndex": "0x1", "removed": false } ], - "logsBloom": "0x00000000000000000000000040040000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000008000000000000201000000000000000000000000000000000000000000000000000100000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000200000000000000040000000000000000002000000000001000000000000000000000000000000000100000000001000000000000000000000000000000002002000000000000000000000000000", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000200000000000000000000000000000000000000000000000000000000000000000001000000000000010000000000000000020000000000000000000000000000000000000010008000000000000000000000020000000400000000000000000000000000100000000000000000000000002000000000001000000000000000000000000000000000100000000000000000000200000000000000000000000002000200000000000000000000000", "type": "0x2", - "transactionHash": "0x6ef10bb0a25b6b71679ce3fe7fa399c57f97769fa5f013332d7e1f1aef574d98", + "transactionHash": "0x84f41da6d62f662afafb88e4a16c716943e26a895d5dfe249c8a02ff2b40f0d6", "transactionIndex": "0x0", - "blockHash": "0xfb1b89d41544e53d9addc9b926f415315a0cea46d21d8e7e01738b64cd93ac93", - "blockNumber": "0xb9dd9", + "blockHash": "0x8b7520ceb44de5341be29d4fe56b10279ce20a28f0980e9a08aa7dc3f7cfa598", + "blockNumber": "0xd2d85", "gasUsed": "0x1ff15", "effectiveGasPrice": "0x8", "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", - "to": "0x1871a6c114b62a8ea0855b1a29b7df4341ed9a0d", + "to": "0xea4054041b1c65308a0d2f2d88dea0f107a0c85a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1757246379, + "timestamp": 1757758113, "chain": 2892, - "commit": "ebc4448" + "commit": "37e4ae0" } \ No newline at end of file diff --git a/broadcast/DeployDEX_v2.s.sol/91342/run-1757757881.json b/broadcast/DeployDEX_v2.s.sol/91342/run-1757757881.json new file mode 100644 index 0000000..aea4450 --- /dev/null +++ b/broadcast/DeployDEX_v2.s.sol/91342/run-1757757881.json @@ -0,0 +1,164 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Kanari", + "contractAddress": "0x75fd88b5d08dbc8d07fd27b6760e6bbac12f12bb", + "function": null, + "arguments": null, + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "gas": "0x1581d7", + "value": "0x0", + "input": "0x60806040526064600655348015610014575f5ffd5b50336040518060400160405280600c81526020016b25b0b730b934902a37b5b2b760a11b815250604051806040016040528060068152602001654b414e41524960d01b81525081600390816100699190610219565b5060046100768282610219565b5050506001600160a01b0381166100a657604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100af81610130565b506005805460ff60a01b1916600960a11b179055335f818152600760209081526040808320805460ff19908116600190811790925530855282852080548216831790558585526008909352818420805490931617909155517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a26102d3565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806101a957607f821691505b6020821081036101c757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561021457805f5260205f20601f840160051c810160208510156101f25750805b601f840160051c820191505b81811015610211575f81556001016101fe565b50505b505050565b81516001600160401b0381111561023257610232610181565b610246816102408454610195565b846101cd565b6020601f821160018114610278575f83156102615750848201515b5f19600385901b1c1916600184901b178455610211565b5f84815260208120601f198516915b828110156102a75787850151825560209485019460019092019101610287565b50848210156102c457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b610f8c806102e05f395ff3fe608060405234801561000f575f5ffd5b506004361061016d575f3560e01c8063715018a6116100d9578063bed9985011610093578063dd62ed3e1161006e578063dd62ed3e1461031e578063e1f1c4a714610356578063f2fde38b1461035f578063f46eccc414610372575f5ffd5b8063bed99850146102f9578063d80cbc8c14610302578063d89135cd14610315575f5ffd5b8063715018a6146102a05780638da5cb5b146102a85780639358928b146102c357806395d89b41146102cb578063983b2d56146102d3578063a9059cbb146102e6575f5ffd5b80633092afd51161012a5780633092afd51461020e578063313ce5671461022157806332cb6b0c1461024057806340c10f191461025257806342966c681461026557806370a0823114610278575f5ffd5b806306fdde0314610171578063095ea7b31461018f5780630e88dad1146101b257806318160ddd146101d4578063189d165e146101e657806323b872dd146101fb575b5f5ffd5b610179610394565b6040516101869190610d62565b60405180910390f35b6101a261019d366004610db2565b610424565b6040519015158152602001610186565b6101a26101c0366004610dda565b60076020525f908152604090205460ff1681565b6002545b604051908152602001610186565b6101f96101f4366004610df3565b61043d565b005b6101a2610209366004610e0a565b6104cd565b6101f961021c366004610dda565b6104f0565b600554600160a01b900460ff1660405160ff9091168152602001610186565b6101d86a09195731e2ce35eb00000081565b6101f9610260366004610db2565b610596565b6101f9610273366004610df3565b61065d565b6101d8610286366004610dda565b6001600160a01b03165f9081526020819052604090205490565b6101f96106ad565b6005546040516001600160a01b039091168152602001610186565b6101d86106c0565b6101796106dc565b6101f96102e1366004610dda565b6106eb565b6101a26102f4366004610db2565b6107e8565b6101d860065481565b6101f9610310366004610e44565b6107f5565b6101d860095481565b6101d861032c366004610e7d565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6101d861271081565b6101f961036d366004610dda565b61085b565b6101a2610380366004610dda565b60086020525f908152604090205460ff1681565b6060600380546103a390610eae565b80601f01602080910402602001604051908101604052809291908181526020018280546103cf90610eae565b801561041a5780601f106103f15761010080835404028352916020019161041a565b820191905f5260205f20905b8154815290600101906020018083116103fd57829003601f168201915b5050505050905090565b5f33610431818585610898565b60019150505b92915050565b6104456108aa565b6103e88111156104915760405162461bcd60e51b8152602060048201526012602482015271084eae4dc40e4c2e8ca40e8dede40d0d2ced60731b60448201526064015b60405180910390fd5b60068190556040518181527f47863b595116a31383855975a4078913dce7881e717b75a06ced2db5d534ff78906020015b60405180910390a150565b5f336104da8582856108d7565b6104e5858585610953565b506001949350505050565b6104f86108aa565b6001600160a01b0381165f9081526008602052604090205460ff1661054e5760405162461bcd60e51b815260206004820152600c60248201526b2737ba10309036b4b73a32b960a11b6044820152606401610488565b6001600160a01b0381165f81815260086020526040808220805460ff19169055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a250565b6001600160a01b0382166105ec5760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74206d696e7420746f207a65726f206164647265737300000000006044820152606401610488565b6a09195731e2ce35eb0000008161060260025490565b61060c9190610efa565b111561064f5760405162461bcd60e51b815260206004820152601260248201527145786365656473206d617820737570706c7960701b6044820152606401610488565b61065982826109b0565b5050565b61066733826109e4565b8060095f8282546106789190610efa565b90915550506040518181527f6ef4855b666dcc7884561072e4358b28dfe01feb1b7f4dcebc00e62d50394ac7906020016104c2565b6106b56108aa565b6106be5f610a18565b565b5f6009546106cd60025490565b6106d79190610f0d565b905090565b6060600480546103a390610eae565b6106f36108aa565b6001600160a01b0381166107425760405162461bcd60e51b8152602060048201526016602482015275496e76616c6964206d696e746572206164647265737360501b6044820152606401610488565b6001600160a01b0381165f9081526008602052604090205460ff161561079d5760405162461bcd60e51b815260206004820152601060248201526f20b63932b0b23c90309036b4b73a32b960811b6044820152606401610488565b6001600160a01b0381165f81815260086020526040808220805460ff19166001179055517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a250565b5f33610431818585610953565b6107fd6108aa565b6001600160a01b0382165f81815260076020908152604091829020805460ff191685151590811790915591519182527fd9403aab61f2051cf551fc2209c9aead3db9f0cb7c4ad96db0909a09c0edf695910160405180910390a25050565b6108636108aa565b6001600160a01b03811661088c57604051631e4fbdf760e01b81525f6004820152602401610488565b61089581610a18565b50565b6108a58383836001610a69565b505050565b6005546001600160a01b031633146106be5760405163118cdaa760e01b8152336004820152602401610488565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561094d578181101561093f57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610488565b61094d84848484035f610a69565b50505050565b6001600160a01b03831661097c57604051634b637e8f60e11b81525f6004820152602401610488565b6001600160a01b0382166109a55760405163ec442f0560e01b81525f6004820152602401610488565b6108a5838383610b3b565b6001600160a01b0382166109d95760405163ec442f0560e01b81525f6004820152602401610488565b6106595f8383610b3b565b6001600160a01b038216610a0d57604051634b637e8f60e11b81525f6004820152602401610488565b610659825f83610b3b565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038416610a925760405163e602df0560e01b81525f6004820152602401610488565b6001600160a01b038316610abb57604051634a1406b160e11b81525f6004820152602401610488565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561094d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b2d91815260200190565b60405180910390a350505050565b6001600160a01b03831615801590610b5b57506001600160a01b03821615155b15610bdd575f610b6b8483610be8565b90508015610bdb57610b7e845f83610c3c565b8060095f828254610b8f9190610efa565b90915550506040518181527f6ef4855b666dcc7884561072e4358b28dfe01feb1b7f4dcebc00e62d50394ac79060200160405180910390a161094d8484610bd68486610f0d565b610c3c565b505b6108a5838383610c3c565b6001600160a01b0382165f9081526007602052604081205460ff1680610c0e5750600654155b15610c1a57505f610437565b61271060065483610c2b9190610f20565b610c359190610f37565b9392505050565b6001600160a01b038316610c66578060025f828254610c5b9190610efa565b90915550610cd69050565b6001600160a01b0383165f9081526020819052604090205481811015610cb85760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610488565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610cf257600280548290039055610d10565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d5591815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610dad575f5ffd5b919050565b5f5f60408385031215610dc3575f5ffd5b610dcc83610d97565b946020939093013593505050565b5f60208284031215610dea575f5ffd5b610c3582610d97565b5f60208284031215610e03575f5ffd5b5035919050565b5f5f5f60608486031215610e1c575f5ffd5b610e2584610d97565b9250610e3360208501610d97565b929592945050506040919091013590565b5f5f60408385031215610e55575f5ffd5b610e5e83610d97565b915060208301358015158114610e72575f5ffd5b809150509250929050565b5f5f60408385031215610e8e575f5ffd5b610e9783610d97565b9150610ea560208401610d97565b90509250929050565b600181811c90821680610ec257607f821691505b602082108103610ee057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561043757610437610ee6565b8181038181111561043757610437610ee6565b808202811582820484141761043757610437610ee6565b5f82610f5157634e487b7160e01b5f52601260045260245ffd5b50049056fea264697066735822122011417a150ea1f1515136e56e4d879b927b7f6b17a40a2f39a4454712d8346d2b64736f6c634300081e0033", + "nonce": "0xa", + "chainId": "0x164ce" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "Kanari", + "contractAddress": "0x75fd88b5d08dbc8d07fd27b6760e6bbac12f12bb", + "function": "mint(address,uint256)", + "arguments": [ + "0xC88C539aa6f67daeDaeA7aff75FE1F8848d6CeC2", + "6000000000000000000000000" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0x75fd88b5d08dbc8d07fd27b6760e6bbac12f12bb", + "gas": "0x173ab", + "value": "0x0", + "input": "0x40c10f19000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec200000000000000000000000000000000000000000004f68ca6d8cd91c6000000", + "nonce": "0xb", + "chainId": "0x164ce" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "DEXFactory", + "contractAddress": "0x95e560ca28f8dca1c585aff9b0773625dd20ae75", + "function": null, + "arguments": [ + "0xC88C539aa6f67daeDaeA7aff75FE1F8848d6CeC2" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "gas": "0x48bb20", + "value": "0x0", + "input": "0x6080604052600a600555601e600655348015610019575f5ffd5b5060405161413138038061413183398101604081905261003891610132565b338061005e57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610067816100e3565b506001600160a01b0381166100be5760405162461bcd60e51b815260206004820152601560248201527f496e76616c69642066656520726563697069656e7400000000000000000000006044820152606401610055565b600480546001600160a01b0319166001600160a01b039290921691909117905561015f565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610142575f5ffd5b81516001600160a01b0381168114610158575f5ffd5b9392505050565b613fc58061016c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610111575f3560e01c8063a8c6262a1161009e578063d88ff1f41161006e578063d88ff1f414610276578063e34336151461028b578063e74b981b1461029e578063efde4e64146102b1578063f2fde38b146102b9575f5ffd5b8063a8c6262a14610214578063b1aecc8e14610227578063b9bdb4ef1461025a578063bcae25a41461026d575f5ffd5b8063531aa03e116100e4578063531aa03e146101845780635b16ebb7146101b75780636ce0c4b5146101e9578063715018a6146101fc5780638da5cb5b14610204575f5ffd5b806307188087146101155780631c29415f1461012a57806341d1de97146101465780634690484014610171575b5f5ffd5b610128610123366004610db5565b6102cc565b005b61013360055481565b6040519081526020015b60405180910390f35b610159610154366004610dec565b6103cf565b6040516001600160a01b03909116815260200161013d565b600454610159906001600160a01b031681565b610159610192366004610db5565b600160209081525f92835260408084209091529082529020546001600160a01b031681565b6101d96101c5366004610e03565b60036020525f908152604090205460ff1681565b604051901515815260200161013d565b6101596101f7366004610dec565b6103f7565b61012861046d565b5f546001600160a01b0316610159565b610128610222366004610e25565b61047f565b61023a610235366004610e03565b6105da565b604080516001600160a01b0393841681529290911660208301520161013d565b610128610268366004610e57565b610707565b61013360065481565b61027e6107db565b60405161013d9190610e77565b610159610299366004610db5565b61083b565b6101286102ac366004610e03565b610c30565b600254610133565b6101286102c7366004610e03565b610ccf565b6102d4610d0c565b6001600160a01b0382166103035760405162461bcd60e51b81526004016102fa90610ec2565b60405180910390fd5b6001600160a01b0382165f9081526003602052604090205460ff1661033a5760405162461bcd60e51b81526004016102fa90610ee8565b60405163e74b981b60e01b81526001600160a01b03828116600483015283919082169063e74b981b906024015f604051808303815f87803b15801561037d575f5ffd5b505af115801561038f573d5f5f3e3d5ffd5b50506040516001600160a01b038086169350861691507f08df8ba9b5db9091d74a4a3f75f9c011dad9a006cf9b9366eb34a942d0edf6ad905f90a3505050565b600281815481106103de575f80fd5b5f918252602090912001546001600160a01b0316905081565b6002545f9082106104405760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b60448201526064016102fa565b6002828154811061045357610453610f12565b5f918252602090912001546001600160a01b031692915050565b610475610d0c565b61047d610d38565b565b610487610d0c565b6001600160a01b0383166104ad5760405162461bcd60e51b81526004016102fa90610ec2565b6001600160a01b0383165f9081526003602052604090205460ff166104e45760405162461bcd60e51b81526004016102fa90610ee8565b604051630ec4331760e01b81526004810183905283906001600160a01b03821690630ec43317906024015f604051808303815f87803b158015610525575f5ffd5b505af1158015610537573d5f5f3e3d5ffd5b50506040516339613db160e11b8152600481018590526001600160a01b03841692506372c27b6291506024015f604051808303815f87803b15801561057a575f5ffd5b505af115801561058c573d5f5f3e3d5ffd5b505060408051868152602081018690526001600160a01b03881693507fda6e21b7e37fa72509db45fd6c98a2e7261a7bdf77b485d89aecc4a9407d906f92500160405180910390a250505050565b5f806001600160a01b0383166106025760405162461bcd60e51b81526004016102fa90610ec2565b6001600160a01b0383165f9081526003602052604090205460ff166106395760405162461bcd60e51b81526004016102fa90610ee8565b5f839050806001600160a01b0316630fc63d106040518163ffffffff1660e01b8152600401602060405180830381865afa158015610679573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069d9190610f26565b9250806001600160a01b0316635f64b55b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ff9190610f26565b915050915091565b61070f610d0c565b60648211156107535760405162461bcd60e51b815260206004820152601060248201526f088caec40cccaca40e8dede40d0d2ced60831b60448201526064016102fa565b6101f48111156107945760405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b60448201526064016102fa565b6005829055600681905560408051838152602081018390527fd31db2d23fe42d625fd61189088b6ca9e19f1d03ed676d9480fee9705dfca300910160405180910390a15050565b6060600280548060200260200160405190810160405280929190818152602001828054801561083157602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610813575b5050505050905090565b5f816001600160a01b0316836001600160a01b0316036108905760405162461bcd60e51b815260206004820152601060248201526f4964656e746963616c20746f6b656e7360801b60448201526064016102fa565b6001600160a01b0383161515806108af57506001600160a01b03821615155b6108fb5760405162461bcd60e51b815260206004820152601a60248201527f426f746820746f6b656e732063616e6e6f74206265207a65726f00000000000060448201526064016102fa565b5f5f836001600160a01b0316856001600160a01b03161061091d578385610920565b84845b6001600160a01b038083165f908152600160209081526040808320848616845290915290205492945090925016156109905760405162461bcd60e51b8152602060048201526013602482015272506f6f6c20616c72656164792065786973747360681b60448201526064016102fa565b5f6001600160a01b03831615806109ae57506001600160a01b038216155b156109fc575f83836040516109c290610d94565b6001600160a01b039283168152911660208201526040016040518091039082f09050801580156109f4573d5f5f3e3d5ffd5b509050610a3e565b8282604051610a0a90610d94565b6001600160a01b03928316815291166020820152604001604051809103905ff080158015610a3a573d5f5f3e3d5ffd5b5090505b6004805460405163e74b981b60e01b81526001600160a01b0391821692810192909252919450849182169063e74b981b906024015f604051808303815f87803b158015610a89575f5ffd5b505af1158015610a9b573d5f5f3e3d5ffd5b5050600554604051630ec4331760e01b815260048101919091526001600160a01b0384169250630ec4331791506024015f604051808303815f87803b158015610ae2575f5ffd5b505af1158015610af4573d5f5f3e3d5ffd5b50506006546040516339613db160e11b815260048101919091526001600160a01b03841692506372c27b6291506024015f604051808303815f87803b158015610b3b575f5ffd5b505af1158015610b4d573d5f5f3e3d5ffd5b505050506001600160a01b038381165f8181526001602081815260408084208887168086529083528185208054978c166001600160a01b03199889168117909155848452828620878752845282862080548916821790556002805480870182557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805490991682179098558086526003845294829020805460ff19169094179093559454855193845290830152927febbbe9dc3a19d2f959ac76ac0372b4983cdfb945f5d6aef4873c36fabb2ba8aa910160405180910390a350505092915050565b610c38610d0c565b6001600160a01b038116610c865760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a5908199959481c9958da5c1a595b9d605a1b60448201526064016102fa565b600480546001600160a01b0319166001600160a01b0383169081179091556040517f7a7b5a0a132f9e0581eb8527f66eae9ee89c2a3e79d4ac7e41a1f1f4d48a7fc2905f90a250565b610cd7610d0c565b6001600160a01b038116610d0057604051631e4fbdf760e01b81525f60048201526024016102fa565b610d0981610d45565b50565b5f546001600160a01b0316331461047d5760405163118cdaa760e01b81523360048201526024016102fa565b610d40610d0c565b61047d5f5b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61304e80610f4283390190565b6001600160a01b0381168114610d09575f5ffd5b5f5f60408385031215610dc6575f5ffd5b8235610dd181610da1565b91506020830135610de181610da1565b809150509250929050565b5f60208284031215610dfc575f5ffd5b5035919050565b5f60208284031215610e13575f5ffd5b8135610e1e81610da1565b9392505050565b5f5f5f60608486031215610e37575f5ffd5b8335610e4281610da1565b95602085013595506040909401359392505050565b5f5f60408385031215610e68575f5ffd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015610eb75783516001600160a01b0316835260209384019390920191600101610e90565b509095945050505050565b6020808252600c908201526b125b9d985b1a59081c1bdbdb60a21b604082015260600190565b60208082526010908201526f139bdd0818481d985b1a59081c1bdbdb60821b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610f36575f5ffd5b8151610e1e81610da156fe610100604052600c60c09081526b20a6a6902628102a37b5b2b760a11b60e05260019061002c90826101d1565b506040805180820190915260068152650414d4d2d4c560d41b602082015260029061005790826101d1565b506003805460ff19166012179055601e600955600a805560405161304e3881900390819083398101604081905261008d916102a6565b60015f556001600160a01b0382161580156100af57506001600160a01b038116155b156101005760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e617469766500000000604482015260640160405180910390fd5b6001600160a01b039182166080521660a05260078054336001600160a01b031991821681179092556008805490911690911790556102d7565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061016157607f821691505b60208210810361017f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101cc57805f5260205f20601f840160051c810160208510156101aa5750805b601f840160051c820191505b818110156101c9575f81556001016101b6565b50505b505050565b81516001600160401b038111156101ea576101ea610139565b6101fe816101f8845461014d565b84610185565b6020601f821160018114610230575f83156102195750848201515b5f19600385901b1c1916600184901b1784556101c9565b5f84815260208120601f198516915b8281101561025f578785015182556020948501946001909201910161023f565b508482101561027c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b80516001600160a01b03811681146102a1575f5ffd5b919050565b5f5f604083850312156102b7575f5ffd5b6102c08361028b565b91506102ce6020840161028b565b90509250929050565b60805160a051612c846103ca5f395f818161036d01528181610670015281816106aa01528181610ccb01528181610e0c01528181610e4601528181610f0e01528181610ff5015281816110270152818161164901528181611a9201528181611cba01528181611fbb01528181612057015261223601525f818161023d015281816105b2015281816105ec01528181610c9901528181610d4501528181610d7f01528181610ed301528181610f9101528181610fc30152818161160e0152818161169c01528181611a6c01528181611c7f01528181611eee01528181611f8a015281816121fb01526122a80152612c845ff3fe60806040526004361061017e575f3560e01c80635f64b55b116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610479578063e74b981b146104bd578063f140a35a146104dc578063f88bf15a146104fb575f5ffd5b8063a9059cbb14610428578063ad3b1b4714610447578063c9ec924814610466575f5ffd5b80635f64b55b1461035c57806370a082311461038f57806372c27b62146103c35780638da5cb5b146103e257806395d89b4114610401578063a360501c14610415575f5ffd5b806323b872dd11610138578063313ce56711610113578063313ce567146102de578063469048401461030957806355fb1d46146103285780635b0803611461033d575f5ffd5b806323b872dd14610295578063249d39e9146102b457806324a9d853146102c9575f5ffd5b806306fdde03146101895780630902f1ac146101b3578063095ea7b3146101dc5780630ec433171461020b5780630fc63d101461022c57806318160ddd14610277575f5ffd5b3661018557005b5f5ffd5b348015610194575f5ffd5b5061019d61051a565b6040516101aa91906128e3565b60405180910390f35b3480156101be575f5ffd5b506101c76105a6565b604080519283526020830191909152016101aa565b3480156101e7575f5ffd5b506101fb6101f6366004612933565b610728565b60405190151581526020016101aa565b348015610216575f5ffd5b5061022a61022536600461295b565b610794565b005b348015610237575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101aa565b348015610282575f5ffd5b506004545b6040519081526020016101aa565b3480156102a0575f5ffd5b506101fb6102af366004612972565b610898565b3480156102bf575f5ffd5b5061028761271081565b3480156102d4575f5ffd5b5061028760095481565b3480156102e9575f5ffd5b506003546102f79060ff1681565b60405160ff90911681526020016101aa565b348015610314575f5ffd5b5060085461025f906001600160a01b031681565b348015610333575f5ffd5b50610287600a5481565b348015610348575f5ffd5b506102876103573660046129ac565b610968565b348015610367575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a575f5ffd5b506102876103a93660046129d6565b6001600160a01b03165f9081526005602052604090205490565b3480156103ce575f5ffd5b5061022a6103dd36600461295b565b610b18565b3480156103ed575f5ffd5b5060075461025f906001600160a01b031681565b34801561040c575f5ffd5b5061019d610c09565b6102876104233660046129f6565b610c16565b348015610433575f5ffd5b506101fb610442366004612933565b6113b5565b348015610452575f5ffd5b5061022a610461366004612933565b6113ca565b610287610474366004612a2d565b61159d565b348015610484575f5ffd5b50610287610493366004612a63565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156104c8575f5ffd5b5061022a6104d73660046129d6565b611bb3565b3480156104e7575f5ffd5b506102876104f63660046129ac565b611c7c565b348015610506575f5ffd5b506101c7610515366004612a8b565b611d5e565b6001805461052790612aba565b80601f016020809104026020016040519081016040528092919081815260200182805461055390612aba565b801561059e5780601f106105755761010080835404028352916020019161059e565b820191905f5260205f20905b81548152906001019060200180831161058157829003601f168201915b505050505081565b5f806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610662576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610639573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065d9190612af2565b610664565b475b91506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610720576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156106f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b9190612af2565b610722565b475b90509091565b335f8181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107829086815260200190565b60405180910390a35060015b92915050565b6007546001600160a01b031633146107c75760405162461bcd60e51b81526004016107be90612b09565b60405180910390fd5b606481111561080b5760405162461bcd60e51b815260206004820152601060248201526f088caec40cccaca40e8dede40d0d2ced60831b60448201526064016107be565b612710811061085c5760405162461bcd60e51b815260206004820152601f60248201527f44657620666565206d757374206265206c657373207468616e2031303030300060448201526064016107be565b600a8190556040518181527fd2fcc8c801d1c6ec6267fa3420cc8428c11a8c06f0d110a700fe9ff1e7317360906020015b60405180910390a150565b6001600160a01b0383165f9081526006602090815260408083203384529091528120545f19811461095257828110156109245760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016107be565b61092e8382612b40565b6001600160a01b0386165f9081526006602090815260408083203384529091529020555b61095d8585856120d6565b506001949350505050565b5f5f83116109885760405162461bcd60e51b81526004016107be90612b53565b5f612710600a548561099a9190612b81565b6109a49190612b98565b90505f6109b18286612b40565b90505f6109be82866121f8565b90506009546127106109d09190612b40565b6109db905f19612b98565b821115610a3c5760405162461bcd60e51b815260206004820152602960248201527f416d6f756e74496e20746f6f206c6172676520666f7220696d706163742063616044820152683631bab630ba34b7b760b91b60648201526084016107be565b5f612710600954612710610a509190612b40565b610a5a9085612b81565b610a649190612b98565b9050805f03610a79575f94505050505061078e565b818111610a8c575f94505050505061078e565b5f610a978383612b40565b9050610aa66127105f19612b98565b811115610af55760405162461bcd60e51b815260206004820152601b60248201527f496d706163742063616c63756c6174696f6e206f766572666c6f77000000000060448201526064016107be565b81610b0261271083612b81565b610b0c9190612b98565b98975050505050505050565b6007546001600160a01b03163314610b425760405162461bcd60e51b81526004016107be90612b09565b6101f4811115610b835760405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b60448201526064016107be565b6127108110610bd45760405162461bcd60e51b815260206004820152601b60248201527f466565206d757374206265206c657373207468616e203130303030000000000060448201526064016107be565b60098190556040518181527f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c769060200161088d565b6002805461052790612aba565b5f610c1f61241e565b81421115610c3f5760405162461bcd60e51b81526004016107be90612bb7565b5f86118015610c4d57505f85115b610c8f5760405162461bcd60e51b81526020600482015260136024820152720416d6f756e7473206d757374206265203e203606c1b60448201526064016107be565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016158015610ced57506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016155b15610d3a5760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e61746976650000000060448201526064016107be565b5f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610df5576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610dcc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df09190612af2565b610dff565b610dff3447612b40565b90505f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610ebc576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610e93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb79190612af2565b610ec6565b610ec63447612b40565b90505f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f0457610f018982612be2565b90505b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f3f57610f3c8882612be2565b90505b803414610f875760405162461bcd60e51b8152602060048201526016602482015275496e636f7272656374206e61746976652076616c756560501b60448201526064016107be565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610feb57610feb6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308c612446565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161561104f5761104f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308b612446565b6004545f036111265788880289158061107057508861106e8b83612b98565b145b6110bc5760405162461bcd60e51b815260206004820152601760248201527f4d756c7469706c69636174696f6e206f766572666c6f7700000000000000000060448201526064016107be565b6110c5816124b3565b94505f85116111165760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b61112033866125cd565b5061135d565b5f8311801561113457505f82115b6111775760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e74207265736572766560601b60448201526064016107be565b5f61118160045490565b905061118e815f19612b98565b8a11156111d15760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744120746f6f206c6172676560781b60448201526064016107be565b5f846111dd838d612b81565b6111e79190612b98565b90506111f4825f19612b98565b8a11156112375760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744220746f6f206c6172676560781b60448201526064016107be565b5f84611243848d612b81565b61124d9190612b98565b905080821061125c578061125e565b815b96505f87116112af5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b898c10156112ff5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74412070726f766964656400000060448201526064016107be565b888b101561134f5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74422070726f766964656400000060448201526064016107be565b61135933886125cd565b5050505b604080518a8152602081018a905290810185905233907f64b83944e79c3ce8d4c297411de637c3e102d064677aac0c163976ebdcd6f50e9060600160405180910390a25050506113ac60015f55565b95945050505050565b5f6113c13384846120d6565b50600192915050565b6007546001600160a01b031633146113f45760405162461bcd60e51b81526004016107be90612b09565b6008546001600160a01b03166114435760405162461bcd60e51b8152602060048201526014602482015273139bc8199959481c9958da5c1a595b9d081cd95d60621b60448201526064016107be565b6001600160a01b03821661153657478111156114985760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016107be565b6008546040515f916001600160a01b03169083908381818185875af1925050503d805f81146114e2576040519150601f19603f3d011682016040523d82523d5f602084013e6114e7565b606091505b50509050806115305760405162461bcd60e51b8152602060048201526015602482015274119959481dda5d1a191c985dd85b0819985a5b1959605a1b60448201526064016107be565b50611550565b600854611550906001600160a01b03848116911683612654565b600854604080518381526001600160a01b038581166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25050565b5f6115a661241e565b814211156115c65760405162461bcd60e51b81526004016107be90612bb7565b5f841161160c5760405162461bcd60e51b81526020600482015260146024820152730616d6f756e74496e206d757374206265203e20360641b60448201526064016107be565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316148061167d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b6116995760405162461bcd60e51b81526004016107be90612bf5565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b03161490505f5f6116db6105a6565b915091505f612710600a54896116f19190612b81565b6116fb9190612b98565b90505f611708828a612b40565b90505f81116117595760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e7420746f6f20736d616c6c2061667465722064657620666565000060448201526064016107be565b6001600160a01b038a1661190a578834146117c25760405162461bcd60e51b8152602060048201526024808201527f496e636f7272656374206d73672e76616c756520666f72206e617469766520696044820152631b9c1d5d60e21b60648201526084016107be565b5f821180156117db57506008546001600160a01b031615155b156118cb576008546040515f916001600160a01b03169084908381818185875af1925050503d805f811461182a576040519150601f19603f3d011682016040523d82523d5f602084013e61182f565b606091505b50509050806118805760405162461bcd60e51b815260206004820152601760248201527f44657620666565207472616e73666572206661696c656400000000000000000060448201526064016107be565b600854604080518581526001600160a01b038e81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a2505b5f856118e0576118db8285612b40565b6118ea565b6118ea8286612b40565b90506119028282886118fc578761268a565b8661268a565b965050611a14565b34156119585760405162461bcd60e51b815260206004820152601760248201527f556e6578706563746564206e61746976652076616c756500000000000000000060448201526064016107be565b61196d6001600160a01b038b1633308c612446565b5f8211801561198657506008546001600160a01b031615155b156119ef576008546119a5906001600160a01b038c8116911684612654565b600854604080518481526001600160a01b038d81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25b611a1181866119fe5784611a00565b855b87611a0b578661268a565b8561268a565b95505b87861015611a645760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016107be565b5f85611a90577f0000000000000000000000000000000000000000000000000000000000000000611ab2565b7f00000000000000000000000000000000000000000000000000000000000000005b90506001600160a01b038116611b2d576040515f90339089908381818185875af1925050503d805f8114611b01576040519150601f19603f3d011682016040523d82523d5f602084013e611b06565b606091505b5050905080611b275760405162461bcd60e51b81526004016107be90612c1e565b50611b41565b611b416001600160a01b0382163389612654565b604080516001600160a01b038d81168252602082018d90528316818301526060810189905260808101859052905133917f51e00ff851e6d19ee3412286211af0aa9676df8d942e677195fc7445b4c08e30919081900360a00190a2505050505050611bab60015f55565b949350505050565b6007546001600160a01b03163314611bdd5760405162461bcd60e51b81526004016107be90612b09565b6001600160a01b038116611c2b5760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a5908199959481c9958da5c1a595b9d605a1b60448201526064016107be565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3905f90a35050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480611cee57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b611d0a5760405162461bcd60e51b81526004016107be90612bf5565b5f8311611d295760405162461bcd60e51b81526004016107be90612b53565b5f612710600a5485611d3b9190612b81565b611d459190612b98565b90505f611d528286612b40565b90506113ac81856121f8565b5f5f611d6861241e565b82421115611d885760405162461bcd60e51b81526004016107be90612bb7565b5f8611611dcf5760405162461bcd60e51b815260206004820152601560248201527404c5020616d6f756e74206d757374206265203e203605c1b60448201526064016107be565b5f611dd960045490565b90505f8111611e195760405162461bcd60e51b815260206004820152600c60248201526b4e6f206c697175696469747960a01b60448201526064016107be565b5f5f611e236105a6565b909250905082611e338a84612b81565b611e3d9190612b98565b945082611e4a8a83612b81565b611e549190612b98565b935087851015611e985760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744120746f6f206c6f7760881b60448201526064016107be565b86841015611eda5760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744220746f6f206c6f7760881b60448201526064016107be565b611ee4338a612784565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016611f7d576040515f90339087908381818185875af1925050503d805f8114611f51576040519150601f19603f3d011682016040523d82523d5f602084013e611f56565b606091505b5050905080611f775760405162461bcd60e51b81526004016107be90612c1e565b50611fb1565b611fb16001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163387612654565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661204a576040515f90339086908381818185875af1925050503d805f811461201e576040519150601f19603f3d011682016040523d82523d5f602084013e612023565b606091505b50509050806120445760405162461bcd60e51b81526004016107be90612c1e565b5061207e565b61207e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163386612654565b60408051868152602081018690529081018a905233907f1dc8bb69df2b8e91fbdcbfcf93d951b3f0000f085a95fe3f7946d6161439245d9060600160405180910390a25050506120cd60015f55565b94509492505050565b6001600160a01b0383165f9081526005602052604090205481111561214c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107be565b6001600160a01b0383165f9081526005602052604081208054839290612173908490612b40565b90915550506001600160a01b0382165f908152600560205260408120805483929061219f908490612be2565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121eb91815260200190565b60405180910390a3505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061226a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b6122865760405162461bcd60e51b81526004016107be90612bf5565b5f83116122a55760405162461bcd60e51b81526004016107be90612b53565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161490505f5f6122e76105a6565b915091505f836122f757816122f9565b825b90505f846123075783612309565b825b90505f8211801561231957505f81115b61235c5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f60095461271061236d9190612b40565b612377908a612b81565b9050612384825f19612b98565b8111156123de5760405162461bcd60e51b815260206004820152602260248201527f416d6f756e74496e20746f6f206c6172676520666f722063616c63756c61746960448201526137b760f11b60648201526084016107be565b5f6123e98383612b81565b90505f826123f961271087612b81565b6124039190612be2565b905061240f8183612b98565b9b9a5050505050505050505050565b60025f540361244057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b6040516001600160a01b0384811660248301528381166044830152606482018390526124ad9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612877565b50505050565b5f815f036124c257505f919050565b600182600160801b81106124db5760409190911b9060801c5b6801000000000000000081106124f65760209190911b9060401c5b640100000000811061250d5760109190911b9060201c5b6201000081106125225760089190911b9060101c5b61010081106125365760049190911b9060081c5b601081106125495760029190911b9060041c5b6008811061255957600182901b91505b8192506001838561256a9190612b98565b6125749085612be2565b901c925060016125848486612b98565b61258e9085612be2565b901c9250600161259e8486612b98565b6125a89085612be2565b901c92505f6125b78486612b98565b9050838110156125c5578093505b505050919050565b8060045f8282546125de9190612be2565b90915550506001600160a01b0382165f908152600560205260408120805483929061260a908490612be2565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6040516001600160a01b0383811660248301526044820183905261268591859182169063a9059cbb9060640161247b565b505050565b5f5f8311801561269957505f82115b6126dc5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f6009546127106126ed9190612b40565b6126f79086612b81565b9050612704835f19612b98565b8111156127485760405162461bcd60e51b8152602060048201526012602482015271416d6f756e74496e20746f6f206c6172676560701b60448201526064016107be565b5f6127538483612b81565b90505f8261276361271088612b81565b61276d9190612be2565b90506127798183612b98565b979650505050505050565b6001600160a01b0382165f908152600560205260409020548111156127f65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107be565b6001600160a01b0382165f908152600560205260408120805483929061281d908490612b40565b925050819055508060045f8282546128359190612b40565b90915550506040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001612648565b5f5f60205f8451602086015f885af180612896576040513d5f823e3d81fd5b50505f513d915081156128ad5780600114156128ba565b6001600160a01b0384163b155b156124ad57604051635274afe760e01b81526001600160a01b03851660048201526024016107be565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461292e575f5ffd5b919050565b5f5f60408385031215612944575f5ffd5b61294d83612918565b946020939093013593505050565b5f6020828403121561296b575f5ffd5b5035919050565b5f5f5f60608486031215612984575f5ffd5b61298d84612918565b925061299b60208501612918565b929592945050506040919091013590565b5f5f604083850312156129bd575f5ffd5b823591506129cd60208401612918565b90509250929050565b5f602082840312156129e6575f5ffd5b6129ef82612918565b9392505050565b5f5f5f5f5f60a08688031215612a0a575f5ffd5b505083359560208501359550604085013594606081013594506080013592509050565b5f5f5f5f60808587031215612a40575f5ffd5b612a4985612918565b966020860135965060408601359560600135945092505050565b5f5f60408385031215612a74575f5ffd5b612a7d83612918565b91506129cd60208401612918565b5f5f5f5f60808587031215612a9e575f5ffd5b5050823594602084013594506040840135936060013592509050565b600181811c90821680612ace57607f821691505b602082108103612aec57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215612b02575f5ffd5b5051919050565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561078e5761078e612b2c565b6020808252601490820152730416d6f756e74496e206d757374206265203e20360641b604082015260600190565b808202811582820484141761078e5761078e612b2c565b5f82612bb257634e487b7160e01b5f52601260045260245ffd5b500490565b602080825260119082015270111958591b1a5b9948195e18d959591959607a1b604082015260600190565b8082018082111561078e5761078e612b2c565b6020808252600f908201526e24b73b30b634b2103a37b5b2b724b760891b604082015260600190565b60208082526016908201527513985d1a5d99481d1c985b9cd9995c8819985a5b195960521b60408201526060019056fea2646970667358221220b38772ad16e0124d53f36c8ac787bc531413db5c1f5a6b3c16560865361ada1a64736f6c634300081e0033a26469706673582212200cd272e5f413d648abb548abffaa7d41eaca44d9f7876f692c27e6c7f8ffc15f64736f6c634300081e0033000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "nonce": "0xc", + "chainId": "0x164ce" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DEXFactory", + "contractAddress": "0x95e560ca28f8dca1c585aff9b0773625dd20ae75", + "function": "createPool(address,address)", + "arguments": [ + "0x75FD88b5d08dbC8D07FD27B6760E6bBac12F12BB", + "0x0000000000000000000000000000000000000000" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0x95e560ca28f8dca1c585aff9b0773625dd20ae75", + "gas": "0x3b05e1", + "value": "0x0", + "input": "0xe343361500000000000000000000000075fd88b5d08dbc8d07fd27b6760e6bbac12f12bb0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xd", + "chainId": "0x164ce" + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x7c1a628fe0feee16b9cf174cbe7ca9f4678f7ccd", + "initCode": "0x610100604052600c60c09081526b20a6a6902628102a37b5b2b760a11b60e05260019061002c90826101d1565b506040805180820190915260068152650414d4d2d4c560d41b602082015260029061005790826101d1565b506003805460ff19166012179055601e600955600a805560405161304e3881900390819083398101604081905261008d916102a6565b60015f556001600160a01b0382161580156100af57506001600160a01b038116155b156101005760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e617469766500000000604482015260640160405180910390fd5b6001600160a01b039182166080521660a05260078054336001600160a01b031991821681179092556008805490911690911790556102d7565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061016157607f821691505b60208210810361017f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101cc57805f5260205f20601f840160051c810160208510156101aa5750805b601f840160051c820191505b818110156101c9575f81556001016101b6565b50505b505050565b81516001600160401b038111156101ea576101ea610139565b6101fe816101f8845461014d565b84610185565b6020601f821160018114610230575f83156102195750848201515b5f19600385901b1c1916600184901b1784556101c9565b5f84815260208120601f198516915b8281101561025f578785015182556020948501946001909201910161023f565b508482101561027c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b80516001600160a01b03811681146102a1575f5ffd5b919050565b5f5f604083850312156102b7575f5ffd5b6102c08361028b565b91506102ce6020840161028b565b90509250929050565b60805160a051612c846103ca5f395f818161036d01528181610670015281816106aa01528181610ccb01528181610e0c01528181610e4601528181610f0e01528181610ff5015281816110270152818161164901528181611a9201528181611cba01528181611fbb01528181612057015261223601525f818161023d015281816105b2015281816105ec01528181610c9901528181610d4501528181610d7f01528181610ed301528181610f9101528181610fc30152818161160e0152818161169c01528181611a6c01528181611c7f01528181611eee01528181611f8a015281816121fb01526122a80152612c845ff3fe60806040526004361061017e575f3560e01c80635f64b55b116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610479578063e74b981b146104bd578063f140a35a146104dc578063f88bf15a146104fb575f5ffd5b8063a9059cbb14610428578063ad3b1b4714610447578063c9ec924814610466575f5ffd5b80635f64b55b1461035c57806370a082311461038f57806372c27b62146103c35780638da5cb5b146103e257806395d89b4114610401578063a360501c14610415575f5ffd5b806323b872dd11610138578063313ce56711610113578063313ce567146102de578063469048401461030957806355fb1d46146103285780635b0803611461033d575f5ffd5b806323b872dd14610295578063249d39e9146102b457806324a9d853146102c9575f5ffd5b806306fdde03146101895780630902f1ac146101b3578063095ea7b3146101dc5780630ec433171461020b5780630fc63d101461022c57806318160ddd14610277575f5ffd5b3661018557005b5f5ffd5b348015610194575f5ffd5b5061019d61051a565b6040516101aa91906128e3565b60405180910390f35b3480156101be575f5ffd5b506101c76105a6565b604080519283526020830191909152016101aa565b3480156101e7575f5ffd5b506101fb6101f6366004612933565b610728565b60405190151581526020016101aa565b348015610216575f5ffd5b5061022a61022536600461295b565b610794565b005b348015610237575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101aa565b348015610282575f5ffd5b506004545b6040519081526020016101aa565b3480156102a0575f5ffd5b506101fb6102af366004612972565b610898565b3480156102bf575f5ffd5b5061028761271081565b3480156102d4575f5ffd5b5061028760095481565b3480156102e9575f5ffd5b506003546102f79060ff1681565b60405160ff90911681526020016101aa565b348015610314575f5ffd5b5060085461025f906001600160a01b031681565b348015610333575f5ffd5b50610287600a5481565b348015610348575f5ffd5b506102876103573660046129ac565b610968565b348015610367575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a575f5ffd5b506102876103a93660046129d6565b6001600160a01b03165f9081526005602052604090205490565b3480156103ce575f5ffd5b5061022a6103dd36600461295b565b610b18565b3480156103ed575f5ffd5b5060075461025f906001600160a01b031681565b34801561040c575f5ffd5b5061019d610c09565b6102876104233660046129f6565b610c16565b348015610433575f5ffd5b506101fb610442366004612933565b6113b5565b348015610452575f5ffd5b5061022a610461366004612933565b6113ca565b610287610474366004612a2d565b61159d565b348015610484575f5ffd5b50610287610493366004612a63565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156104c8575f5ffd5b5061022a6104d73660046129d6565b611bb3565b3480156104e7575f5ffd5b506102876104f63660046129ac565b611c7c565b348015610506575f5ffd5b506101c7610515366004612a8b565b611d5e565b6001805461052790612aba565b80601f016020809104026020016040519081016040528092919081815260200182805461055390612aba565b801561059e5780601f106105755761010080835404028352916020019161059e565b820191905f5260205f20905b81548152906001019060200180831161058157829003601f168201915b505050505081565b5f806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610662576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610639573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065d9190612af2565b610664565b475b91506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610720576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156106f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b9190612af2565b610722565b475b90509091565b335f8181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107829086815260200190565b60405180910390a35060015b92915050565b6007546001600160a01b031633146107c75760405162461bcd60e51b81526004016107be90612b09565b60405180910390fd5b606481111561080b5760405162461bcd60e51b815260206004820152601060248201526f088caec40cccaca40e8dede40d0d2ced60831b60448201526064016107be565b612710811061085c5760405162461bcd60e51b815260206004820152601f60248201527f44657620666565206d757374206265206c657373207468616e2031303030300060448201526064016107be565b600a8190556040518181527fd2fcc8c801d1c6ec6267fa3420cc8428c11a8c06f0d110a700fe9ff1e7317360906020015b60405180910390a150565b6001600160a01b0383165f9081526006602090815260408083203384529091528120545f19811461095257828110156109245760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016107be565b61092e8382612b40565b6001600160a01b0386165f9081526006602090815260408083203384529091529020555b61095d8585856120d6565b506001949350505050565b5f5f83116109885760405162461bcd60e51b81526004016107be90612b53565b5f612710600a548561099a9190612b81565b6109a49190612b98565b90505f6109b18286612b40565b90505f6109be82866121f8565b90506009546127106109d09190612b40565b6109db905f19612b98565b821115610a3c5760405162461bcd60e51b815260206004820152602960248201527f416d6f756e74496e20746f6f206c6172676520666f7220696d706163742063616044820152683631bab630ba34b7b760b91b60648201526084016107be565b5f612710600954612710610a509190612b40565b610a5a9085612b81565b610a649190612b98565b9050805f03610a79575f94505050505061078e565b818111610a8c575f94505050505061078e565b5f610a978383612b40565b9050610aa66127105f19612b98565b811115610af55760405162461bcd60e51b815260206004820152601b60248201527f496d706163742063616c63756c6174696f6e206f766572666c6f77000000000060448201526064016107be565b81610b0261271083612b81565b610b0c9190612b98565b98975050505050505050565b6007546001600160a01b03163314610b425760405162461bcd60e51b81526004016107be90612b09565b6101f4811115610b835760405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b60448201526064016107be565b6127108110610bd45760405162461bcd60e51b815260206004820152601b60248201527f466565206d757374206265206c657373207468616e203130303030000000000060448201526064016107be565b60098190556040518181527f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c769060200161088d565b6002805461052790612aba565b5f610c1f61241e565b81421115610c3f5760405162461bcd60e51b81526004016107be90612bb7565b5f86118015610c4d57505f85115b610c8f5760405162461bcd60e51b81526020600482015260136024820152720416d6f756e7473206d757374206265203e203606c1b60448201526064016107be565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016158015610ced57506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016155b15610d3a5760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e61746976650000000060448201526064016107be565b5f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610df5576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610dcc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df09190612af2565b610dff565b610dff3447612b40565b90505f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610ebc576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610e93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb79190612af2565b610ec6565b610ec63447612b40565b90505f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f0457610f018982612be2565b90505b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f3f57610f3c8882612be2565b90505b803414610f875760405162461bcd60e51b8152602060048201526016602482015275496e636f7272656374206e61746976652076616c756560501b60448201526064016107be565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610feb57610feb6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308c612446565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161561104f5761104f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308b612446565b6004545f036111265788880289158061107057508861106e8b83612b98565b145b6110bc5760405162461bcd60e51b815260206004820152601760248201527f4d756c7469706c69636174696f6e206f766572666c6f7700000000000000000060448201526064016107be565b6110c5816124b3565b94505f85116111165760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b61112033866125cd565b5061135d565b5f8311801561113457505f82115b6111775760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e74207265736572766560601b60448201526064016107be565b5f61118160045490565b905061118e815f19612b98565b8a11156111d15760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744120746f6f206c6172676560781b60448201526064016107be565b5f846111dd838d612b81565b6111e79190612b98565b90506111f4825f19612b98565b8a11156112375760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744220746f6f206c6172676560781b60448201526064016107be565b5f84611243848d612b81565b61124d9190612b98565b905080821061125c578061125e565b815b96505f87116112af5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b898c10156112ff5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74412070726f766964656400000060448201526064016107be565b888b101561134f5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74422070726f766964656400000060448201526064016107be565b61135933886125cd565b5050505b604080518a8152602081018a905290810185905233907f64b83944e79c3ce8d4c297411de637c3e102d064677aac0c163976ebdcd6f50e9060600160405180910390a25050506113ac60015f55565b95945050505050565b5f6113c13384846120d6565b50600192915050565b6007546001600160a01b031633146113f45760405162461bcd60e51b81526004016107be90612b09565b6008546001600160a01b03166114435760405162461bcd60e51b8152602060048201526014602482015273139bc8199959481c9958da5c1a595b9d081cd95d60621b60448201526064016107be565b6001600160a01b03821661153657478111156114985760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016107be565b6008546040515f916001600160a01b03169083908381818185875af1925050503d805f81146114e2576040519150601f19603f3d011682016040523d82523d5f602084013e6114e7565b606091505b50509050806115305760405162461bcd60e51b8152602060048201526015602482015274119959481dda5d1a191c985dd85b0819985a5b1959605a1b60448201526064016107be565b50611550565b600854611550906001600160a01b03848116911683612654565b600854604080518381526001600160a01b038581166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25050565b5f6115a661241e565b814211156115c65760405162461bcd60e51b81526004016107be90612bb7565b5f841161160c5760405162461bcd60e51b81526020600482015260146024820152730616d6f756e74496e206d757374206265203e20360641b60448201526064016107be565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316148061167d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b6116995760405162461bcd60e51b81526004016107be90612bf5565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b03161490505f5f6116db6105a6565b915091505f612710600a54896116f19190612b81565b6116fb9190612b98565b90505f611708828a612b40565b90505f81116117595760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e7420746f6f20736d616c6c2061667465722064657620666565000060448201526064016107be565b6001600160a01b038a1661190a578834146117c25760405162461bcd60e51b8152602060048201526024808201527f496e636f7272656374206d73672e76616c756520666f72206e617469766520696044820152631b9c1d5d60e21b60648201526084016107be565b5f821180156117db57506008546001600160a01b031615155b156118cb576008546040515f916001600160a01b03169084908381818185875af1925050503d805f811461182a576040519150601f19603f3d011682016040523d82523d5f602084013e61182f565b606091505b50509050806118805760405162461bcd60e51b815260206004820152601760248201527f44657620666565207472616e73666572206661696c656400000000000000000060448201526064016107be565b600854604080518581526001600160a01b038e81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a2505b5f856118e0576118db8285612b40565b6118ea565b6118ea8286612b40565b90506119028282886118fc578761268a565b8661268a565b965050611a14565b34156119585760405162461bcd60e51b815260206004820152601760248201527f556e6578706563746564206e61746976652076616c756500000000000000000060448201526064016107be565b61196d6001600160a01b038b1633308c612446565b5f8211801561198657506008546001600160a01b031615155b156119ef576008546119a5906001600160a01b038c8116911684612654565b600854604080518481526001600160a01b038d81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25b611a1181866119fe5784611a00565b855b87611a0b578661268a565b8561268a565b95505b87861015611a645760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016107be565b5f85611a90577f0000000000000000000000000000000000000000000000000000000000000000611ab2565b7f00000000000000000000000000000000000000000000000000000000000000005b90506001600160a01b038116611b2d576040515f90339089908381818185875af1925050503d805f8114611b01576040519150601f19603f3d011682016040523d82523d5f602084013e611b06565b606091505b5050905080611b275760405162461bcd60e51b81526004016107be90612c1e565b50611b41565b611b416001600160a01b0382163389612654565b604080516001600160a01b038d81168252602082018d90528316818301526060810189905260808101859052905133917f51e00ff851e6d19ee3412286211af0aa9676df8d942e677195fc7445b4c08e30919081900360a00190a2505050505050611bab60015f55565b949350505050565b6007546001600160a01b03163314611bdd5760405162461bcd60e51b81526004016107be90612b09565b6001600160a01b038116611c2b5760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a5908199959481c9958da5c1a595b9d605a1b60448201526064016107be565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3905f90a35050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480611cee57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b611d0a5760405162461bcd60e51b81526004016107be90612bf5565b5f8311611d295760405162461bcd60e51b81526004016107be90612b53565b5f612710600a5485611d3b9190612b81565b611d459190612b98565b90505f611d528286612b40565b90506113ac81856121f8565b5f5f611d6861241e565b82421115611d885760405162461bcd60e51b81526004016107be90612bb7565b5f8611611dcf5760405162461bcd60e51b815260206004820152601560248201527404c5020616d6f756e74206d757374206265203e203605c1b60448201526064016107be565b5f611dd960045490565b90505f8111611e195760405162461bcd60e51b815260206004820152600c60248201526b4e6f206c697175696469747960a01b60448201526064016107be565b5f5f611e236105a6565b909250905082611e338a84612b81565b611e3d9190612b98565b945082611e4a8a83612b81565b611e549190612b98565b935087851015611e985760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744120746f6f206c6f7760881b60448201526064016107be565b86841015611eda5760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744220746f6f206c6f7760881b60448201526064016107be565b611ee4338a612784565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016611f7d576040515f90339087908381818185875af1925050503d805f8114611f51576040519150601f19603f3d011682016040523d82523d5f602084013e611f56565b606091505b5050905080611f775760405162461bcd60e51b81526004016107be90612c1e565b50611fb1565b611fb16001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163387612654565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661204a576040515f90339086908381818185875af1925050503d805f811461201e576040519150601f19603f3d011682016040523d82523d5f602084013e612023565b606091505b50509050806120445760405162461bcd60e51b81526004016107be90612c1e565b5061207e565b61207e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163386612654565b60408051868152602081018690529081018a905233907f1dc8bb69df2b8e91fbdcbfcf93d951b3f0000f085a95fe3f7946d6161439245d9060600160405180910390a25050506120cd60015f55565b94509492505050565b6001600160a01b0383165f9081526005602052604090205481111561214c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107be565b6001600160a01b0383165f9081526005602052604081208054839290612173908490612b40565b90915550506001600160a01b0382165f908152600560205260408120805483929061219f908490612be2565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121eb91815260200190565b60405180910390a3505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061226a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b6122865760405162461bcd60e51b81526004016107be90612bf5565b5f83116122a55760405162461bcd60e51b81526004016107be90612b53565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161490505f5f6122e76105a6565b915091505f836122f757816122f9565b825b90505f846123075783612309565b825b90505f8211801561231957505f81115b61235c5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f60095461271061236d9190612b40565b612377908a612b81565b9050612384825f19612b98565b8111156123de5760405162461bcd60e51b815260206004820152602260248201527f416d6f756e74496e20746f6f206c6172676520666f722063616c63756c61746960448201526137b760f11b60648201526084016107be565b5f6123e98383612b81565b90505f826123f961271087612b81565b6124039190612be2565b905061240f8183612b98565b9b9a5050505050505050505050565b60025f540361244057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b6040516001600160a01b0384811660248301528381166044830152606482018390526124ad9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612877565b50505050565b5f815f036124c257505f919050565b600182600160801b81106124db5760409190911b9060801c5b6801000000000000000081106124f65760209190911b9060401c5b640100000000811061250d5760109190911b9060201c5b6201000081106125225760089190911b9060101c5b61010081106125365760049190911b9060081c5b601081106125495760029190911b9060041c5b6008811061255957600182901b91505b8192506001838561256a9190612b98565b6125749085612be2565b901c925060016125848486612b98565b61258e9085612be2565b901c9250600161259e8486612b98565b6125a89085612be2565b901c92505f6125b78486612b98565b9050838110156125c5578093505b505050919050565b8060045f8282546125de9190612be2565b90915550506001600160a01b0382165f908152600560205260408120805483929061260a908490612be2565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6040516001600160a01b0383811660248301526044820183905261268591859182169063a9059cbb9060640161247b565b505050565b5f5f8311801561269957505f82115b6126dc5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f6009546127106126ed9190612b40565b6126f79086612b81565b9050612704835f19612b98565b8111156127485760405162461bcd60e51b8152602060048201526012602482015271416d6f756e74496e20746f6f206c6172676560701b60448201526064016107be565b5f6127538483612b81565b90505f8261276361271088612b81565b61276d9190612be2565b90506127798183612b98565b979650505050505050565b6001600160a01b0382165f908152600560205260409020548111156127f65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107be565b6001600160a01b0382165f908152600560205260408120805483929061281d908490612b40565b925050819055508060045f8282546128359190612b40565b90915550506040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001612648565b5f5f60205f8451602086015f885af180612896576040513d5f823e3d81fd5b50505f513d915081156128ad5780600114156128ba565b6001600160a01b0384163b155b156124ad57604051635274afe760e01b81526001600160a01b03851660048201526024016107be565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461292e575f5ffd5b919050565b5f5f60408385031215612944575f5ffd5b61294d83612918565b946020939093013593505050565b5f6020828403121561296b575f5ffd5b5035919050565b5f5f5f60608486031215612984575f5ffd5b61298d84612918565b925061299b60208501612918565b929592945050506040919091013590565b5f5f604083850312156129bd575f5ffd5b823591506129cd60208401612918565b90509250929050565b5f602082840312156129e6575f5ffd5b6129ef82612918565b9392505050565b5f5f5f5f5f60a08688031215612a0a575f5ffd5b505083359560208501359550604085013594606081013594506080013592509050565b5f5f5f5f60808587031215612a40575f5ffd5b612a4985612918565b966020860135965060408601359560600135945092505050565b5f5f60408385031215612a74575f5ffd5b612a7d83612918565b91506129cd60208401612918565b5f5f5f5f60808587031215612a9e575f5ffd5b5050823594602084013594506040840135936060013592509050565b600181811c90821680612ace57607f821691505b602082108103612aec57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215612b02575f5ffd5b5051919050565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561078e5761078e612b2c565b6020808252601490820152730416d6f756e74496e206d757374206265203e20360641b604082015260600190565b808202811582820484141761078e5761078e612b2c565b5f82612bb257634e487b7160e01b5f52601260045260245ffd5b500490565b602080825260119082015270111958591b1a5b9948195e18d959591959607a1b604082015260600190565b8082018082111561078e5761078e612b2c565b6020808252600f908201526e24b73b30b634b2103a37b5b2b724b760891b604082015260600190565b60208082526016908201527513985d1a5d99481d1c985b9cd9995c8819985a5b195960521b60408201526060019056fea2646970667358221220b38772ad16e0124d53f36c8ac787bc531413db5c1f5a6b3c16560865361ada1a64736f6c634300081e0033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000075fd88b5d08dbc8d07fd27b6760e6bbac12f12bb" + } + ], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Farming", + "contractAddress": "0x09778d47bcfbf39a90499262010384d47d948cec", + "function": null, + "arguments": [ + "0x7c1a628Fe0FEee16b9CF174Cbe7Ca9F4678f7CCD", + "0x75FD88b5d08dbC8D07FD27B6760E6bBac12F12BB" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "gas": "0x19355a", + "value": "0x0", + "input": "0x60c060405234801561000f575f5ffd5b5060405161171738038061171783398101604081905261002e91610182565b338061005457604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61005d81610118565b50600180556001600160a01b0382166100ab5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2102628103a37b5b2b760811b604482015260640161004b565b6001600160a01b0381166101015760405162461bcd60e51b815260206004820152601460248201527f496e76616c69642072657761726420746f6b656e000000000000000000000000604482015260640161004b565b6001600160a01b039182166080521660a0526101b3565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461017d575f5ffd5b919050565b5f5f60408385031215610193575f5ffd5b61019c83610167565b91506101aa60208401610167565b90509250929050565b60805160a0516115126102055f395f818161052d0152818161073e01528181610ae20152610c3001525f81816102f9015281816109d201528181610baf01528181610ea8015261106701526115125ff3fe6080604052600436106101c7575f3560e01c80638456cb59116100f2578063cb17d14f11610092578063e9fad8ee11610062578063e9fad8ee146104d4578063ebe2b12b146104e8578063f2fde38b146104fd578063f7c618c11461051c575f5ffd5b8063cb17d14f14610483578063cd3daf9d14610497578063db2e21bc146104ab578063df136d65146104bf575f5ffd5b80638da5cb5b116100cd5780638da5cb5b14610416578063a694fc3a14610432578063b187bd2614610451578063c8f33c911461046e575f5ffd5b80638456cb59146103b85780638980f11f146103cc5780638b876347146103eb575f5ffd5b80634e71d92d11610168578063715018a611610138578063715018a6146103675780637b0a47ee1461037b5780637e1a37861461039057806380faa57d146103a4575f5ffd5b80634e71d92d146102ab5780635c975abb146102bf5780635fcbd285146102e857806370a0823114610333575f5ffd5b80631c1f78eb116101a35780631c1f78eb1461024357806328662551146102575780632e1a7d4d146102785780633f4ba83a14610297575f5ffd5b80628cc262146101d25780630700037d1461020457806318160ddd1461022f575f5ffd5b366101ce57005b5f5ffd5b3480156101dd575f5ffd5b506101f16101ec3660046113e7565b61054f565b6040519081526020015b60405180910390f35b34801561020f575f5ffd5b506101f161021e3660046113e7565b60096020525f908152604090205481565b34801561023a575f5ffd5b506006546101f1565b34801561024e575f5ffd5b506101f16105e9565b348015610262575f5ffd5b50610276610271366004611407565b610630565b005b348015610283575f5ffd5b50610276610292366004611427565b610889565b3480156102a2575f5ffd5b50610276610a3c565b3480156102b6575f5ffd5b50610276610a4e565b3480156102ca575f5ffd5b505f54600160a01b900460ff165b60405190151581526020016101fb565b3480156102f3575f5ffd5b5061031b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101fb565b34801561033e575f5ffd5b506101f161034d3660046113e7565b6001600160a01b03165f9081526007602052604090205490565b348015610372575f5ffd5b50610276610b52565b348015610386575f5ffd5b506101f160025481565b34801561039b575f5ffd5b506101f1610b63565b3480156103af575f5ffd5b506101f1610b7f565b3480156103c3575f5ffd5b50610276610b95565b3480156103d7575f5ffd5b506102766103e636600461143e565b610ba5565b3480156103f6575f5ffd5b506101f16104053660046113e7565b60086020525f908152604090205481565b348015610421575f5ffd5b505f546001600160a01b031661031b565b34801561043d575f5ffd5b5061027661044c366004611427565b610d62565b34801561045c575f5ffd5b505f54600160a01b900460ff166102d8565b348015610479575f5ffd5b506101f160045481565b34801561048e575f5ffd5b506003546101f1565b3480156104a2575f5ffd5b506101f1610f02565b3480156104b6575f5ffd5b50610276610fc9565b3480156104ca575f5ffd5b506101f160055481565b3480156104df575f5ffd5b506102766110d5565b3480156104f3575f5ffd5b506101f160035481565b348015610508575f5ffd5b506102766105173660046113e7565b6110f5565b348015610527575f5ffd5b5061031b7f000000000000000000000000000000000000000000000000000000000000000081565b5f5f610559610f02565b6001600160a01b0384165f90815260086020526040812054919250818311156105be57670de0b6b3a764000061058f838561147a565b6001600160a01b0387165f908152600760205260409020546105b19190611493565b6105bb91906114aa565b90505b6001600160a01b0385165f908152600960205260409020546105e090826114c9565b95945050505050565b5f60035442106105f857505f90565b5f42600354610607919061147a565b9050670de0b6b3a7640000816002546106209190611493565b61062a91906114aa565b91505090565b61063861112f565b61064061115b565b610648611185565b5f610651610f02565b60055561065c610b7f565b6004556001600160a01b038116156106a2576106778161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f82116106ed5760405162461bcd60e51b815260206004820152601460248201527304475726174696f6e206d757374206265203e20360641b60448201526064015b60405180910390fd5b5f83116107315760405162461bcd60e51b81526020600482015260126024820152710526577617264206d757374206265203e20360741b60448201526064016106e4565b6107666001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866111af565b5f6003544210610794578261078385670de0b6b3a7640000611493565b61078d91906114aa565b90506107e3565b5f426003546107a3919061147a565b90505f600254826107b49190611493565b905084816107ca88670de0b6b3a7640000611493565b6107d491906114c9565b6107de91906114aa565b925050505b5f81116108285760405162461bcd60e51b8152602060048201526013602482015272526577617264207261746520746f6f206c6f7760681b60448201526064016106e4565b600281905542600481905561083e9084906114c9565b60035560408051858152602081018590527f6c07ee05dcf262f13abf9d87b846ee789d2f90fe991d495acd7d7fc109ee1f55910160405180910390a1505061088560018055565b5050565b61089161115b565b610899611185565b336108a2610f02565b6005556108ad610b7f565b6004556001600160a01b038116156108f3576108c88161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f82116109365760405162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b60448201526064016106e4565b335f9081526007602052604090205482111561098b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016106e4565b8160065f82825461099c919061147a565b9091555050335f90815260076020526040812080548492906109bf90849061147a565b909155506109f990506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338461121c565b60405182815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5906020015b60405180910390a250610a3960018055565b50565b610a4461112f565b610a4c611252565b565b610a5661115b565b610a5e611185565b33610a67610f02565b600555610a72610b7f565b6004556001600160a01b03811615610ab857610a8d8161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b335f908152600960205260409020548015610b4757335f81815260096020526040812055610b11907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908361121c565b60405181815233907fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e04869060200160405180910390a25b5050610a4c60018055565b610b5a61112f565b610a4c5f6112a6565b5f670de0b6b3a7640000600254610b7a91906114aa565b905090565b5f6003544210610b90575060035490565b504290565b610b9d61112f565b610a4c6112f5565b610bad61112f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610c2e5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265636f766572204c5020746f6b656e00000000000000000060448201526064016106e4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610caf5760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74207265636f7665722072657761726420746f6b656e000000000060448201526064016106e4565b306001600160a01b03831603610d075760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74207265636f76657220636f6e747261637420746f6b656e00000060448201526064016106e4565b610d1b6001600160a01b038316338361121c565b816001600160a01b03167f4590b594be6fdef6bd5e18792a2494ddf2156b618c7bbe48d13a92831208af0582604051610d5691815260200190565b60405180910390a25050565b610d6a61115b565b610d72611185565b33610d7b610f02565b600555610d86610b7f565b6004556001600160a01b03811615610dcc57610da18161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f8211610e0c5760405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b60448201526064016106e4565b600654610e1a905f1961147a565b821115610e615760405162461bcd60e51b8152602060048201526015602482015274546f74616c20737570706c79206f766572666c6f7760581b60448201526064016106e4565b8160065f828254610e7291906114c9565b9091555050335f9081526007602052604081208054849290610e959084906114c9565b90915550610ed090506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330856111af565b60405182815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d90602001610a27565b5f6006545f03610f13575060055490565b5f600454610f1f610b7f565b610f29919061147a565b9050805f03610f3a57505060055490565b6002541580610f565750600254610f52905f196114aa565b8111155b610fa25760405162461bcd60e51b815260206004820152601a60248201527f4f766572666c6f7720696e20726577617264506572546f6b656e00000000000060448201526064016106e4565b600654600254610fb29083611493565b610fbc91906114aa565b60055461062a91906114c9565b610fd1611185565b335f90815260076020526040902054806110255760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b60448201526064016106e4565b8060065f828254611036919061147a565b9091555050335f818152600760209081526040808320839055600982528083208390556008909152812055611096907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908361121c565b60405181815233907f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd96959060200160405180910390a250610a4c60018055565b335f908152600760205260409020546110ed90610889565b610a4c610a4e565b6110fd61112f565b6001600160a01b03811661112657604051631e4fbdf760e01b81525f60048201526024016106e4565b610a39816112a6565b5f546001600160a01b03163314610a4c5760405163118cdaa760e01b81523360048201526024016106e4565b5f54600160a01b900460ff1615610a4c5760405163d93c066560e01b815260040160405180910390fd5b6002600154036111a857604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b6040516001600160a01b0384811660248301528381166044830152606482018390526112169186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611337565b50505050565b6040516001600160a01b0383811660248301526044820183905261124d91859182169063a9059cbb906064016111e4565b505050565b61125a6113a3565b5f805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6112fd61115b565b5f805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586112893390565b5f5f60205f8451602086015f885af180611356576040513d5f823e3d81fd5b50505f513d9150811561136d57806001141561137a565b6001600160a01b0384163b155b1561121657604051635274afe760e01b81526001600160a01b03851660048201526024016106e4565b5f54600160a01b900460ff16610a4c57604051638dfc202b60e01b815260040160405180910390fd5b80356001600160a01b03811681146113e2575f5ffd5b919050565b5f602082840312156113f7575f5ffd5b611400826113cc565b9392505050565b5f5f60408385031215611418575f5ffd5b50508035926020909101359150565b5f60208284031215611437575f5ffd5b5035919050565b5f5f6040838503121561144f575f5ffd5b611458836113cc565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561148d5761148d611466565b92915050565b808202811582820484141761148d5761148d611466565b5f826114c457634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561148d5761148d61146656fea26469706673582212202b809426f6c135e8ee85814cc96bd824b6eef7af6592d09cc0eff3704ff809ca64736f6c634300081e00330000000000000000000000007c1a628fe0feee16b9cf174cbe7ca9f4678f7ccd00000000000000000000000075fd88b5d08dbc8d07fd27b6760e6bbac12f12bb", + "nonce": "0xe", + "chainId": "0x164ce" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "Kanari", + "contractAddress": "0x75fd88b5d08dbc8d07fd27b6760e6bbac12f12bb", + "function": "approve(address,uint256)", + "arguments": [ + "0x09778D47bCFBf39a90499262010384D47D948CeC", + "6000000000000000000000000" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0x75fd88b5d08dbc8d07fd27b6760e6bbac12f12bb", + "gas": "0xfa6a", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000009778d47bcfbf39a90499262010384d47d948cec00000000000000000000000000000000000000000004f68ca6d8cd91c6000000", + "nonce": "0xf", + "chainId": "0x164ce" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "Farming", + "contractAddress": "0x09778d47bcfbf39a90499262010384d47d948cec", + "function": "fundRewards(uint256,uint256)", + "arguments": [ + "6000000000000000000000000", + "189216000" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0x09778d47bcfbf39a90499262010384d47d948cec", + "gas": "0x2c1ee", + "value": "0x0", + "input": "0x2866255100000000000000000000000000000000000000000004f68ca6d8cd91c6000000000000000000000000000000000000000000000000000000000000000b473500", + "nonce": "0x10", + "chainId": "0x164ce" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1757757881, + "chain": 91342, + "commit": "37e4ae0" +} \ No newline at end of file diff --git a/broadcast/DeployDEX_v2.s.sol/91342/run-latest.json b/broadcast/DeployDEX_v2.s.sol/91342/run-latest.json new file mode 100644 index 0000000..aea4450 --- /dev/null +++ b/broadcast/DeployDEX_v2.s.sol/91342/run-latest.json @@ -0,0 +1,164 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Kanari", + "contractAddress": "0x75fd88b5d08dbc8d07fd27b6760e6bbac12f12bb", + "function": null, + "arguments": null, + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "gas": "0x1581d7", + "value": "0x0", + "input": "0x60806040526064600655348015610014575f5ffd5b50336040518060400160405280600c81526020016b25b0b730b934902a37b5b2b760a11b815250604051806040016040528060068152602001654b414e41524960d01b81525081600390816100699190610219565b5060046100768282610219565b5050506001600160a01b0381166100a657604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100af81610130565b506005805460ff60a01b1916600960a11b179055335f818152600760209081526040808320805460ff19908116600190811790925530855282852080548216831790558585526008909352818420805490931617909155517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a26102d3565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806101a957607f821691505b6020821081036101c757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561021457805f5260205f20601f840160051c810160208510156101f25750805b601f840160051c820191505b81811015610211575f81556001016101fe565b50505b505050565b81516001600160401b0381111561023257610232610181565b610246816102408454610195565b846101cd565b6020601f821160018114610278575f83156102615750848201515b5f19600385901b1c1916600184901b178455610211565b5f84815260208120601f198516915b828110156102a75787850151825560209485019460019092019101610287565b50848210156102c457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b610f8c806102e05f395ff3fe608060405234801561000f575f5ffd5b506004361061016d575f3560e01c8063715018a6116100d9578063bed9985011610093578063dd62ed3e1161006e578063dd62ed3e1461031e578063e1f1c4a714610356578063f2fde38b1461035f578063f46eccc414610372575f5ffd5b8063bed99850146102f9578063d80cbc8c14610302578063d89135cd14610315575f5ffd5b8063715018a6146102a05780638da5cb5b146102a85780639358928b146102c357806395d89b41146102cb578063983b2d56146102d3578063a9059cbb146102e6575f5ffd5b80633092afd51161012a5780633092afd51461020e578063313ce5671461022157806332cb6b0c1461024057806340c10f191461025257806342966c681461026557806370a0823114610278575f5ffd5b806306fdde0314610171578063095ea7b31461018f5780630e88dad1146101b257806318160ddd146101d4578063189d165e146101e657806323b872dd146101fb575b5f5ffd5b610179610394565b6040516101869190610d62565b60405180910390f35b6101a261019d366004610db2565b610424565b6040519015158152602001610186565b6101a26101c0366004610dda565b60076020525f908152604090205460ff1681565b6002545b604051908152602001610186565b6101f96101f4366004610df3565b61043d565b005b6101a2610209366004610e0a565b6104cd565b6101f961021c366004610dda565b6104f0565b600554600160a01b900460ff1660405160ff9091168152602001610186565b6101d86a09195731e2ce35eb00000081565b6101f9610260366004610db2565b610596565b6101f9610273366004610df3565b61065d565b6101d8610286366004610dda565b6001600160a01b03165f9081526020819052604090205490565b6101f96106ad565b6005546040516001600160a01b039091168152602001610186565b6101d86106c0565b6101796106dc565b6101f96102e1366004610dda565b6106eb565b6101a26102f4366004610db2565b6107e8565b6101d860065481565b6101f9610310366004610e44565b6107f5565b6101d860095481565b6101d861032c366004610e7d565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6101d861271081565b6101f961036d366004610dda565b61085b565b6101a2610380366004610dda565b60086020525f908152604090205460ff1681565b6060600380546103a390610eae565b80601f01602080910402602001604051908101604052809291908181526020018280546103cf90610eae565b801561041a5780601f106103f15761010080835404028352916020019161041a565b820191905f5260205f20905b8154815290600101906020018083116103fd57829003601f168201915b5050505050905090565b5f33610431818585610898565b60019150505b92915050565b6104456108aa565b6103e88111156104915760405162461bcd60e51b8152602060048201526012602482015271084eae4dc40e4c2e8ca40e8dede40d0d2ced60731b60448201526064015b60405180910390fd5b60068190556040518181527f47863b595116a31383855975a4078913dce7881e717b75a06ced2db5d534ff78906020015b60405180910390a150565b5f336104da8582856108d7565b6104e5858585610953565b506001949350505050565b6104f86108aa565b6001600160a01b0381165f9081526008602052604090205460ff1661054e5760405162461bcd60e51b815260206004820152600c60248201526b2737ba10309036b4b73a32b960a11b6044820152606401610488565b6001600160a01b0381165f81815260086020526040808220805460ff19169055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a250565b6001600160a01b0382166105ec5760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74206d696e7420746f207a65726f206164647265737300000000006044820152606401610488565b6a09195731e2ce35eb0000008161060260025490565b61060c9190610efa565b111561064f5760405162461bcd60e51b815260206004820152601260248201527145786365656473206d617820737570706c7960701b6044820152606401610488565b61065982826109b0565b5050565b61066733826109e4565b8060095f8282546106789190610efa565b90915550506040518181527f6ef4855b666dcc7884561072e4358b28dfe01feb1b7f4dcebc00e62d50394ac7906020016104c2565b6106b56108aa565b6106be5f610a18565b565b5f6009546106cd60025490565b6106d79190610f0d565b905090565b6060600480546103a390610eae565b6106f36108aa565b6001600160a01b0381166107425760405162461bcd60e51b8152602060048201526016602482015275496e76616c6964206d696e746572206164647265737360501b6044820152606401610488565b6001600160a01b0381165f9081526008602052604090205460ff161561079d5760405162461bcd60e51b815260206004820152601060248201526f20b63932b0b23c90309036b4b73a32b960811b6044820152606401610488565b6001600160a01b0381165f81815260086020526040808220805460ff19166001179055517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a250565b5f33610431818585610953565b6107fd6108aa565b6001600160a01b0382165f81815260076020908152604091829020805460ff191685151590811790915591519182527fd9403aab61f2051cf551fc2209c9aead3db9f0cb7c4ad96db0909a09c0edf695910160405180910390a25050565b6108636108aa565b6001600160a01b03811661088c57604051631e4fbdf760e01b81525f6004820152602401610488565b61089581610a18565b50565b6108a58383836001610a69565b505050565b6005546001600160a01b031633146106be5760405163118cdaa760e01b8152336004820152602401610488565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561094d578181101561093f57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610488565b61094d84848484035f610a69565b50505050565b6001600160a01b03831661097c57604051634b637e8f60e11b81525f6004820152602401610488565b6001600160a01b0382166109a55760405163ec442f0560e01b81525f6004820152602401610488565b6108a5838383610b3b565b6001600160a01b0382166109d95760405163ec442f0560e01b81525f6004820152602401610488565b6106595f8383610b3b565b6001600160a01b038216610a0d57604051634b637e8f60e11b81525f6004820152602401610488565b610659825f83610b3b565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038416610a925760405163e602df0560e01b81525f6004820152602401610488565b6001600160a01b038316610abb57604051634a1406b160e11b81525f6004820152602401610488565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561094d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b2d91815260200190565b60405180910390a350505050565b6001600160a01b03831615801590610b5b57506001600160a01b03821615155b15610bdd575f610b6b8483610be8565b90508015610bdb57610b7e845f83610c3c565b8060095f828254610b8f9190610efa565b90915550506040518181527f6ef4855b666dcc7884561072e4358b28dfe01feb1b7f4dcebc00e62d50394ac79060200160405180910390a161094d8484610bd68486610f0d565b610c3c565b505b6108a5838383610c3c565b6001600160a01b0382165f9081526007602052604081205460ff1680610c0e5750600654155b15610c1a57505f610437565b61271060065483610c2b9190610f20565b610c359190610f37565b9392505050565b6001600160a01b038316610c66578060025f828254610c5b9190610efa565b90915550610cd69050565b6001600160a01b0383165f9081526020819052604090205481811015610cb85760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610488565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610cf257600280548290039055610d10565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d5591815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610dad575f5ffd5b919050565b5f5f60408385031215610dc3575f5ffd5b610dcc83610d97565b946020939093013593505050565b5f60208284031215610dea575f5ffd5b610c3582610d97565b5f60208284031215610e03575f5ffd5b5035919050565b5f5f5f60608486031215610e1c575f5ffd5b610e2584610d97565b9250610e3360208501610d97565b929592945050506040919091013590565b5f5f60408385031215610e55575f5ffd5b610e5e83610d97565b915060208301358015158114610e72575f5ffd5b809150509250929050565b5f5f60408385031215610e8e575f5ffd5b610e9783610d97565b9150610ea560208401610d97565b90509250929050565b600181811c90821680610ec257607f821691505b602082108103610ee057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561043757610437610ee6565b8181038181111561043757610437610ee6565b808202811582820484141761043757610437610ee6565b5f82610f5157634e487b7160e01b5f52601260045260245ffd5b50049056fea264697066735822122011417a150ea1f1515136e56e4d879b927b7f6b17a40a2f39a4454712d8346d2b64736f6c634300081e0033", + "nonce": "0xa", + "chainId": "0x164ce" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "Kanari", + "contractAddress": "0x75fd88b5d08dbc8d07fd27b6760e6bbac12f12bb", + "function": "mint(address,uint256)", + "arguments": [ + "0xC88C539aa6f67daeDaeA7aff75FE1F8848d6CeC2", + "6000000000000000000000000" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0x75fd88b5d08dbc8d07fd27b6760e6bbac12f12bb", + "gas": "0x173ab", + "value": "0x0", + "input": "0x40c10f19000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec200000000000000000000000000000000000000000004f68ca6d8cd91c6000000", + "nonce": "0xb", + "chainId": "0x164ce" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "DEXFactory", + "contractAddress": "0x95e560ca28f8dca1c585aff9b0773625dd20ae75", + "function": null, + "arguments": [ + "0xC88C539aa6f67daeDaeA7aff75FE1F8848d6CeC2" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "gas": "0x48bb20", + "value": "0x0", + "input": "0x6080604052600a600555601e600655348015610019575f5ffd5b5060405161413138038061413183398101604081905261003891610132565b338061005e57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610067816100e3565b506001600160a01b0381166100be5760405162461bcd60e51b815260206004820152601560248201527f496e76616c69642066656520726563697069656e7400000000000000000000006044820152606401610055565b600480546001600160a01b0319166001600160a01b039290921691909117905561015f565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610142575f5ffd5b81516001600160a01b0381168114610158575f5ffd5b9392505050565b613fc58061016c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610111575f3560e01c8063a8c6262a1161009e578063d88ff1f41161006e578063d88ff1f414610276578063e34336151461028b578063e74b981b1461029e578063efde4e64146102b1578063f2fde38b146102b9575f5ffd5b8063a8c6262a14610214578063b1aecc8e14610227578063b9bdb4ef1461025a578063bcae25a41461026d575f5ffd5b8063531aa03e116100e4578063531aa03e146101845780635b16ebb7146101b75780636ce0c4b5146101e9578063715018a6146101fc5780638da5cb5b14610204575f5ffd5b806307188087146101155780631c29415f1461012a57806341d1de97146101465780634690484014610171575b5f5ffd5b610128610123366004610db5565b6102cc565b005b61013360055481565b6040519081526020015b60405180910390f35b610159610154366004610dec565b6103cf565b6040516001600160a01b03909116815260200161013d565b600454610159906001600160a01b031681565b610159610192366004610db5565b600160209081525f92835260408084209091529082529020546001600160a01b031681565b6101d96101c5366004610e03565b60036020525f908152604090205460ff1681565b604051901515815260200161013d565b6101596101f7366004610dec565b6103f7565b61012861046d565b5f546001600160a01b0316610159565b610128610222366004610e25565b61047f565b61023a610235366004610e03565b6105da565b604080516001600160a01b0393841681529290911660208301520161013d565b610128610268366004610e57565b610707565b61013360065481565b61027e6107db565b60405161013d9190610e77565b610159610299366004610db5565b61083b565b6101286102ac366004610e03565b610c30565b600254610133565b6101286102c7366004610e03565b610ccf565b6102d4610d0c565b6001600160a01b0382166103035760405162461bcd60e51b81526004016102fa90610ec2565b60405180910390fd5b6001600160a01b0382165f9081526003602052604090205460ff1661033a5760405162461bcd60e51b81526004016102fa90610ee8565b60405163e74b981b60e01b81526001600160a01b03828116600483015283919082169063e74b981b906024015f604051808303815f87803b15801561037d575f5ffd5b505af115801561038f573d5f5f3e3d5ffd5b50506040516001600160a01b038086169350861691507f08df8ba9b5db9091d74a4a3f75f9c011dad9a006cf9b9366eb34a942d0edf6ad905f90a3505050565b600281815481106103de575f80fd5b5f918252602090912001546001600160a01b0316905081565b6002545f9082106104405760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b60448201526064016102fa565b6002828154811061045357610453610f12565b5f918252602090912001546001600160a01b031692915050565b610475610d0c565b61047d610d38565b565b610487610d0c565b6001600160a01b0383166104ad5760405162461bcd60e51b81526004016102fa90610ec2565b6001600160a01b0383165f9081526003602052604090205460ff166104e45760405162461bcd60e51b81526004016102fa90610ee8565b604051630ec4331760e01b81526004810183905283906001600160a01b03821690630ec43317906024015f604051808303815f87803b158015610525575f5ffd5b505af1158015610537573d5f5f3e3d5ffd5b50506040516339613db160e11b8152600481018590526001600160a01b03841692506372c27b6291506024015f604051808303815f87803b15801561057a575f5ffd5b505af115801561058c573d5f5f3e3d5ffd5b505060408051868152602081018690526001600160a01b03881693507fda6e21b7e37fa72509db45fd6c98a2e7261a7bdf77b485d89aecc4a9407d906f92500160405180910390a250505050565b5f806001600160a01b0383166106025760405162461bcd60e51b81526004016102fa90610ec2565b6001600160a01b0383165f9081526003602052604090205460ff166106395760405162461bcd60e51b81526004016102fa90610ee8565b5f839050806001600160a01b0316630fc63d106040518163ffffffff1660e01b8152600401602060405180830381865afa158015610679573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069d9190610f26565b9250806001600160a01b0316635f64b55b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ff9190610f26565b915050915091565b61070f610d0c565b60648211156107535760405162461bcd60e51b815260206004820152601060248201526f088caec40cccaca40e8dede40d0d2ced60831b60448201526064016102fa565b6101f48111156107945760405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b60448201526064016102fa565b6005829055600681905560408051838152602081018390527fd31db2d23fe42d625fd61189088b6ca9e19f1d03ed676d9480fee9705dfca300910160405180910390a15050565b6060600280548060200260200160405190810160405280929190818152602001828054801561083157602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610813575b5050505050905090565b5f816001600160a01b0316836001600160a01b0316036108905760405162461bcd60e51b815260206004820152601060248201526f4964656e746963616c20746f6b656e7360801b60448201526064016102fa565b6001600160a01b0383161515806108af57506001600160a01b03821615155b6108fb5760405162461bcd60e51b815260206004820152601a60248201527f426f746820746f6b656e732063616e6e6f74206265207a65726f00000000000060448201526064016102fa565b5f5f836001600160a01b0316856001600160a01b03161061091d578385610920565b84845b6001600160a01b038083165f908152600160209081526040808320848616845290915290205492945090925016156109905760405162461bcd60e51b8152602060048201526013602482015272506f6f6c20616c72656164792065786973747360681b60448201526064016102fa565b5f6001600160a01b03831615806109ae57506001600160a01b038216155b156109fc575f83836040516109c290610d94565b6001600160a01b039283168152911660208201526040016040518091039082f09050801580156109f4573d5f5f3e3d5ffd5b509050610a3e565b8282604051610a0a90610d94565b6001600160a01b03928316815291166020820152604001604051809103905ff080158015610a3a573d5f5f3e3d5ffd5b5090505b6004805460405163e74b981b60e01b81526001600160a01b0391821692810192909252919450849182169063e74b981b906024015f604051808303815f87803b158015610a89575f5ffd5b505af1158015610a9b573d5f5f3e3d5ffd5b5050600554604051630ec4331760e01b815260048101919091526001600160a01b0384169250630ec4331791506024015f604051808303815f87803b158015610ae2575f5ffd5b505af1158015610af4573d5f5f3e3d5ffd5b50506006546040516339613db160e11b815260048101919091526001600160a01b03841692506372c27b6291506024015f604051808303815f87803b158015610b3b575f5ffd5b505af1158015610b4d573d5f5f3e3d5ffd5b505050506001600160a01b038381165f8181526001602081815260408084208887168086529083528185208054978c166001600160a01b03199889168117909155848452828620878752845282862080548916821790556002805480870182557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805490991682179098558086526003845294829020805460ff19169094179093559454855193845290830152927febbbe9dc3a19d2f959ac76ac0372b4983cdfb945f5d6aef4873c36fabb2ba8aa910160405180910390a350505092915050565b610c38610d0c565b6001600160a01b038116610c865760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a5908199959481c9958da5c1a595b9d605a1b60448201526064016102fa565b600480546001600160a01b0319166001600160a01b0383169081179091556040517f7a7b5a0a132f9e0581eb8527f66eae9ee89c2a3e79d4ac7e41a1f1f4d48a7fc2905f90a250565b610cd7610d0c565b6001600160a01b038116610d0057604051631e4fbdf760e01b81525f60048201526024016102fa565b610d0981610d45565b50565b5f546001600160a01b0316331461047d5760405163118cdaa760e01b81523360048201526024016102fa565b610d40610d0c565b61047d5f5b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61304e80610f4283390190565b6001600160a01b0381168114610d09575f5ffd5b5f5f60408385031215610dc6575f5ffd5b8235610dd181610da1565b91506020830135610de181610da1565b809150509250929050565b5f60208284031215610dfc575f5ffd5b5035919050565b5f60208284031215610e13575f5ffd5b8135610e1e81610da1565b9392505050565b5f5f5f60608486031215610e37575f5ffd5b8335610e4281610da1565b95602085013595506040909401359392505050565b5f5f60408385031215610e68575f5ffd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015610eb75783516001600160a01b0316835260209384019390920191600101610e90565b509095945050505050565b6020808252600c908201526b125b9d985b1a59081c1bdbdb60a21b604082015260600190565b60208082526010908201526f139bdd0818481d985b1a59081c1bdbdb60821b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610f36575f5ffd5b8151610e1e81610da156fe610100604052600c60c09081526b20a6a6902628102a37b5b2b760a11b60e05260019061002c90826101d1565b506040805180820190915260068152650414d4d2d4c560d41b602082015260029061005790826101d1565b506003805460ff19166012179055601e600955600a805560405161304e3881900390819083398101604081905261008d916102a6565b60015f556001600160a01b0382161580156100af57506001600160a01b038116155b156101005760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e617469766500000000604482015260640160405180910390fd5b6001600160a01b039182166080521660a05260078054336001600160a01b031991821681179092556008805490911690911790556102d7565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061016157607f821691505b60208210810361017f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101cc57805f5260205f20601f840160051c810160208510156101aa5750805b601f840160051c820191505b818110156101c9575f81556001016101b6565b50505b505050565b81516001600160401b038111156101ea576101ea610139565b6101fe816101f8845461014d565b84610185565b6020601f821160018114610230575f83156102195750848201515b5f19600385901b1c1916600184901b1784556101c9565b5f84815260208120601f198516915b8281101561025f578785015182556020948501946001909201910161023f565b508482101561027c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b80516001600160a01b03811681146102a1575f5ffd5b919050565b5f5f604083850312156102b7575f5ffd5b6102c08361028b565b91506102ce6020840161028b565b90509250929050565b60805160a051612c846103ca5f395f818161036d01528181610670015281816106aa01528181610ccb01528181610e0c01528181610e4601528181610f0e01528181610ff5015281816110270152818161164901528181611a9201528181611cba01528181611fbb01528181612057015261223601525f818161023d015281816105b2015281816105ec01528181610c9901528181610d4501528181610d7f01528181610ed301528181610f9101528181610fc30152818161160e0152818161169c01528181611a6c01528181611c7f01528181611eee01528181611f8a015281816121fb01526122a80152612c845ff3fe60806040526004361061017e575f3560e01c80635f64b55b116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610479578063e74b981b146104bd578063f140a35a146104dc578063f88bf15a146104fb575f5ffd5b8063a9059cbb14610428578063ad3b1b4714610447578063c9ec924814610466575f5ffd5b80635f64b55b1461035c57806370a082311461038f57806372c27b62146103c35780638da5cb5b146103e257806395d89b4114610401578063a360501c14610415575f5ffd5b806323b872dd11610138578063313ce56711610113578063313ce567146102de578063469048401461030957806355fb1d46146103285780635b0803611461033d575f5ffd5b806323b872dd14610295578063249d39e9146102b457806324a9d853146102c9575f5ffd5b806306fdde03146101895780630902f1ac146101b3578063095ea7b3146101dc5780630ec433171461020b5780630fc63d101461022c57806318160ddd14610277575f5ffd5b3661018557005b5f5ffd5b348015610194575f5ffd5b5061019d61051a565b6040516101aa91906128e3565b60405180910390f35b3480156101be575f5ffd5b506101c76105a6565b604080519283526020830191909152016101aa565b3480156101e7575f5ffd5b506101fb6101f6366004612933565b610728565b60405190151581526020016101aa565b348015610216575f5ffd5b5061022a61022536600461295b565b610794565b005b348015610237575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101aa565b348015610282575f5ffd5b506004545b6040519081526020016101aa565b3480156102a0575f5ffd5b506101fb6102af366004612972565b610898565b3480156102bf575f5ffd5b5061028761271081565b3480156102d4575f5ffd5b5061028760095481565b3480156102e9575f5ffd5b506003546102f79060ff1681565b60405160ff90911681526020016101aa565b348015610314575f5ffd5b5060085461025f906001600160a01b031681565b348015610333575f5ffd5b50610287600a5481565b348015610348575f5ffd5b506102876103573660046129ac565b610968565b348015610367575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a575f5ffd5b506102876103a93660046129d6565b6001600160a01b03165f9081526005602052604090205490565b3480156103ce575f5ffd5b5061022a6103dd36600461295b565b610b18565b3480156103ed575f5ffd5b5060075461025f906001600160a01b031681565b34801561040c575f5ffd5b5061019d610c09565b6102876104233660046129f6565b610c16565b348015610433575f5ffd5b506101fb610442366004612933565b6113b5565b348015610452575f5ffd5b5061022a610461366004612933565b6113ca565b610287610474366004612a2d565b61159d565b348015610484575f5ffd5b50610287610493366004612a63565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156104c8575f5ffd5b5061022a6104d73660046129d6565b611bb3565b3480156104e7575f5ffd5b506102876104f63660046129ac565b611c7c565b348015610506575f5ffd5b506101c7610515366004612a8b565b611d5e565b6001805461052790612aba565b80601f016020809104026020016040519081016040528092919081815260200182805461055390612aba565b801561059e5780601f106105755761010080835404028352916020019161059e565b820191905f5260205f20905b81548152906001019060200180831161058157829003601f168201915b505050505081565b5f806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610662576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610639573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065d9190612af2565b610664565b475b91506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610720576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156106f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b9190612af2565b610722565b475b90509091565b335f8181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107829086815260200190565b60405180910390a35060015b92915050565b6007546001600160a01b031633146107c75760405162461bcd60e51b81526004016107be90612b09565b60405180910390fd5b606481111561080b5760405162461bcd60e51b815260206004820152601060248201526f088caec40cccaca40e8dede40d0d2ced60831b60448201526064016107be565b612710811061085c5760405162461bcd60e51b815260206004820152601f60248201527f44657620666565206d757374206265206c657373207468616e2031303030300060448201526064016107be565b600a8190556040518181527fd2fcc8c801d1c6ec6267fa3420cc8428c11a8c06f0d110a700fe9ff1e7317360906020015b60405180910390a150565b6001600160a01b0383165f9081526006602090815260408083203384529091528120545f19811461095257828110156109245760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016107be565b61092e8382612b40565b6001600160a01b0386165f9081526006602090815260408083203384529091529020555b61095d8585856120d6565b506001949350505050565b5f5f83116109885760405162461bcd60e51b81526004016107be90612b53565b5f612710600a548561099a9190612b81565b6109a49190612b98565b90505f6109b18286612b40565b90505f6109be82866121f8565b90506009546127106109d09190612b40565b6109db905f19612b98565b821115610a3c5760405162461bcd60e51b815260206004820152602960248201527f416d6f756e74496e20746f6f206c6172676520666f7220696d706163742063616044820152683631bab630ba34b7b760b91b60648201526084016107be565b5f612710600954612710610a509190612b40565b610a5a9085612b81565b610a649190612b98565b9050805f03610a79575f94505050505061078e565b818111610a8c575f94505050505061078e565b5f610a978383612b40565b9050610aa66127105f19612b98565b811115610af55760405162461bcd60e51b815260206004820152601b60248201527f496d706163742063616c63756c6174696f6e206f766572666c6f77000000000060448201526064016107be565b81610b0261271083612b81565b610b0c9190612b98565b98975050505050505050565b6007546001600160a01b03163314610b425760405162461bcd60e51b81526004016107be90612b09565b6101f4811115610b835760405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b60448201526064016107be565b6127108110610bd45760405162461bcd60e51b815260206004820152601b60248201527f466565206d757374206265206c657373207468616e203130303030000000000060448201526064016107be565b60098190556040518181527f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c769060200161088d565b6002805461052790612aba565b5f610c1f61241e565b81421115610c3f5760405162461bcd60e51b81526004016107be90612bb7565b5f86118015610c4d57505f85115b610c8f5760405162461bcd60e51b81526020600482015260136024820152720416d6f756e7473206d757374206265203e203606c1b60448201526064016107be565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016158015610ced57506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016155b15610d3a5760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e61746976650000000060448201526064016107be565b5f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610df5576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610dcc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df09190612af2565b610dff565b610dff3447612b40565b90505f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610ebc576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610e93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb79190612af2565b610ec6565b610ec63447612b40565b90505f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f0457610f018982612be2565b90505b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f3f57610f3c8882612be2565b90505b803414610f875760405162461bcd60e51b8152602060048201526016602482015275496e636f7272656374206e61746976652076616c756560501b60448201526064016107be565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610feb57610feb6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308c612446565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161561104f5761104f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308b612446565b6004545f036111265788880289158061107057508861106e8b83612b98565b145b6110bc5760405162461bcd60e51b815260206004820152601760248201527f4d756c7469706c69636174696f6e206f766572666c6f7700000000000000000060448201526064016107be565b6110c5816124b3565b94505f85116111165760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b61112033866125cd565b5061135d565b5f8311801561113457505f82115b6111775760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e74207265736572766560601b60448201526064016107be565b5f61118160045490565b905061118e815f19612b98565b8a11156111d15760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744120746f6f206c6172676560781b60448201526064016107be565b5f846111dd838d612b81565b6111e79190612b98565b90506111f4825f19612b98565b8a11156112375760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744220746f6f206c6172676560781b60448201526064016107be565b5f84611243848d612b81565b61124d9190612b98565b905080821061125c578061125e565b815b96505f87116112af5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b898c10156112ff5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74412070726f766964656400000060448201526064016107be565b888b101561134f5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74422070726f766964656400000060448201526064016107be565b61135933886125cd565b5050505b604080518a8152602081018a905290810185905233907f64b83944e79c3ce8d4c297411de637c3e102d064677aac0c163976ebdcd6f50e9060600160405180910390a25050506113ac60015f55565b95945050505050565b5f6113c13384846120d6565b50600192915050565b6007546001600160a01b031633146113f45760405162461bcd60e51b81526004016107be90612b09565b6008546001600160a01b03166114435760405162461bcd60e51b8152602060048201526014602482015273139bc8199959481c9958da5c1a595b9d081cd95d60621b60448201526064016107be565b6001600160a01b03821661153657478111156114985760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016107be565b6008546040515f916001600160a01b03169083908381818185875af1925050503d805f81146114e2576040519150601f19603f3d011682016040523d82523d5f602084013e6114e7565b606091505b50509050806115305760405162461bcd60e51b8152602060048201526015602482015274119959481dda5d1a191c985dd85b0819985a5b1959605a1b60448201526064016107be565b50611550565b600854611550906001600160a01b03848116911683612654565b600854604080518381526001600160a01b038581166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25050565b5f6115a661241e565b814211156115c65760405162461bcd60e51b81526004016107be90612bb7565b5f841161160c5760405162461bcd60e51b81526020600482015260146024820152730616d6f756e74496e206d757374206265203e20360641b60448201526064016107be565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316148061167d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b6116995760405162461bcd60e51b81526004016107be90612bf5565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b03161490505f5f6116db6105a6565b915091505f612710600a54896116f19190612b81565b6116fb9190612b98565b90505f611708828a612b40565b90505f81116117595760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e7420746f6f20736d616c6c2061667465722064657620666565000060448201526064016107be565b6001600160a01b038a1661190a578834146117c25760405162461bcd60e51b8152602060048201526024808201527f496e636f7272656374206d73672e76616c756520666f72206e617469766520696044820152631b9c1d5d60e21b60648201526084016107be565b5f821180156117db57506008546001600160a01b031615155b156118cb576008546040515f916001600160a01b03169084908381818185875af1925050503d805f811461182a576040519150601f19603f3d011682016040523d82523d5f602084013e61182f565b606091505b50509050806118805760405162461bcd60e51b815260206004820152601760248201527f44657620666565207472616e73666572206661696c656400000000000000000060448201526064016107be565b600854604080518581526001600160a01b038e81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a2505b5f856118e0576118db8285612b40565b6118ea565b6118ea8286612b40565b90506119028282886118fc578761268a565b8661268a565b965050611a14565b34156119585760405162461bcd60e51b815260206004820152601760248201527f556e6578706563746564206e61746976652076616c756500000000000000000060448201526064016107be565b61196d6001600160a01b038b1633308c612446565b5f8211801561198657506008546001600160a01b031615155b156119ef576008546119a5906001600160a01b038c8116911684612654565b600854604080518481526001600160a01b038d81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25b611a1181866119fe5784611a00565b855b87611a0b578661268a565b8561268a565b95505b87861015611a645760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016107be565b5f85611a90577f0000000000000000000000000000000000000000000000000000000000000000611ab2565b7f00000000000000000000000000000000000000000000000000000000000000005b90506001600160a01b038116611b2d576040515f90339089908381818185875af1925050503d805f8114611b01576040519150601f19603f3d011682016040523d82523d5f602084013e611b06565b606091505b5050905080611b275760405162461bcd60e51b81526004016107be90612c1e565b50611b41565b611b416001600160a01b0382163389612654565b604080516001600160a01b038d81168252602082018d90528316818301526060810189905260808101859052905133917f51e00ff851e6d19ee3412286211af0aa9676df8d942e677195fc7445b4c08e30919081900360a00190a2505050505050611bab60015f55565b949350505050565b6007546001600160a01b03163314611bdd5760405162461bcd60e51b81526004016107be90612b09565b6001600160a01b038116611c2b5760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a5908199959481c9958da5c1a595b9d605a1b60448201526064016107be565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3905f90a35050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480611cee57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b611d0a5760405162461bcd60e51b81526004016107be90612bf5565b5f8311611d295760405162461bcd60e51b81526004016107be90612b53565b5f612710600a5485611d3b9190612b81565b611d459190612b98565b90505f611d528286612b40565b90506113ac81856121f8565b5f5f611d6861241e565b82421115611d885760405162461bcd60e51b81526004016107be90612bb7565b5f8611611dcf5760405162461bcd60e51b815260206004820152601560248201527404c5020616d6f756e74206d757374206265203e203605c1b60448201526064016107be565b5f611dd960045490565b90505f8111611e195760405162461bcd60e51b815260206004820152600c60248201526b4e6f206c697175696469747960a01b60448201526064016107be565b5f5f611e236105a6565b909250905082611e338a84612b81565b611e3d9190612b98565b945082611e4a8a83612b81565b611e549190612b98565b935087851015611e985760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744120746f6f206c6f7760881b60448201526064016107be565b86841015611eda5760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744220746f6f206c6f7760881b60448201526064016107be565b611ee4338a612784565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016611f7d576040515f90339087908381818185875af1925050503d805f8114611f51576040519150601f19603f3d011682016040523d82523d5f602084013e611f56565b606091505b5050905080611f775760405162461bcd60e51b81526004016107be90612c1e565b50611fb1565b611fb16001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163387612654565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661204a576040515f90339086908381818185875af1925050503d805f811461201e576040519150601f19603f3d011682016040523d82523d5f602084013e612023565b606091505b50509050806120445760405162461bcd60e51b81526004016107be90612c1e565b5061207e565b61207e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163386612654565b60408051868152602081018690529081018a905233907f1dc8bb69df2b8e91fbdcbfcf93d951b3f0000f085a95fe3f7946d6161439245d9060600160405180910390a25050506120cd60015f55565b94509492505050565b6001600160a01b0383165f9081526005602052604090205481111561214c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107be565b6001600160a01b0383165f9081526005602052604081208054839290612173908490612b40565b90915550506001600160a01b0382165f908152600560205260408120805483929061219f908490612be2565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121eb91815260200190565b60405180910390a3505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061226a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b6122865760405162461bcd60e51b81526004016107be90612bf5565b5f83116122a55760405162461bcd60e51b81526004016107be90612b53565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161490505f5f6122e76105a6565b915091505f836122f757816122f9565b825b90505f846123075783612309565b825b90505f8211801561231957505f81115b61235c5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f60095461271061236d9190612b40565b612377908a612b81565b9050612384825f19612b98565b8111156123de5760405162461bcd60e51b815260206004820152602260248201527f416d6f756e74496e20746f6f206c6172676520666f722063616c63756c61746960448201526137b760f11b60648201526084016107be565b5f6123e98383612b81565b90505f826123f961271087612b81565b6124039190612be2565b905061240f8183612b98565b9b9a5050505050505050505050565b60025f540361244057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b6040516001600160a01b0384811660248301528381166044830152606482018390526124ad9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612877565b50505050565b5f815f036124c257505f919050565b600182600160801b81106124db5760409190911b9060801c5b6801000000000000000081106124f65760209190911b9060401c5b640100000000811061250d5760109190911b9060201c5b6201000081106125225760089190911b9060101c5b61010081106125365760049190911b9060081c5b601081106125495760029190911b9060041c5b6008811061255957600182901b91505b8192506001838561256a9190612b98565b6125749085612be2565b901c925060016125848486612b98565b61258e9085612be2565b901c9250600161259e8486612b98565b6125a89085612be2565b901c92505f6125b78486612b98565b9050838110156125c5578093505b505050919050565b8060045f8282546125de9190612be2565b90915550506001600160a01b0382165f908152600560205260408120805483929061260a908490612be2565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6040516001600160a01b0383811660248301526044820183905261268591859182169063a9059cbb9060640161247b565b505050565b5f5f8311801561269957505f82115b6126dc5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f6009546127106126ed9190612b40565b6126f79086612b81565b9050612704835f19612b98565b8111156127485760405162461bcd60e51b8152602060048201526012602482015271416d6f756e74496e20746f6f206c6172676560701b60448201526064016107be565b5f6127538483612b81565b90505f8261276361271088612b81565b61276d9190612be2565b90506127798183612b98565b979650505050505050565b6001600160a01b0382165f908152600560205260409020548111156127f65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107be565b6001600160a01b0382165f908152600560205260408120805483929061281d908490612b40565b925050819055508060045f8282546128359190612b40565b90915550506040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001612648565b5f5f60205f8451602086015f885af180612896576040513d5f823e3d81fd5b50505f513d915081156128ad5780600114156128ba565b6001600160a01b0384163b155b156124ad57604051635274afe760e01b81526001600160a01b03851660048201526024016107be565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461292e575f5ffd5b919050565b5f5f60408385031215612944575f5ffd5b61294d83612918565b946020939093013593505050565b5f6020828403121561296b575f5ffd5b5035919050565b5f5f5f60608486031215612984575f5ffd5b61298d84612918565b925061299b60208501612918565b929592945050506040919091013590565b5f5f604083850312156129bd575f5ffd5b823591506129cd60208401612918565b90509250929050565b5f602082840312156129e6575f5ffd5b6129ef82612918565b9392505050565b5f5f5f5f5f60a08688031215612a0a575f5ffd5b505083359560208501359550604085013594606081013594506080013592509050565b5f5f5f5f60808587031215612a40575f5ffd5b612a4985612918565b966020860135965060408601359560600135945092505050565b5f5f60408385031215612a74575f5ffd5b612a7d83612918565b91506129cd60208401612918565b5f5f5f5f60808587031215612a9e575f5ffd5b5050823594602084013594506040840135936060013592509050565b600181811c90821680612ace57607f821691505b602082108103612aec57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215612b02575f5ffd5b5051919050565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561078e5761078e612b2c565b6020808252601490820152730416d6f756e74496e206d757374206265203e20360641b604082015260600190565b808202811582820484141761078e5761078e612b2c565b5f82612bb257634e487b7160e01b5f52601260045260245ffd5b500490565b602080825260119082015270111958591b1a5b9948195e18d959591959607a1b604082015260600190565b8082018082111561078e5761078e612b2c565b6020808252600f908201526e24b73b30b634b2103a37b5b2b724b760891b604082015260600190565b60208082526016908201527513985d1a5d99481d1c985b9cd9995c8819985a5b195960521b60408201526060019056fea2646970667358221220b38772ad16e0124d53f36c8ac787bc531413db5c1f5a6b3c16560865361ada1a64736f6c634300081e0033a26469706673582212200cd272e5f413d648abb548abffaa7d41eaca44d9f7876f692c27e6c7f8ffc15f64736f6c634300081e0033000000000000000000000000c88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "nonce": "0xc", + "chainId": "0x164ce" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DEXFactory", + "contractAddress": "0x95e560ca28f8dca1c585aff9b0773625dd20ae75", + "function": "createPool(address,address)", + "arguments": [ + "0x75FD88b5d08dbC8D07FD27B6760E6bBac12F12BB", + "0x0000000000000000000000000000000000000000" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0x95e560ca28f8dca1c585aff9b0773625dd20ae75", + "gas": "0x3b05e1", + "value": "0x0", + "input": "0xe343361500000000000000000000000075fd88b5d08dbc8d07fd27b6760e6bbac12f12bb0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xd", + "chainId": "0x164ce" + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x7c1a628fe0feee16b9cf174cbe7ca9f4678f7ccd", + "initCode": "0x610100604052600c60c09081526b20a6a6902628102a37b5b2b760a11b60e05260019061002c90826101d1565b506040805180820190915260068152650414d4d2d4c560d41b602082015260029061005790826101d1565b506003805460ff19166012179055601e600955600a805560405161304e3881900390819083398101604081905261008d916102a6565b60015f556001600160a01b0382161580156100af57506001600160a01b038116155b156101005760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e617469766500000000604482015260640160405180910390fd5b6001600160a01b039182166080521660a05260078054336001600160a01b031991821681179092556008805490911690911790556102d7565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061016157607f821691505b60208210810361017f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101cc57805f5260205f20601f840160051c810160208510156101aa5750805b601f840160051c820191505b818110156101c9575f81556001016101b6565b50505b505050565b81516001600160401b038111156101ea576101ea610139565b6101fe816101f8845461014d565b84610185565b6020601f821160018114610230575f83156102195750848201515b5f19600385901b1c1916600184901b1784556101c9565b5f84815260208120601f198516915b8281101561025f578785015182556020948501946001909201910161023f565b508482101561027c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b80516001600160a01b03811681146102a1575f5ffd5b919050565b5f5f604083850312156102b7575f5ffd5b6102c08361028b565b91506102ce6020840161028b565b90509250929050565b60805160a051612c846103ca5f395f818161036d01528181610670015281816106aa01528181610ccb01528181610e0c01528181610e4601528181610f0e01528181610ff5015281816110270152818161164901528181611a9201528181611cba01528181611fbb01528181612057015261223601525f818161023d015281816105b2015281816105ec01528181610c9901528181610d4501528181610d7f01528181610ed301528181610f9101528181610fc30152818161160e0152818161169c01528181611a6c01528181611c7f01528181611eee01528181611f8a015281816121fb01526122a80152612c845ff3fe60806040526004361061017e575f3560e01c80635f64b55b116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610479578063e74b981b146104bd578063f140a35a146104dc578063f88bf15a146104fb575f5ffd5b8063a9059cbb14610428578063ad3b1b4714610447578063c9ec924814610466575f5ffd5b80635f64b55b1461035c57806370a082311461038f57806372c27b62146103c35780638da5cb5b146103e257806395d89b4114610401578063a360501c14610415575f5ffd5b806323b872dd11610138578063313ce56711610113578063313ce567146102de578063469048401461030957806355fb1d46146103285780635b0803611461033d575f5ffd5b806323b872dd14610295578063249d39e9146102b457806324a9d853146102c9575f5ffd5b806306fdde03146101895780630902f1ac146101b3578063095ea7b3146101dc5780630ec433171461020b5780630fc63d101461022c57806318160ddd14610277575f5ffd5b3661018557005b5f5ffd5b348015610194575f5ffd5b5061019d61051a565b6040516101aa91906128e3565b60405180910390f35b3480156101be575f5ffd5b506101c76105a6565b604080519283526020830191909152016101aa565b3480156101e7575f5ffd5b506101fb6101f6366004612933565b610728565b60405190151581526020016101aa565b348015610216575f5ffd5b5061022a61022536600461295b565b610794565b005b348015610237575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101aa565b348015610282575f5ffd5b506004545b6040519081526020016101aa565b3480156102a0575f5ffd5b506101fb6102af366004612972565b610898565b3480156102bf575f5ffd5b5061028761271081565b3480156102d4575f5ffd5b5061028760095481565b3480156102e9575f5ffd5b506003546102f79060ff1681565b60405160ff90911681526020016101aa565b348015610314575f5ffd5b5060085461025f906001600160a01b031681565b348015610333575f5ffd5b50610287600a5481565b348015610348575f5ffd5b506102876103573660046129ac565b610968565b348015610367575f5ffd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a575f5ffd5b506102876103a93660046129d6565b6001600160a01b03165f9081526005602052604090205490565b3480156103ce575f5ffd5b5061022a6103dd36600461295b565b610b18565b3480156103ed575f5ffd5b5060075461025f906001600160a01b031681565b34801561040c575f5ffd5b5061019d610c09565b6102876104233660046129f6565b610c16565b348015610433575f5ffd5b506101fb610442366004612933565b6113b5565b348015610452575f5ffd5b5061022a610461366004612933565b6113ca565b610287610474366004612a2d565b61159d565b348015610484575f5ffd5b50610287610493366004612a63565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156104c8575f5ffd5b5061022a6104d73660046129d6565b611bb3565b3480156104e7575f5ffd5b506102876104f63660046129ac565b611c7c565b348015610506575f5ffd5b506101c7610515366004612a8b565b611d5e565b6001805461052790612aba565b80601f016020809104026020016040519081016040528092919081815260200182805461055390612aba565b801561059e5780601f106105755761010080835404028352916020019161059e565b820191905f5260205f20905b81548152906001019060200180831161058157829003601f168201915b505050505081565b5f806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610662576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610639573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065d9190612af2565b610664565b475b91506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610720576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156106f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b9190612af2565b610722565b475b90509091565b335f8181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107829086815260200190565b60405180910390a35060015b92915050565b6007546001600160a01b031633146107c75760405162461bcd60e51b81526004016107be90612b09565b60405180910390fd5b606481111561080b5760405162461bcd60e51b815260206004820152601060248201526f088caec40cccaca40e8dede40d0d2ced60831b60448201526064016107be565b612710811061085c5760405162461bcd60e51b815260206004820152601f60248201527f44657620666565206d757374206265206c657373207468616e2031303030300060448201526064016107be565b600a8190556040518181527fd2fcc8c801d1c6ec6267fa3420cc8428c11a8c06f0d110a700fe9ff1e7317360906020015b60405180910390a150565b6001600160a01b0383165f9081526006602090815260408083203384529091528120545f19811461095257828110156109245760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016107be565b61092e8382612b40565b6001600160a01b0386165f9081526006602090815260408083203384529091529020555b61095d8585856120d6565b506001949350505050565b5f5f83116109885760405162461bcd60e51b81526004016107be90612b53565b5f612710600a548561099a9190612b81565b6109a49190612b98565b90505f6109b18286612b40565b90505f6109be82866121f8565b90506009546127106109d09190612b40565b6109db905f19612b98565b821115610a3c5760405162461bcd60e51b815260206004820152602960248201527f416d6f756e74496e20746f6f206c6172676520666f7220696d706163742063616044820152683631bab630ba34b7b760b91b60648201526084016107be565b5f612710600954612710610a509190612b40565b610a5a9085612b81565b610a649190612b98565b9050805f03610a79575f94505050505061078e565b818111610a8c575f94505050505061078e565b5f610a978383612b40565b9050610aa66127105f19612b98565b811115610af55760405162461bcd60e51b815260206004820152601b60248201527f496d706163742063616c63756c6174696f6e206f766572666c6f77000000000060448201526064016107be565b81610b0261271083612b81565b610b0c9190612b98565b98975050505050505050565b6007546001600160a01b03163314610b425760405162461bcd60e51b81526004016107be90612b09565b6101f4811115610b835760405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b60448201526064016107be565b6127108110610bd45760405162461bcd60e51b815260206004820152601b60248201527f466565206d757374206265206c657373207468616e203130303030000000000060448201526064016107be565b60098190556040518181527f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c769060200161088d565b6002805461052790612aba565b5f610c1f61241e565b81421115610c3f5760405162461bcd60e51b81526004016107be90612bb7565b5f86118015610c4d57505f85115b610c8f5760405162461bcd60e51b81526020600482015260136024820152720416d6f756e7473206d757374206265203e203606c1b60448201526064016107be565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016158015610ced57506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016155b15610d3a5760405162461bcd60e51b815260206004820152601c60248201527f426f746820746f6b656e732063616e6e6f74206265206e61746976650000000060448201526064016107be565b5f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610df5576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610dcc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df09190612af2565b610dff565b610dff3447612b40565b90505f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610ebc576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610e93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb79190612af2565b610ec6565b610ec63447612b40565b90505f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f0457610f018982612be2565b90505b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610f3f57610f3c8882612be2565b90505b803414610f875760405162461bcd60e51b8152602060048201526016602482015275496e636f7272656374206e61746976652076616c756560501b60448201526064016107be565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001615610feb57610feb6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308c612446565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161561104f5761104f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308b612446565b6004545f036111265788880289158061107057508861106e8b83612b98565b145b6110bc5760405162461bcd60e51b815260206004820152601760248201527f4d756c7469706c69636174696f6e206f766572666c6f7700000000000000000060448201526064016107be565b6110c5816124b3565b94505f85116111165760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b61112033866125cd565b5061135d565b5f8311801561113457505f82115b6111775760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e74207265736572766560601b60448201526064016107be565b5f61118160045490565b905061118e815f19612b98565b8a11156111d15760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744120746f6f206c6172676560781b60448201526064016107be565b5f846111dd838d612b81565b6111e79190612b98565b90506111f4825f19612b98565b8a11156112375760405162461bcd60e51b8152602060048201526011602482015270416d6f756e744220746f6f206c6172676560781b60448201526064016107be565b5f84611243848d612b81565b61124d9190612b98565b905080821061125c578061125e565b815b96505f87116112af5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e74206c6971756964697479206d696e74656400000060448201526064016107be565b898c10156112ff5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74412070726f766964656400000060448201526064016107be565b888b101561134f5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420616d6f756e74422070726f766964656400000060448201526064016107be565b61135933886125cd565b5050505b604080518a8152602081018a905290810185905233907f64b83944e79c3ce8d4c297411de637c3e102d064677aac0c163976ebdcd6f50e9060600160405180910390a25050506113ac60015f55565b95945050505050565b5f6113c13384846120d6565b50600192915050565b6007546001600160a01b031633146113f45760405162461bcd60e51b81526004016107be90612b09565b6008546001600160a01b03166114435760405162461bcd60e51b8152602060048201526014602482015273139bc8199959481c9958da5c1a595b9d081cd95d60621b60448201526064016107be565b6001600160a01b03821661153657478111156114985760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016107be565b6008546040515f916001600160a01b03169083908381818185875af1925050503d805f81146114e2576040519150601f19603f3d011682016040523d82523d5f602084013e6114e7565b606091505b50509050806115305760405162461bcd60e51b8152602060048201526015602482015274119959481dda5d1a191c985dd85b0819985a5b1959605a1b60448201526064016107be565b50611550565b600854611550906001600160a01b03848116911683612654565b600854604080518381526001600160a01b038581166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25050565b5f6115a661241e565b814211156115c65760405162461bcd60e51b81526004016107be90612bb7565b5f841161160c5760405162461bcd60e51b81526020600482015260146024820152730616d6f756e74496e206d757374206265203e20360641b60448201526064016107be565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316148061167d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b6116995760405162461bcd60e51b81526004016107be90612bf5565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b03161490505f5f6116db6105a6565b915091505f612710600a54896116f19190612b81565b6116fb9190612b98565b90505f611708828a612b40565b90505f81116117595760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e7420746f6f20736d616c6c2061667465722064657620666565000060448201526064016107be565b6001600160a01b038a1661190a578834146117c25760405162461bcd60e51b8152602060048201526024808201527f496e636f7272656374206d73672e76616c756520666f72206e617469766520696044820152631b9c1d5d60e21b60648201526084016107be565b5f821180156117db57506008546001600160a01b031615155b156118cb576008546040515f916001600160a01b03169084908381818185875af1925050503d805f811461182a576040519150601f19603f3d011682016040523d82523d5f602084013e61182f565b606091505b50509050806118805760405162461bcd60e51b815260206004820152601760248201527f44657620666565207472616e73666572206661696c656400000000000000000060448201526064016107be565b600854604080518581526001600160a01b038e81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a2505b5f856118e0576118db8285612b40565b6118ea565b6118ea8286612b40565b90506119028282886118fc578761268a565b8661268a565b965050611a14565b34156119585760405162461bcd60e51b815260206004820152601760248201527f556e6578706563746564206e61746976652076616c756500000000000000000060448201526064016107be565b61196d6001600160a01b038b1633308c612446565b5f8211801561198657506008546001600160a01b031615155b156119ef576008546119a5906001600160a01b038c8116911684612654565b600854604080518481526001600160a01b038d81166020830152909216917fbb64cfa7f75512208a9b73fb4034b028a5972cba07a53b641e16ba38571f1331910160405180910390a25b611a1181866119fe5784611a00565b855b87611a0b578661268a565b8561268a565b95505b87861015611a645760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016107be565b5f85611a90577f0000000000000000000000000000000000000000000000000000000000000000611ab2565b7f00000000000000000000000000000000000000000000000000000000000000005b90506001600160a01b038116611b2d576040515f90339089908381818185875af1925050503d805f8114611b01576040519150601f19603f3d011682016040523d82523d5f602084013e611b06565b606091505b5050905080611b275760405162461bcd60e51b81526004016107be90612c1e565b50611b41565b611b416001600160a01b0382163389612654565b604080516001600160a01b038d81168252602082018d90528316818301526060810189905260808101859052905133917f51e00ff851e6d19ee3412286211af0aa9676df8d942e677195fc7445b4c08e30919081900360a00190a2505050505050611bab60015f55565b949350505050565b6007546001600160a01b03163314611bdd5760405162461bcd60e51b81526004016107be90612b09565b6001600160a01b038116611c2b5760405162461bcd60e51b8152602060048201526015602482015274125b9d985b1a5908199959481c9958da5c1a595b9d605a1b60448201526064016107be565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3905f90a35050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480611cee57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b611d0a5760405162461bcd60e51b81526004016107be90612bf5565b5f8311611d295760405162461bcd60e51b81526004016107be90612b53565b5f612710600a5485611d3b9190612b81565b611d459190612b98565b90505f611d528286612b40565b90506113ac81856121f8565b5f5f611d6861241e565b82421115611d885760405162461bcd60e51b81526004016107be90612bb7565b5f8611611dcf5760405162461bcd60e51b815260206004820152601560248201527404c5020616d6f756e74206d757374206265203e203605c1b60448201526064016107be565b5f611dd960045490565b90505f8111611e195760405162461bcd60e51b815260206004820152600c60248201526b4e6f206c697175696469747960a01b60448201526064016107be565b5f5f611e236105a6565b909250905082611e338a84612b81565b611e3d9190612b98565b945082611e4a8a83612b81565b611e549190612b98565b935087851015611e985760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744120746f6f206c6f7760881b60448201526064016107be565b86841015611eda5760405162461bcd60e51b815260206004820152600f60248201526e416d6f756e744220746f6f206c6f7760881b60448201526064016107be565b611ee4338a612784565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016611f7d576040515f90339087908381818185875af1925050503d805f8114611f51576040519150601f19603f3d011682016040523d82523d5f602084013e611f56565b606091505b5050905080611f775760405162461bcd60e51b81526004016107be90612c1e565b50611fb1565b611fb16001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163387612654565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661204a576040515f90339086908381818185875af1925050503d805f811461201e576040519150601f19603f3d011682016040523d82523d5f602084013e612023565b606091505b50509050806120445760405162461bcd60e51b81526004016107be90612c1e565b5061207e565b61207e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163386612654565b60408051868152602081018690529081018a905233907f1dc8bb69df2b8e91fbdcbfcf93d951b3f0000f085a95fe3f7946d6161439245d9060600160405180910390a25050506120cd60015f55565b94509492505050565b6001600160a01b0383165f9081526005602052604090205481111561214c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107be565b6001600160a01b0383165f9081526005602052604081208054839290612173908490612b40565b90915550506001600160a01b0382165f908152600560205260408120805483929061219f908490612be2565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121eb91815260200190565b60405180910390a3505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061226a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b6122865760405162461bcd60e51b81526004016107be90612bf5565b5f83116122a55760405162461bcd60e51b81526004016107be90612b53565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161490505f5f6122e76105a6565b915091505f836122f757816122f9565b825b90505f846123075783612309565b825b90505f8211801561231957505f81115b61235c5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f60095461271061236d9190612b40565b612377908a612b81565b9050612384825f19612b98565b8111156123de5760405162461bcd60e51b815260206004820152602260248201527f416d6f756e74496e20746f6f206c6172676520666f722063616c63756c61746960448201526137b760f11b60648201526084016107be565b5f6123e98383612b81565b90505f826123f961271087612b81565b6124039190612be2565b905061240f8183612b98565b9b9a5050505050505050505050565b60025f540361244057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b6040516001600160a01b0384811660248301528381166044830152606482018390526124ad9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612877565b50505050565b5f815f036124c257505f919050565b600182600160801b81106124db5760409190911b9060801c5b6801000000000000000081106124f65760209190911b9060401c5b640100000000811061250d5760109190911b9060201c5b6201000081106125225760089190911b9060101c5b61010081106125365760049190911b9060081c5b601081106125495760029190911b9060041c5b6008811061255957600182901b91505b8192506001838561256a9190612b98565b6125749085612be2565b901c925060016125848486612b98565b61258e9085612be2565b901c9250600161259e8486612b98565b6125a89085612be2565b901c92505f6125b78486612b98565b9050838110156125c5578093505b505050919050565b8060045f8282546125de9190612be2565b90915550506001600160a01b0382165f908152600560205260408120805483929061260a908490612be2565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6040516001600160a01b0383811660248301526044820183905261268591859182169063a9059cbb9060640161247b565b505050565b5f5f8311801561269957505f82115b6126dc5760405162461bcd60e51b815260206004820152601460248201527305265736572766573206d757374206265203e20360641b60448201526064016107be565b5f6009546127106126ed9190612b40565b6126f79086612b81565b9050612704835f19612b98565b8111156127485760405162461bcd60e51b8152602060048201526012602482015271416d6f756e74496e20746f6f206c6172676560701b60448201526064016107be565b5f6127538483612b81565b90505f8261276361271088612b81565b61276d9190612be2565b90506127798183612b98565b979650505050505050565b6001600160a01b0382165f908152600560205260409020548111156127f65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107be565b6001600160a01b0382165f908152600560205260408120805483929061281d908490612b40565b925050819055508060045f8282546128359190612b40565b90915550506040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001612648565b5f5f60205f8451602086015f885af180612896576040513d5f823e3d81fd5b50505f513d915081156128ad5780600114156128ba565b6001600160a01b0384163b155b156124ad57604051635274afe760e01b81526001600160a01b03851660048201526024016107be565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461292e575f5ffd5b919050565b5f5f60408385031215612944575f5ffd5b61294d83612918565b946020939093013593505050565b5f6020828403121561296b575f5ffd5b5035919050565b5f5f5f60608486031215612984575f5ffd5b61298d84612918565b925061299b60208501612918565b929592945050506040919091013590565b5f5f604083850312156129bd575f5ffd5b823591506129cd60208401612918565b90509250929050565b5f602082840312156129e6575f5ffd5b6129ef82612918565b9392505050565b5f5f5f5f5f60a08688031215612a0a575f5ffd5b505083359560208501359550604085013594606081013594506080013592509050565b5f5f5f5f60808587031215612a40575f5ffd5b612a4985612918565b966020860135965060408601359560600135945092505050565b5f5f60408385031215612a74575f5ffd5b612a7d83612918565b91506129cd60208401612918565b5f5f5f5f60808587031215612a9e575f5ffd5b5050823594602084013594506040840135936060013592509050565b600181811c90821680612ace57607f821691505b602082108103612aec57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215612b02575f5ffd5b5051919050565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561078e5761078e612b2c565b6020808252601490820152730416d6f756e74496e206d757374206265203e20360641b604082015260600190565b808202811582820484141761078e5761078e612b2c565b5f82612bb257634e487b7160e01b5f52601260045260245ffd5b500490565b602080825260119082015270111958591b1a5b9948195e18d959591959607a1b604082015260600190565b8082018082111561078e5761078e612b2c565b6020808252600f908201526e24b73b30b634b2103a37b5b2b724b760891b604082015260600190565b60208082526016908201527513985d1a5d99481d1c985b9cd9995c8819985a5b195960521b60408201526060019056fea2646970667358221220b38772ad16e0124d53f36c8ac787bc531413db5c1f5a6b3c16560865361ada1a64736f6c634300081e0033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000075fd88b5d08dbc8d07fd27b6760e6bbac12f12bb" + } + ], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Farming", + "contractAddress": "0x09778d47bcfbf39a90499262010384d47d948cec", + "function": null, + "arguments": [ + "0x7c1a628Fe0FEee16b9CF174Cbe7Ca9F4678f7CCD", + "0x75FD88b5d08dbC8D07FD27B6760E6bBac12F12BB" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "gas": "0x19355a", + "value": "0x0", + "input": "0x60c060405234801561000f575f5ffd5b5060405161171738038061171783398101604081905261002e91610182565b338061005457604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61005d81610118565b50600180556001600160a01b0382166100ab5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2102628103a37b5b2b760811b604482015260640161004b565b6001600160a01b0381166101015760405162461bcd60e51b815260206004820152601460248201527f496e76616c69642072657761726420746f6b656e000000000000000000000000604482015260640161004b565b6001600160a01b039182166080521660a0526101b3565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461017d575f5ffd5b919050565b5f5f60408385031215610193575f5ffd5b61019c83610167565b91506101aa60208401610167565b90509250929050565b60805160a0516115126102055f395f818161052d0152818161073e01528181610ae20152610c3001525f81816102f9015281816109d201528181610baf01528181610ea8015261106701526115125ff3fe6080604052600436106101c7575f3560e01c80638456cb59116100f2578063cb17d14f11610092578063e9fad8ee11610062578063e9fad8ee146104d4578063ebe2b12b146104e8578063f2fde38b146104fd578063f7c618c11461051c575f5ffd5b8063cb17d14f14610483578063cd3daf9d14610497578063db2e21bc146104ab578063df136d65146104bf575f5ffd5b80638da5cb5b116100cd5780638da5cb5b14610416578063a694fc3a14610432578063b187bd2614610451578063c8f33c911461046e575f5ffd5b80638456cb59146103b85780638980f11f146103cc5780638b876347146103eb575f5ffd5b80634e71d92d11610168578063715018a611610138578063715018a6146103675780637b0a47ee1461037b5780637e1a37861461039057806380faa57d146103a4575f5ffd5b80634e71d92d146102ab5780635c975abb146102bf5780635fcbd285146102e857806370a0823114610333575f5ffd5b80631c1f78eb116101a35780631c1f78eb1461024357806328662551146102575780632e1a7d4d146102785780633f4ba83a14610297575f5ffd5b80628cc262146101d25780630700037d1461020457806318160ddd1461022f575f5ffd5b366101ce57005b5f5ffd5b3480156101dd575f5ffd5b506101f16101ec3660046113e7565b61054f565b6040519081526020015b60405180910390f35b34801561020f575f5ffd5b506101f161021e3660046113e7565b60096020525f908152604090205481565b34801561023a575f5ffd5b506006546101f1565b34801561024e575f5ffd5b506101f16105e9565b348015610262575f5ffd5b50610276610271366004611407565b610630565b005b348015610283575f5ffd5b50610276610292366004611427565b610889565b3480156102a2575f5ffd5b50610276610a3c565b3480156102b6575f5ffd5b50610276610a4e565b3480156102ca575f5ffd5b505f54600160a01b900460ff165b60405190151581526020016101fb565b3480156102f3575f5ffd5b5061031b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101fb565b34801561033e575f5ffd5b506101f161034d3660046113e7565b6001600160a01b03165f9081526007602052604090205490565b348015610372575f5ffd5b50610276610b52565b348015610386575f5ffd5b506101f160025481565b34801561039b575f5ffd5b506101f1610b63565b3480156103af575f5ffd5b506101f1610b7f565b3480156103c3575f5ffd5b50610276610b95565b3480156103d7575f5ffd5b506102766103e636600461143e565b610ba5565b3480156103f6575f5ffd5b506101f16104053660046113e7565b60086020525f908152604090205481565b348015610421575f5ffd5b505f546001600160a01b031661031b565b34801561043d575f5ffd5b5061027661044c366004611427565b610d62565b34801561045c575f5ffd5b505f54600160a01b900460ff166102d8565b348015610479575f5ffd5b506101f160045481565b34801561048e575f5ffd5b506003546101f1565b3480156104a2575f5ffd5b506101f1610f02565b3480156104b6575f5ffd5b50610276610fc9565b3480156104ca575f5ffd5b506101f160055481565b3480156104df575f5ffd5b506102766110d5565b3480156104f3575f5ffd5b506101f160035481565b348015610508575f5ffd5b506102766105173660046113e7565b6110f5565b348015610527575f5ffd5b5061031b7f000000000000000000000000000000000000000000000000000000000000000081565b5f5f610559610f02565b6001600160a01b0384165f90815260086020526040812054919250818311156105be57670de0b6b3a764000061058f838561147a565b6001600160a01b0387165f908152600760205260409020546105b19190611493565b6105bb91906114aa565b90505b6001600160a01b0385165f908152600960205260409020546105e090826114c9565b95945050505050565b5f60035442106105f857505f90565b5f42600354610607919061147a565b9050670de0b6b3a7640000816002546106209190611493565b61062a91906114aa565b91505090565b61063861112f565b61064061115b565b610648611185565b5f610651610f02565b60055561065c610b7f565b6004556001600160a01b038116156106a2576106778161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f82116106ed5760405162461bcd60e51b815260206004820152601460248201527304475726174696f6e206d757374206265203e20360641b60448201526064015b60405180910390fd5b5f83116107315760405162461bcd60e51b81526020600482015260126024820152710526577617264206d757374206265203e20360741b60448201526064016106e4565b6107666001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866111af565b5f6003544210610794578261078385670de0b6b3a7640000611493565b61078d91906114aa565b90506107e3565b5f426003546107a3919061147a565b90505f600254826107b49190611493565b905084816107ca88670de0b6b3a7640000611493565b6107d491906114c9565b6107de91906114aa565b925050505b5f81116108285760405162461bcd60e51b8152602060048201526013602482015272526577617264207261746520746f6f206c6f7760681b60448201526064016106e4565b600281905542600481905561083e9084906114c9565b60035560408051858152602081018590527f6c07ee05dcf262f13abf9d87b846ee789d2f90fe991d495acd7d7fc109ee1f55910160405180910390a1505061088560018055565b5050565b61089161115b565b610899611185565b336108a2610f02565b6005556108ad610b7f565b6004556001600160a01b038116156108f3576108c88161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f82116109365760405162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b60448201526064016106e4565b335f9081526007602052604090205482111561098b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016106e4565b8160065f82825461099c919061147a565b9091555050335f90815260076020526040812080548492906109bf90849061147a565b909155506109f990506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338461121c565b60405182815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5906020015b60405180910390a250610a3960018055565b50565b610a4461112f565b610a4c611252565b565b610a5661115b565b610a5e611185565b33610a67610f02565b600555610a72610b7f565b6004556001600160a01b03811615610ab857610a8d8161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b335f908152600960205260409020548015610b4757335f81815260096020526040812055610b11907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908361121c565b60405181815233907fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e04869060200160405180910390a25b5050610a4c60018055565b610b5a61112f565b610a4c5f6112a6565b5f670de0b6b3a7640000600254610b7a91906114aa565b905090565b5f6003544210610b90575060035490565b504290565b610b9d61112f565b610a4c6112f5565b610bad61112f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610c2e5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265636f766572204c5020746f6b656e00000000000000000060448201526064016106e4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610caf5760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74207265636f7665722072657761726420746f6b656e000000000060448201526064016106e4565b306001600160a01b03831603610d075760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74207265636f76657220636f6e747261637420746f6b656e00000060448201526064016106e4565b610d1b6001600160a01b038316338361121c565b816001600160a01b03167f4590b594be6fdef6bd5e18792a2494ddf2156b618c7bbe48d13a92831208af0582604051610d5691815260200190565b60405180910390a25050565b610d6a61115b565b610d72611185565b33610d7b610f02565b600555610d86610b7f565b6004556001600160a01b03811615610dcc57610da18161054f565b6001600160a01b0382165f908152600960209081526040808320939093556005546008909152919020555b5f8211610e0c5760405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b60448201526064016106e4565b600654610e1a905f1961147a565b821115610e615760405162461bcd60e51b8152602060048201526015602482015274546f74616c20737570706c79206f766572666c6f7760581b60448201526064016106e4565b8160065f828254610e7291906114c9565b9091555050335f9081526007602052604081208054849290610e959084906114c9565b90915550610ed090506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330856111af565b60405182815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d90602001610a27565b5f6006545f03610f13575060055490565b5f600454610f1f610b7f565b610f29919061147a565b9050805f03610f3a57505060055490565b6002541580610f565750600254610f52905f196114aa565b8111155b610fa25760405162461bcd60e51b815260206004820152601a60248201527f4f766572666c6f7720696e20726577617264506572546f6b656e00000000000060448201526064016106e4565b600654600254610fb29083611493565b610fbc91906114aa565b60055461062a91906114c9565b610fd1611185565b335f90815260076020526040902054806110255760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b60448201526064016106e4565b8060065f828254611036919061147a565b9091555050335f818152600760209081526040808320839055600982528083208390556008909152812055611096907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908361121c565b60405181815233907f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd96959060200160405180910390a250610a4c60018055565b335f908152600760205260409020546110ed90610889565b610a4c610a4e565b6110fd61112f565b6001600160a01b03811661112657604051631e4fbdf760e01b81525f60048201526024016106e4565b610a39816112a6565b5f546001600160a01b03163314610a4c5760405163118cdaa760e01b81523360048201526024016106e4565b5f54600160a01b900460ff1615610a4c5760405163d93c066560e01b815260040160405180910390fd5b6002600154036111a857604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b6040516001600160a01b0384811660248301528381166044830152606482018390526112169186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611337565b50505050565b6040516001600160a01b0383811660248301526044820183905261124d91859182169063a9059cbb906064016111e4565b505050565b61125a6113a3565b5f805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6112fd61115b565b5f805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586112893390565b5f5f60205f8451602086015f885af180611356576040513d5f823e3d81fd5b50505f513d9150811561136d57806001141561137a565b6001600160a01b0384163b155b1561121657604051635274afe760e01b81526001600160a01b03851660048201526024016106e4565b5f54600160a01b900460ff16610a4c57604051638dfc202b60e01b815260040160405180910390fd5b80356001600160a01b03811681146113e2575f5ffd5b919050565b5f602082840312156113f7575f5ffd5b611400826113cc565b9392505050565b5f5f60408385031215611418575f5ffd5b50508035926020909101359150565b5f60208284031215611437575f5ffd5b5035919050565b5f5f6040838503121561144f575f5ffd5b611458836113cc565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561148d5761148d611466565b92915050565b808202811582820484141761148d5761148d611466565b5f826114c457634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561148d5761148d61146656fea26469706673582212202b809426f6c135e8ee85814cc96bd824b6eef7af6592d09cc0eff3704ff809ca64736f6c634300081e00330000000000000000000000007c1a628fe0feee16b9cf174cbe7ca9f4678f7ccd00000000000000000000000075fd88b5d08dbc8d07fd27b6760e6bbac12f12bb", + "nonce": "0xe", + "chainId": "0x164ce" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "Kanari", + "contractAddress": "0x75fd88b5d08dbc8d07fd27b6760e6bbac12f12bb", + "function": "approve(address,uint256)", + "arguments": [ + "0x09778D47bCFBf39a90499262010384D47D948CeC", + "6000000000000000000000000" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0x75fd88b5d08dbc8d07fd27b6760e6bbac12f12bb", + "gas": "0xfa6a", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000009778d47bcfbf39a90499262010384d47d948cec00000000000000000000000000000000000000000004f68ca6d8cd91c6000000", + "nonce": "0xf", + "chainId": "0x164ce" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "Farming", + "contractAddress": "0x09778d47bcfbf39a90499262010384d47d948cec", + "function": "fundRewards(uint256,uint256)", + "arguments": [ + "6000000000000000000000000", + "189216000" + ], + "transaction": { + "from": "0xc88c539aa6f67daedaea7aff75fe1f8848d6cec2", + "to": "0x09778d47bcfbf39a90499262010384d47d948cec", + "gas": "0x2c1ee", + "value": "0x0", + "input": "0x2866255100000000000000000000000000000000000000000004f68ca6d8cd91c6000000000000000000000000000000000000000000000000000000000000000b473500", + "nonce": "0x10", + "chainId": "0x164ce" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1757757881, + "chain": 91342, + "commit": "37e4ae0" +} \ No newline at end of file diff --git a/frontend/src/components/FarmingPage.tsx b/frontend/src/components/FarmingPage.tsx index ae75aa1..ac2056f 100644 --- a/frontend/src/components/FarmingPage.tsx +++ b/frontend/src/components/FarmingPage.tsx @@ -50,13 +50,14 @@ export default function FarmingPage() { const { data: totalStakedData } = useReadContract({ address: CONTRACTS.FARMING, abi: FARMING_ABI, - functionName: 'totalStaked', + functionName: 'totalSupply', }); const { data: rewardRateData } = useReadContract({ address: CONTRACTS.FARMING, abi: FARMING_ABI, - functionName: 'rewardRate', + // use the helper that returns a human-scaled reward rate + functionName: 'getRewardRate', }); const { data: periodFinishData } = useReadContract({ @@ -68,7 +69,7 @@ export default function FarmingPage() { const { data: pausedData } = useReadContract({ address: CONTRACTS.FARMING, abi: FARMING_ABI, - functionName: 'paused', + functionName: 'isPaused', }); // Update state when data changes @@ -76,8 +77,10 @@ export default function FarmingPage() { if (lpBalanceData) setLpBalance(formatEther(lpBalanceData)); if (stakedData) setStakedBalance(formatEther(stakedData)); if (earnedData) setEarnedRewards(formatEther(earnedData)); - if (totalStakedData) setTotalStaked(formatEther(totalStakedData)); - if (rewardRateData) setRewardRate(formatEther(rewardRateData)); + if (totalStakedData) setTotalStaked(formatEther(totalStakedData)); + // getRewardRate() returns the token/sec value already scaled to token units + // but it's still a BigInt in wei-style units; formatEther will convert to decimal + if (rewardRateData) setRewardRate(formatEther(rewardRateData)); if (periodFinishData) setPeriodFinish(Number(periodFinishData)); if (pausedData !== undefined) setIsPaused(pausedData); }, [lpBalanceData, stakedData, earnedData, totalStakedData, rewardRateData, periodFinishData, pausedData]); diff --git a/frontend/src/lib/contracts.ts b/frontend/src/lib/contracts.ts index 1b8fe43..cb4810a 100644 --- a/frontend/src/lib/contracts.ts +++ b/frontend/src/lib/contracts.ts @@ -2,12 +2,12 @@ export const CONTRACTS = { // Token addresses USDC: "0xcC11f370fe6126b36D634FC1D2CCbC1F72599199" as const, - KANARI: "0x022F8de9adF2B8Aea32C715F79b5f05A611625EC" as const, + KANARI: "0xcefB699Cf39C5462CaD926920f869a252FDE09EC" as const, // DEX Infrastructure - DEX_FACTORY: "0xad255Cc5437AcA030b1f8D41054CC2bfeaBfb3a9" as const, - KANARI_NATIVE_POOL: "0x71D5414715a3957dFDeaDB2a7368c5768C0683D3" as const, - FARMING: "0x1871A6c114B62A8Ea0855b1a29B7Df4341ED9a0d" as const, + DEX_FACTORY: "0xb24361e65059537C684014FC9aa903d60B3290dc" as const, + KANARI_NATIVE_POOL: "0xeD415A516A0F83e27314Ddc8fb12bB3fd572D260" as const, + FARMING: "0xEA4054041b1c65308a0D2F2d88DEa0f107A0c85A" as const, } as const; @@ -15,9 +15,9 @@ export const CONTRACTS = { export const POOLS = { 'KANARI-NATIVE': { address: CONTRACTS.KANARI_NATIVE_POOL, - tokenA: 'KANARI' as TokenKey, - tokenB: 'NATIVE' as TokenKey, - name: 'KANARI/sBTC', + tokenA: 'NATIVE' as TokenKey, + tokenB: 'KANARI' as TokenKey, + name: 'sBTC/KANARI', description: 'KANARI paired with native sBTC (Dev fee: 0.1%)', hasFeeCollection: true, devFee: '0.1%', @@ -524,7 +524,6 @@ export const SWAP_ABI = [ // Farming Contract ABI (NEW) export const FARMING_ABI = [ - // View functions { "type": "function", "name": "lpToken", @@ -541,30 +540,37 @@ export const FARMING_ABI = [ }, { "type": "function", - "name": "totalStaked", + "name": "rewardRate", "inputs": [], "outputs": [{ "type": "uint256", "name": "" }], "stateMutability": "view" }, { "type": "function", - "name": "rewardRate", + "name": "periodFinish", "inputs": [], "outputs": [{ "type": "uint256", "name": "" }], "stateMutability": "view" }, { "type": "function", - "name": "periodFinish", + "name": "lastUpdateTime", "inputs": [], "outputs": [{ "type": "uint256", "name": "" }], "stateMutability": "view" }, { "type": "function", - "name": "paused", + "name": "rewardPerTokenStored", "inputs": [], - "outputs": [{ "type": "bool", "name": "" }], + "outputs": [{ "type": "uint256", "name": "" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [{ "type": "uint256", "name": "" }], "stateMutability": "view" }, { @@ -576,19 +582,25 @@ export const FARMING_ABI = [ }, { "type": "function", - "name": "earned", - "inputs": [{ "type": "address", "name": "account" }], + "name": "lastTimeRewardApplicable", + "inputs": [], "outputs": [{ "type": "uint256", "name": "" }], "stateMutability": "view" }, { "type": "function", - "name": "getRewardForDuration", + "name": "rewardPerToken", "inputs": [], "outputs": [{ "type": "uint256", "name": "" }], "stateMutability": "view" }, - // State-changing functions + { + "type": "function", + "name": "earned", + "inputs": [{ "type": "address", "name": "account" }], + "outputs": [{ "type": "uint256", "name": "" }], + "stateMutability": "view" + }, { "type": "function", "name": "stake", @@ -624,17 +636,54 @@ export const FARMING_ABI = [ "outputs": [], "stateMutability": "nonpayable" }, - // Owner functions { "type": "function", "name": "fundRewards", "inputs": [ - { "type": "uint256", "name": "amount" }, + { "type": "uint256", "name": "rewardAmount" }, { "type": "uint256", "name": "duration" } ], "outputs": [], "stateMutability": "nonpayable" }, + { + "type": "function", + "name": "recoverERC20", + "inputs": [ + { "type": "address", "name": "token" }, + { "type": "uint256", "name": "amount" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getPeriodFinish", + "inputs": [], + "outputs": [{ "type": "uint256", "name": "" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRewardRate", + "inputs": [], + "outputs": [{ "type": "uint256", "name": "" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRewardForDuration", + "inputs": [], + "outputs": [{ "type": "uint256", "name": "" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPaused", + "inputs": [], + "outputs": [{ "type": "bool", "name": "" }], + "stateMutability": "view" + }, { "type": "function", "name": "pause", @@ -678,11 +727,29 @@ export const FARMING_ABI = [ "type": "event", "name": "RewardAdded", "inputs": [ - { "type": "uint256", "name": "reward", "indexed": false } + { "type": "uint256", "name": "reward", "indexed": false }, + { "type": "uint256", "name": "duration", "indexed": false } + ] + }, + { + "type": "event", + "name": "TokenRecovered", + "inputs": [ + { "type": "address", "name": "token", "indexed": true }, + { "type": "uint256", "name": "amount", "indexed": false } + ] + }, + { + "type": "event", + "name": "EmergencyWithdraw", + "inputs": [ + { "type": "address", "name": "user", "indexed": true }, + { "type": "uint256", "name": "amount", "indexed": false } ] } ] as const; + // DEX Factory ABI for creating new trading pairs export const DEX_FACTORY_ABI = [ { diff --git a/script/DeployDEX_v2.s.sol b/script/DeployDEX_v2.s.sol index 29bb49c..25aee68 100644 --- a/script/DeployDEX_v2.s.sol +++ b/script/DeployDEX_v2.s.sol @@ -1,9 +1,9 @@ // SPDX-License-Identifier: MIT -//ระบบ farm คู่ kanari/coin(Native) จะได้ Reward -// token kanari pool 6M token +//ระบบ farm คู่ kanari/coin(Native) จะได้ Reward +// token kanari pool 6M token // Calculation formula (6M Kanari)/(6 years)/(365 days)/(24 hours)/(3600 sec) -// 0.0317098 +// 0.0317098 pragma solidity ^0.8.30; import "../lib/forge-std/src/Script.sol"; @@ -16,93 +16,96 @@ import "src/Kanari.sol"; import "src/USDC.sol"; contract DeployDEX_v2 is Script { - // Deployment addresses - will be set after deployment - address public kanariToken; - address public dexFactory; - address public kanariNativePool; - address public farmingContract; - - // Configuration - address public constant FEE_RECIPIENT = 0xC88C539aa6f67daeDaeA7aff75FE1F8848d6CeC2; // Your address - - // Reward parameters - // Total rewards: 6,000,000 KANARI (18 decimals) - uint256 public constant TOTAL_REWARDS = 6_000_000 * 1e18; // - // Duration: 6 years (using 365 days/year) - uint256 public constant DURATION_SECONDS = 6 * 365 * 24 * 3600; // 189,216,000 seconds - - // Initial mint so deployer can fund rewards and keep some tokens - uint256 public constant INITIAL_KANARI_MINT = 6_000_000 * 1e18; // - function run() external { - vm.startBroadcast(); - - console.log("=== Starting DEX v2 Deployment ==="); - console.log("Deployer:", msg.sender); - - // 1. Deploy tokens - deployTokens(); - - // 2. Deploy DEX Factory - deployDEXFactory(); - - // 3. Create KANARI/native pool - createKanariNativePool(); - - // 4. Deploy Farming and fund with TOTAL_REWARDS over DURATION_SECONDS - deployFarmingAndFund(); - - console.log("=== Deployment Summary ==="); - console.log("KANARI Token:", kanariToken); - console.log("DEX Factory:", dexFactory); - console.log("KANARI/Native Pool:", kanariNativePool); - console.log("Farming Contract:", farmingContract); - - vm.stopBroadcast(); - } - - function deployTokens() internal { - console.log("\n--- Deploying Tokens ---"); - Kanari kanari = new Kanari(); - kanariToken = address(kanari); - console.log("KANARI deployed at:", kanariToken); - - // Mint initial supply to deployer so they can fund rewards - kanari.mint(msg.sender, INITIAL_KANARI_MINT); - console.log("Minted", INITIAL_KANARI_MINT / 1e18, "KANARI to deployer"); // ✅ แสดงให้อ่านง่าย - } - - function deployDEXFactory() internal { - console.log("\n--- Deploying DEX Factory ---"); - DEXFactory factory = new DEXFactory(FEE_RECIPIENT); - dexFactory = address(factory); - console.log("DEX Factory deployed at:", dexFactory); - } - - function createKanariNativePool() internal { - console.log("\n--- Creating KANARI/Native Pool ---"); - DEXFactory factory = DEXFactory(dexFactory); - // Use address(0) to indicate native chain coin - kanariNativePool = factory.createPool(kanariToken, address(0)); - console.log("KANARI/Native pool created at:", kanariNativePool); - console.log("Pool count:", factory.allPoolsLength()); - } - - function deployFarmingAndFund() internal { - console.log("\n--- Deploying Farming Contract ---"); - Farming farming = new Farming(kanariNativePool, kanariToken); - farmingContract = address(farming); - console.log("Farming contract at:", farmingContract); - - // Approve and fund rewards: transfer TOTAL_REWARDS from deployer to farming contract - console.log("Funding rewards:", TOTAL_REWARDS / 1e18, "KANARI"); // ✅ แสดงให้อ่านง่าย - console.log("Duration (seconds):", DURATION_SECONDS); - Kanari(kanariToken).approve(farmingContract, TOTAL_REWARDS); - // call fundRewards as owner of the farming contract (we set owner to msg.sender in constructor) - farming.fundRewards(TOTAL_REWARDS, DURATION_SECONDS); - console.log("Rewards funded."); - - // Verification - require(farming.getRewardRate() > 0, "Reward rate is zero"); - console.log("Reward rate (KANARI/sec):", farming.getRewardRate() / 1e18); - } -} \ No newline at end of file + // Deployment addresses - will be set after deployment + address public kanariToken; + address public dexFactory; + address public kanariNativePool; + address public farmingContract; + + // Configuration + address public constant FEE_RECIPIENT = 0xC88C539aa6f67daeDaeA7aff75FE1F8848d6CeC2; // Your address + + // Reward parameters + // Total rewards: 6,000,000 KANARI (18 decimals) + uint256 public constant TOTAL_REWARDS = 6_000_000 * 1e18; // + // Duration: 6 years (using 365 days/year) + uint256 public constant DURATION_SECONDS = 6 * 365 * 24 * 3600; // 189,216,000 seconds + + function run() external { + vm.startBroadcast(); + + console.log("=== Starting DEX v2 Deployment ==="); + console.log("Deployer:", msg.sender); + + // 1. Deploy tokens + deployTokens(); + + // 2. Deploy DEX Factory + deployDEXFactory(); + + // 3. Create KANARI/native pool + createKanariNativePool(); + + // 4. Deploy Farming and fund with TOTAL_REWARDS over DURATION_SECONDS + deployFarmingAndFund(); + + console.log("=== Deployment Summary ==="); + console.log("KANARI Token:", kanariToken); + console.log("DEX Factory:", dexFactory); + console.log("KANARI/Native Pool:", kanariNativePool); + console.log("Farming Contract:", farmingContract); + + vm.stopBroadcast(); + } + + function deployTokens() internal { + console.log("\n--- Deploying Tokens ---"); + Kanari kanari = new Kanari(); + kanariToken = address(kanari); + console.log("KANARI deployed at:", kanariToken); + + // Also mint the reward allocation to the deployer so `fundRewards` (which does + // `transferFrom(msg.sender, ...)`) can successfully pull the tokens. + // We reduced the deployer mint above so INITIAL + TOTAL_REWARDS <= Kanari.MAX_SUPPLY (11M). + // Mint rewards to the configured FEE_RECIPIENT so the ledger/broadcast account + // (which is often the fee recipient) holds the reward tokens and can approve + // and call `fundRewards` when running with `--ledger --broadcast`. + kanari.mint(FEE_RECIPIENT, TOTAL_REWARDS); + console.log("Minted", TOTAL_REWARDS / 1e18, "KANARI to fee recipient for rewards"); + } + + function deployDEXFactory() internal { + console.log("\n--- Deploying DEX Factory ---"); + DEXFactory factory = new DEXFactory(FEE_RECIPIENT); + dexFactory = address(factory); + console.log("DEX Factory deployed at:", dexFactory); + } + + function createKanariNativePool() internal { + console.log("\n--- Creating KANARI/Native Pool ---"); + DEXFactory factory = DEXFactory(dexFactory); + // Use address(0) to indicate native chain coin + kanariNativePool = factory.createPool(kanariToken, address(0)); + console.log("KANARI/Native pool created at:", kanariNativePool); + console.log("Pool count:", factory.allPoolsLength()); + } + + function deployFarmingAndFund() internal { + console.log("\n--- Deploying Farming Contract ---"); + Farming farming = new Farming(kanariNativePool, kanariToken); + farmingContract = address(farming); + console.log("Farming contract at:", farmingContract); + + // Approve and fund rewards: transfer TOTAL_REWARDS from deployer to farming contract + console.log("Funding rewards:", TOTAL_REWARDS / 1e18, "KANARI"); // ✅ แสดงให้อ่านง่าย + console.log("Duration (seconds):", DURATION_SECONDS); + Kanari(kanariToken).approve(farmingContract, TOTAL_REWARDS); + // call fundRewards as owner of the farming contract (we set owner to msg.sender in constructor) + farming.fundRewards(TOTAL_REWARDS, DURATION_SECONDS); + console.log("Rewards funded."); + + // Verification + require(farming.getRewardRate() > 0, "Reward rate is zero"); + console.log("Reward rate (KANARI/sec):", farming.getRewardRate() / 1e18); + } +} diff --git a/src/ConstantProductAMM.sol b/src/ConstantProductAMM.sol index 4117d31..a9f3961 100644 --- a/src/ConstantProductAMM.sol +++ b/src/ConstantProductAMM.sol @@ -310,7 +310,11 @@ contract ConstantProductAMM is ReentrancyGuard { } // Internal helper: compute amountOut assuming dev fee has already been removed from amountIn - function _getAmountOutInternal(uint256 amountInAfterDevFee, address tokenIn) internal view returns (uint256 amountOut) { + function _getAmountOutInternal(uint256 amountInAfterDevFee, address tokenIn) + internal + view + returns (uint256 amountOut) + { require(tokenIn == tokenA || tokenIn == tokenB, "Invalid tokenIn"); require(amountInAfterDevFee > 0, "AmountIn must be > 0"); diff --git a/src/Farming.sol b/src/Farming.sol index 86f4735..c5d477a 100644 --- a/src/Farming.sol +++ b/src/Farming.sol @@ -196,15 +196,22 @@ contract Farming is Ownable, Pausable, ReentrancyGuard { } /// @notice Explicit getter for reward rate (convenience for frontends) + /// @dev Internally `rewardRate` is stored with 1e18 precision to avoid + /// truncation when computing fractional rates. Frontends expect a plain + /// token units / second value (i.e., without the extra 1e18 factor), so + /// this function scales it back down. For example, if `rewardRate` is + /// stored as `0.0317098 * 1e18` then this function returns `0.0317098 * 1e0` in + /// token base units (still in wei for ERC20 with 18 decimals). function getRewardRate() external view returns (uint256) { - return rewardRate; + return rewardRate / 1e18; } /// @notice Returns total reward remaining to be distributed for the current period (scaled back to token units) function getRewardForDuration() external view returns (uint256) { if (block.timestamp >= periodFinish) return 0; // rewardRate is scaled by 1e18; multiply by remaining seconds then divide by 1e18 - uint256 remaining = periodFinish - lastUpdateTime; + // Use remaining seconds from now (periodFinish - block.timestamp) + uint256 remaining = periodFinish - block.timestamp; return (rewardRate * remaining) / 1e18; } diff --git a/src/Kanari.sol b/src/Kanari.sol index 620be23..e72a6a0 100644 --- a/src/Kanari.sol +++ b/src/Kanari.sol @@ -126,6 +126,6 @@ contract Kanari is ERC20, Ownable { /// @notice Get circulating supply (total - burned) function circulatingSupply() external view returns (uint256) { - return totalSupply() - totalBurned; + return totalSupply() - totalBurned; } } diff --git a/test/Farming.t.sol b/test/Farming.t.sol index 27d81a5..9a208b9 100644 --- a/test/Farming.t.sol +++ b/test/Farming.t.sol @@ -264,8 +264,8 @@ contract FarmingTest is Test { farming.fundRewards(REWARD_AMOUNT, REWARD_DURATION); - // Farming.rewardRate uses 1e18 precision internally: rewardRate = (rewardAmount * 1e18) / duration - assertEq(farming.rewardRate(), (REWARD_AMOUNT * 1e18) / REWARD_DURATION); + // Farming.rewardRate uses 1e18 precision internally: rewardRate = (rewardAmount * 1e18) / duration + assertEq(farming.rewardRate(), (REWARD_AMOUNT * 1e18) / REWARD_DURATION); assertEq(farming.periodFinish(), block.timestamp + REWARD_DURATION); assertEq(farming.lastUpdateTime(), block.timestamp); } @@ -470,8 +470,8 @@ contract FarmingTest is Test { function testGetters() public { farming.fundRewards(REWARD_AMOUNT, REWARD_DURATION); - // getRewardRate() returns the internal 1e18-scaled rewardRate - assertEq(farming.getRewardRate(), (REWARD_AMOUNT * 1e18) / REWARD_DURATION); + // getRewardRate() returns the internal 1e18-scaled rewardRate + assertEq(farming.getRewardRate(), (REWARD_AMOUNT * 1e18) / REWARD_DURATION); assertEq(farming.getPeriodFinish(), block.timestamp + REWARD_DURATION); } }