diff --git a/.github/workflows/quality-gate.yml b/.github/workflows/quality-gate.yml index f0be5cf..277d596 100644 --- a/.github/workflows/quality-gate.yml +++ b/.github/workflows/quality-gate.yml @@ -28,5 +28,5 @@ jobs: run: make lint - name: Run unit tests run: make test - - name: Run example deployment - run: make deploy-example \ No newline at end of file + - name: Run demo deployment + run: make deploy-demo \ No newline at end of file diff --git a/Makefile b/Makefile index 4c1e7ef..d6254ae 100644 --- a/Makefile +++ b/Makefile @@ -40,10 +40,10 @@ abi :; npx hardhat export-abi network?=hardhat -deploy-example :; npx hardhat run --network $(network) scripts/deployment/example/$(network) +deploy-demo :; npx hardhat run --network $(network) scripts/deployment/example/$(network) -tes :; npx hardhat run --network $(network) scripts/e2e/example/trigger.js +auto-demo :; npx hardhat run --network $(network) scripts/e2e/example/$(script) -trade :; npx hardhat run --network arbitrum-goerli scripts/e2e/example/trade.js +trade-demo :; npx hardhat run --network $(network) scripts/e2e/example/trade.js -include ${FCT_PLUGIN_PATH}/makefile-external diff --git a/deployment-lock.json b/deployment-lock.json index e729bb1..5774928 100644 --- a/deployment-lock.json +++ b/deployment-lock.json @@ -1,76 +1 @@ -{ - "arbitrum-sepolia": { - "RequestLib": { - "addr": "0xD4a838dfA0fd81D5B7a129879c16d7BC8E16Fd55", - "code": "0x610467610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063870ff5181461003a575b600080fd5b610054600480360381019061004f9190610291565b61006a565b604051610061919061032d565b60405180910390f35b60008484848460405160200161008394939291906103e5565b604051602081830303815290604052805190602001209050949350505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100e2826100b7565b9050919050565b6100f2816100d7565b81146100fd57600080fd5b50565b60008135905061010f816100e9565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6101688261011f565b810181811067ffffffffffffffff8211171561018757610186610130565b5b80604052505050565b600061019a6100a3565b90506101a6828261015f565b919050565b600067ffffffffffffffff8211156101c6576101c5610130565b5b6101cf8261011f565b9050602081019050919050565b82818337600083830152505050565b60006101fe6101f9846101ab565b610190565b90508281526020810184848401111561021a5761021961011a565b5b6102258482856101dc565b509392505050565b600082601f83011261024257610241610115565b5b81356102528482602086016101eb565b91505092915050565b6000819050919050565b61026e8161025b565b811461027957600080fd5b50565b60008135905061028b81610265565b92915050565b600080600080608085870312156102ab576102aa6100ad565b5b60006102b987828801610100565b945050602085013567ffffffffffffffff8111156102da576102d96100b2565b5b6102e68782880161022d565b93505060406102f78782880161027c565b925050606061030887828801610100565b91505092959194509250565b6000819050919050565b61032781610314565b82525050565b6000602082019050610342600083018461031e565b92915050565b610351816100d7565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610391578082015181840152602081019050610376565b60008484015250505050565b60006103a882610357565b6103b28185610362565b93506103c2818560208601610373565b6103cb8161011f565b840191505092915050565b6103df8161025b565b82525050565b60006080820190506103fa6000830187610348565b818103602083015261040c818661039d565b905061041b60408301856103d6565b6104286060830184610348565b9594505050505056fea26469706673582212201d17ff2b90975741a8e46b833bff7ea32d7d3fd961ef2235414d66e562ac702964736f6c63430008140033", - "args": [] - }, - "AutomationEmitter": { - "addr": "0xf27F9EDA911278dA4988537994141e697E8E0798", - "code": "0x608060405234801561001057600080fd5b50610471806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a27c742014610030575b600080fd5b61004a60048036038101906100459190610299565b610060565b6040516100579190610337565b60405180910390f35b60007fd392edb8a5a319d0c11e560dec0a6f4b3f3f3dca564c6171478b15bb76a27b878585858560405161009794939291906103ef565b60405180910390a160019050949350505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100ea826100bf565b9050919050565b6100fa816100df565b811461010557600080fd5b50565b600081359050610117816100f1565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61017082610127565b810181811067ffffffffffffffff8211171561018f5761018e610138565b5b80604052505050565b60006101a26100ab565b90506101ae8282610167565b919050565b600067ffffffffffffffff8211156101ce576101cd610138565b5b6101d782610127565b9050602081019050919050565b82818337600083830152505050565b6000610206610201846101b3565b610198565b90508281526020810184848401111561022257610221610122565b5b61022d8482856101e4565b509392505050565b600082601f83011261024a5761024961011d565b5b813561025a8482602086016101f3565b91505092915050565b6000819050919050565b61027681610263565b811461028157600080fd5b50565b6000813590506102938161026d565b92915050565b600080600080608085870312156102b3576102b26100b5565b5b60006102c187828801610108565b945050602085013567ffffffffffffffff8111156102e2576102e16100ba565b5b6102ee87828801610235565b93505060406102ff87828801610284565b925050606061031087828801610108565b91505092959194509250565b60008115159050919050565b6103318161031c565b82525050565b600060208201905061034c6000830184610328565b92915050565b61035b816100df565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561039b578082015181840152602081019050610380565b60008484015250505050565b60006103b282610361565b6103bc818561036c565b93506103cc81856020860161037d565b6103d581610127565b840191505092915050565b6103e981610263565b82525050565b60006080820190506104046000830187610352565b818103602083015261041681866103a7565b905061042560408301856103e0565b6104326060830184610352565b9594505050505056fea264697066735822122099ff787c689a60aa7ed271a5947bb25ef6d252ed7e14ee36d7a9ce9fcbfd090b64736f6c63430008140033", - "args": [] - }, - "FakedOracle": { - "addr": "0x0a155f68456E559a247Fdf1640fe157C6d068476", - "code": "0x6101206040523480156200001257600080fd5b50604051620037da380380620037da8339818101604052810190620000389190620003cd565b84848484848183600081908060018154018082558091505060019003906000526020600020016000909190919091509081620000759190620006b5565b50508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050508473ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505060405162000122906200018c565b604051809103906000f0801580156200013f573d6000803e3d6000fd5b5073ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff1681525050806101008181525050505050505050505050506200079c565b61050a80620032d083390190565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001db82620001ae565b9050919050565b620001ed81620001ce565b8114620001f957600080fd5b50565b6000815190506200020d81620001e2565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000268826200021d565b810181811067ffffffffffffffff821117156200028a57620002896200022e565b5b80604052505050565b60006200029f6200019a565b9050620002ad82826200025d565b919050565b600067ffffffffffffffff821115620002d057620002cf6200022e565b5b620002db826200021d565b9050602081019050919050565b60005b8381101562000308578082015181840152602081019050620002eb565b60008484015250505050565b60006200032b6200032584620002b2565b62000293565b9050828152602081018484840111156200034a576200034962000218565b5b62000357848285620002e8565b509392505050565b600082601f83011262000377576200037662000213565b5b81516200038984826020860162000314565b91505092915050565b6000819050919050565b620003a78162000392565b8114620003b357600080fd5b50565b600081519050620003c7816200039c565b92915050565b600080600080600060a08688031215620003ec57620003eb620001a4565b5b6000620003fc88828901620001fc565b95505060206200040f88828901620001fc565b945050604086015167ffffffffffffffff811115620004335762000432620001a9565b5b62000441888289016200035f565b93505060606200045488828901620001fc565b92505060806200046788828901620003b6565b9150509295509295909350565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620004c757607f821691505b602082108103620004dd57620004dc6200047f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000508565b62000553868362000508565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000596620005906200058a8462000392565b6200056b565b62000392565b9050919050565b6000819050919050565b620005b28362000575565b620005ca620005c1826200059d565b84845462000515565b825550505050565b600090565b620005e1620005d2565b620005ee818484620005a7565b505050565b5b8181101562000616576200060a600082620005d7565b600181019050620005f4565b5050565b601f82111562000665576200062f81620004e3565b6200063a84620004f8565b810160208510156200064a578190505b620006626200065985620004f8565b830182620005f3565b50505b505050565b600082821c905092915050565b60006200068a600019846008026200066a565b1980831691505092915050565b6000620006a5838362000677565b9150826002028217905092915050565b620006c08262000474565b67ffffffffffffffff811115620006dc57620006db6200022e565b5b620006e88254620004ae565b620006f58282856200061a565b600060209050601f8311600181146200072d576000841562000718578287015190505b62000724858262000697565b86555062000794565b601f1984166200073d86620004e3565b60005b82811015620007675784890151825560018201915060208501945060208101905062000740565b8683101562000787578489015162000783601f89168262000677565b8355505b6001600288020188555050505b505050505050565b60805160a05160c05160e05161010051612ab762000819600039600081816103b60152610d290152600081816109e401528181610c1501528181610e9701528181610f410152610fe501526000818161033b015281816105950152610812015260008181610adc0152610cbc0152600061108d0152612ab76000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80634585e33b1161008c578063d5cc5e2111610066578063d5cc5e211461022a578063dce113751461025b578063f9ae27f914610279578063fd84030c146102a9576100cf565b80634585e33b146101ad5780634b56a42e146101c9578063d37191de146101fa576100cf565b806308c9e24e146100d45780631b83ca1e146100f25780632b7ac3f314610110578063341edfb41461012e5780633f20b4c91461015e57806340691db41461017c575b600080fd5b6100dc6102c7565b6040516100e991906111e3565b60405180910390f35b6100fa610300565b60405161010791906111e3565b60405180910390f35b610118610339565b6040516101259190611284565b60405180910390f35b6101486004803603810190610143919061145c565b61035d565b60405161015591906114fa565b60405180910390f35b6101666103b4565b6040516101739190611524565b60405180910390f35b61019660048036038101906101919190611564565b6103d8565b6040516101a4929190611631565b60405180910390f35b6101c760048036038101906101c291906116c1565b6104a0565b005b6101e360048036038101906101de9190611764565b610a93565b6040516101f1929190611631565b60405180910390f35b610214600480360381019061020f919061145c565b610acc565b60405161022191906114fa565b60405180910390f35b610244600480360381019061023f919061145c565b610b86565b6040516102529291906118b3565b60405180910390f35b610263610cba565b60405161027091906118fd565b60405180910390f35b610293600480360381019061028e919061145c565b610cde565b6040516102a091906114fa565b60405180910390f35b6102b1610f3f565b6040516102be9190611939565b60405180910390f35b6040518060400160405280600781526020017f666565644944730000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600981526020017f74696d657374616d70000000000000000000000000000000000000000000000081525081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061036b85858585610f63565b7fb78272e98de6052aa2c197393914a1fe8ae1cf8dc760f1b74c6da3c2ff7fd10f858585856040516103a09493929190611963565b60405180910390a160019050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600060606040518060400160405280600781526020017f666565644944730000000000000000000000000000000000000000000000000081525060006040518060400160405280600981526020017f74696d657374616d7000000000000000000000000000000000000000000000008152508660200135878060e0019061045f91906119be565b6040517ff055e4a200000000000000000000000000000000000000000000000000000000815260040161049796959493929190611c1e565b60405180910390fd5b60008083838101906104b29190611d70565b915091506000826000815181106104cc576104cb611de8565b5b60200260200101519050600080600080858060200190518101906104f09190611eda565b935093509350935060008061050786868686610b86565b915091506001600281111561051f5761051e6117fe565b5b81600001516002811115610536576105356117fe565b5b1461057857816040517ff789061400000000000000000000000000000000000000000000000000000000815260040161056f9190611f5d565b60405180910390fd5b60008780602001905181019061058e9190612055565b91505060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166338416b5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062291906120ef565b905060008173ffffffffffffffffffffffffffffffffffffffff1663ea4b861b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610671573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106959190612131565b905060008273ffffffffffffffffffffffffffffffffffffffff1663e03dab1a3086856040518463ffffffff1660e01b81526004016106d69392919061215e565b60a0604051808303816000875af11580156106f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071991906121f1565b505090508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b38473ffffffffffffffffffffffffffffffffffffffff16633aa5ac076040518163ffffffff1660e01b8152600401602060405180830381865afa158015610784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a89190612131565b83602001516040518363ffffffff1660e01b81526004016107ca929190612244565b6020604051808303816000875af11580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d9190612299565b5060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f7e83aee8d8560405160200161085e91906122c6565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161088a9291906122e1565b6000604051808303816000875af11580156108a9573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906108d29190612318565b90506000818060200190518101906108ea91906124da565b905060008c73ffffffffffffffffffffffffffffffffffffffff16633196b7c660405180606001604052808560c0015160170b815260200160006001811115610936576109356117fe565b5b81526020018f8152506040518263ffffffff1660e01b815260040161095b9190612602565b6020604051808303816000875af115801561097a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099e9190612299565b9050806109e257886040517f63e64d490000000000000000000000000000000000000000000000000000000081526004016109d99190611f5d565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663432d01378a6040518263ffffffff1660e01b8152600401610a3b9190611f5d565b6020604051808303816000875af1158015610a5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7e9190612299565b50505050505050505050505050505050505050565b60006060600186868686604051602001610ab09493929190612777565b6040516020818303038152906040529150915094509492505050565b6000610ada85858585610f63565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a27c7420868686866040518563ffffffff1660e01b8152600401610b399493929190611963565b6020604051808303816000875af1158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c9190612299565b9050949350505050565b6000610b90611127565b600073d4a838dfa0fd81d5b7a129879c16d7bc8e16fd5563870ff518888888886040518563ffffffff1660e01b8152600401610bcf949392919061281a565b602060405180830381865af4158015610bec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c109190612866565b9050807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663fb1e61ca836040518263ffffffff1660e01b8152600401610c6c9190611f5d565b6040805180830381865afa158015610c88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cac9190612908565b925092505094509492505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000610cef87878787610b86565b9150915060016002811115610d0757610d066117fe565b5b81600001516002811115610d1e57610d1d6117fe565b5b141580610d595750437f00000000000000000000000000000000000000000000000000000000000000008260200151610d579190612964565b105b15610d9b57816040517ff7890614000000000000000000000000000000000000000000000000000000008152600401610d929190611f5d565b60405180910390fd5b6000610da5611088565b905060008873ffffffffffffffffffffffffffffffffffffffff16633196b7c66040518060600160405280858152602001600180811115610de957610de86117fe565b5b81526020018b8152506040518263ffffffff1660e01b8152600401610e0e9190612602565b6020604051808303816000875af1158015610e2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e519190612299565b905080610e9557836040517f63e64d49000000000000000000000000000000000000000000000000000000008152600401610e8c9190611f5d565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663432d0137856040518263ffffffff1660e01b8152600401610eee9190611f5d565b6020604051808303816000875af1158015610f0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f319190612299565b945050505050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080610f7286868686610b86565b9150915060016002811115610f8a57610f896117fe565b5b81600001516002811115610fa157610fa06117fe565b5b03610fe357816040517f45b9a3b0000000000000000000000000000000000000000000000000000000008152600401610fda9190611f5d565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d876594b836040518263ffffffff1660e01b815260040161103c9190611f5d565b6020604051808303816000875af115801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190612299565b50505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156110f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111a9190612a06565b5050509150508091505090565b604051806040016040528060006002811115611146576111456117fe565b5b8152602001600081525090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561118d578082015181840152602081019050611172565b60008484015250505050565b6000601f19601f8301169050919050565b60006111b582611153565b6111bf818561115e565b93506111cf81856020860161116f565b6111d881611199565b840191505092915050565b600060208201905081810360008301526111fd81846111aa565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061124a61124561124084611205565b611225565b611205565b9050919050565b600061125c8261122f565b9050919050565b600061126e82611251565b9050919050565b61127e81611263565b82525050565b60006020820190506112996000830184611275565b92915050565b6000604051905090565b600080fd5b600080fd5b60006112be82611205565b9050919050565b6112ce816112b3565b81146112d957600080fd5b50565b6000813590506112eb816112c5565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61133382611199565b810181811067ffffffffffffffff82111715611352576113516112fb565b5b80604052505050565b600061136561129f565b9050611371828261132a565b919050565b600067ffffffffffffffff821115611391576113906112fb565b5b61139a82611199565b9050602081019050919050565b82818337600083830152505050565b60006113c96113c484611376565b61135b565b9050828152602081018484840111156113e5576113e46112f6565b5b6113f08482856113a7565b509392505050565b600082601f83011261140d5761140c6112f1565b5b813561141d8482602086016113b6565b91505092915050565b6000819050919050565b61143981611426565b811461144457600080fd5b50565b60008135905061145681611430565b92915050565b60008060008060808587031215611476576114756112a9565b5b6000611484878288016112dc565b945050602085013567ffffffffffffffff8111156114a5576114a46112ae565b5b6114b1878288016113f8565b93505060406114c287828801611447565b92505060606114d3878288016112dc565b91505092959194509250565b60008115159050919050565b6114f4816114df565b82525050565b600060208201905061150f60008301846114eb565b92915050565b61151e81611426565b82525050565b60006020820190506115396000830184611515565b92915050565b600080fd5b6000610100828403121561155b5761155a61153f565b5b81905092915050565b6000806040838503121561157b5761157a6112a9565b5b600083013567ffffffffffffffff811115611599576115986112ae565b5b6115a585828601611544565b925050602083013567ffffffffffffffff8111156115c6576115c56112ae565b5b6115d2858286016113f8565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000611603826115dc565b61160d81856115e7565b935061161d81856020860161116f565b61162681611199565b840191505092915050565b600060408201905061164660008301856114eb565b818103602083015261165881846115f8565b90509392505050565b600080fd5b600080fd5b60008083601f840112611681576116806112f1565b5b8235905067ffffffffffffffff81111561169e5761169d611661565b5b6020830191508360018202830111156116ba576116b9611666565b5b9250929050565b600080602083850312156116d8576116d76112a9565b5b600083013567ffffffffffffffff8111156116f6576116f56112ae565b5b6117028582860161166b565b92509250509250929050565b60008083601f840112611724576117236112f1565b5b8235905067ffffffffffffffff81111561174157611740611661565b5b60208301915083602082028301111561175d5761175c611666565b5b9250929050565b6000806000806040858703121561177e5761177d6112a9565b5b600085013567ffffffffffffffff81111561179c5761179b6112ae565b5b6117a88782880161170e565b9450945050602085013567ffffffffffffffff8111156117cb576117ca6112ae565b5b6117d78782880161166b565b925092505092959194509250565b6000819050919050565b6117f8816117e5565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6003811061183e5761183d6117fe565b5b50565b600081905061184f8261182d565b919050565b600061185f82611841565b9050919050565b61186f81611854565b82525050565b61187e81611426565b82525050565b60408201600082015161189a6000850182611866565b5060208201516118ad6020850182611875565b50505050565b60006060820190506118c860008301856117ef565b6118d56020830184611884565b9392505050565b60006118e782611251565b9050919050565b6118f7816118dc565b82525050565b600060208201905061191260008301846118ee565b92915050565b600061192382611251565b9050919050565b61193381611918565b82525050565b600060208201905061194e600083018461192a565b92915050565b61195d816112b3565b82525050565b60006080820190506119786000830187611954565b818103602083015261198a81866115f8565b90506119996040830185611515565b6119a66060830184611954565b95945050505050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126119db576119da6119af565b5b80840192508235915067ffffffffffffffff8211156119fd576119fc6119b4565b5b602083019250600182023603831315611a1957611a186119b9565b5b509250929050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611a9957607f821691505b602082108103611aac57611aab611a52565b5b50919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b60008154611ae581611a81565b611aef8186611ab2565b94506001821660008114611b0a5760018114611b2057611b53565b60ff198316865281151560200286019350611b53565b611b2985611ac3565b60005b83811015611b4b57815481890152600182019150602081019050611b2c565b808801955050505b50505092915050565b6000611b688383611ad8565b905092915050565b6000600182019050919050565b6000611b8882611a21565b611b928185611a2c565b935083602082028501611ba485611a3d565b8060005b85811015611bdf57848403895281611bc08582611b5c565b9450611bcb83611b70565b925060208a01995050600181019050611ba8565b50829750879550505050505092915050565b6000611bfd83856115e7565b9350611c0a8385846113a7565b611c1383611199565b840190509392505050565b600060a0820190508181036000830152611c3881896111aa565b90508181036020830152611c4c8188611b7d565b90508181036040830152611c6081876111aa565b9050611c6f6060830186611515565b8181036080830152611c82818486611bf1565b9050979650505050505050565b600067ffffffffffffffff821115611caa57611ca96112fb565b5b602082029050602081019050919050565b6000611cce611cc984611c8f565b61135b565b90508083825260208201905060208402830185811115611cf157611cf0611666565b5b835b81811015611d3857803567ffffffffffffffff811115611d1657611d156112f1565b5b808601611d2389826113f8565b85526020850194505050602081019050611cf3565b5050509392505050565b600082601f830112611d5757611d566112f1565b5b8135611d67848260208601611cbb565b91505092915050565b60008060408385031215611d8757611d866112a9565b5b600083013567ffffffffffffffff811115611da557611da46112ae565b5b611db185828601611d42565b925050602083013567ffffffffffffffff811115611dd257611dd16112ae565b5b611dde858286016113f8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611e2282611205565b9050919050565b611e3281611e17565b8114611e3d57600080fd5b50565b600081519050611e4f81611e29565b92915050565b6000611e68611e6384611376565b61135b565b905082815260208101848484011115611e8457611e836112f6565b5b611e8f84828561116f565b509392505050565b600082601f830112611eac57611eab6112f1565b5b8151611ebc848260208601611e55565b91505092915050565b600081519050611ed481611430565b92915050565b60008060008060808587031215611ef457611ef36112a9565b5b6000611f0287828801611e40565b945050602085015167ffffffffffffffff811115611f2357611f226112ae565b5b611f2f87828801611e97565b9350506040611f4087828801611ec5565b9250506060611f5187828801611e40565b91505092959194509250565b6000602082019050611f7260008301846117ef565b92915050565b600067ffffffffffffffff821115611f9357611f926112fb565b5b602082029050919050565b611fa7816117e5565b8114611fb257600080fd5b50565b600081519050611fc481611f9e565b92915050565b6000611fdd611fd884611f78565b61135b565b90508060208402830185811115611ff757611ff6611666565b5b835b81811015612020578061200c8882611fb5565b845260208401935050602081019050611ff9565b5050509392505050565b600082601f83011261203f5761203e6112f1565b5b600361204c848285611fca565b91505092915050565b6000806080838503121561206c5761206b6112a9565b5b600061207a8582860161202a565b925050606083015167ffffffffffffffff81111561209b5761209a6112ae565b5b6120a785828601611e97565b9150509250929050565b60006120bc826112b3565b9050919050565b6120cc816120b1565b81146120d757600080fd5b50565b6000815190506120e9816120c3565b92915050565b600060208284031215612105576121046112a9565b5b6000612113848285016120da565b91505092915050565b60008151905061212b816112c5565b92915050565b600060208284031215612147576121466112a9565b5b60006121558482850161211c565b91505092915050565b60006060820190506121736000830186611954565b818103602083015261218581856115f8565b90506121946040830184611954565b949350505050565b600080fd5b6000604082840312156121b7576121b661219c565b5b6121c1604061135b565b905060006121d18482850161211c565b60008301525060206121e584828501611ec5565b60208301525092915050565b600080600060a0848603121561220a576122096112a9565b5b6000612218868287016121a1565b9350506040612229868287016121a1565b925050608061223a86828701611ec5565b9150509250925092565b60006040820190506122596000830185611954565b6122666020830184611515565b9392505050565b612276816114df565b811461228157600080fd5b50565b6000815190506122938161226d565b92915050565b6000602082840312156122af576122ae6112a9565b5b60006122bd84828501612284565b91505092915050565b60006020820190506122db6000830184611954565b92915050565b600060408201905081810360008301526122fb81856115f8565b9050818103602083015261230f81846115f8565b90509392505050565b60006020828403121561232e5761232d6112a9565b5b600082015167ffffffffffffffff81111561234c5761234b6112ae565b5b61235884828501611e97565b91505092915050565b600063ffffffff82169050919050565b61237a81612361565b811461238557600080fd5b50565b60008151905061239781612371565b92915050565b600077ffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6123ca8161239d565b81146123d557600080fd5b50565b6000815190506123e7816123c1565b92915050565b60008160170b9050919050565b612403816123ed565b811461240e57600080fd5b50565b600081519050612420816123fa565b92915050565b600060e0828403121561243c5761243b61219c565b5b61244660e061135b565b9050600061245684828501611fb5565b600083015250602061246a84828501612388565b602083015250604061247e84828501612388565b6040830152506060612492848285016123d8565b60608301525060806124a6848285016123d8565b60808301525060a06124ba84828501612388565b60a08301525060c06124ce84828501612411565b60c08301525092915050565b600060e082840312156124f0576124ef6112a9565b5b60006124fe84828501612426565b91505092915050565b6000819050919050565b61251a81612507565b82525050565b60028110612531576125306117fe565b5b50565b600081905061254282612520565b919050565b600061255282612534565b9050919050565b61256281612547565b82525050565b600082825260208201905092915050565b6000612584826115dc565b61258e8185612568565b935061259e81856020860161116f565b6125a781611199565b840191505092915050565b60006060830160008301516125ca6000860182612511565b5060208301516125dd6020860182612559565b50604083015184820360408601526125f58282612579565b9150508091505092915050565b6000602082019050818103600083015261261c81846125b2565b905092915050565b600082825260208201905092915050565b6000819050919050565b600061264b8385612568565b93506126588385846113a7565b61266183611199565b840190509392505050565b600061267984848461263f565b90509392505050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126126ae576126ad61268c565b5b83810192508235915060208301925067ffffffffffffffff8211156126d6576126d5612682565b5b6001820236038313156126ec576126eb612687565b5b509250929050565b6000602082019050919050565b600061270d8385612624565b93508360208402850161271f84612635565b8060005b8781101561276557848403895261273a8284612691565b61274586828461266c565b9550612750846126f4565b935060208b019a505050600181019050612723565b50829750879450505050509392505050565b60006040820190508181036000830152612792818688612701565b905081810360208301526127a7818486611bf1565b905095945050505050565b6127bb816112b3565b82525050565b600082825260208201905092915050565b60006127dd826115dc565b6127e781856127c1565b93506127f781856020860161116f565b61280081611199565b840191505092915050565b61281481611426565b82525050565b600060808201905061282f60008301876127b2565b818103602083015261284181866127d2565b9050612850604083018561280b565b61285d60608301846127b2565b95945050505050565b60006020828403121561287c5761287b6112a9565b5b600061288a84828501611fb5565b91505092915050565b600381106128a057600080fd5b50565b6000815190506128b281612893565b92915050565b6000604082840312156128ce576128cd61219c565b5b6128d8604061135b565b905060006128e8848285016128a3565b60008301525060206128fc84828501611ec5565b60208301525092915050565b60006040828403121561291e5761291d6112a9565b5b600061292c848285016128b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061296f82611426565b915061297a83611426565b925082820190508082111561299257612991612935565b5b92915050565b600069ffffffffffffffffffff82169050919050565b6129b781612998565b81146129c257600080fd5b50565b6000815190506129d4816129ae565b92915050565b6129e381612507565b81146129ee57600080fd5b50565b600081519050612a00816129da565b92915050565b600080600080600060a08688031215612a2257612a216112a9565b5b6000612a30888289016129c5565b9550506020612a41888289016129f1565b9450506040612a5288828901611ec5565b9350506060612a6388828901611ec5565b9250506080612a74888289016129c5565b915050929550929590935056fea26469706673582212200dcae89505af421123766fd1b9029546d4946f58b289a3300c177847670ddcbd64736f6c63430008140033608060405234801561001057600080fd5b506104ea806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063432d013714610046578063d876594b14610076578063fb1e61ca146100a6575b600080fd5b610060600480360381019061005b919061034d565b6100d6565b60405161006d9190610395565b60405180910390f35b610090600480360381019061008b919061034d565b6101a5565b60405161009d9190610395565b60405180910390f35b6100c060048036038101906100bb919061034d565b610275565b6040516100cd919061046f565b60405180910390f35b600060405180604001604052806002808111156100f6576100f56103b0565b5b81526020014381525060008084815260200190815260200160002060008201518160000160006101000a81548160ff0219169083600281111561013c5761013b6103b0565b5b0217905550602082015181600101559050503373ffffffffffffffffffffffffffffffffffffffff167fe5bd5dcc470f6a88a5d887cab0bcb1ae39dc5ed91181bcaba2482c57eebcdb4d436040516101949190610499565b60405180910390a260019050919050565b60006040518060400160405280600160028111156101c6576101c56103b0565b5b81526020014381525060008084815260200190815260200160002060008201518160000160006101000a81548160ff0219169083600281111561020c5761020b6103b0565b5b0217905550602082015181600101559050503373ffffffffffffffffffffffffffffffffffffffff167fd74033210025544364879f15fa3093e2fa4bfc9191e8cafb72093520da277b87436040516102649190610499565b60405180910390a260019050919050565b61027d6102e6565b6000808381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1660028111156102bf576102be6103b0565b5b60028111156102d1576102d06103b0565b5b81526020016001820154815250509050919050565b604051806040016040528060006002811115610305576103046103b0565b5b8152602001600081525090565b600080fd5b6000819050919050565b61032a81610317565b811461033557600080fd5b50565b60008135905061034781610321565b92915050565b60006020828403121561036357610362610312565b5b600061037184828501610338565b91505092915050565b60008115159050919050565b61038f8161037a565b82525050565b60006020820190506103aa6000830184610386565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106103f0576103ef6103b0565b5b50565b6000819050610401826103df565b919050565b6000610411826103f3565b9050919050565b61042181610406565b82525050565b6000819050919050565b61043a81610427565b82525050565b6040820160008201516104566000850182610418565b5060208201516104696020850182610431565b50505050565b60006040820190506104846000830184610440565b92915050565b61049381610427565b82525050565b60006020820190506104ae600083018461048a565b9291505056fea2646970667358221220f079e826f4bebfaa12042c8b2d283f1dc7cbfcb5cf370b472ce7450b583956d264736f6c63430008140033", - "args": [ - "0xf27F9EDA911278dA4988537994141e697E8E0798", - "0x2ff010DEbC1297f19579B4246cad07bd24F2488A", - "0x00027bbaff688c906a3e20a34fe951715d1018d262a5b66e38eda027a674cd1b", - "0xd30e2101a97dcbAeBCBC04F14C3f624E67A35165", - 5 - ] - }, - "FakedOracleProxy": { - "addr": "0x65b305B604a0c3ee18E67f733f7B276422E9e34b", - "code": "0x60806040523480156200001157600080fd5b5033600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000885760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200007f9190620001a9565b60405180910390fd5b6200009981620000a060201b60201c565b50620001c6565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001918262000164565b9050919050565b620001a38162000184565b82525050565b6000602082019050620001c0600083018462000198565b92915050565b61157080620001d66000396000f3fe6080604052600436106100a05760003560e01c80635c60da1b116100645780635c60da1b146101b4578063715018a6146101df5780638da5cb5b146101f6578063d37191de14610221578063f2fde38b1461025e578063f9ae27f914610287576100a7565b8063341edfb4146100a95780633659cfe6146100e657806340691db41461010f5780634585e33b1461014d5780634b56a42e14610176576100a7565b366100a757005b005b3480156100b557600080fd5b506100d060048036038101906100cb9190610b32565b6102c4565b6040516100dd9190610bd0565b60405180910390f35b3480156100f257600080fd5b5061010d60048036038101906101089190610beb565b610359565b005b34801561011b57600080fd5b5061013660048036038101906101319190610c3d565b6103a5565b604051610144929190610d34565b60405180910390f35b34801561015957600080fd5b50610174600480360381019061016f9190610dc4565b610459565b005b34801561018257600080fd5b5061019d60048036038101906101989190610e67565b6104ec565b6040516101ab929190610d34565b60405180910390f35b3480156101c057600080fd5b506101c96105a4565b6040516101d69190610ef7565b60405180910390f35b3480156101eb57600080fd5b506101f46105ce565b005b34801561020257600080fd5b5061020b6105e2565b6040516102189190610ef7565b60405180910390f35b34801561022d57600080fd5b5061024860048036038101906102439190610b32565b61060b565b6040516102559190610bd0565b60405180910390f35b34801561026a57600080fd5b5061028560048036038101906102809190610beb565b6106bb565b005b34801561029357600080fd5b506102ae60048036038101906102a99190610b32565b610741565b6040516102bb9190610bd0565b60405180910390f35b60006102ce6105a4565b73ffffffffffffffffffffffffffffffffffffffff1663341edfb4868686866040518563ffffffff1660e01b815260040161030c9493929190610f21565b6020604051808303816000875af115801561032b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034f9190610f99565b9050949350505050565b6103616107f1565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340691db485856040518363ffffffff1660e01b81526004016104069291906112f7565b6000604051808303816000875af1158015610425573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061044e919061139e565b915091509250929050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634585e33b83836040518363ffffffff1660e01b81526004016104b6929190611427565b600060405180830381600087803b1580156104d057600080fd5b505af11580156104e4573d6000803e3d6000fd5b505050505050565b60006060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b56a42e878787876040518563ffffffff1660e01b815260040161055194939291906114ff565b600060405180830381865afa15801561056e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610597919061139e565b9150915094509492505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6105d66107f1565b6105e06000610878565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d37191de868686866040518563ffffffff1660e01b815260040161066e9493929190610f21565b6020604051808303816000875af115801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190610f99565b9050949350505050565b6106c36107f1565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036107355760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161072c9190610ef7565b60405180910390fd5b61073e81610878565b50565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f9ae27f9868686866040518563ffffffff1660e01b81526004016107a49493929190610f21565b6020604051808303816000875af11580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e79190610f99565b9050949350505050565b6107f961093c565b73ffffffffffffffffffffffffffffffffffffffff166108176105e2565b73ffffffffffffffffffffffffffffffffffffffff16146108765761083a61093c565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161086d9190610ef7565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061098382610958565b9050919050565b61099381610978565b811461099e57600080fd5b50565b6000813590506109b08161098a565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610a09826109c0565b810181811067ffffffffffffffff82111715610a2857610a276109d1565b5b80604052505050565b6000610a3b610944565b9050610a478282610a00565b919050565b600067ffffffffffffffff821115610a6757610a666109d1565b5b610a70826109c0565b9050602081019050919050565b82818337600083830152505050565b6000610a9f610a9a84610a4c565b610a31565b905082815260208101848484011115610abb57610aba6109bb565b5b610ac6848285610a7d565b509392505050565b600082601f830112610ae357610ae26109b6565b5b8135610af3848260208601610a8c565b91505092915050565b6000819050919050565b610b0f81610afc565b8114610b1a57600080fd5b50565b600081359050610b2c81610b06565b92915050565b60008060008060808587031215610b4c57610b4b61094e565b5b6000610b5a878288016109a1565b945050602085013567ffffffffffffffff811115610b7b57610b7a610953565b5b610b8787828801610ace565b9350506040610b9887828801610b1d565b9250506060610ba9878288016109a1565b91505092959194509250565b60008115159050919050565b610bca81610bb5565b82525050565b6000602082019050610be56000830184610bc1565b92915050565b600060208284031215610c0157610c0061094e565b5b6000610c0f848285016109a1565b91505092915050565b600080fd5b60006101008284031215610c3457610c33610c18565b5b81905092915050565b60008060408385031215610c5457610c5361094e565b5b600083013567ffffffffffffffff811115610c7257610c71610953565b5b610c7e85828601610c1d565b925050602083013567ffffffffffffffff811115610c9f57610c9e610953565b5b610cab85828601610ace565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610cef578082015181840152602081019050610cd4565b60008484015250505050565b6000610d0682610cb5565b610d108185610cc0565b9350610d20818560208601610cd1565b610d29816109c0565b840191505092915050565b6000604082019050610d496000830185610bc1565b8181036020830152610d5b8184610cfb565b90509392505050565b600080fd5b600080fd5b60008083601f840112610d8457610d836109b6565b5b8235905067ffffffffffffffff811115610da157610da0610d64565b5b602083019150836001820283011115610dbd57610dbc610d69565b5b9250929050565b60008060208385031215610ddb57610dda61094e565b5b600083013567ffffffffffffffff811115610df957610df8610953565b5b610e0585828601610d6e565b92509250509250929050565b60008083601f840112610e2757610e266109b6565b5b8235905067ffffffffffffffff811115610e4457610e43610d64565b5b602083019150836020820283011115610e6057610e5f610d69565b5b9250929050565b60008060008060408587031215610e8157610e8061094e565b5b600085013567ffffffffffffffff811115610e9f57610e9e610953565b5b610eab87828801610e11565b9450945050602085013567ffffffffffffffff811115610ece57610ecd610953565b5b610eda87828801610d6e565b925092505092959194509250565b610ef181610978565b82525050565b6000602082019050610f0c6000830184610ee8565b92915050565b610f1b81610afc565b82525050565b6000608082019050610f366000830187610ee8565b8181036020830152610f488186610cfb565b9050610f576040830185610f12565b610f646060830184610ee8565b95945050505050565b610f7681610bb5565b8114610f8157600080fd5b50565b600081519050610f9381610f6d565b92915050565b600060208284031215610faf57610fae61094e565b5b6000610fbd84828501610f84565b91505092915050565b6000610fd56020840184610b1d565b905092915050565b610fe681610afc565b82525050565b6000819050919050565b610fff81610fec565b811461100a57600080fd5b50565b60008135905061101c81610ff6565b92915050565b6000611031602084018461100d565b905092915050565b61104281610fec565b82525050565b600061105760208401846109a1565b905092915050565b61106881610978565b82525050565b600080fd5b600080fd5b600080fd5b6000808335600160200384360303811261109a57611099611078565b5b83810192508235915060208301925067ffffffffffffffff8211156110c2576110c161106e565b5b6020820236038313156110d8576110d7611073565b5b509250929050565b600082825260208201905092915050565b600080fd5b82818337505050565b600061110b83856110e0565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561113e5761113d6110f1565b5b60208302925061114f8385846110f6565b82840190509392505050565b6000808335600160200384360303811261117857611177611078565b5b83810192508235915060208301925067ffffffffffffffff8211156111a05761119f61106e565b5b6001820236038313156111b6576111b5611073565b5b509250929050565b600082825260208201905092915050565b60006111db83856111be565b93506111e8838584610a7d565b6111f1836109c0565b840190509392505050565b600061010083016112106000840184610fc6565b61121d6000860182610fdd565b5061122b6020840184610fc6565b6112386020860182610fdd565b506112466040840184611022565b6112536040860182611039565b506112616060840184610fc6565b61126e6060860182610fdd565b5061127c6080840184611022565b6112896080860182611039565b5061129760a0840184611048565b6112a460a086018261105f565b506112b260c084018461107d565b85830360c08701526112c58382846110ff565b925050506112d660e084018461115b565b85830360e08701526112e98382846111cf565b925050508091505092915050565b6000604082019050818103600083015261131181856111fc565b905081810360208301526113258184610cfb565b90509392505050565b600061134161133c84610a4c565b610a31565b90508281526020810184848401111561135d5761135c6109bb565b5b611368848285610cd1565b509392505050565b600082601f830112611385576113846109b6565b5b815161139584826020860161132e565b91505092915050565b600080604083850312156113b5576113b461094e565b5b60006113c385828601610f84565b925050602083015167ffffffffffffffff8111156113e4576113e3610953565b5b6113f085828601611370565b9150509250929050565b60006114068385610cc0565b9350611413838584610a7d565b61141c836109c0565b840190509392505050565b600060208201905081810360008301526114428184866113fa565b90509392505050565b600082825260208201905092915050565b6000819050919050565b60006114738484846111cf565b90509392505050565b6000602082019050919050565b6000611495838561144b565b9350836020840285016114a78461145c565b8060005b878110156114ed5784840389526114c2828461115b565b6114cd868284611466565b95506114d88461147c565b935060208b019a5050506001810190506114ab565b50829750879450505050509392505050565b6000604082019050818103600083015261151a818688611489565b9050818103602083015261152f8184866113fa565b90509594505050505056fea2646970667358221220f26ef4ec3ca0ec4b5f1962bbde47da5e808062e9b78e1ea8af7cc19b1ffd5edd64736f6c63430008140033", - "args": [] - }, - "SimpleConsumer": { - "addr": "0x9e178562EEb12A81686f0bE437E79C353aeA35fd", - "code": "0x60a06040526040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016064815250600560008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002015550503480156100f657600080fd5b50604051620010e2380380620010e2833981810160405281019061011a91906101b7565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506101e4565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061018482610159565b9050919050565b61019481610179565b811461019f57600080fd5b50565b6000815190506101b18161018b565b92915050565b6000602082840312156101cd576101cc610154565b5b60006101db848285016101a2565b91505092915050565b608051610ed46200020e600039600081816102dc015281816104cd015261054c0152610ed46000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80635b1a22bb116100665780635b1a22bb146101345780637dc0d1d014610152578063abbb3a9b14610170578063b7cd5ef914610190578063eb7d0a94146101c057610093565b80633196b7c6146100985780633b5d7c12146100c857806340dd1561146100f857806343c3fcb114610116575b600080fd5b6100b260048036038101906100ad9190610961565b6101de565b6040516100bf91906109c5565b60405180910390f35b6100e260048036038101906100dd9190610ad8565b6102d7565b6040516100ef91906109c5565b60405180910390f35b6101006103df565b60405161010d9190610b8f565b60405180910390f35b61011e6103f2565b60405161012b9190610bb9565b60405180910390f35b61013c6103f8565b60405161014991906109c5565b60405180910390f35b61015a6104cb565b6040516101679190610be3565b60405180910390f35b6101786104ef565b60405161018793929190610c0d565b60405180910390f35b6101aa60048036038101906101a59190610ad8565b610547565b6040516101b791906109c5565b60405180910390f35b6101c861064f565b6040516101d591906109c5565b60405180910390f35b600081600001516000819055508160200151600160006101000a81548160ff0219169083600181111561021457610213610b18565b5b021790555081604001518060200190518101906102319190610cd2565b600260008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002015590505060019050919050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d37191de30866040516020016103289190610d5f565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016103589493929190610df9565b6020604051808303816000875af1158015610377573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039b9190610e71565b9050806103d4576040517fd979d1f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600191505092915050565b600160009054906101000a900460ff1681565b60005481565b60006104c660056040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152505043610547565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60028060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663341edfb430866040516020016105989190610d5f565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016105c89493929190610df9565b6020604051808303816000875af11580156105e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060b9190610e71565b905080610644576040517fd979d1f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600191505092915050565b600061071d60056040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015481525050436102d7565b905090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6107848261073b565b810181811067ffffffffffffffff821117156107a3576107a261074c565b5b80604052505050565b60006107b6610722565b90506107c2828261077b565b919050565b600080fd5b6000819050919050565b6107df816107cc565b81146107ea57600080fd5b50565b6000813590506107fc816107d6565b92915050565b6002811061080f57600080fd5b50565b60008135905061082181610802565b92915050565b600080fd5b600080fd5b600067ffffffffffffffff82111561084c5761084b61074c565b5b6108558261073b565b9050602081019050919050565b82818337600083830152505050565b600061088461087f84610831565b6107ac565b9050828152602081018484840111156108a05761089f61082c565b5b6108ab848285610862565b509392505050565b600082601f8301126108c8576108c7610827565b5b81356108d8848260208601610871565b91505092915050565b6000606082840312156108f7576108f6610736565b5b61090160606107ac565b90506000610911848285016107ed565b600083015250602061092584828501610812565b602083015250604082013567ffffffffffffffff811115610949576109486107c7565b5b610955848285016108b3565b60408301525092915050565b6000602082840312156109775761097661072c565b5b600082013567ffffffffffffffff81111561099557610994610731565b5b6109a1848285016108e1565b91505092915050565b60008115159050919050565b6109bf816109aa565b82525050565b60006020820190506109da60008301846109b6565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610a0b826109e0565b9050919050565b610a1b81610a00565b8114610a2657600080fd5b50565b600081359050610a3881610a12565b92915050565b6000819050919050565b610a5181610a3e565b8114610a5c57600080fd5b50565b600081359050610a6e81610a48565b92915050565b600060608284031215610a8a57610a89610736565b5b610a9460606107ac565b90506000610aa484828501610a29565b6000830152506020610ab884828501610a29565b6020830152506040610acc84828501610a5f565b60408301525092915050565b60008060808385031215610aef57610aee61072c565b5b6000610afd85828601610a74565b9250506060610b0e85828601610a5f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028110610b5857610b57610b18565b5b50565b6000819050610b6982610b47565b919050565b6000610b7982610b5b565b9050919050565b610b8981610b6e565b82525050565b6000602082019050610ba46000830184610b80565b92915050565b610bb3816107cc565b82525050565b6000602082019050610bce6000830184610baa565b92915050565b610bdd81610a00565b82525050565b6000602082019050610bf86000830184610bd4565b92915050565b610c0781610a3e565b82525050565b6000606082019050610c226000830186610bd4565b610c2f6020830185610bd4565b610c3c6040830184610bfe565b949350505050565b600081519050610c5381610a12565b92915050565b600081519050610c6881610a48565b92915050565b600060608284031215610c8457610c83610736565b5b610c8e60606107ac565b90506000610c9e84828501610c44565b6000830152506020610cb284828501610c44565b6020830152506040610cc684828501610c59565b60408301525092915050565b600060608284031215610ce857610ce761072c565b5b6000610cf684828501610c6e565b91505092915050565b610d0881610a00565b82525050565b610d1781610a3e565b82525050565b606082016000820151610d336000850182610cff565b506020820151610d466020850182610cff565b506040820151610d596040850182610d0e565b50505050565b6000606082019050610d746000830184610d1d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610db4578082015181840152602081019050610d99565b60008484015250505050565b6000610dcb82610d7a565b610dd58185610d85565b9350610de5818560208601610d96565b610dee8161073b565b840191505092915050565b6000608082019050610e0e6000830187610bd4565b8181036020830152610e208186610dc0565b9050610e2f6040830185610bfe565b610e3c6060830184610bd4565b95945050505050565b610e4e816109aa565b8114610e5957600080fd5b50565b600081519050610e6b81610e45565b92915050565b600060208284031215610e8757610e8661072c565b5b6000610e9584828501610e5c565b9150509291505056fea26469706673582212201ecaa9dcb1a7d04304efb28a56fcada95823de219fd3198ebe5bf47b3f65e1fc64736f6c63430008140033", - "args": ["0x65b305B604a0c3ee18E67f733f7B276422E9e34b"] - } - }, - "arbitrum-goerli": { - "RequestLib": { - "addr": "0x4985aCA46c5B9e6b558f3cC3249aA0F8e47212B5", - "code": "0x610467610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063870ff5181461003a575b600080fd5b610054600480360381019061004f9190610291565b61006a565b604051610061919061032d565b60405180910390f35b60008484848460405160200161008394939291906103e5565b604051602081830303815290604052805190602001209050949350505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100e2826100b7565b9050919050565b6100f2816100d7565b81146100fd57600080fd5b50565b60008135905061010f816100e9565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6101688261011f565b810181811067ffffffffffffffff8211171561018757610186610130565b5b80604052505050565b600061019a6100a3565b90506101a6828261015f565b919050565b600067ffffffffffffffff8211156101c6576101c5610130565b5b6101cf8261011f565b9050602081019050919050565b82818337600083830152505050565b60006101fe6101f9846101ab565b610190565b90508281526020810184848401111561021a5761021961011a565b5b6102258482856101dc565b509392505050565b600082601f83011261024257610241610115565b5b81356102528482602086016101eb565b91505092915050565b6000819050919050565b61026e8161025b565b811461027957600080fd5b50565b60008135905061028b81610265565b92915050565b600080600080608085870312156102ab576102aa6100ad565b5b60006102b987828801610100565b945050602085013567ffffffffffffffff8111156102da576102d96100b2565b5b6102e68782880161022d565b93505060406102f78782880161027c565b925050606061030887828801610100565b91505092959194509250565b6000819050919050565b61032781610314565b82525050565b6000602082019050610342600083018461031e565b92915050565b610351816100d7565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610391578082015181840152602081019050610376565b60008484015250505050565b60006103a882610357565b6103b28185610362565b93506103c2818560208601610373565b6103cb8161011f565b840191505092915050565b6103df8161025b565b82525050565b60006080820190506103fa6000830187610348565b818103602083015261040c818661039d565b905061041b60408301856103d6565b6104286060830184610348565b9594505050505056fea26469706673582212201d17ff2b90975741a8e46b833bff7ea32d7d3fd961ef2235414d66e562ac702964736f6c63430008140033", - "args": [] - }, - "AutomationEmitter": { - "addr": "0xA376eF6473ccf0Ebdf746cE158E792FFDf67Fcb3", - "code": "0x608060405234801561001057600080fd5b50610471806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a27c742014610030575b600080fd5b61004a60048036038101906100459190610299565b610060565b6040516100579190610337565b60405180910390f35b60007fd392edb8a5a319d0c11e560dec0a6f4b3f3f3dca564c6171478b15bb76a27b878585858560405161009794939291906103ef565b60405180910390a160019050949350505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100ea826100bf565b9050919050565b6100fa816100df565b811461010557600080fd5b50565b600081359050610117816100f1565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61017082610127565b810181811067ffffffffffffffff8211171561018f5761018e610138565b5b80604052505050565b60006101a26100ab565b90506101ae8282610167565b919050565b600067ffffffffffffffff8211156101ce576101cd610138565b5b6101d782610127565b9050602081019050919050565b82818337600083830152505050565b6000610206610201846101b3565b610198565b90508281526020810184848401111561022257610221610122565b5b61022d8482856101e4565b509392505050565b600082601f83011261024a5761024961011d565b5b813561025a8482602086016101f3565b91505092915050565b6000819050919050565b61027681610263565b811461028157600080fd5b50565b6000813590506102938161026d565b92915050565b600080600080608085870312156102b3576102b26100b5565b5b60006102c187828801610108565b945050602085013567ffffffffffffffff8111156102e2576102e16100ba565b5b6102ee87828801610235565b93505060406102ff87828801610284565b925050606061031087828801610108565b91505092959194509250565b60008115159050919050565b6103318161031c565b82525050565b600060208201905061034c6000830184610328565b92915050565b61035b816100df565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561039b578082015181840152602081019050610380565b60008484015250505050565b60006103b282610361565b6103bc818561036c565b93506103cc81856020860161037d565b6103d581610127565b840191505092915050565b6103e981610263565b82525050565b60006080820190506104046000830187610352565b818103602083015261041681866103a7565b905061042560408301856103e0565b6104326060830184610352565b9594505050505056fea264697066735822122099ff787c689a60aa7ed271a5947bb25ef6d252ed7e14ee36d7a9ce9fcbfd090b64736f6c63430008140033", - "args": [] - }, - "FakedOracle": { - "addr": "0xa85024a804705A61399641367F45008939f4047D", - "code": "0x6101206040523480156200001257600080fd5b506040516200387a3803806200387a8339818101604052810190620000389190620003cd565b84848484848183600081908060018154018082558091505060019003906000526020600020016000909190919091509081620000759190620006b5565b50508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050508473ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505060405162000122906200018c565b604051809103906000f0801580156200013f573d6000803e3d6000fd5b5073ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff1681525050806101008181525050505050505050505050506200079c565b61050a806200337083390190565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001db82620001ae565b9050919050565b620001ed81620001ce565b8114620001f957600080fd5b50565b6000815190506200020d81620001e2565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000268826200021d565b810181811067ffffffffffffffff821117156200028a57620002896200022e565b5b80604052505050565b60006200029f6200019a565b9050620002ad82826200025d565b919050565b600067ffffffffffffffff821115620002d057620002cf6200022e565b5b620002db826200021d565b9050602081019050919050565b60005b8381101562000308578082015181840152602081019050620002eb565b60008484015250505050565b60006200032b6200032584620002b2565b62000293565b9050828152602081018484840111156200034a576200034962000218565b5b62000357848285620002e8565b509392505050565b600082601f83011262000377576200037662000213565b5b81516200038984826020860162000314565b91505092915050565b6000819050919050565b620003a78162000392565b8114620003b357600080fd5b50565b600081519050620003c7816200039c565b92915050565b600080600080600060a08688031215620003ec57620003eb620001a4565b5b6000620003fc88828901620001fc565b95505060206200040f88828901620001fc565b945050604086015167ffffffffffffffff811115620004335762000432620001a9565b5b62000441888289016200035f565b93505060606200045488828901620001fc565b92505060806200046788828901620003b6565b9150509295509295909350565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620004c757607f821691505b602082108103620004dd57620004dc6200047f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000508565b62000553868362000508565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000596620005906200058a8462000392565b6200056b565b62000392565b9050919050565b6000819050919050565b620005b28362000575565b620005ca620005c1826200059d565b84845462000515565b825550505050565b600090565b620005e1620005d2565b620005ee818484620005a7565b505050565b5b8181101562000616576200060a600082620005d7565b600181019050620005f4565b5050565b601f82111562000665576200062f81620004e3565b6200063a84620004f8565b810160208510156200064a578190505b620006626200065985620004f8565b830182620005f3565b50505b505050565b600082821c905092915050565b60006200068a600019846008026200066a565b1980831691505092915050565b6000620006a5838362000677565b9150826002028217905092915050565b620006c08262000474565b67ffffffffffffffff811115620006dc57620006db6200022e565b5b620006e88254620004ae565b620006f58282856200061a565b600060209050601f8311600181146200072d576000841562000718578287015190505b62000724858262000697565b86555062000794565b601f1984166200073d86620004e3565b60005b82811015620007675784890151825560018201915060208501945060208101905062000740565b8683101562000787578489015162000783601f89168262000677565b8355505b6001600288020188555050505b505050505050565b60805160a05160c05160e05161010051612b5762000819600039600081816104020152610b65015260008181610a3001528181610cf201528181610f0e01528181610fb8015261105c015260008181610387015281816105e1015261085e015260008181610bb90152610d99015260006111040152612b576000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80634b56a42e1161008c578063d5cc5e2111610066578063d5cc5e2114610276578063dce11375146102a7578063f9ae27f9146102c5578063fd84030c146102f5576100ea565b80634b56a42e146101e45780635727977c14610215578063d37191de14610246576100ea565b8063341edfb4116100c8578063341edfb4146101495780633f20b4c91461017957806340691db4146101975780634585e33b146101c8576100ea565b806308c9e24e146100ef5780631b83ca1e1461010d5780632b7ac3f31461012b575b600080fd5b6100f7610313565b604051610104919061125a565b60405180910390f35b61011561034c565b604051610122919061125a565b60405180910390f35b610133610385565b60405161014091906112fb565b60405180910390f35b610163600480360381019061015e91906114d3565b6103a9565b6040516101709190611571565b60405180910390f35b610181610400565b60405161018e919061159b565b60405180910390f35b6101b160048036038101906101ac91906115db565b610424565b6040516101bf9291906116a8565b60405180910390f35b6101e260048036038101906101dd9190611738565b6104ec565b005b6101fe60048036038101906101f991906117db565b610adf565b60405161020c9291906116a8565b60405180910390f35b61022f600480360381019061022a91906114d3565b610b18565b60405161023d929190611875565b60405180910390f35b610260600480360381019061025b91906114d3565b610ba9565b60405161026d9190611571565b60405180910390f35b610290600480360381019061028b91906114d3565b610c63565b60405161029e929190611953565b60405180910390f35b6102af610d97565b6040516102bc919061199d565b60405180910390f35b6102df60048036038101906102da91906114d3565b610dbb565b6040516102ec9190611571565b60405180910390f35b6102fd610fb6565b60405161030a91906119d9565b60405180910390f35b6040518060400160405280600781526020017f666565644944730000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600981526020017f74696d657374616d70000000000000000000000000000000000000000000000081525081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006103b785858585610fda565b7fb78272e98de6052aa2c197393914a1fe8ae1cf8dc760f1b74c6da3c2ff7fd10f858585856040516103ec9493929190611a03565b60405180910390a160019050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600060606040518060400160405280600781526020017f666565644944730000000000000000000000000000000000000000000000000081525060006040518060400160405280600981526020017f74696d657374616d7000000000000000000000000000000000000000000000008152508660200135878060e001906104ab9190611a5e565b6040517ff055e4a20000000000000000000000000000000000000000000000000000000081526004016104e396959493929190611cbe565b60405180910390fd5b60008083838101906104fe9190611e10565b9150915060008260008151811061051857610517611e88565b5b602002602001015190506000806000808580602001905181019061053c9190611f7a565b935093509350935060008061055386868686610c63565b915091506001600281111561056b5761056a61189e565b5b816000015160028111156105825761058161189e565b5b146105c457816040517ff78906140000000000000000000000000000000000000000000000000000000081526004016105bb9190611ffd565b60405180910390fd5b6000878060200190518101906105da91906120f5565b91505060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166338416b5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066e919061218f565b905060008173ffffffffffffffffffffffffffffffffffffffff1663ea4b861b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e191906121d1565b905060008273ffffffffffffffffffffffffffffffffffffffff1663e03dab1a3086856040518463ffffffff1660e01b8152600401610722939291906121fe565b60a0604051808303816000875af1158015610741573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107659190612291565b505090508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b38473ffffffffffffffffffffffffffffffffffffffff16633aa5ac076040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f491906121d1565b83602001516040518363ffffffff1660e01b81526004016108169291906122e4565b6020604051808303816000875af1158015610835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108599190612339565b5060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f7e83aee8d856040516020016108aa9190612366565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016108d6929190612381565b6000604051808303816000875af11580156108f5573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061091e91906123b8565b9050600081806020019051810190610936919061257a565b905060008c73ffffffffffffffffffffffffffffffffffffffff16633196b7c660405180606001604052808560c0015160170b8152602001600060018111156109825761098161189e565b5b81526020018f8152506040518263ffffffff1660e01b81526004016109a791906126a2565b6020604051808303816000875af11580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea9190612339565b905080610a2e57886040517f63e64d49000000000000000000000000000000000000000000000000000000008152600401610a259190611ffd565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663432d01378a6040518263ffffffff1660e01b8152600401610a879190611ffd565b6020604051808303816000875af1158015610aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aca9190612339565b50505050505050505050505050505050505050565b60006060600186868686604051602001610afc9493929190612817565b6040516020818303038152906040529150915094509492505050565b600080600080610b2a88888888610c63565b91509150600060016002811115610b4457610b4361189e565b5b82600001516002811115610b5b57610b5a61189e565b5b1480610b955750437f00000000000000000000000000000000000000000000000000000000000000008360200151610b939190612881565b115b905082819450945050505094509492505050565b6000610bb785858585610fda565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a27c7420868686866040518563ffffffff1660e01b8152600401610c169493929190611a03565b6020604051808303816000875af1158015610c35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c599190612339565b9050949350505050565b6000610c6d61119e565b6000734985aca46c5b9e6b558f3cc3249aa0f8e47212b563870ff518888888886040518563ffffffff1660e01b8152600401610cac949392919061291d565b602060405180830381865af4158015610cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ced9190612969565b9050807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663fb1e61ca836040518263ffffffff1660e01b8152600401610d499190611ffd565b6040805180830381865afa158015610d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d899190612a0b565b925092505094509492505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000610dcc87878787610b18565b9150915080610e1257816040517ff7890614000000000000000000000000000000000000000000000000000000008152600401610e099190611ffd565b60405180910390fd5b6000610e1c6110ff565b905060008873ffffffffffffffffffffffffffffffffffffffff16633196b7c66040518060600160405280858152602001600180811115610e6057610e5f61189e565b5b81526020018b8152506040518263ffffffff1660e01b8152600401610e8591906126a2565b6020604051808303816000875af1158015610ea4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec89190612339565b905080610f0c57836040517f63e64d49000000000000000000000000000000000000000000000000000000008152600401610f039190611ffd565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663432d0137856040518263ffffffff1660e01b8152600401610f659190611ffd565b6020604051808303816000875af1158015610f84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa89190612339565b945050505050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080610fe986868686610c63565b91509150600160028111156110015761100061189e565b5b816000015160028111156110185761101761189e565b5b0361105a57816040517f45b9a3b00000000000000000000000000000000000000000000000000000000081526004016110519190611ffd565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d876594b836040518263ffffffff1660e01b81526004016110b39190611ffd565b6020604051808303816000875af11580156110d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f69190612339565b50505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561116d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111919190612aa6565b5050509150508091505090565b6040518060400160405280600060028111156111bd576111bc61189e565b5b8152602001600081525090565b600081519050919050565b600082825260208201905092915050565b60005b838110156112045780820151818401526020810190506111e9565b60008484015250505050565b6000601f19601f8301169050919050565b600061122c826111ca565b61123681856111d5565b93506112468185602086016111e6565b61124f81611210565b840191505092915050565b600060208201905081810360008301526112748184611221565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006112c16112bc6112b78461127c565b61129c565b61127c565b9050919050565b60006112d3826112a6565b9050919050565b60006112e5826112c8565b9050919050565b6112f5816112da565b82525050565b600060208201905061131060008301846112ec565b92915050565b6000604051905090565b600080fd5b600080fd5b60006113358261127c565b9050919050565b6113458161132a565b811461135057600080fd5b50565b6000813590506113628161133c565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6113aa82611210565b810181811067ffffffffffffffff821117156113c9576113c8611372565b5b80604052505050565b60006113dc611316565b90506113e882826113a1565b919050565b600067ffffffffffffffff82111561140857611407611372565b5b61141182611210565b9050602081019050919050565b82818337600083830152505050565b600061144061143b846113ed565b6113d2565b90508281526020810184848401111561145c5761145b61136d565b5b61146784828561141e565b509392505050565b600082601f83011261148457611483611368565b5b813561149484826020860161142d565b91505092915050565b6000819050919050565b6114b08161149d565b81146114bb57600080fd5b50565b6000813590506114cd816114a7565b92915050565b600080600080608085870312156114ed576114ec611320565b5b60006114fb87828801611353565b945050602085013567ffffffffffffffff81111561151c5761151b611325565b5b6115288782880161146f565b9350506040611539878288016114be565b925050606061154a87828801611353565b91505092959194509250565b60008115159050919050565b61156b81611556565b82525050565b60006020820190506115866000830184611562565b92915050565b6115958161149d565b82525050565b60006020820190506115b0600083018461158c565b92915050565b600080fd5b600061010082840312156115d2576115d16115b6565b5b81905092915050565b600080604083850312156115f2576115f1611320565b5b600083013567ffffffffffffffff8111156116105761160f611325565b5b61161c858286016115bb565b925050602083013567ffffffffffffffff81111561163d5761163c611325565b5b6116498582860161146f565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b600061167a82611653565b611684818561165e565b93506116948185602086016111e6565b61169d81611210565b840191505092915050565b60006040820190506116bd6000830185611562565b81810360208301526116cf818461166f565b90509392505050565b600080fd5b600080fd5b60008083601f8401126116f8576116f7611368565b5b8235905067ffffffffffffffff811115611715576117146116d8565b5b602083019150836001820283011115611731576117306116dd565b5b9250929050565b6000806020838503121561174f5761174e611320565b5b600083013567ffffffffffffffff81111561176d5761176c611325565b5b611779858286016116e2565b92509250509250929050565b60008083601f84011261179b5761179a611368565b5b8235905067ffffffffffffffff8111156117b8576117b76116d8565b5b6020830191508360208202830111156117d4576117d36116dd565b5b9250929050565b600080600080604085870312156117f5576117f4611320565b5b600085013567ffffffffffffffff81111561181357611812611325565b5b61181f87828801611785565b9450945050602085013567ffffffffffffffff81111561184257611841611325565b5b61184e878288016116e2565b925092505092959194509250565b6000819050919050565b61186f8161185c565b82525050565b600060408201905061188a6000830185611866565b6118976020830184611562565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106118de576118dd61189e565b5b50565b60008190506118ef826118cd565b919050565b60006118ff826118e1565b9050919050565b61190f816118f4565b82525050565b61191e8161149d565b82525050565b60408201600082015161193a6000850182611906565b50602082015161194d6020850182611915565b50505050565b60006060820190506119686000830185611866565b6119756020830184611924565b9392505050565b6000611987826112c8565b9050919050565b6119978161197c565b82525050565b60006020820190506119b2600083018461198e565b92915050565b60006119c3826112c8565b9050919050565b6119d3816119b8565b82525050565b60006020820190506119ee60008301846119ca565b92915050565b6119fd8161132a565b82525050565b6000608082019050611a1860008301876119f4565b8181036020830152611a2a818661166f565b9050611a39604083018561158c565b611a4660608301846119f4565b95945050505050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611a7b57611a7a611a4f565b5b80840192508235915067ffffffffffffffff821115611a9d57611a9c611a54565b5b602083019250600182023603831315611ab957611ab8611a59565b5b509250929050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b3957607f821691505b602082108103611b4c57611b4b611af2565b5b50919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b60008154611b8581611b21565b611b8f8186611b52565b94506001821660008114611baa5760018114611bc057611bf3565b60ff198316865281151560200286019350611bf3565b611bc985611b63565b60005b83811015611beb57815481890152600182019150602081019050611bcc565b808801955050505b50505092915050565b6000611c088383611b78565b905092915050565b6000600182019050919050565b6000611c2882611ac1565b611c328185611acc565b935083602082028501611c4485611add565b8060005b85811015611c7f57848403895281611c608582611bfc565b9450611c6b83611c10565b925060208a01995050600181019050611c48565b50829750879550505050505092915050565b6000611c9d838561165e565b9350611caa83858461141e565b611cb383611210565b840190509392505050565b600060a0820190508181036000830152611cd88189611221565b90508181036020830152611cec8188611c1d565b90508181036040830152611d008187611221565b9050611d0f606083018661158c565b8181036080830152611d22818486611c91565b9050979650505050505050565b600067ffffffffffffffff821115611d4a57611d49611372565b5b602082029050602081019050919050565b6000611d6e611d6984611d2f565b6113d2565b90508083825260208201905060208402830185811115611d9157611d906116dd565b5b835b81811015611dd857803567ffffffffffffffff811115611db657611db5611368565b5b808601611dc3898261146f565b85526020850194505050602081019050611d93565b5050509392505050565b600082601f830112611df757611df6611368565b5b8135611e07848260208601611d5b565b91505092915050565b60008060408385031215611e2757611e26611320565b5b600083013567ffffffffffffffff811115611e4557611e44611325565b5b611e5185828601611de2565b925050602083013567ffffffffffffffff811115611e7257611e71611325565b5b611e7e8582860161146f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611ec28261127c565b9050919050565b611ed281611eb7565b8114611edd57600080fd5b50565b600081519050611eef81611ec9565b92915050565b6000611f08611f03846113ed565b6113d2565b905082815260208101848484011115611f2457611f2361136d565b5b611f2f8482856111e6565b509392505050565b600082601f830112611f4c57611f4b611368565b5b8151611f5c848260208601611ef5565b91505092915050565b600081519050611f74816114a7565b92915050565b60008060008060808587031215611f9457611f93611320565b5b6000611fa287828801611ee0565b945050602085015167ffffffffffffffff811115611fc357611fc2611325565b5b611fcf87828801611f37565b9350506040611fe087828801611f65565b9250506060611ff187828801611ee0565b91505092959194509250565b60006020820190506120126000830184611866565b92915050565b600067ffffffffffffffff82111561203357612032611372565b5b602082029050919050565b6120478161185c565b811461205257600080fd5b50565b6000815190506120648161203e565b92915050565b600061207d61207884612018565b6113d2565b90508060208402830185811115612097576120966116dd565b5b835b818110156120c057806120ac8882612055565b845260208401935050602081019050612099565b5050509392505050565b600082601f8301126120df576120de611368565b5b60036120ec84828561206a565b91505092915050565b6000806080838503121561210c5761210b611320565b5b600061211a858286016120ca565b925050606083015167ffffffffffffffff81111561213b5761213a611325565b5b61214785828601611f37565b9150509250929050565b600061215c8261132a565b9050919050565b61216c81612151565b811461217757600080fd5b50565b60008151905061218981612163565b92915050565b6000602082840312156121a5576121a4611320565b5b60006121b38482850161217a565b91505092915050565b6000815190506121cb8161133c565b92915050565b6000602082840312156121e7576121e6611320565b5b60006121f5848285016121bc565b91505092915050565b600060608201905061221360008301866119f4565b8181036020830152612225818561166f565b905061223460408301846119f4565b949350505050565b600080fd5b6000604082840312156122575761225661223c565b5b61226160406113d2565b90506000612271848285016121bc565b600083015250602061228584828501611f65565b60208301525092915050565b600080600060a084860312156122aa576122a9611320565b5b60006122b886828701612241565b93505060406122c986828701612241565b92505060806122da86828701611f65565b9150509250925092565b60006040820190506122f960008301856119f4565b612306602083018461158c565b9392505050565b61231681611556565b811461232157600080fd5b50565b6000815190506123338161230d565b92915050565b60006020828403121561234f5761234e611320565b5b600061235d84828501612324565b91505092915050565b600060208201905061237b60008301846119f4565b92915050565b6000604082019050818103600083015261239b818561166f565b905081810360208301526123af818461166f565b90509392505050565b6000602082840312156123ce576123cd611320565b5b600082015167ffffffffffffffff8111156123ec576123eb611325565b5b6123f884828501611f37565b91505092915050565b600063ffffffff82169050919050565b61241a81612401565b811461242557600080fd5b50565b60008151905061243781612411565b92915050565b600077ffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b61246a8161243d565b811461247557600080fd5b50565b60008151905061248781612461565b92915050565b60008160170b9050919050565b6124a38161248d565b81146124ae57600080fd5b50565b6000815190506124c08161249a565b92915050565b600060e082840312156124dc576124db61223c565b5b6124e660e06113d2565b905060006124f684828501612055565b600083015250602061250a84828501612428565b602083015250604061251e84828501612428565b604083015250606061253284828501612478565b606083015250608061254684828501612478565b60808301525060a061255a84828501612428565b60a08301525060c061256e848285016124b1565b60c08301525092915050565b600060e082840312156125905761258f611320565b5b600061259e848285016124c6565b91505092915050565b6000819050919050565b6125ba816125a7565b82525050565b600281106125d1576125d061189e565b5b50565b60008190506125e2826125c0565b919050565b60006125f2826125d4565b9050919050565b612602816125e7565b82525050565b600082825260208201905092915050565b600061262482611653565b61262e8185612608565b935061263e8185602086016111e6565b61264781611210565b840191505092915050565b600060608301600083015161266a60008601826125b1565b50602083015161267d60208601826125f9565b50604083015184820360408601526126958282612619565b9150508091505092915050565b600060208201905081810360008301526126bc8184612652565b905092915050565b600082825260208201905092915050565b6000819050919050565b60006126eb8385612608565b93506126f883858461141e565b61270183611210565b840190509392505050565b60006127198484846126df565b90509392505050565b600080fd5b600080fd5b600080fd5b6000808335600160200384360303811261274e5761274d61272c565b5b83810192508235915060208301925067ffffffffffffffff82111561277657612775612722565b5b60018202360383131561278c5761278b612727565b5b509250929050565b6000602082019050919050565b60006127ad83856126c4565b9350836020840285016127bf846126d5565b8060005b878110156128055784840389526127da8284612731565b6127e586828461270c565b95506127f084612794565b935060208b019a5050506001810190506127c3565b50829750879450505050509392505050565b600060408201905081810360008301526128328186886127a1565b90508181036020830152612847818486611c91565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061288c8261149d565b91506128978361149d565b92508282019050808211156128af576128ae612852565b5b92915050565b6128be8161132a565b82525050565b600082825260208201905092915050565b60006128e082611653565b6128ea81856128c4565b93506128fa8185602086016111e6565b61290381611210565b840191505092915050565b6129178161149d565b82525050565b600060808201905061293260008301876128b5565b818103602083015261294481866128d5565b9050612953604083018561290e565b61296060608301846128b5565b95945050505050565b60006020828403121561297f5761297e611320565b5b600061298d84828501612055565b91505092915050565b600381106129a357600080fd5b50565b6000815190506129b581612996565b92915050565b6000604082840312156129d1576129d061223c565b5b6129db60406113d2565b905060006129eb848285016129a6565b60008301525060206129ff84828501611f65565b60208301525092915050565b600060408284031215612a2157612a20611320565b5b6000612a2f848285016129bb565b91505092915050565b600069ffffffffffffffffffff82169050919050565b612a5781612a38565b8114612a6257600080fd5b50565b600081519050612a7481612a4e565b92915050565b612a83816125a7565b8114612a8e57600080fd5b50565b600081519050612aa081612a7a565b92915050565b600080600080600060a08688031215612ac257612ac1611320565b5b6000612ad088828901612a65565b9550506020612ae188828901612a91565b9450506040612af288828901611f65565b9350506060612b0388828901611f65565b9250506080612b1488828901612a65565b915050929550929590935056fea26469706673582212208c7f1dd11b718f29a103b60142d5b8cda8a7e8e146c5592af716e454d28d12ba64736f6c63430008140033608060405234801561001057600080fd5b506104ea806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063432d013714610046578063d876594b14610076578063fb1e61ca146100a6575b600080fd5b610060600480360381019061005b919061034d565b6100d6565b60405161006d9190610395565b60405180910390f35b610090600480360381019061008b919061034d565b6101a5565b60405161009d9190610395565b60405180910390f35b6100c060048036038101906100bb919061034d565b610275565b6040516100cd919061046f565b60405180910390f35b600060405180604001604052806002808111156100f6576100f56103b0565b5b81526020014381525060008084815260200190815260200160002060008201518160000160006101000a81548160ff0219169083600281111561013c5761013b6103b0565b5b0217905550602082015181600101559050503373ffffffffffffffffffffffffffffffffffffffff167fe5bd5dcc470f6a88a5d887cab0bcb1ae39dc5ed91181bcaba2482c57eebcdb4d436040516101949190610499565b60405180910390a260019050919050565b60006040518060400160405280600160028111156101c6576101c56103b0565b5b81526020014381525060008084815260200190815260200160002060008201518160000160006101000a81548160ff0219169083600281111561020c5761020b6103b0565b5b0217905550602082015181600101559050503373ffffffffffffffffffffffffffffffffffffffff167fd74033210025544364879f15fa3093e2fa4bfc9191e8cafb72093520da277b87436040516102649190610499565b60405180910390a260019050919050565b61027d6102e6565b6000808381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1660028111156102bf576102be6103b0565b5b60028111156102d1576102d06103b0565b5b81526020016001820154815250509050919050565b604051806040016040528060006002811115610305576103046103b0565b5b8152602001600081525090565b600080fd5b6000819050919050565b61032a81610317565b811461033557600080fd5b50565b60008135905061034781610321565b92915050565b60006020828403121561036357610362610312565b5b600061037184828501610338565b91505092915050565b60008115159050919050565b61038f8161037a565b82525050565b60006020820190506103aa6000830184610386565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106103f0576103ef6103b0565b5b50565b6000819050610401826103df565b919050565b6000610411826103f3565b9050919050565b61042181610406565b82525050565b6000819050919050565b61043a81610427565b82525050565b6040820160008201516104566000850182610418565b5060208201516104696020850182610431565b50505050565b60006040820190506104846000830184610440565b92915050565b61049381610427565b82525050565b60006020820190506104ae600083018461048a565b9291505056fea2646970667358221220f079e826f4bebfaa12042c8b2d283f1dc7cbfcb5cf370b472ce7450b583956d264736f6c63430008140033", - "args": [ - "0xA376eF6473ccf0Ebdf746cE158E792FFDf67Fcb3", - "0xcB1241Fdf26501fA7A2d47d841dcF72C3CAa9dCe", - "0x00029584363bcf642315133c335b3646513c20f049602fc7d933be0d3f6360d3", - "0xd30e2101a97dcbAeBCBC04F14C3f624E67A35165", - 5 - ] - }, - "FakedOracleProxy": { - "addr": "0x9EADa48404913bE9b222310Cc006CE2656427779", - "code": "0x60806040523480156200001157600080fd5b5033600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000885760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200007f9190620001a9565b60405180910390fd5b6200009981620000a060201b60201c565b50620001c6565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001918262000164565b9050919050565b620001a38162000184565b82525050565b6000602082019050620001c0600083018462000198565b92915050565b6116f780620001d66000396000f3fe6080604052600436106100ab5760003560e01c80635c60da1b116100645780635c60da1b146101fd578063715018a6146102285780638da5cb5b1461023f578063d37191de1461026a578063f2fde38b146102a7578063f9ae27f9146102d0576100b2565b8063341edfb4146100b45780633659cfe6146100f157806340691db41461011a5780634585e33b146101585780634b56a42e146101815780635727977c146101bf576100b2565b366100b257005b005b3480156100c057600080fd5b506100db60048036038101906100d69190610c2c565b61030d565b6040516100e89190610cca565b60405180910390f35b3480156100fd57600080fd5b5061011860048036038101906101139190610ce5565b6103a2565b005b34801561012657600080fd5b50610141600480360381019061013c9190610d37565b6103ee565b60405161014f929190610e2e565b60405180910390f35b34801561016457600080fd5b5061017f600480360381019061017a9190610ebe565b6104a2565b005b34801561018d57600080fd5b506101a860048036038101906101a39190610f61565b610535565b6040516101b6929190610e2e565b60405180910390f35b3480156101cb57600080fd5b506101e660048036038101906101e19190610c2c565b6105ed565b6040516101f4929190610ffb565b60405180910390f35b34801561020957600080fd5b5061021261069e565b60405161021f9190611033565b60405180910390f35b34801561023457600080fd5b5061023d6106c8565b005b34801561024b57600080fd5b506102546106dc565b6040516102619190611033565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190610c2c565b610705565b60405161029e9190610cca565b60405180910390f35b3480156102b357600080fd5b506102ce60048036038101906102c99190610ce5565b6107b5565b005b3480156102dc57600080fd5b506102f760048036038101906102f29190610c2c565b61083b565b6040516103049190610cca565b60405180910390f35b600061031761069e565b73ffffffffffffffffffffffffffffffffffffffff1663341edfb4868686866040518563ffffffff1660e01b8152600401610355949392919061105d565b6020604051808303816000875af1158015610374573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039891906110d5565b9050949350505050565b6103aa6108eb565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340691db485856040518363ffffffff1660e01b815260040161044f929190611429565b6000604051808303816000875af115801561046e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061049791906114d0565b915091509250929050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634585e33b83836040518363ffffffff1660e01b81526004016104ff929190611559565b600060405180830381600087803b15801561051957600080fd5b505af115801561052d573d6000803e3d6000fd5b505050505050565b60006060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b56a42e878787876040518563ffffffff1660e01b815260040161059a9493929190611631565b600060405180830381865afa1580156105b7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105e091906114d0565b9150915094509492505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635727977c878787876040518563ffffffff1660e01b8152600401610651949392919061105d565b6040805180830381865afa15801561066d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106919190611681565b9150915094509492505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106d06108eb565b6106da6000610972565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d37191de868686866040518563ffffffff1660e01b8152600401610768949392919061105d565b6020604051808303816000875af1158015610787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab91906110d5565b9050949350505050565b6107bd6108eb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361082f5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016108269190611033565b60405180910390fd5b61083881610972565b50565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f9ae27f9868686866040518563ffffffff1660e01b815260040161089e949392919061105d565b6020604051808303816000875af11580156108bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e191906110d5565b9050949350505050565b6108f3610a36565b73ffffffffffffffffffffffffffffffffffffffff166109116106dc565b73ffffffffffffffffffffffffffffffffffffffff161461097057610934610a36565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016109679190611033565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610a7d82610a52565b9050919050565b610a8d81610a72565b8114610a9857600080fd5b50565b600081359050610aaa81610a84565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610b0382610aba565b810181811067ffffffffffffffff82111715610b2257610b21610acb565b5b80604052505050565b6000610b35610a3e565b9050610b418282610afa565b919050565b600067ffffffffffffffff821115610b6157610b60610acb565b5b610b6a82610aba565b9050602081019050919050565b82818337600083830152505050565b6000610b99610b9484610b46565b610b2b565b905082815260208101848484011115610bb557610bb4610ab5565b5b610bc0848285610b77565b509392505050565b600082601f830112610bdd57610bdc610ab0565b5b8135610bed848260208601610b86565b91505092915050565b6000819050919050565b610c0981610bf6565b8114610c1457600080fd5b50565b600081359050610c2681610c00565b92915050565b60008060008060808587031215610c4657610c45610a48565b5b6000610c5487828801610a9b565b945050602085013567ffffffffffffffff811115610c7557610c74610a4d565b5b610c8187828801610bc8565b9350506040610c9287828801610c17565b9250506060610ca387828801610a9b565b91505092959194509250565b60008115159050919050565b610cc481610caf565b82525050565b6000602082019050610cdf6000830184610cbb565b92915050565b600060208284031215610cfb57610cfa610a48565b5b6000610d0984828501610a9b565b91505092915050565b600080fd5b60006101008284031215610d2e57610d2d610d12565b5b81905092915050565b60008060408385031215610d4e57610d4d610a48565b5b600083013567ffffffffffffffff811115610d6c57610d6b610a4d565b5b610d7885828601610d17565b925050602083013567ffffffffffffffff811115610d9957610d98610a4d565b5b610da585828601610bc8565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610de9578082015181840152602081019050610dce565b60008484015250505050565b6000610e0082610daf565b610e0a8185610dba565b9350610e1a818560208601610dcb565b610e2381610aba565b840191505092915050565b6000604082019050610e436000830185610cbb565b8181036020830152610e558184610df5565b90509392505050565b600080fd5b600080fd5b60008083601f840112610e7e57610e7d610ab0565b5b8235905067ffffffffffffffff811115610e9b57610e9a610e5e565b5b602083019150836001820283011115610eb757610eb6610e63565b5b9250929050565b60008060208385031215610ed557610ed4610a48565b5b600083013567ffffffffffffffff811115610ef357610ef2610a4d565b5b610eff85828601610e68565b92509250509250929050565b60008083601f840112610f2157610f20610ab0565b5b8235905067ffffffffffffffff811115610f3e57610f3d610e5e565b5b602083019150836020820283011115610f5a57610f59610e63565b5b9250929050565b60008060008060408587031215610f7b57610f7a610a48565b5b600085013567ffffffffffffffff811115610f9957610f98610a4d565b5b610fa587828801610f0b565b9450945050602085013567ffffffffffffffff811115610fc857610fc7610a4d565b5b610fd487828801610e68565b925092505092959194509250565b6000819050919050565b610ff581610fe2565b82525050565b60006040820190506110106000830185610fec565b61101d6020830184610cbb565b9392505050565b61102d81610a72565b82525050565b60006020820190506110486000830184611024565b92915050565b61105781610bf6565b82525050565b60006080820190506110726000830187611024565b81810360208301526110848186610df5565b9050611093604083018561104e565b6110a06060830184611024565b95945050505050565b6110b281610caf565b81146110bd57600080fd5b50565b6000815190506110cf816110a9565b92915050565b6000602082840312156110eb576110ea610a48565b5b60006110f9848285016110c0565b91505092915050565b60006111116020840184610c17565b905092915050565b61112281610bf6565b82525050565b61113181610fe2565b811461113c57600080fd5b50565b60008135905061114e81611128565b92915050565b6000611163602084018461113f565b905092915050565b61117481610fe2565b82525050565b60006111896020840184610a9b565b905092915050565b61119a81610a72565b82525050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126111cc576111cb6111aa565b5b83810192508235915060208301925067ffffffffffffffff8211156111f4576111f36111a0565b5b60208202360383131561120a576112096111a5565b5b509250929050565b600082825260208201905092915050565b600080fd5b82818337505050565b600061123d8385611212565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156112705761126f611223565b5b602083029250611281838584611228565b82840190509392505050565b600080833560016020038436030381126112aa576112a96111aa565b5b83810192508235915060208301925067ffffffffffffffff8211156112d2576112d16111a0565b5b6001820236038313156112e8576112e76111a5565b5b509250929050565b600082825260208201905092915050565b600061130d83856112f0565b935061131a838584610b77565b61132383610aba565b840190509392505050565b600061010083016113426000840184611102565b61134f6000860182611119565b5061135d6020840184611102565b61136a6020860182611119565b506113786040840184611154565b611385604086018261116b565b506113936060840184611102565b6113a06060860182611119565b506113ae6080840184611154565b6113bb608086018261116b565b506113c960a084018461117a565b6113d660a0860182611191565b506113e460c08401846111af565b85830360c08701526113f7838284611231565b9250505061140860e084018461128d565b85830360e087015261141b838284611301565b925050508091505092915050565b60006040820190508181036000830152611443818561132e565b905081810360208301526114578184610df5565b90509392505050565b600061147361146e84610b46565b610b2b565b90508281526020810184848401111561148f5761148e610ab5565b5b61149a848285610dcb565b509392505050565b600082601f8301126114b7576114b6610ab0565b5b81516114c7848260208601611460565b91505092915050565b600080604083850312156114e7576114e6610a48565b5b60006114f5858286016110c0565b925050602083015167ffffffffffffffff81111561151657611515610a4d565b5b611522858286016114a2565b9150509250929050565b60006115388385610dba565b9350611545838584610b77565b61154e83610aba565b840190509392505050565b6000602082019050818103600083015261157481848661152c565b90509392505050565b600082825260208201905092915050565b6000819050919050565b60006115a5848484611301565b90509392505050565b6000602082019050919050565b60006115c7838561157d565b9350836020840285016115d98461158e565b8060005b8781101561161f5784840389526115f4828461128d565b6115ff868284611598565b955061160a846115ae565b935060208b019a5050506001810190506115dd565b50829750879450505050509392505050565b6000604082019050818103600083015261164c8186886115bb565b9050818103602083015261166181848661152c565b905095945050505050565b60008151905061167b81611128565b92915050565b6000806040838503121561169857611697610a48565b5b60006116a68582860161166c565b92505060206116b7858286016110c0565b915050925092905056fea2646970667358221220a079204ec4b60f67144ba9ec99dfb922311ebb899e76d269a6a42dbbf1679ccf64736f6c63430008140033", - "args": [] - }, - "SimpleConsumer": { - "addr": "0x4E66BA1676410048C22766661655c9cF00f027BC", - "code": "0x60a060405234801561001057600080fd5b50604051610e01380380610e01833981810160405281019061003291906100cf565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506100fc565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061009c82610071565b9050919050565b6100ac81610091565b81146100b757600080fd5b50565b6000815190506100c9816100a3565b92915050565b6000602082840312156100e5576100e461006c565b5b60006100f3848285016100ba565b91505092915050565b608051610cdc6101256000396000818161028a015281816103a801526104270152610cdc6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806343c3fcb11161005b57806343c3fcb1146101005780637dc0d1d01461011e578063abbb3a9b1461013c578063b7cd5ef91461015c5761007d565b80633196b7c6146100825780633b5d7c12146100b257806340dd1561146100e2575b600080fd5b61009c60048036038101906100979190610769565b61018c565b6040516100a991906107cd565b60405180910390f35b6100cc60048036038101906100c791906108e0565b610285565b6040516100d991906107cd565b60405180910390f35b6100ea61038d565b6040516100f79190610997565b60405180910390f35b6101086103a0565b60405161011591906109c1565b60405180910390f35b6101266103a6565b60405161013391906109eb565b60405180910390f35b6101446103ca565b60405161015393929190610a15565b60405180910390f35b610176600480360381019061017191906108e0565b610422565b60405161018391906107cd565b60405180910390f35b600081600001516000819055508160200151600160006101000a81548160ff021916908360018111156101c2576101c1610920565b5b021790555081604001518060200190518101906101df9190610ada565b600260008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002015590505060019050919050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d37191de30866040516020016102d69190610b67565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016103069493929190610c01565b6020604051808303816000875af1158015610325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103499190610c79565b905080610382576040517fd979d1f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600191505092915050565b600160009054906101000a900460ff1681565b60005481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60028060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663341edfb430866040516020016104739190610b67565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016104a39493929190610c01565b6020604051808303816000875af11580156104c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e69190610c79565b90508061051f576040517fd979d1f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600191505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61058c82610543565b810181811067ffffffffffffffff821117156105ab576105aa610554565b5b80604052505050565b60006105be61052a565b90506105ca8282610583565b919050565b600080fd5b6000819050919050565b6105e7816105d4565b81146105f257600080fd5b50565b600081359050610604816105de565b92915050565b6002811061061757600080fd5b50565b6000813590506106298161060a565b92915050565b600080fd5b600080fd5b600067ffffffffffffffff82111561065457610653610554565b5b61065d82610543565b9050602081019050919050565b82818337600083830152505050565b600061068c61068784610639565b6105b4565b9050828152602081018484840111156106a8576106a7610634565b5b6106b384828561066a565b509392505050565b600082601f8301126106d0576106cf61062f565b5b81356106e0848260208601610679565b91505092915050565b6000606082840312156106ff576106fe61053e565b5b61070960606105b4565b90506000610719848285016105f5565b600083015250602061072d8482850161061a565b602083015250604082013567ffffffffffffffff811115610751576107506105cf565b5b61075d848285016106bb565b60408301525092915050565b60006020828403121561077f5761077e610534565b5b600082013567ffffffffffffffff81111561079d5761079c610539565b5b6107a9848285016106e9565b91505092915050565b60008115159050919050565b6107c7816107b2565b82525050565b60006020820190506107e260008301846107be565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610813826107e8565b9050919050565b61082381610808565b811461082e57600080fd5b50565b6000813590506108408161081a565b92915050565b6000819050919050565b61085981610846565b811461086457600080fd5b50565b60008135905061087681610850565b92915050565b6000606082840312156108925761089161053e565b5b61089c60606105b4565b905060006108ac84828501610831565b60008301525060206108c084828501610831565b60208301525060406108d484828501610867565b60408301525092915050565b600080608083850312156108f7576108f6610534565b5b60006109058582860161087c565b925050606061091685828601610867565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600281106109605761095f610920565b5b50565b60008190506109718261094f565b919050565b600061098182610963565b9050919050565b61099181610976565b82525050565b60006020820190506109ac6000830184610988565b92915050565b6109bb816105d4565b82525050565b60006020820190506109d660008301846109b2565b92915050565b6109e581610808565b82525050565b6000602082019050610a0060008301846109dc565b92915050565b610a0f81610846565b82525050565b6000606082019050610a2a60008301866109dc565b610a3760208301856109dc565b610a446040830184610a06565b949350505050565b600081519050610a5b8161081a565b92915050565b600081519050610a7081610850565b92915050565b600060608284031215610a8c57610a8b61053e565b5b610a9660606105b4565b90506000610aa684828501610a4c565b6000830152506020610aba84828501610a4c565b6020830152506040610ace84828501610a61565b60408301525092915050565b600060608284031215610af057610aef610534565b5b6000610afe84828501610a76565b91505092915050565b610b1081610808565b82525050565b610b1f81610846565b82525050565b606082016000820151610b3b6000850182610b07565b506020820151610b4e6020850182610b07565b506040820151610b616040850182610b16565b50505050565b6000606082019050610b7c6000830184610b25565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bbc578082015181840152602081019050610ba1565b60008484015250505050565b6000610bd382610b82565b610bdd8185610b8d565b9350610bed818560208601610b9e565b610bf681610543565b840191505092915050565b6000608082019050610c1660008301876109dc565b8181036020830152610c288186610bc8565b9050610c376040830185610a06565b610c4460608301846109dc565b95945050505050565b610c56816107b2565b8114610c6157600080fd5b50565b600081519050610c7381610c4d565b92915050565b600060208284031215610c8f57610c8e610534565b5b6000610c9d84828501610c64565b9150509291505056fea2646970667358221220e78ad109d9e98bdf6d7c35f15872563bb6a44ebc9fb23654e87bc51d8da4effc64736f6c63430008140033", - "args": ["0x9EADa48404913bE9b222310Cc006CE2656427779"] - }, - "SwapApp": { - "addr": "0x286F373868eC1fA2873ac2c03b3d106B7Ba60CFD", - "code": "0x60c06040523480156200001157600080fd5b506040516200191038038062001910833981810160405281019062000037919062000111565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050505062000158565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000d982620000ac565b9050919050565b620000eb81620000cc565b8114620000f757600080fd5b50565b6000815190506200010b81620000e0565b92915050565b600080604083850312156200012b576200012a620000a7565b5b60006200013b85828601620000fa565b92505060206200014e85828601620000fa565b9150509250929050565b60805160a0516117766200019a600039600081816101a201528181610351015261046201526000818161032a015281816105ee015261071c01526117766000f3fe6080604052600436106100595760003560e01c806326f819e2146100655780633196b7c6146100a2578063581bdd16146100df5780636d5cf70a1461010a5780637dc0d1d014610147578063c57981b51461017257610060565b3661006057005b600080fd5b34801561007157600080fd5b5061008c60048036038101906100879190610b53565b61019d565b6040516100999190610bca565b60405180910390f35b3480156100ae57600080fd5b506100c960048036038101906100c49190610d61565b6102b1565b6040516100d69190610bca565b60405180910390f35b3480156100eb57600080fd5b506100f4610328565b6040516101019190610e09565b60405180910390f35b34801561011657600080fd5b50610131600480360381019061012c9190610b53565b61034c565b60405161013e9190610bca565b60405180910390f35b34801561015357600080fd5b5061015c610460565b6040516101699190610e33565b60405180910390f35b34801561017e57600080fd5b50610187610484565b6040516101949190610e6c565b60405180910390f35b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663341edfb430866040516020016101ee9190610f9a565b60405160208183030381529060405286336040518563ffffffff1660e01b815260040161021e9493929190611020565b6020604051808303816000875af115801561023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102619190611098565b9050806102a75783836040517fac32c48800000000000000000000000000000000000000000000000000000000815260040161029e9291906110c5565b60405180910390fd5b8091505092915050565b60008082604001518060200190518101906102cc9190611237565b905060006102de84600001518361048a565b90507fdf1c71557a4251e0650fabd3081054ea195463663546b7fd5ec504026104459481856000015160405161031592919061128f565b60405180910390a1600192505050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d37191de308660405160200161039d9190610f9a565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016103cd9493929190611020565b6020604051808303816000875af11580156103ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104109190611098565b9050806104565783836040517fac32c48800000000000000000000000000000000000000000000000000000000815260040161044d9291906110c5565b60405180910390fd5b8091505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610bb881565b600080826020015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050091906112f1565b905060006105128460400151866107c2565b9050600082600a6105239190611480565b85606001518361053391906114cb565b61053d919061153c565b9050846020015173ffffffffffffffffffffffffffffffffffffffff166323b872dd86600001513088606001516040518463ffffffff1660e01b81526004016105889392919061156d565b6020604051808303816000875af11580156105a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cb9190611098565b50846020015173ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f000000000000000000000000000000000000000000000000000000000000000087606001516040518363ffffffff1660e01b815260040161062f9291906115a4565b6020604051808303816000875af115801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106729190611098565b5060006040518060e00160405280876020015173ffffffffffffffffffffffffffffffffffffffff168152602001876040015173ffffffffffffffffffffffffffffffffffffffff168152602001610bb862ffffff168152602001876000015173ffffffffffffffffffffffffffffffffffffffff16815260200187606001518152602001838152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166304e45aaf826040518263ffffffff1660e01b81526004016107739190611679565b6020604051808303816000875af1158015610792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b69190611694565b94505050505092915050565b6000806012905060008473ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083a91906112f1565b9050818160ff16101561087c5760008160ff168361085891906116c1565b905080600a61086791906116f5565b85610872919061153c565b93505050506108ad565b6000828260ff1661088d91906116c1565b905080600a61089c91906116f5565b856108a791906114cb565b93505050505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610915826108cc565b810181811067ffffffffffffffff82111715610934576109336108dd565b5b80604052505050565b60006109476108b3565b9050610953828261090c565b919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006109888261095d565b9050919050565b6109988161097d565b81146109a357600080fd5b50565b6000813590506109b58161098f565b92915050565b6000819050919050565b6109ce816109bb565b81146109d957600080fd5b50565b6000813590506109eb816109c5565b92915050565b600080fd5b600080fd5b600067ffffffffffffffff821115610a1657610a156108dd565b5b610a1f826108cc565b9050602081019050919050565b82818337600083830152505050565b6000610a4e610a49846109fb565b61093d565b905082815260208101848484011115610a6a57610a696109f6565b5b610a75848285610a2c565b509392505050565b600082601f830112610a9257610a916109f1565b5b8135610aa2848260208601610a3b565b91505092915050565b600060a08284031215610ac157610ac06108c7565b5b610acb60a061093d565b90506000610adb848285016109a6565b6000830152506020610aef848285016109a6565b6020830152506040610b03848285016109a6565b6040830152506060610b17848285016109dc565b606083015250608082013567ffffffffffffffff811115610b3b57610b3a610958565b5b610b4784828501610a7d565b60808301525092915050565b60008060408385031215610b6a57610b696108bd565b5b600083013567ffffffffffffffff811115610b8857610b876108c2565b5b610b9485828601610aab565b9250506020610ba5858286016109dc565b9150509250929050565b60008115159050919050565b610bc481610baf565b82525050565b6000602082019050610bdf6000830184610bbb565b92915050565b6000819050919050565b610bf881610be5565b8114610c0357600080fd5b50565b600081359050610c1581610bef565b92915050565b60028110610c2857600080fd5b50565b600081359050610c3a81610c1b565b92915050565b600067ffffffffffffffff821115610c5b57610c5a6108dd565b5b610c64826108cc565b9050602081019050919050565b6000610c84610c7f84610c40565b61093d565b905082815260208101848484011115610ca057610c9f6109f6565b5b610cab848285610a2c565b509392505050565b600082601f830112610cc857610cc76109f1565b5b8135610cd8848260208601610c71565b91505092915050565b600060608284031215610cf757610cf66108c7565b5b610d01606061093d565b90506000610d1184828501610c06565b6000830152506020610d2584828501610c2b565b602083015250604082013567ffffffffffffffff811115610d4957610d48610958565b5b610d5584828501610cb3565b60408301525092915050565b600060208284031215610d7757610d766108bd565b5b600082013567ffffffffffffffff811115610d9557610d946108c2565b5b610da184828501610ce1565b91505092915050565b6000819050919050565b6000610dcf610dca610dc58461095d565b610daa565b61095d565b9050919050565b6000610de182610db4565b9050919050565b6000610df382610dd6565b9050919050565b610e0381610de8565b82525050565b6000602082019050610e1e6000830184610dfa565b92915050565b610e2d8161097d565b82525050565b6000602082019050610e486000830184610e24565b92915050565b600062ffffff82169050919050565b610e6681610e4e565b82525050565b6000602082019050610e816000830184610e5d565b92915050565b610e908161097d565b82525050565b610e9f816109bb565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610edf578082015181840152602081019050610ec4565b60008484015250505050565b6000610ef682610ea5565b610f008185610eb0565b9350610f10818560208601610ec1565b610f19816108cc565b840191505092915050565b600060a083016000830151610f3c6000860182610e87565b506020830151610f4f6020860182610e87565b506040830151610f626040860182610e87565b506060830151610f756060860182610e96565b5060808301518482036080860152610f8d8282610eeb565b9150508091505092915050565b60006020820190508181036000830152610fb48184610f24565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000610fe382610fbc565b610fed8185610fc7565b9350610ffd818560208601610ec1565b611006816108cc565b840191505092915050565b61101a816109bb565b82525050565b60006080820190506110356000830187610e24565b81810360208301526110478186610fd8565b90506110566040830185611011565b6110636060830184610e24565b95945050505050565b61107581610baf565b811461108057600080fd5b50565b6000815190506110928161106c565b92915050565b6000602082840312156110ae576110ad6108bd565b5b60006110bc84828501611083565b91505092915050565b600060408201905081810360008301526110df8185610f24565b90506110ee6020830184611011565b9392505050565b6000815190506111048161098f565b92915050565b600081519050611119816109c5565b92915050565b600061113261112d846109fb565b61093d565b90508281526020810184848401111561114e5761114d6109f6565b5b611159848285610ec1565b509392505050565b600082601f830112611176576111756109f1565b5b815161118684826020860161111f565b91505092915050565b600060a082840312156111a5576111a46108c7565b5b6111af60a061093d565b905060006111bf848285016110f5565b60008301525060206111d3848285016110f5565b60208301525060406111e7848285016110f5565b60408301525060606111fb8482850161110a565b606083015250608082015167ffffffffffffffff81111561121f5761121e610958565b5b61122b84828501611161565b60808301525092915050565b60006020828403121561124d5761124c6108bd565b5b600082015167ffffffffffffffff81111561126b5761126a6108c2565b5b6112778482850161118f565b91505092915050565b61128981610be5565b82525050565b60006040820190506112a46000830185611011565b6112b16020830184611280565b9392505050565b600060ff82169050919050565b6112ce816112b8565b81146112d957600080fd5b50565b6000815190506112eb816112c5565b92915050565b600060208284031215611307576113066108bd565b5b6000611315848285016112dc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156113a4578086048111156113805761137f61131e565b5b600185161561138f5780820291505b808102905061139d8561134d565b9450611364565b94509492505050565b6000826113bd5760019050611479565b816113cb5760009050611479565b81600181146113e157600281146113eb5761141a565b6001915050611479565b60ff8411156113fd576113fc61131e565b5b8360020a9150848211156114145761141361131e565b5b50611479565b5060208310610133831016604e8410600b841016171561144f5782820a90508381111561144a5761144961131e565b5b611479565b61145c848484600161135a565b925090508184048111156114735761147261131e565b5b81810290505b9392505050565b600061148b826109bb565b9150611496836112b8565b92506114c37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846113ad565b905092915050565b60006114d6826109bb565b91506114e1836109bb565b92508282026114ef816109bb565b915082820484148315176115065761150561131e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611547826109bb565b9150611552836109bb565b9250826115625761156161150d565b5b828204905092915050565b60006060820190506115826000830186610e24565b61158f6020830185610e24565b61159c6040830184611011565b949350505050565b60006040820190506115b96000830185610e24565b6115c66020830184611011565b9392505050565b6115d681610e4e565b82525050565b6115e58161095d565b82525050565b60e0820160008201516116016000850182610e87565b5060208201516116146020850182610e87565b50604082015161162760408501826115cd565b50606082015161163a6060850182610e87565b50608082015161164d6080850182610e96565b5060a082015161166060a0850182610e96565b5060c082015161167360c08501826115dc565b50505050565b600060e08201905061168e60008301846115eb565b92915050565b6000602082840312156116aa576116a96108bd565b5b60006116b88482850161110a565b91505092915050565b60006116cc826109bb565b91506116d7836109bb565b92508282039050818111156116ef576116ee61131e565b5b92915050565b6000611700826109bb565b915061170b836109bb565b92506117387fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846113ad565b90509291505056fea2646970667358221220efa9a85f240519cf843bd030786b4df12a15b5f992865a4b0a9642d016ef302264736f6c63430008140033", - "args": [ - "0xab7664500b19a7a2362Ab26081e6DfB971B6F1B0", - "0x9EADa48404913bE9b222310Cc006CE2656427779" - ] - } - } -} +{"arbitrum-sepolia":{"RequestLib":{"addr":"0xD4a838dfA0fd81D5B7a129879c16d7BC8E16Fd55","code":"0x610467610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063870ff5181461003a575b600080fd5b610054600480360381019061004f9190610291565b61006a565b604051610061919061032d565b60405180910390f35b60008484848460405160200161008394939291906103e5565b604051602081830303815290604052805190602001209050949350505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100e2826100b7565b9050919050565b6100f2816100d7565b81146100fd57600080fd5b50565b60008135905061010f816100e9565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6101688261011f565b810181811067ffffffffffffffff8211171561018757610186610130565b5b80604052505050565b600061019a6100a3565b90506101a6828261015f565b919050565b600067ffffffffffffffff8211156101c6576101c5610130565b5b6101cf8261011f565b9050602081019050919050565b82818337600083830152505050565b60006101fe6101f9846101ab565b610190565b90508281526020810184848401111561021a5761021961011a565b5b6102258482856101dc565b509392505050565b600082601f83011261024257610241610115565b5b81356102528482602086016101eb565b91505092915050565b6000819050919050565b61026e8161025b565b811461027957600080fd5b50565b60008135905061028b81610265565b92915050565b600080600080608085870312156102ab576102aa6100ad565b5b60006102b987828801610100565b945050602085013567ffffffffffffffff8111156102da576102d96100b2565b5b6102e68782880161022d565b93505060406102f78782880161027c565b925050606061030887828801610100565b91505092959194509250565b6000819050919050565b61032781610314565b82525050565b6000602082019050610342600083018461031e565b92915050565b610351816100d7565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610391578082015181840152602081019050610376565b60008484015250505050565b60006103a882610357565b6103b28185610362565b93506103c2818560208601610373565b6103cb8161011f565b840191505092915050565b6103df8161025b565b82525050565b60006080820190506103fa6000830187610348565b818103602083015261040c818661039d565b905061041b60408301856103d6565b6104286060830184610348565b9594505050505056fea26469706673582212201d17ff2b90975741a8e46b833bff7ea32d7d3fd961ef2235414d66e562ac702964736f6c63430008140033","args":[]},"AutomationEmitter":{"addr":"0xf27F9EDA911278dA4988537994141e697E8E0798","code":"0x608060405234801561001057600080fd5b50610471806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a27c742014610030575b600080fd5b61004a60048036038101906100459190610299565b610060565b6040516100579190610337565b60405180910390f35b60007fd392edb8a5a319d0c11e560dec0a6f4b3f3f3dca564c6171478b15bb76a27b878585858560405161009794939291906103ef565b60405180910390a160019050949350505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100ea826100bf565b9050919050565b6100fa816100df565b811461010557600080fd5b50565b600081359050610117816100f1565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61017082610127565b810181811067ffffffffffffffff8211171561018f5761018e610138565b5b80604052505050565b60006101a26100ab565b90506101ae8282610167565b919050565b600067ffffffffffffffff8211156101ce576101cd610138565b5b6101d782610127565b9050602081019050919050565b82818337600083830152505050565b6000610206610201846101b3565b610198565b90508281526020810184848401111561022257610221610122565b5b61022d8482856101e4565b509392505050565b600082601f83011261024a5761024961011d565b5b813561025a8482602086016101f3565b91505092915050565b6000819050919050565b61027681610263565b811461028157600080fd5b50565b6000813590506102938161026d565b92915050565b600080600080608085870312156102b3576102b26100b5565b5b60006102c187828801610108565b945050602085013567ffffffffffffffff8111156102e2576102e16100ba565b5b6102ee87828801610235565b93505060406102ff87828801610284565b925050606061031087828801610108565b91505092959194509250565b60008115159050919050565b6103318161031c565b82525050565b600060208201905061034c6000830184610328565b92915050565b61035b816100df565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561039b578082015181840152602081019050610380565b60008484015250505050565b60006103b282610361565b6103bc818561036c565b93506103cc81856020860161037d565b6103d581610127565b840191505092915050565b6103e981610263565b82525050565b60006080820190506104046000830187610352565b818103602083015261041681866103a7565b905061042560408301856103e0565b6104326060830184610352565b9594505050505056fea264697066735822122099ff787c689a60aa7ed271a5947bb25ef6d252ed7e14ee36d7a9ce9fcbfd090b64736f6c63430008140033","args":[]},"FakedOracle":{"addr":"0x8b1b081013bD34AC5f98F06f7cFBEbae31330CF2","code":"0x6101206040523480156200001257600080fd5b506040516200387b3803806200387b8339818101604052810190620000389190620003cd565b84848484848183600081908060018154018082558091505060019003906000526020600020016000909190919091509081620000759190620006b5565b50508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050508473ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505060405162000122906200018c565b604051809103906000f0801580156200013f573d6000803e3d6000fd5b5073ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff1681525050806101008181525050505050505050505050506200079c565b61050a806200337183390190565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001db82620001ae565b9050919050565b620001ed81620001ce565b8114620001f957600080fd5b50565b6000815190506200020d81620001e2565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000268826200021d565b810181811067ffffffffffffffff821117156200028a57620002896200022e565b5b80604052505050565b60006200029f6200019a565b9050620002ad82826200025d565b919050565b600067ffffffffffffffff821115620002d057620002cf6200022e565b5b620002db826200021d565b9050602081019050919050565b60005b8381101562000308578082015181840152602081019050620002eb565b60008484015250505050565b60006200032b6200032584620002b2565b62000293565b9050828152602081018484840111156200034a576200034962000218565b5b62000357848285620002e8565b509392505050565b600082601f83011262000377576200037662000213565b5b81516200038984826020860162000314565b91505092915050565b6000819050919050565b620003a78162000392565b8114620003b357600080fd5b50565b600081519050620003c7816200039c565b92915050565b600080600080600060a08688031215620003ec57620003eb620001a4565b5b6000620003fc88828901620001fc565b95505060206200040f88828901620001fc565b945050604086015167ffffffffffffffff811115620004335762000432620001a9565b5b62000441888289016200035f565b93505060606200045488828901620001fc565b92505060806200046788828901620003b6565b9150509295509295909350565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620004c757607f821691505b602082108103620004dd57620004dc6200047f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000508565b62000553868362000508565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000596620005906200058a8462000392565b6200056b565b62000392565b9050919050565b6000819050919050565b620005b28362000575565b620005ca620005c1826200059d565b84845462000515565b825550505050565b600090565b620005e1620005d2565b620005ee818484620005a7565b505050565b5b8181101562000616576200060a600082620005d7565b600181019050620005f4565b5050565b601f82111562000665576200062f81620004e3565b6200063a84620004f8565b810160208510156200064a578190505b620006626200065985620004f8565b830182620005f3565b50505b505050565b600082821c905092915050565b60006200068a600019846008026200066a565b1980831691505092915050565b6000620006a5838362000677565b9150826002028217905092915050565b620006c08262000474565b67ffffffffffffffff811115620006dc57620006db6200022e565b5b620006e88254620004ae565b620006f58282856200061a565b600060209050601f8311600181146200072d576000841562000718578287015190505b62000724858262000697565b86555062000794565b601f1984166200073d86620004e3565b60005b82811015620007675784890151825560018201915060208501945060208101905062000740565b8683101562000787578489015162000783601f89168262000677565b8355505b6001600288020188555050505b505050505050565b60805160a05160c05160e05161010051612b5862000819600039600081816104020152610b66015260008181610a3001528181610cf301528181610f0f01528181610fb9015261105d015260008181610387015281816105e1015261085e015260008181610bba0152610d9a015260006111050152612b586000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80634b56a42e1161008c578063d5cc5e2111610066578063d5cc5e2114610276578063dce11375146102a7578063f9ae27f9146102c5578063fd84030c146102f5576100ea565b80634b56a42e146101e45780635727977c14610215578063d37191de14610246576100ea565b8063341edfb4116100c8578063341edfb4146101495780633f20b4c91461017957806340691db4146101975780634585e33b146101c8576100ea565b806308c9e24e146100ef5780631b83ca1e1461010d5780632b7ac3f31461012b575b600080fd5b6100f7610313565b604051610104919061125b565b60405180910390f35b61011561034c565b604051610122919061125b565b60405180910390f35b610133610385565b60405161014091906112fc565b60405180910390f35b610163600480360381019061015e91906114d4565b6103a9565b6040516101709190611572565b60405180910390f35b610181610400565b60405161018e919061159c565b60405180910390f35b6101b160048036038101906101ac91906115dc565b610424565b6040516101bf9291906116a9565b60405180910390f35b6101e260048036038101906101dd9190611739565b6104ec565b005b6101fe60048036038101906101f991906117dc565b610adf565b60405161020c9291906116a9565b60405180910390f35b61022f600480360381019061022a91906114d4565b610b18565b60405161023d929190611876565b60405180910390f35b610260600480360381019061025b91906114d4565b610baa565b60405161026d9190611572565b60405180910390f35b610290600480360381019061028b91906114d4565b610c64565b60405161029e929190611954565b60405180910390f35b6102af610d98565b6040516102bc919061199e565b60405180910390f35b6102df60048036038101906102da91906114d4565b610dbc565b6040516102ec9190611572565b60405180910390f35b6102fd610fb7565b60405161030a91906119da565b60405180910390f35b6040518060400160405280600781526020017f666565644944730000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600981526020017f74696d657374616d70000000000000000000000000000000000000000000000081525081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006103b785858585610fdb565b7fb78272e98de6052aa2c197393914a1fe8ae1cf8dc760f1b74c6da3c2ff7fd10f858585856040516103ec9493929190611a04565b60405180910390a160019050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600060606040518060400160405280600781526020017f666565644944730000000000000000000000000000000000000000000000000081525060006040518060400160405280600981526020017f74696d657374616d7000000000000000000000000000000000000000000000008152508660200135878060e001906104ab9190611a5f565b6040517ff055e4a20000000000000000000000000000000000000000000000000000000081526004016104e396959493929190611cbf565b60405180910390fd5b60008083838101906104fe9190611e11565b9150915060008260008151811061051857610517611e89565b5b602002602001015190506000806000808580602001905181019061053c9190611f7b565b935093509350935060008061055386868686610c64565b915091506001600281111561056b5761056a61189f565b5b816000015160028111156105825761058161189f565b5b146105c457816040517ff78906140000000000000000000000000000000000000000000000000000000081526004016105bb9190611ffe565b60405180910390fd5b6000878060200190518101906105da91906120f6565b91505060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166338416b5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066e9190612190565b905060008173ffffffffffffffffffffffffffffffffffffffff1663ea4b861b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e191906121d2565b905060008273ffffffffffffffffffffffffffffffffffffffff1663e03dab1a3086856040518463ffffffff1660e01b8152600401610722939291906121ff565b60a0604051808303816000875af1158015610741573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107659190612292565b505090508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b38473ffffffffffffffffffffffffffffffffffffffff16633aa5ac076040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f491906121d2565b83602001516040518363ffffffff1660e01b81526004016108169291906122e5565b6020604051808303816000875af1158015610835573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610859919061233a565b5060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f7e83aee8d856040516020016108aa9190612367565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016108d6929190612382565b6000604051808303816000875af11580156108f5573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061091e91906123b9565b9050600081806020019051810190610936919061257b565b905060008c73ffffffffffffffffffffffffffffffffffffffff16633196b7c660405180606001604052808560c0015160170b8152602001600060018111156109825761098161189f565b5b81526020018f8152506040518263ffffffff1660e01b81526004016109a791906126a3565b6020604051808303816000875af11580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea919061233a565b905080610a2e57886040517f63e64d49000000000000000000000000000000000000000000000000000000008152600401610a259190611ffe565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663432d01378a6040518263ffffffff1660e01b8152600401610a879190611ffe565b6020604051808303816000875af1158015610aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aca919061233a565b50505050505050505050505050505050505050565b60006060600186868686604051602001610afc9493929190612818565b6040516020818303038152906040529150915094509492505050565b600080600080610b2a88888888610c64565b91509150600060016002811115610b4457610b4361189f565b5b82600001516002811115610b5b57610b5a61189f565b5b148015610b965750437f00000000000000000000000000000000000000000000000000000000000000008360200151610b949190612882565b115b905082819450945050505094509492505050565b6000610bb885858585610fdb565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a27c7420868686866040518563ffffffff1660e01b8152600401610c179493929190611a04565b6020604051808303816000875af1158015610c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5a919061233a565b9050949350505050565b6000610c6e61119f565b600073d4a838dfa0fd81d5b7a129879c16d7bc8e16fd5563870ff518888888886040518563ffffffff1660e01b8152600401610cad949392919061291e565b602060405180830381865af4158015610cca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cee919061296a565b9050807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663fb1e61ca836040518263ffffffff1660e01b8152600401610d4a9190611ffe565b6040805180830381865afa158015610d66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a9190612a0c565b925092505094509492505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000610dcd87878787610b18565b9150915080610e1357816040517ff7890614000000000000000000000000000000000000000000000000000000008152600401610e0a9190611ffe565b60405180910390fd5b6000610e1d611100565b905060008873ffffffffffffffffffffffffffffffffffffffff16633196b7c66040518060600160405280858152602001600180811115610e6157610e6061189f565b5b81526020018b8152506040518263ffffffff1660e01b8152600401610e8691906126a3565b6020604051808303816000875af1158015610ea5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec9919061233a565b905080610f0d57836040517f63e64d49000000000000000000000000000000000000000000000000000000008152600401610f049190611ffe565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663432d0137856040518263ffffffff1660e01b8152600401610f669190611ffe565b6020604051808303816000875af1158015610f85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa9919061233a565b945050505050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080610fea86868686610c64565b91509150600160028111156110025761100161189f565b5b816000015160028111156110195761101861189f565b5b0361105b57816040517f45b9a3b00000000000000000000000000000000000000000000000000000000081526004016110529190611ffe565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d876594b836040518263ffffffff1660e01b81526004016110b49190611ffe565b6020604051808303816000875af11580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f7919061233a565b50505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561116e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111929190612aa7565b5050509150508091505090565b6040518060400160405280600060028111156111be576111bd61189f565b5b8152602001600081525090565b600081519050919050565b600082825260208201905092915050565b60005b838110156112055780820151818401526020810190506111ea565b60008484015250505050565b6000601f19601f8301169050919050565b600061122d826111cb565b61123781856111d6565b93506112478185602086016111e7565b61125081611211565b840191505092915050565b600060208201905081810360008301526112758184611222565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006112c26112bd6112b88461127d565b61129d565b61127d565b9050919050565b60006112d4826112a7565b9050919050565b60006112e6826112c9565b9050919050565b6112f6816112db565b82525050565b600060208201905061131160008301846112ed565b92915050565b6000604051905090565b600080fd5b600080fd5b60006113368261127d565b9050919050565b6113468161132b565b811461135157600080fd5b50565b6000813590506113638161133d565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6113ab82611211565b810181811067ffffffffffffffff821117156113ca576113c9611373565b5b80604052505050565b60006113dd611317565b90506113e982826113a2565b919050565b600067ffffffffffffffff82111561140957611408611373565b5b61141282611211565b9050602081019050919050565b82818337600083830152505050565b600061144161143c846113ee565b6113d3565b90508281526020810184848401111561145d5761145c61136e565b5b61146884828561141f565b509392505050565b600082601f83011261148557611484611369565b5b813561149584826020860161142e565b91505092915050565b6000819050919050565b6114b18161149e565b81146114bc57600080fd5b50565b6000813590506114ce816114a8565b92915050565b600080600080608085870312156114ee576114ed611321565b5b60006114fc87828801611354565b945050602085013567ffffffffffffffff81111561151d5761151c611326565b5b61152987828801611470565b935050604061153a878288016114bf565b925050606061154b87828801611354565b91505092959194509250565b60008115159050919050565b61156c81611557565b82525050565b60006020820190506115876000830184611563565b92915050565b6115968161149e565b82525050565b60006020820190506115b1600083018461158d565b92915050565b600080fd5b600061010082840312156115d3576115d26115b7565b5b81905092915050565b600080604083850312156115f3576115f2611321565b5b600083013567ffffffffffffffff81111561161157611610611326565b5b61161d858286016115bc565b925050602083013567ffffffffffffffff81111561163e5761163d611326565b5b61164a85828601611470565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b600061167b82611654565b611685818561165f565b93506116958185602086016111e7565b61169e81611211565b840191505092915050565b60006040820190506116be6000830185611563565b81810360208301526116d08184611670565b90509392505050565b600080fd5b600080fd5b60008083601f8401126116f9576116f8611369565b5b8235905067ffffffffffffffff811115611716576117156116d9565b5b602083019150836001820283011115611732576117316116de565b5b9250929050565b600080602083850312156117505761174f611321565b5b600083013567ffffffffffffffff81111561176e5761176d611326565b5b61177a858286016116e3565b92509250509250929050565b60008083601f84011261179c5761179b611369565b5b8235905067ffffffffffffffff8111156117b9576117b86116d9565b5b6020830191508360208202830111156117d5576117d46116de565b5b9250929050565b600080600080604085870312156117f6576117f5611321565b5b600085013567ffffffffffffffff81111561181457611813611326565b5b61182087828801611786565b9450945050602085013567ffffffffffffffff81111561184357611842611326565b5b61184f878288016116e3565b925092505092959194509250565b6000819050919050565b6118708161185d565b82525050565b600060408201905061188b6000830185611867565b6118986020830184611563565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106118df576118de61189f565b5b50565b60008190506118f0826118ce565b919050565b6000611900826118e2565b9050919050565b611910816118f5565b82525050565b61191f8161149e565b82525050565b60408201600082015161193b6000850182611907565b50602082015161194e6020850182611916565b50505050565b60006060820190506119696000830185611867565b6119766020830184611925565b9392505050565b6000611988826112c9565b9050919050565b6119988161197d565b82525050565b60006020820190506119b3600083018461198f565b92915050565b60006119c4826112c9565b9050919050565b6119d4816119b9565b82525050565b60006020820190506119ef60008301846119cb565b92915050565b6119fe8161132b565b82525050565b6000608082019050611a1960008301876119f5565b8181036020830152611a2b8186611670565b9050611a3a604083018561158d565b611a4760608301846119f5565b95945050505050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611a7c57611a7b611a50565b5b80840192508235915067ffffffffffffffff821115611a9e57611a9d611a55565b5b602083019250600182023603831315611aba57611ab9611a5a565b5b509250929050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b3a57607f821691505b602082108103611b4d57611b4c611af3565b5b50919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b60008154611b8681611b22565b611b908186611b53565b94506001821660008114611bab5760018114611bc157611bf4565b60ff198316865281151560200286019350611bf4565b611bca85611b64565b60005b83811015611bec57815481890152600182019150602081019050611bcd565b808801955050505b50505092915050565b6000611c098383611b79565b905092915050565b6000600182019050919050565b6000611c2982611ac2565b611c338185611acd565b935083602082028501611c4585611ade565b8060005b85811015611c8057848403895281611c618582611bfd565b9450611c6c83611c11565b925060208a01995050600181019050611c49565b50829750879550505050505092915050565b6000611c9e838561165f565b9350611cab83858461141f565b611cb483611211565b840190509392505050565b600060a0820190508181036000830152611cd98189611222565b90508181036020830152611ced8188611c1e565b90508181036040830152611d018187611222565b9050611d10606083018661158d565b8181036080830152611d23818486611c92565b9050979650505050505050565b600067ffffffffffffffff821115611d4b57611d4a611373565b5b602082029050602081019050919050565b6000611d6f611d6a84611d30565b6113d3565b90508083825260208201905060208402830185811115611d9257611d916116de565b5b835b81811015611dd957803567ffffffffffffffff811115611db757611db6611369565b5b808601611dc48982611470565b85526020850194505050602081019050611d94565b5050509392505050565b600082601f830112611df857611df7611369565b5b8135611e08848260208601611d5c565b91505092915050565b60008060408385031215611e2857611e27611321565b5b600083013567ffffffffffffffff811115611e4657611e45611326565b5b611e5285828601611de3565b925050602083013567ffffffffffffffff811115611e7357611e72611326565b5b611e7f85828601611470565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611ec38261127d565b9050919050565b611ed381611eb8565b8114611ede57600080fd5b50565b600081519050611ef081611eca565b92915050565b6000611f09611f04846113ee565b6113d3565b905082815260208101848484011115611f2557611f2461136e565b5b611f308482856111e7565b509392505050565b600082601f830112611f4d57611f4c611369565b5b8151611f5d848260208601611ef6565b91505092915050565b600081519050611f75816114a8565b92915050565b60008060008060808587031215611f9557611f94611321565b5b6000611fa387828801611ee1565b945050602085015167ffffffffffffffff811115611fc457611fc3611326565b5b611fd087828801611f38565b9350506040611fe187828801611f66565b9250506060611ff287828801611ee1565b91505092959194509250565b60006020820190506120136000830184611867565b92915050565b600067ffffffffffffffff82111561203457612033611373565b5b602082029050919050565b6120488161185d565b811461205357600080fd5b50565b6000815190506120658161203f565b92915050565b600061207e61207984612019565b6113d3565b90508060208402830185811115612098576120976116de565b5b835b818110156120c157806120ad8882612056565b84526020840193505060208101905061209a565b5050509392505050565b600082601f8301126120e0576120df611369565b5b60036120ed84828561206b565b91505092915050565b6000806080838503121561210d5761210c611321565b5b600061211b858286016120cb565b925050606083015167ffffffffffffffff81111561213c5761213b611326565b5b61214885828601611f38565b9150509250929050565b600061215d8261132b565b9050919050565b61216d81612152565b811461217857600080fd5b50565b60008151905061218a81612164565b92915050565b6000602082840312156121a6576121a5611321565b5b60006121b48482850161217b565b91505092915050565b6000815190506121cc8161133d565b92915050565b6000602082840312156121e8576121e7611321565b5b60006121f6848285016121bd565b91505092915050565b600060608201905061221460008301866119f5565b81810360208301526122268185611670565b905061223560408301846119f5565b949350505050565b600080fd5b6000604082840312156122585761225761223d565b5b61226260406113d3565b90506000612272848285016121bd565b600083015250602061228684828501611f66565b60208301525092915050565b600080600060a084860312156122ab576122aa611321565b5b60006122b986828701612242565b93505060406122ca86828701612242565b92505060806122db86828701611f66565b9150509250925092565b60006040820190506122fa60008301856119f5565b612307602083018461158d565b9392505050565b61231781611557565b811461232257600080fd5b50565b6000815190506123348161230e565b92915050565b6000602082840312156123505761234f611321565b5b600061235e84828501612325565b91505092915050565b600060208201905061237c60008301846119f5565b92915050565b6000604082019050818103600083015261239c8185611670565b905081810360208301526123b08184611670565b90509392505050565b6000602082840312156123cf576123ce611321565b5b600082015167ffffffffffffffff8111156123ed576123ec611326565b5b6123f984828501611f38565b91505092915050565b600063ffffffff82169050919050565b61241b81612402565b811461242657600080fd5b50565b60008151905061243881612412565b92915050565b600077ffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b61246b8161243e565b811461247657600080fd5b50565b60008151905061248881612462565b92915050565b60008160170b9050919050565b6124a48161248e565b81146124af57600080fd5b50565b6000815190506124c18161249b565b92915050565b600060e082840312156124dd576124dc61223d565b5b6124e760e06113d3565b905060006124f784828501612056565b600083015250602061250b84828501612429565b602083015250604061251f84828501612429565b604083015250606061253384828501612479565b606083015250608061254784828501612479565b60808301525060a061255b84828501612429565b60a08301525060c061256f848285016124b2565b60c08301525092915050565b600060e0828403121561259157612590611321565b5b600061259f848285016124c7565b91505092915050565b6000819050919050565b6125bb816125a8565b82525050565b600281106125d2576125d161189f565b5b50565b60008190506125e3826125c1565b919050565b60006125f3826125d5565b9050919050565b612603816125e8565b82525050565b600082825260208201905092915050565b600061262582611654565b61262f8185612609565b935061263f8185602086016111e7565b61264881611211565b840191505092915050565b600060608301600083015161266b60008601826125b2565b50602083015161267e60208601826125fa565b5060408301518482036040860152612696828261261a565b9150508091505092915050565b600060208201905081810360008301526126bd8184612653565b905092915050565b600082825260208201905092915050565b6000819050919050565b60006126ec8385612609565b93506126f983858461141f565b61270283611211565b840190509392505050565b600061271a8484846126e0565b90509392505050565b600080fd5b600080fd5b600080fd5b6000808335600160200384360303811261274f5761274e61272d565b5b83810192508235915060208301925067ffffffffffffffff82111561277757612776612723565b5b60018202360383131561278d5761278c612728565b5b509250929050565b6000602082019050919050565b60006127ae83856126c5565b9350836020840285016127c0846126d6565b8060005b878110156128065784840389526127db8284612732565b6127e686828461270d565b95506127f184612795565b935060208b019a5050506001810190506127c4565b50829750879450505050509392505050565b600060408201905081810360008301526128338186886127a2565b90508181036020830152612848818486611c92565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061288d8261149e565b91506128988361149e565b92508282019050808211156128b0576128af612853565b5b92915050565b6128bf8161132b565b82525050565b600082825260208201905092915050565b60006128e182611654565b6128eb81856128c5565b93506128fb8185602086016111e7565b61290481611211565b840191505092915050565b6129188161149e565b82525050565b600060808201905061293360008301876128b6565b818103602083015261294581866128d6565b9050612954604083018561290f565b61296160608301846128b6565b95945050505050565b6000602082840312156129805761297f611321565b5b600061298e84828501612056565b91505092915050565b600381106129a457600080fd5b50565b6000815190506129b681612997565b92915050565b6000604082840312156129d2576129d161223d565b5b6129dc60406113d3565b905060006129ec848285016129a7565b6000830152506020612a0084828501611f66565b60208301525092915050565b600060408284031215612a2257612a21611321565b5b6000612a30848285016129bc565b91505092915050565b600069ffffffffffffffffffff82169050919050565b612a5881612a39565b8114612a6357600080fd5b50565b600081519050612a7581612a4f565b92915050565b612a84816125a8565b8114612a8f57600080fd5b50565b600081519050612aa181612a7b565b92915050565b600080600080600060a08688031215612ac357612ac2611321565b5b6000612ad188828901612a66565b9550506020612ae288828901612a92565b9450506040612af388828901611f66565b9350506060612b0488828901611f66565b9250506080612b1588828901612a66565b915050929550929590935056fea2646970667358221220b036e7ba8ee7cbaafc5df7d4a5f69a4f7971cee3f18aef03cf2e7ac9dd78087f64736f6c63430008140033608060405234801561001057600080fd5b506104ea806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063432d013714610046578063d876594b14610076578063fb1e61ca146100a6575b600080fd5b610060600480360381019061005b919061034d565b6100d6565b60405161006d9190610395565b60405180910390f35b610090600480360381019061008b919061034d565b6101a5565b60405161009d9190610395565b60405180910390f35b6100c060048036038101906100bb919061034d565b610275565b6040516100cd919061046f565b60405180910390f35b600060405180604001604052806002808111156100f6576100f56103b0565b5b81526020014381525060008084815260200190815260200160002060008201518160000160006101000a81548160ff0219169083600281111561013c5761013b6103b0565b5b0217905550602082015181600101559050503373ffffffffffffffffffffffffffffffffffffffff167fe5bd5dcc470f6a88a5d887cab0bcb1ae39dc5ed91181bcaba2482c57eebcdb4d436040516101949190610499565b60405180910390a260019050919050565b60006040518060400160405280600160028111156101c6576101c56103b0565b5b81526020014381525060008084815260200190815260200160002060008201518160000160006101000a81548160ff0219169083600281111561020c5761020b6103b0565b5b0217905550602082015181600101559050503373ffffffffffffffffffffffffffffffffffffffff167fd74033210025544364879f15fa3093e2fa4bfc9191e8cafb72093520da277b87436040516102649190610499565b60405180910390a260019050919050565b61027d6102e6565b6000808381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1660028111156102bf576102be6103b0565b5b60028111156102d1576102d06103b0565b5b81526020016001820154815250509050919050565b604051806040016040528060006002811115610305576103046103b0565b5b8152602001600081525090565b600080fd5b6000819050919050565b61032a81610317565b811461033557600080fd5b50565b60008135905061034781610321565b92915050565b60006020828403121561036357610362610312565b5b600061037184828501610338565b91505092915050565b60008115159050919050565b61038f8161037a565b82525050565b60006020820190506103aa6000830184610386565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106103f0576103ef6103b0565b5b50565b6000819050610401826103df565b919050565b6000610411826103f3565b9050919050565b61042181610406565b82525050565b6000819050919050565b61043a81610427565b82525050565b6040820160008201516104566000850182610418565b5060208201516104696020850182610431565b50505050565b60006040820190506104846000830184610440565b92915050565b61049381610427565b82525050565b60006020820190506104ae600083018461048a565b9291505056fea2646970667358221220f079e826f4bebfaa12042c8b2d283f1dc7cbfcb5cf370b472ce7450b583956d264736f6c63430008140033","args":["0xf27F9EDA911278dA4988537994141e697E8E0798","0x2ff010DEbC1297f19579B4246cad07bd24F2488A","0x00027bbaff688c906a3e20a34fe951715d1018d262a5b66e38eda027a674cd1b","0xd30e2101a97dcbAeBCBC04F14C3f624E67A35165",60]},"FakedOracleProxy":{"addr":"0xC2fd6707Ff8cE1a49Fe836D84F5e5edB5499aEa5","code":"0x60806040523480156200001157600080fd5b5033600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000885760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200007f9190620001a9565b60405180910390fd5b6200009981620000a060201b60201c565b50620001c6565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001918262000164565b9050919050565b620001a38162000184565b82525050565b6000602082019050620001c0600083018462000198565b92915050565b6116f780620001d66000396000f3fe6080604052600436106100ab5760003560e01c80635c60da1b116100645780635c60da1b146101fd578063715018a6146102285780638da5cb5b1461023f578063d37191de1461026a578063f2fde38b146102a7578063f9ae27f9146102d0576100b2565b8063341edfb4146100b45780633659cfe6146100f157806340691db41461011a5780634585e33b146101585780634b56a42e146101815780635727977c146101bf576100b2565b366100b257005b005b3480156100c057600080fd5b506100db60048036038101906100d69190610c2c565b61030d565b6040516100e89190610cca565b60405180910390f35b3480156100fd57600080fd5b5061011860048036038101906101139190610ce5565b6103a2565b005b34801561012657600080fd5b50610141600480360381019061013c9190610d37565b6103ee565b60405161014f929190610e2e565b60405180910390f35b34801561016457600080fd5b5061017f600480360381019061017a9190610ebe565b6104a2565b005b34801561018d57600080fd5b506101a860048036038101906101a39190610f61565b610535565b6040516101b6929190610e2e565b60405180910390f35b3480156101cb57600080fd5b506101e660048036038101906101e19190610c2c565b6105ed565b6040516101f4929190610ffb565b60405180910390f35b34801561020957600080fd5b5061021261069e565b60405161021f9190611033565b60405180910390f35b34801561023457600080fd5b5061023d6106c8565b005b34801561024b57600080fd5b506102546106dc565b6040516102619190611033565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190610c2c565b610705565b60405161029e9190610cca565b60405180910390f35b3480156102b357600080fd5b506102ce60048036038101906102c99190610ce5565b6107b5565b005b3480156102dc57600080fd5b506102f760048036038101906102f29190610c2c565b61083b565b6040516103049190610cca565b60405180910390f35b600061031761069e565b73ffffffffffffffffffffffffffffffffffffffff1663341edfb4868686866040518563ffffffff1660e01b8152600401610355949392919061105d565b6020604051808303816000875af1158015610374573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039891906110d5565b9050949350505050565b6103aa6108eb565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340691db485856040518363ffffffff1660e01b815260040161044f929190611429565b6000604051808303816000875af115801561046e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061049791906114d0565b915091509250929050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634585e33b83836040518363ffffffff1660e01b81526004016104ff929190611559565b600060405180830381600087803b15801561051957600080fd5b505af115801561052d573d6000803e3d6000fd5b505050505050565b60006060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b56a42e878787876040518563ffffffff1660e01b815260040161059a9493929190611631565b600060405180830381865afa1580156105b7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105e091906114d0565b9150915094509492505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635727977c878787876040518563ffffffff1660e01b8152600401610651949392919061105d565b6040805180830381865afa15801561066d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106919190611681565b9150915094509492505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106d06108eb565b6106da6000610972565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d37191de868686866040518563ffffffff1660e01b8152600401610768949392919061105d565b6020604051808303816000875af1158015610787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab91906110d5565b9050949350505050565b6107bd6108eb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361082f5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016108269190611033565b60405180910390fd5b61083881610972565b50565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f9ae27f9868686866040518563ffffffff1660e01b815260040161089e949392919061105d565b6020604051808303816000875af11580156108bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e191906110d5565b9050949350505050565b6108f3610a36565b73ffffffffffffffffffffffffffffffffffffffff166109116106dc565b73ffffffffffffffffffffffffffffffffffffffff161461097057610934610a36565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016109679190611033565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610a7d82610a52565b9050919050565b610a8d81610a72565b8114610a9857600080fd5b50565b600081359050610aaa81610a84565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610b0382610aba565b810181811067ffffffffffffffff82111715610b2257610b21610acb565b5b80604052505050565b6000610b35610a3e565b9050610b418282610afa565b919050565b600067ffffffffffffffff821115610b6157610b60610acb565b5b610b6a82610aba565b9050602081019050919050565b82818337600083830152505050565b6000610b99610b9484610b46565b610b2b565b905082815260208101848484011115610bb557610bb4610ab5565b5b610bc0848285610b77565b509392505050565b600082601f830112610bdd57610bdc610ab0565b5b8135610bed848260208601610b86565b91505092915050565b6000819050919050565b610c0981610bf6565b8114610c1457600080fd5b50565b600081359050610c2681610c00565b92915050565b60008060008060808587031215610c4657610c45610a48565b5b6000610c5487828801610a9b565b945050602085013567ffffffffffffffff811115610c7557610c74610a4d565b5b610c8187828801610bc8565b9350506040610c9287828801610c17565b9250506060610ca387828801610a9b565b91505092959194509250565b60008115159050919050565b610cc481610caf565b82525050565b6000602082019050610cdf6000830184610cbb565b92915050565b600060208284031215610cfb57610cfa610a48565b5b6000610d0984828501610a9b565b91505092915050565b600080fd5b60006101008284031215610d2e57610d2d610d12565b5b81905092915050565b60008060408385031215610d4e57610d4d610a48565b5b600083013567ffffffffffffffff811115610d6c57610d6b610a4d565b5b610d7885828601610d17565b925050602083013567ffffffffffffffff811115610d9957610d98610a4d565b5b610da585828601610bc8565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610de9578082015181840152602081019050610dce565b60008484015250505050565b6000610e0082610daf565b610e0a8185610dba565b9350610e1a818560208601610dcb565b610e2381610aba565b840191505092915050565b6000604082019050610e436000830185610cbb565b8181036020830152610e558184610df5565b90509392505050565b600080fd5b600080fd5b60008083601f840112610e7e57610e7d610ab0565b5b8235905067ffffffffffffffff811115610e9b57610e9a610e5e565b5b602083019150836001820283011115610eb757610eb6610e63565b5b9250929050565b60008060208385031215610ed557610ed4610a48565b5b600083013567ffffffffffffffff811115610ef357610ef2610a4d565b5b610eff85828601610e68565b92509250509250929050565b60008083601f840112610f2157610f20610ab0565b5b8235905067ffffffffffffffff811115610f3e57610f3d610e5e565b5b602083019150836020820283011115610f5a57610f59610e63565b5b9250929050565b60008060008060408587031215610f7b57610f7a610a48565b5b600085013567ffffffffffffffff811115610f9957610f98610a4d565b5b610fa587828801610f0b565b9450945050602085013567ffffffffffffffff811115610fc857610fc7610a4d565b5b610fd487828801610e68565b925092505092959194509250565b6000819050919050565b610ff581610fe2565b82525050565b60006040820190506110106000830185610fec565b61101d6020830184610cbb565b9392505050565b61102d81610a72565b82525050565b60006020820190506110486000830184611024565b92915050565b61105781610bf6565b82525050565b60006080820190506110726000830187611024565b81810360208301526110848186610df5565b9050611093604083018561104e565b6110a06060830184611024565b95945050505050565b6110b281610caf565b81146110bd57600080fd5b50565b6000815190506110cf816110a9565b92915050565b6000602082840312156110eb576110ea610a48565b5b60006110f9848285016110c0565b91505092915050565b60006111116020840184610c17565b905092915050565b61112281610bf6565b82525050565b61113181610fe2565b811461113c57600080fd5b50565b60008135905061114e81611128565b92915050565b6000611163602084018461113f565b905092915050565b61117481610fe2565b82525050565b60006111896020840184610a9b565b905092915050565b61119a81610a72565b82525050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126111cc576111cb6111aa565b5b83810192508235915060208301925067ffffffffffffffff8211156111f4576111f36111a0565b5b60208202360383131561120a576112096111a5565b5b509250929050565b600082825260208201905092915050565b600080fd5b82818337505050565b600061123d8385611212565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156112705761126f611223565b5b602083029250611281838584611228565b82840190509392505050565b600080833560016020038436030381126112aa576112a96111aa565b5b83810192508235915060208301925067ffffffffffffffff8211156112d2576112d16111a0565b5b6001820236038313156112e8576112e76111a5565b5b509250929050565b600082825260208201905092915050565b600061130d83856112f0565b935061131a838584610b77565b61132383610aba565b840190509392505050565b600061010083016113426000840184611102565b61134f6000860182611119565b5061135d6020840184611102565b61136a6020860182611119565b506113786040840184611154565b611385604086018261116b565b506113936060840184611102565b6113a06060860182611119565b506113ae6080840184611154565b6113bb608086018261116b565b506113c960a084018461117a565b6113d660a0860182611191565b506113e460c08401846111af565b85830360c08701526113f7838284611231565b9250505061140860e084018461128d565b85830360e087015261141b838284611301565b925050508091505092915050565b60006040820190508181036000830152611443818561132e565b905081810360208301526114578184610df5565b90509392505050565b600061147361146e84610b46565b610b2b565b90508281526020810184848401111561148f5761148e610ab5565b5b61149a848285610dcb565b509392505050565b600082601f8301126114b7576114b6610ab0565b5b81516114c7848260208601611460565b91505092915050565b600080604083850312156114e7576114e6610a48565b5b60006114f5858286016110c0565b925050602083015167ffffffffffffffff81111561151657611515610a4d565b5b611522858286016114a2565b9150509250929050565b60006115388385610dba565b9350611545838584610b77565b61154e83610aba565b840190509392505050565b6000602082019050818103600083015261157481848661152c565b90509392505050565b600082825260208201905092915050565b6000819050919050565b60006115a5848484611301565b90509392505050565b6000602082019050919050565b60006115c7838561157d565b9350836020840285016115d98461158e565b8060005b8781101561161f5784840389526115f4828461128d565b6115ff868284611598565b955061160a846115ae565b935060208b019a5050506001810190506115dd565b50829750879450505050509392505050565b6000604082019050818103600083015261164c8186886115bb565b9050818103602083015261166181848661152c565b905095945050505050565b60008151905061167b81611128565b92915050565b6000806040838503121561169857611697610a48565b5b60006116a68582860161166c565b92505060206116b7858286016110c0565b915050925092905056fea2646970667358221220a079204ec4b60f67144ba9ec99dfb922311ebb899e76d269a6a42dbbf1679ccf64736f6c63430008140033","args":[]},"SimpleConsumer":{"addr":"0xEb29399047d9bdE7Af5660ACE2714CC965bdbC92","code":"0x60a060405234801561001057600080fd5b50604051610e3c380380610e3c833981810160405281019061003291906100cf565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506100fc565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061009c82610071565b9050919050565b6100ac81610091565b81146100b757600080fd5b50565b6000815190506100c9816100a3565b92915050565b6000602082840312156100e5576100e461006c565b5b60006100f3848285016100ba565b91505092915050565b608051610d17610125600039600081816102c5015281816103e301526104620152610d176000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806343c3fcb11161005b57806343c3fcb1146101005780637dc0d1d01461011e578063abbb3a9b1461013c578063b7cd5ef91461015c5761007d565b80633196b7c6146100825780633b5d7c12146100b257806340dd1561146100e2575b600080fd5b61009c600480360381019061009791906107a4565b61018c565b6040516100a99190610808565b60405180910390f35b6100cc60048036038101906100c7919061091b565b6102c0565b6040516100d99190610808565b60405180910390f35b6100ea6103c8565b6040516100f791906109d2565b60405180910390f35b6101086103db565b60405161011591906109fc565b60405180910390f35b6101266103e1565b6040516101339190610a26565b60405180910390f35b610144610405565b60405161015393929190610a50565b60405180910390f35b6101766004803603810190610171919061091b565b61045d565b6040516101839190610808565b60405180910390f35b600081600001516000819055508160200151600160006101000a81548160ff021916908360018111156101c2576101c161095b565b5b021790555081604001518060200190518101906101df9190610b15565b600260008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201559050507fe317dab6c24412531a104b7fae35d5271976c773fae5615e5fba0b023472576882600001516040516102af91906109fc565b60405180910390a160019050919050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d37191de30866040516020016103119190610ba2565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016103419493929190610c3c565b6020604051808303816000875af1158015610360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103849190610cb4565b9050806103bd576040517fd979d1f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600191505092915050565b600160009054906101000a900460ff1681565b60005481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60028060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663341edfb430866040516020016104ae9190610ba2565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016104de9493929190610c3c565b6020604051808303816000875af11580156104fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105219190610cb4565b90508061055a576040517fd979d1f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600191505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6105c78261057e565b810181811067ffffffffffffffff821117156105e6576105e561058f565b5b80604052505050565b60006105f9610565565b905061060582826105be565b919050565b600080fd5b6000819050919050565b6106228161060f565b811461062d57600080fd5b50565b60008135905061063f81610619565b92915050565b6002811061065257600080fd5b50565b60008135905061066481610645565b92915050565b600080fd5b600080fd5b600067ffffffffffffffff82111561068f5761068e61058f565b5b6106988261057e565b9050602081019050919050565b82818337600083830152505050565b60006106c76106c284610674565b6105ef565b9050828152602081018484840111156106e3576106e261066f565b5b6106ee8482856106a5565b509392505050565b600082601f83011261070b5761070a61066a565b5b813561071b8482602086016106b4565b91505092915050565b60006060828403121561073a57610739610579565b5b61074460606105ef565b9050600061075484828501610630565b600083015250602061076884828501610655565b602083015250604082013567ffffffffffffffff81111561078c5761078b61060a565b5b610798848285016106f6565b60408301525092915050565b6000602082840312156107ba576107b961056f565b5b600082013567ffffffffffffffff8111156107d8576107d7610574565b5b6107e484828501610724565b91505092915050565b60008115159050919050565b610802816107ed565b82525050565b600060208201905061081d60008301846107f9565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061084e82610823565b9050919050565b61085e81610843565b811461086957600080fd5b50565b60008135905061087b81610855565b92915050565b6000819050919050565b61089481610881565b811461089f57600080fd5b50565b6000813590506108b18161088b565b92915050565b6000606082840312156108cd576108cc610579565b5b6108d760606105ef565b905060006108e78482850161086c565b60008301525060206108fb8482850161086c565b602083015250604061090f848285016108a2565b60408301525092915050565b600080608083850312156109325761093161056f565b5b6000610940858286016108b7565b9250506060610951858286016108a2565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811061099b5761099a61095b565b5b50565b60008190506109ac8261098a565b919050565b60006109bc8261099e565b9050919050565b6109cc816109b1565b82525050565b60006020820190506109e760008301846109c3565b92915050565b6109f68161060f565b82525050565b6000602082019050610a1160008301846109ed565b92915050565b610a2081610843565b82525050565b6000602082019050610a3b6000830184610a17565b92915050565b610a4a81610881565b82525050565b6000606082019050610a656000830186610a17565b610a726020830185610a17565b610a7f6040830184610a41565b949350505050565b600081519050610a9681610855565b92915050565b600081519050610aab8161088b565b92915050565b600060608284031215610ac757610ac6610579565b5b610ad160606105ef565b90506000610ae184828501610a87565b6000830152506020610af584828501610a87565b6020830152506040610b0984828501610a9c565b60408301525092915050565b600060608284031215610b2b57610b2a61056f565b5b6000610b3984828501610ab1565b91505092915050565b610b4b81610843565b82525050565b610b5a81610881565b82525050565b606082016000820151610b766000850182610b42565b506020820151610b896020850182610b42565b506040820151610b9c6040850182610b51565b50505050565b6000606082019050610bb76000830184610b60565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bf7578082015181840152602081019050610bdc565b60008484015250505050565b6000610c0e82610bbd565b610c188185610bc8565b9350610c28818560208601610bd9565b610c318161057e565b840191505092915050565b6000608082019050610c516000830187610a17565b8181036020830152610c638186610c03565b9050610c726040830185610a41565b610c7f6060830184610a17565b95945050505050565b610c91816107ed565b8114610c9c57600080fd5b50565b600081519050610cae81610c88565b92915050565b600060208284031215610cca57610cc961056f565b5b6000610cd884828501610c9f565b9150509291505056fea2646970667358221220aee668c5f901cc6e6b8874c3135e22cfe0d165bb66bcab4ade29589c3e36060064736f6c63430008140033","args":["0xC2fd6707Ff8cE1a49Fe836D84F5e5edB5499aEa5"]},"SwapApp":{"addr":"0x36e66d8803099aA8eFAc4e7A5954d17EE1014D9E","code":"0x60a06040523480156200001157600080fd5b506040516200134c3803806200134c8339818101604052810190620000379190620000dc565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506200010e565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000a48262000077565b9050919050565b620000b68162000097565b8114620000c257600080fd5b50565b600081519050620000d681620000ab565b92915050565b600060208284031215620000f557620000f462000072565b5b60006200010584828501620000c5565b91505092915050565b60805161121462000138600039600081816101ad015281816102be01526102e501526112146000f3fe6080604052600436106100435760003560e01c80633196b7c61461004f5780636a7e6c9a1461008c5780637dc0d1d0146100c95780639310bba4146100f45761004a565b3661004a57005b600080fd5b34801561005b57600080fd5b5061007660048036038101906100719190610948565b610131565b60405161008391906109ac565b60405180910390f35b34801561009857600080fd5b506100b360048036038101906100ae9190610ad3565b6101a8565b6040516100c091906109ac565b60405180910390f35b3480156100d557600080fd5b506100de6102bc565b6040516100eb9190610b22565b60405180910390f35b34801561010057600080fd5b5061011b60048036038101906101169190610ad3565b6102e0565b60405161012891906109ac565b60405180910390f35b600080826040015180602001905181019061014c9190610bdf565b9050600061015e8460000151836103f4565b90507fdf1c71557a4251e0650fabd3081054ea195463663546b7fd5ec5040261044594818560000151604051610195929190610c2a565b60405180910390a1600192505050919050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d37191de30866040516020016101f99190610cc6565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016102299493929190610d60565b6020604051808303816000875af1158015610248573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026c9190610dd8565b9050806102b25783836040517fa0ba1a330000000000000000000000000000000000000000000000000000000081526004016102a9929190610e05565b60405180910390fd5b8091505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663341edfb430866040516020016103319190610cc6565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016103619493929190610d60565b6020604051808303816000875af1158015610380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a49190610dd8565b9050806103ea5783836040517fa0ba1a330000000000000000000000000000000000000000000000000000000081526004016103e1929190610e05565b60405180910390fd5b8091505092915050565b600080826020015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046a9190610e67565b9050600061047c846040015186610600565b90507f63f32f63810afda7c9be9643f9fa73ee3f39a9fd8bb35775a2b0d73e48ed9bed816040516104ad9190610e94565b60405180910390a1600082600a6104c49190611011565b8560600151836104d4919061105c565b6104de91906110cd565b9050846020015173ffffffffffffffffffffffffffffffffffffffff166323b872dd86600001513088606001516040518463ffffffff1660e01b8152600401610529939291906110fe565b6020604051808303816000875af1158015610548573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056c9190610dd8565b50846040015173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8660000151836040518363ffffffff1660e01b81526004016105b0929190611135565b6020604051808303816000875af11580156105cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f39190610dd8565b5080935050505092915050565b6000806012905060008473ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610654573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106789190610e67565b90508160ff168160ff1610156106ba5760008183610696919061115e565b905080600a6106a59190611011565b856106b091906110cd565b9350505050610703565b8160ff168160ff1611156106fd57600082826106d6919061115e565b60ff16905080600a6106e89190611193565b856106f3919061105c565b9350505050610703565b83925050505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61076b82610722565b810181811067ffffffffffffffff8211171561078a57610789610733565b5b80604052505050565b600061079d610709565b90506107a98282610762565b919050565b600080fd5b6000819050919050565b6107c6816107b3565b81146107d157600080fd5b50565b6000813590506107e3816107bd565b92915050565b600281106107f657600080fd5b50565b600081359050610808816107e9565b92915050565b600080fd5b600080fd5b600067ffffffffffffffff82111561083357610832610733565b5b61083c82610722565b9050602081019050919050565b82818337600083830152505050565b600061086b61086684610818565b610793565b90508281526020810184848401111561088757610886610813565b5b610892848285610849565b509392505050565b600082601f8301126108af576108ae61080e565b5b81356108bf848260208601610858565b91505092915050565b6000606082840312156108de576108dd61071d565b5b6108e86060610793565b905060006108f8848285016107d4565b600083015250602061090c848285016107f9565b602083015250604082013567ffffffffffffffff8111156109305761092f6107ae565b5b61093c8482850161089a565b60408301525092915050565b60006020828403121561095e5761095d610713565b5b600082013567ffffffffffffffff81111561097c5761097b610718565b5b610988848285016108c8565b91505092915050565b60008115159050919050565b6109a681610991565b82525050565b60006020820190506109c1600083018461099d565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006109f2826109c7565b9050919050565b610a02816109e7565b8114610a0d57600080fd5b50565b600081359050610a1f816109f9565b92915050565b6000819050919050565b610a3881610a25565b8114610a4357600080fd5b50565b600081359050610a5581610a2f565b92915050565b600060808284031215610a7157610a7061071d565b5b610a7b6080610793565b90506000610a8b84828501610a10565b6000830152506020610a9f84828501610a10565b6020830152506040610ab384828501610a10565b6040830152506060610ac784828501610a46565b60608301525092915050565b60008060a08385031215610aea57610ae9610713565b5b6000610af885828601610a5b565b9250506080610b0985828601610a46565b9150509250929050565b610b1c816109e7565b82525050565b6000602082019050610b376000830184610b13565b92915050565b600081519050610b4c816109f9565b92915050565b600081519050610b6181610a2f565b92915050565b600060808284031215610b7d57610b7c61071d565b5b610b876080610793565b90506000610b9784828501610b3d565b6000830152506020610bab84828501610b3d565b6020830152506040610bbf84828501610b3d565b6040830152506060610bd384828501610b52565b60608301525092915050565b600060808284031215610bf557610bf4610713565b5b6000610c0384828501610b67565b91505092915050565b610c1581610a25565b82525050565b610c24816107b3565b82525050565b6000604082019050610c3f6000830185610c0c565b610c4c6020830184610c1b565b9392505050565b610c5c816109e7565b82525050565b610c6b81610a25565b82525050565b608082016000820151610c876000850182610c53565b506020820151610c9a6020850182610c53565b506040820151610cad6040850182610c53565b506060820151610cc06060850182610c62565b50505050565b6000608082019050610cdb6000830184610c71565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d1b578082015181840152602081019050610d00565b60008484015250505050565b6000610d3282610ce1565b610d3c8185610cec565b9350610d4c818560208601610cfd565b610d5581610722565b840191505092915050565b6000608082019050610d756000830187610b13565b8181036020830152610d878186610d27565b9050610d966040830185610c0c565b610da36060830184610b13565b95945050505050565b610db581610991565b8114610dc057600080fd5b50565b600081519050610dd281610dac565b92915050565b600060208284031215610dee57610ded610713565b5b6000610dfc84828501610dc3565b91505092915050565b600060a082019050610e1a6000830185610c71565b610e276080830184610c0c565b9392505050565b600060ff82169050919050565b610e4481610e2e565b8114610e4f57600080fd5b50565b600081519050610e6181610e3b565b92915050565b600060208284031215610e7d57610e7c610713565b5b6000610e8b84828501610e52565b91505092915050565b6000602082019050610ea96000830184610c0c565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115610f3557808604811115610f1157610f10610eaf565b5b6001851615610f205780820291505b8081029050610f2e85610ede565b9450610ef5565b94509492505050565b600082610f4e576001905061100a565b81610f5c576000905061100a565b8160018114610f725760028114610f7c57610fab565b600191505061100a565b60ff841115610f8e57610f8d610eaf565b5b8360020a915084821115610fa557610fa4610eaf565b5b5061100a565b5060208310610133831016604e8410600b8410161715610fe05782820a905083811115610fdb57610fda610eaf565b5b61100a565b610fed8484846001610eeb565b9250905081840481111561100457611003610eaf565b5b81810290505b9392505050565b600061101c82610a25565b915061102783610e2e565b92506110547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610f3e565b905092915050565b600061106782610a25565b915061107283610a25565b925082820261108081610a25565b9150828204841483151761109757611096610eaf565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006110d882610a25565b91506110e383610a25565b9250826110f3576110f261109e565b5b828204905092915050565b60006060820190506111136000830186610b13565b6111206020830185610b13565b61112d6040830184610c0c565b949350505050565b600060408201905061114a6000830185610b13565b6111576020830184610c0c565b9392505050565b600061116982610e2e565b915061117483610e2e565b9250828203905060ff81111561118d5761118c610eaf565b5b92915050565b600061119e82610a25565b91506111a983610a25565b92506111d67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610f3e565b90509291505056fea2646970667358221220f4e1dd91063b49d83455ce3b16de8107b4474ad417bfc395cb84b2c00b139a4864736f6c63430008140033","args":["0xC2fd6707Ff8cE1a49Fe836D84F5e5edB5499aEa5"]},"FWETH":{"addr":"0x38eBfFbAd3A14AF0f4601cfC86813d7A46Ab2182","code":"0x60806040523480156200001157600080fd5b506040518060400160405280600b81526020017f466f7274697320574554480000000000000000000000000000000000000000008152506040518060400160405280600581526020017f665745544800000000000000000000000000000000000000000000000000000081525081600390816200008f919062000324565b508060049081620000a1919062000324565b5050506200040b565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200012c57607f821691505b602082108103620001425762000141620000e4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200016d565b620001b886836200016d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000205620001ff620001f984620001d0565b620001da565b620001d0565b9050919050565b6000819050919050565b6200022183620001e4565b6200023962000230826200020c565b8484546200017a565b825550505050565b600090565b6200025062000241565b6200025d81848462000216565b505050565b5b8181101562000285576200027960008262000246565b60018101905062000263565b5050565b601f821115620002d4576200029e8162000148565b620002a9846200015d565b81016020851015620002b9578190505b620002d1620002c8856200015d565b83018262000262565b50505b505050565b600082821c905092915050565b6000620002f960001984600802620002d9565b1980831691505092915050565b6000620003148383620002e6565b9150826002028217905092915050565b6200032f82620000aa565b67ffffffffffffffff8111156200034b576200034a620000b5565b5b62000357825462000113565b6200036482828562000289565b600060209050601f8311600181146200039c576000841562000387578287015190505b62000393858262000306565b86555062000403565b601f198416620003ac8662000148565b60005b82811015620003d657848901518255600182019150602085019450602081019050620003af565b86831015620003f65784890151620003f2601f891682620002e6565b8355505b6001600288020188555050505b505050505050565b6111ee806200041b6000396000f3fe6080604052600436106100a05760003560e01c8063313ce56711610064578063313ce567146101b257806370a08231146101dd57806395d89b411461021a578063a9059cbb14610245578063d0e30db014610282578063dd62ed3e1461028c576100af565b806306fdde03146100b9578063095ea7b3146100e457806318160ddd1461012157806323b872dd1461014c5780632e1a7d4d14610189576100af565b366100af576100ad6102c9565b005b6100b76102c9565b005b3480156100c557600080fd5b506100ce610323565b6040516100db9190610dcf565b60405180910390f35b3480156100f057600080fd5b5061010b60048036038101906101069190610e8a565b6103b5565b6040516101189190610ee5565b60405180910390f35b34801561012d57600080fd5b506101366103d8565b6040516101439190610f0f565b60405180910390f35b34801561015857600080fd5b50610173600480360381019061016e9190610f2a565b6103e2565b6040516101809190610ee5565b60405180910390f35b34801561019557600080fd5b506101b060048036038101906101ab9190610f7d565b610411565b005b3480156101be57600080fd5b506101c7610510565b6040516101d49190610fc6565b60405180910390f35b3480156101e957600080fd5b5061020460048036038101906101ff9190610fe1565b610519565b6040516102119190610f0f565b60405180910390f35b34801561022657600080fd5b5061022f610561565b60405161023c9190610dcf565b60405180910390f35b34801561025157600080fd5b5061026c60048036038101906102679190610e8a565b6105f3565b6040516102799190610ee5565b60405180910390f35b61028a6102c9565b005b34801561029857600080fd5b506102b360048036038101906102ae919061100e565b610616565b6040516102c09190610f0f565b60405180910390f35b6102d3333461069d565b3373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516103199190610f0f565b60405180910390a2565b6060600380546103329061107d565b80601f016020809104026020016040519081016040528092919081815260200182805461035e9061107d565b80156103ab5780601f10610380576101008083540402835291602001916103ab565b820191906000526020600020905b81548152906001019060200180831161038e57829003601f168201915b5050505050905090565b6000806103c061071f565b90506103cd818585610727565b600191505092915050565b6000600254905090565b6000806103ed61071f565b90506103fa858285610739565b6104058585856107cd565b60019150509392505050565b60003373ffffffffffffffffffffffffffffffffffffffff1682604051610437906110df565b60006040518083038185875af1925050503d8060008114610474576040519150601f19603f3d011682016040523d82523d6000602084013e610479565b606091505b50509050806104b4576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104be33836108c1565b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65836040516105049190610f0f565b60405180910390a25050565b60006012905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546105709061107d565b80601f016020809104026020016040519081016040528092919081815260200182805461059c9061107d565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b5050505050905090565b6000806105fe61071f565b905061060b8185856107cd565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361070f5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016107069190611103565b60405180910390fd5b61071b60008383610943565b5050565b600033905090565b6107348383836001610b68565b505050565b60006107458484610616565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107c757818110156107b7578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016107ae9392919061111e565b60405180910390fd5b6107c684848484036000610b68565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361083f5760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016108369190611103565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108b15760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016108a89190611103565b60405180910390fd5b6108bc838383610943565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109335760006040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161092a9190611103565b60405180910390fd5b61093f82600083610943565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109955780600260008282546109899190611184565b92505081905550610a68565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a21578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610a189392919061111e565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ab15780600260008282540392505081905550610afe565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b5b9190610f0f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610bda5760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610bd19190611103565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c4c5760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610c439190611103565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610d39578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610d309190610f0f565b60405180910390a35b50505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d79578082015181840152602081019050610d5e565b60008484015250505050565b6000601f19601f8301169050919050565b6000610da182610d3f565b610dab8185610d4a565b9350610dbb818560208601610d5b565b610dc481610d85565b840191505092915050565b60006020820190508181036000830152610de98184610d96565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e2182610df6565b9050919050565b610e3181610e16565b8114610e3c57600080fd5b50565b600081359050610e4e81610e28565b92915050565b6000819050919050565b610e6781610e54565b8114610e7257600080fd5b50565b600081359050610e8481610e5e565b92915050565b60008060408385031215610ea157610ea0610df1565b5b6000610eaf85828601610e3f565b9250506020610ec085828601610e75565b9150509250929050565b60008115159050919050565b610edf81610eca565b82525050565b6000602082019050610efa6000830184610ed6565b92915050565b610f0981610e54565b82525050565b6000602082019050610f246000830184610f00565b92915050565b600080600060608486031215610f4357610f42610df1565b5b6000610f5186828701610e3f565b9350506020610f6286828701610e3f565b9250506040610f7386828701610e75565b9150509250925092565b600060208284031215610f9357610f92610df1565b5b6000610fa184828501610e75565b91505092915050565b600060ff82169050919050565b610fc081610faa565b82525050565b6000602082019050610fdb6000830184610fb7565b92915050565b600060208284031215610ff757610ff6610df1565b5b600061100584828501610e3f565b91505092915050565b6000806040838503121561102557611024610df1565b5b600061103385828601610e3f565b925050602061104485828601610e3f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061109557607f821691505b6020821081036110a8576110a761104e565b5b50919050565b600081905092915050565b50565b60006110c96000836110ae565b91506110d4826110b9565b600082019050919050565b60006110ea826110bc565b9150819050919050565b6110fd81610e16565b82525050565b600060208201905061111860008301846110f4565b92915050565b600060608201905061113360008301866110f4565b6111406020830185610f00565b61114d6040830184610f00565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061118f82610e54565b915061119a83610e54565b92508282019050808211156111b2576111b1611155565b5b9291505056fea26469706673582212200d5d7fc04e6100ddd7ba69dc88e87d6aed3cdf6122cd15d9878afed98c4f6fc964736f6c63430008140033","args":[]},"FUSDC":{"addr":"0xA895394Bc691c84Aaf19F7f0affa8f3bA9FEB3Fe","code":"0x60806040523480156200001157600080fd5b50336040518060400160405280600b81526020017f466f7274697320555344430000000000000000000000000000000000000000008152506040518060400160405280600581526020017f6655534443000000000000000000000000000000000000000000000000000000815250816003908162000090919062000472565b508060049081620000a2919062000472565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200011a5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200011191906200059e565b60405180910390fd5b6200012b816200013260201b60201c565b50620005bb565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200027a57607f821691505b60208210810362000290576200028f62000232565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002fa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002bb565b620003068683620002bb565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003536200034d62000347846200031e565b62000328565b6200031e565b9050919050565b6000819050919050565b6200036f8362000332565b620003876200037e826200035a565b848454620002c8565b825550505050565b600090565b6200039e6200038f565b620003ab81848462000364565b505050565b5b81811015620003d357620003c760008262000394565b600181019050620003b1565b5050565b601f8211156200042257620003ec8162000296565b620003f784620002ab565b8101602085101562000407578190505b6200041f6200041685620002ab565b830182620003b0565b50505b505050565b600082821c905092915050565b6000620004476000198460080262000427565b1980831691505092915050565b600062000462838362000434565b9150826002028217905092915050565b6200047d82620001f8565b67ffffffffffffffff81111562000499576200049862000203565b5b620004a5825462000261565b620004b2828285620003d7565b600060209050601f831160018114620004ea5760008415620004d5578287015190505b620004e1858262000454565b86555062000551565b601f198416620004fa8662000296565b60005b828110156200052457848901518255600182019150602085019450602081019050620004fd565b8683101562000544578489015162000540601f89168262000434565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005868262000559565b9050919050565b620005988162000579565b82525050565b6000602082019050620005b560008301846200058d565b92915050565b61119a80620005cb6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806370a082311161008c57806395d89b411161006657806395d89b4114610202578063a9059cbb14610220578063dd62ed3e14610250578063f2fde38b14610280576100cf565b806370a08231146101aa578063715018a6146101da5780638da5cb5b146101e4576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce5671461017057806340c10f191461018e575b600080fd5b6100dc61029c565b6040516100e99190610dee565b60405180910390f35b61010c60048036038101906101079190610ea9565b61032e565b6040516101199190610f04565b60405180910390f35b61012a610351565b6040516101379190610f2e565b60405180910390f35b61015a60048036038101906101559190610f49565b61035b565b6040516101679190610f04565b60405180910390f35b61017861038a565b6040516101859190610fb8565b60405180910390f35b6101a860048036038101906101a39190610ea9565b610393565b005b6101c460048036038101906101bf9190610fd3565b6103a9565b6040516101d19190610f2e565b60405180910390f35b6101e26103f1565b005b6101ec610405565b6040516101f9919061100f565b60405180910390f35b61020a61042f565b6040516102179190610dee565b60405180910390f35b61023a60048036038101906102359190610ea9565b6104c1565b6040516102479190610f04565b60405180910390f35b61026a6004803603810190610265919061102a565b6104e4565b6040516102779190610f2e565b60405180910390f35b61029a60048036038101906102959190610fd3565b61056b565b005b6060600380546102ab90611099565b80601f01602080910402602001604051908101604052809291908181526020018280546102d790611099565b80156103245780601f106102f957610100808354040283529160200191610324565b820191906000526020600020905b81548152906001019060200180831161030757829003601f168201915b5050505050905090565b6000806103396105f1565b90506103468185856105f9565b600191505092915050565b6000600254905090565b6000806103666105f1565b905061037385828561060b565b61037e85858561069f565b60019150509392505050565b60006006905090565b61039b610793565b6103a5828261081a565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6103f9610793565b610403600061089c565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461043e90611099565b80601f016020809104026020016040519081016040528092919081815260200182805461046a90611099565b80156104b75780601f1061048c576101008083540402835291602001916104b7565b820191906000526020600020905b81548152906001019060200180831161049a57829003601f168201915b5050505050905090565b6000806104cc6105f1565b90506104d981858561069f565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610573610793565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036105e55760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016105dc919061100f565b60405180910390fd5b6105ee8161089c565b50565b600033905090565b6106068383836001610962565b505050565b600061061784846104e4565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106995781811015610689578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610680939291906110ca565b60405180910390fd5b61069884848484036000610962565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107115760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610708919061100f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107835760006040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161077a919061100f565b60405180910390fd5b61078e838383610b39565b505050565b61079b6105f1565b73ffffffffffffffffffffffffffffffffffffffff166107b9610405565b73ffffffffffffffffffffffffffffffffffffffff1614610818576107dc6105f1565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161080f919061100f565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361088c5760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610883919061100f565b60405180910390fd5b61089860008383610b39565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036109d45760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016109cb919061100f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a465760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610a3d919061100f565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610b33578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b2a9190610f2e565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b8b578060026000828254610b7f9190611130565b92505081905550610c5e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610c17578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610c0e939291906110ca565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ca75780600260008282540392505081905550610cf4565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d519190610f2e565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d98578082015181840152602081019050610d7d565b60008484015250505050565b6000601f19601f8301169050919050565b6000610dc082610d5e565b610dca8185610d69565b9350610dda818560208601610d7a565b610de381610da4565b840191505092915050565b60006020820190508181036000830152610e088184610db5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e4082610e15565b9050919050565b610e5081610e35565b8114610e5b57600080fd5b50565b600081359050610e6d81610e47565b92915050565b6000819050919050565b610e8681610e73565b8114610e9157600080fd5b50565b600081359050610ea381610e7d565b92915050565b60008060408385031215610ec057610ebf610e10565b5b6000610ece85828601610e5e565b9250506020610edf85828601610e94565b9150509250929050565b60008115159050919050565b610efe81610ee9565b82525050565b6000602082019050610f196000830184610ef5565b92915050565b610f2881610e73565b82525050565b6000602082019050610f436000830184610f1f565b92915050565b600080600060608486031215610f6257610f61610e10565b5b6000610f7086828701610e5e565b9350506020610f8186828701610e5e565b9250506040610f9286828701610e94565b9150509250925092565b600060ff82169050919050565b610fb281610f9c565b82525050565b6000602082019050610fcd6000830184610fa9565b92915050565b600060208284031215610fe957610fe8610e10565b5b6000610ff784828501610e5e565b91505092915050565b61100981610e35565b82525050565b60006020820190506110246000830184611000565b92915050565b6000806040838503121561104157611040610e10565b5b600061104f85828601610e5e565b925050602061106085828601610e5e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806110b157607f821691505b6020821081036110c4576110c361106a565b5b50919050565b60006060820190506110df6000830186611000565b6110ec6020830185610f1f565b6110f96040830184610f1f565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061113b82610e73565b915061114683610e73565b925082820190508082111561115e5761115d611101565b5b9291505056fea2646970667358221220eae6eeb5c9e2a1114cc2be7cc00b569fc3361a8ecb42ebc804bb0c059c7cdccb64736f6c63430008140033","args":[]}},"arbitrum-goerli":{"RequestLib":{"addr":"0x4985aCA46c5B9e6b558f3cC3249aA0F8e47212B5","code":"0x610467610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063870ff5181461003a575b600080fd5b610054600480360381019061004f9190610291565b61006a565b604051610061919061032d565b60405180910390f35b60008484848460405160200161008394939291906103e5565b604051602081830303815290604052805190602001209050949350505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100e2826100b7565b9050919050565b6100f2816100d7565b81146100fd57600080fd5b50565b60008135905061010f816100e9565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6101688261011f565b810181811067ffffffffffffffff8211171561018757610186610130565b5b80604052505050565b600061019a6100a3565b90506101a6828261015f565b919050565b600067ffffffffffffffff8211156101c6576101c5610130565b5b6101cf8261011f565b9050602081019050919050565b82818337600083830152505050565b60006101fe6101f9846101ab565b610190565b90508281526020810184848401111561021a5761021961011a565b5b6102258482856101dc565b509392505050565b600082601f83011261024257610241610115565b5b81356102528482602086016101eb565b91505092915050565b6000819050919050565b61026e8161025b565b811461027957600080fd5b50565b60008135905061028b81610265565b92915050565b600080600080608085870312156102ab576102aa6100ad565b5b60006102b987828801610100565b945050602085013567ffffffffffffffff8111156102da576102d96100b2565b5b6102e68782880161022d565b93505060406102f78782880161027c565b925050606061030887828801610100565b91505092959194509250565b6000819050919050565b61032781610314565b82525050565b6000602082019050610342600083018461031e565b92915050565b610351816100d7565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610391578082015181840152602081019050610376565b60008484015250505050565b60006103a882610357565b6103b28185610362565b93506103c2818560208601610373565b6103cb8161011f565b840191505092915050565b6103df8161025b565b82525050565b60006080820190506103fa6000830187610348565b818103602083015261040c818661039d565b905061041b60408301856103d6565b6104286060830184610348565b9594505050505056fea26469706673582212201d17ff2b90975741a8e46b833bff7ea32d7d3fd961ef2235414d66e562ac702964736f6c63430008140033","args":[]},"AutomationEmitter":{"addr":"0xA376eF6473ccf0Ebdf746cE158E792FFDf67Fcb3","code":"0x608060405234801561001057600080fd5b50610471806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a27c742014610030575b600080fd5b61004a60048036038101906100459190610299565b610060565b6040516100579190610337565b60405180910390f35b60007fd392edb8a5a319d0c11e560dec0a6f4b3f3f3dca564c6171478b15bb76a27b878585858560405161009794939291906103ef565b60405180910390a160019050949350505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100ea826100bf565b9050919050565b6100fa816100df565b811461010557600080fd5b50565b600081359050610117816100f1565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61017082610127565b810181811067ffffffffffffffff8211171561018f5761018e610138565b5b80604052505050565b60006101a26100ab565b90506101ae8282610167565b919050565b600067ffffffffffffffff8211156101ce576101cd610138565b5b6101d782610127565b9050602081019050919050565b82818337600083830152505050565b6000610206610201846101b3565b610198565b90508281526020810184848401111561022257610221610122565b5b61022d8482856101e4565b509392505050565b600082601f83011261024a5761024961011d565b5b813561025a8482602086016101f3565b91505092915050565b6000819050919050565b61027681610263565b811461028157600080fd5b50565b6000813590506102938161026d565b92915050565b600080600080608085870312156102b3576102b26100b5565b5b60006102c187828801610108565b945050602085013567ffffffffffffffff8111156102e2576102e16100ba565b5b6102ee87828801610235565b93505060406102ff87828801610284565b925050606061031087828801610108565b91505092959194509250565b60008115159050919050565b6103318161031c565b82525050565b600060208201905061034c6000830184610328565b92915050565b61035b816100df565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561039b578082015181840152602081019050610380565b60008484015250505050565b60006103b282610361565b6103bc818561036c565b93506103cc81856020860161037d565b6103d581610127565b840191505092915050565b6103e981610263565b82525050565b60006080820190506104046000830187610352565b818103602083015261041681866103a7565b905061042560408301856103e0565b6104326060830184610352565b9594505050505056fea264697066735822122099ff787c689a60aa7ed271a5947bb25ef6d252ed7e14ee36d7a9ce9fcbfd090b64736f6c63430008140033","args":[]},"FakedOracle":{"addr":"0xa85024a804705A61399641367F45008939f4047D","code":"0x6101206040523480156200001257600080fd5b506040516200387a3803806200387a8339818101604052810190620000389190620003cd565b84848484848183600081908060018154018082558091505060019003906000526020600020016000909190919091509081620000759190620006b5565b50508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050508473ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505060405162000122906200018c565b604051809103906000f0801580156200013f573d6000803e3d6000fd5b5073ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff1681525050806101008181525050505050505050505050506200079c565b61050a806200337083390190565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001db82620001ae565b9050919050565b620001ed81620001ce565b8114620001f957600080fd5b50565b6000815190506200020d81620001e2565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000268826200021d565b810181811067ffffffffffffffff821117156200028a57620002896200022e565b5b80604052505050565b60006200029f6200019a565b9050620002ad82826200025d565b919050565b600067ffffffffffffffff821115620002d057620002cf6200022e565b5b620002db826200021d565b9050602081019050919050565b60005b8381101562000308578082015181840152602081019050620002eb565b60008484015250505050565b60006200032b6200032584620002b2565b62000293565b9050828152602081018484840111156200034a576200034962000218565b5b62000357848285620002e8565b509392505050565b600082601f83011262000377576200037662000213565b5b81516200038984826020860162000314565b91505092915050565b6000819050919050565b620003a78162000392565b8114620003b357600080fd5b50565b600081519050620003c7816200039c565b92915050565b600080600080600060a08688031215620003ec57620003eb620001a4565b5b6000620003fc88828901620001fc565b95505060206200040f88828901620001fc565b945050604086015167ffffffffffffffff811115620004335762000432620001a9565b5b62000441888289016200035f565b93505060606200045488828901620001fc565b92505060806200046788828901620003b6565b9150509295509295909350565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620004c757607f821691505b602082108103620004dd57620004dc6200047f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000508565b62000553868362000508565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000596620005906200058a8462000392565b6200056b565b62000392565b9050919050565b6000819050919050565b620005b28362000575565b620005ca620005c1826200059d565b84845462000515565b825550505050565b600090565b620005e1620005d2565b620005ee818484620005a7565b505050565b5b8181101562000616576200060a600082620005d7565b600181019050620005f4565b5050565b601f82111562000665576200062f81620004e3565b6200063a84620004f8565b810160208510156200064a578190505b620006626200065985620004f8565b830182620005f3565b50505b505050565b600082821c905092915050565b60006200068a600019846008026200066a565b1980831691505092915050565b6000620006a5838362000677565b9150826002028217905092915050565b620006c08262000474565b67ffffffffffffffff811115620006dc57620006db6200022e565b5b620006e88254620004ae565b620006f58282856200061a565b600060209050601f8311600181146200072d576000841562000718578287015190505b62000724858262000697565b86555062000794565b601f1984166200073d86620004e3565b60005b82811015620007675784890151825560018201915060208501945060208101905062000740565b8683101562000787578489015162000783601f89168262000677565b8355505b6001600288020188555050505b505050505050565b60805160a05160c05160e05161010051612b5762000819600039600081816104020152610b65015260008181610a3001528181610cf201528181610f0e01528181610fb8015261105c015260008181610387015281816105e1015261085e015260008181610bb90152610d99015260006111040152612b576000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80634b56a42e1161008c578063d5cc5e2111610066578063d5cc5e2114610276578063dce11375146102a7578063f9ae27f9146102c5578063fd84030c146102f5576100ea565b80634b56a42e146101e45780635727977c14610215578063d37191de14610246576100ea565b8063341edfb4116100c8578063341edfb4146101495780633f20b4c91461017957806340691db4146101975780634585e33b146101c8576100ea565b806308c9e24e146100ef5780631b83ca1e1461010d5780632b7ac3f31461012b575b600080fd5b6100f7610313565b604051610104919061125a565b60405180910390f35b61011561034c565b604051610122919061125a565b60405180910390f35b610133610385565b60405161014091906112fb565b60405180910390f35b610163600480360381019061015e91906114d3565b6103a9565b6040516101709190611571565b60405180910390f35b610181610400565b60405161018e919061159b565b60405180910390f35b6101b160048036038101906101ac91906115db565b610424565b6040516101bf9291906116a8565b60405180910390f35b6101e260048036038101906101dd9190611738565b6104ec565b005b6101fe60048036038101906101f991906117db565b610adf565b60405161020c9291906116a8565b60405180910390f35b61022f600480360381019061022a91906114d3565b610b18565b60405161023d929190611875565b60405180910390f35b610260600480360381019061025b91906114d3565b610ba9565b60405161026d9190611571565b60405180910390f35b610290600480360381019061028b91906114d3565b610c63565b60405161029e929190611953565b60405180910390f35b6102af610d97565b6040516102bc919061199d565b60405180910390f35b6102df60048036038101906102da91906114d3565b610dbb565b6040516102ec9190611571565b60405180910390f35b6102fd610fb6565b60405161030a91906119d9565b60405180910390f35b6040518060400160405280600781526020017f666565644944730000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600981526020017f74696d657374616d70000000000000000000000000000000000000000000000081525081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006103b785858585610fda565b7fb78272e98de6052aa2c197393914a1fe8ae1cf8dc760f1b74c6da3c2ff7fd10f858585856040516103ec9493929190611a03565b60405180910390a160019050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600060606040518060400160405280600781526020017f666565644944730000000000000000000000000000000000000000000000000081525060006040518060400160405280600981526020017f74696d657374616d7000000000000000000000000000000000000000000000008152508660200135878060e001906104ab9190611a5e565b6040517ff055e4a20000000000000000000000000000000000000000000000000000000081526004016104e396959493929190611cbe565b60405180910390fd5b60008083838101906104fe9190611e10565b9150915060008260008151811061051857610517611e88565b5b602002602001015190506000806000808580602001905181019061053c9190611f7a565b935093509350935060008061055386868686610c63565b915091506001600281111561056b5761056a61189e565b5b816000015160028111156105825761058161189e565b5b146105c457816040517ff78906140000000000000000000000000000000000000000000000000000000081526004016105bb9190611ffd565b60405180910390fd5b6000878060200190518101906105da91906120f5565b91505060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166338416b5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066e919061218f565b905060008173ffffffffffffffffffffffffffffffffffffffff1663ea4b861b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e191906121d1565b905060008273ffffffffffffffffffffffffffffffffffffffff1663e03dab1a3086856040518463ffffffff1660e01b8152600401610722939291906121fe565b60a0604051808303816000875af1158015610741573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107659190612291565b505090508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b38473ffffffffffffffffffffffffffffffffffffffff16633aa5ac076040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f491906121d1565b83602001516040518363ffffffff1660e01b81526004016108169291906122e4565b6020604051808303816000875af1158015610835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108599190612339565b5060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f7e83aee8d856040516020016108aa9190612366565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016108d6929190612381565b6000604051808303816000875af11580156108f5573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061091e91906123b8565b9050600081806020019051810190610936919061257a565b905060008c73ffffffffffffffffffffffffffffffffffffffff16633196b7c660405180606001604052808560c0015160170b8152602001600060018111156109825761098161189e565b5b81526020018f8152506040518263ffffffff1660e01b81526004016109a791906126a2565b6020604051808303816000875af11580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea9190612339565b905080610a2e57886040517f63e64d49000000000000000000000000000000000000000000000000000000008152600401610a259190611ffd565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663432d01378a6040518263ffffffff1660e01b8152600401610a879190611ffd565b6020604051808303816000875af1158015610aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aca9190612339565b50505050505050505050505050505050505050565b60006060600186868686604051602001610afc9493929190612817565b6040516020818303038152906040529150915094509492505050565b600080600080610b2a88888888610c63565b91509150600060016002811115610b4457610b4361189e565b5b82600001516002811115610b5b57610b5a61189e565b5b1480610b955750437f00000000000000000000000000000000000000000000000000000000000000008360200151610b939190612881565b115b905082819450945050505094509492505050565b6000610bb785858585610fda565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a27c7420868686866040518563ffffffff1660e01b8152600401610c169493929190611a03565b6020604051808303816000875af1158015610c35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c599190612339565b9050949350505050565b6000610c6d61119e565b6000734985aca46c5b9e6b558f3cc3249aa0f8e47212b563870ff518888888886040518563ffffffff1660e01b8152600401610cac949392919061291d565b602060405180830381865af4158015610cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ced9190612969565b9050807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663fb1e61ca836040518263ffffffff1660e01b8152600401610d499190611ffd565b6040805180830381865afa158015610d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d899190612a0b565b925092505094509492505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000610dcc87878787610b18565b9150915080610e1257816040517ff7890614000000000000000000000000000000000000000000000000000000008152600401610e099190611ffd565b60405180910390fd5b6000610e1c6110ff565b905060008873ffffffffffffffffffffffffffffffffffffffff16633196b7c66040518060600160405280858152602001600180811115610e6057610e5f61189e565b5b81526020018b8152506040518263ffffffff1660e01b8152600401610e8591906126a2565b6020604051808303816000875af1158015610ea4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec89190612339565b905080610f0c57836040517f63e64d49000000000000000000000000000000000000000000000000000000008152600401610f039190611ffd565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663432d0137856040518263ffffffff1660e01b8152600401610f659190611ffd565b6020604051808303816000875af1158015610f84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa89190612339565b945050505050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080610fe986868686610c63565b91509150600160028111156110015761100061189e565b5b816000015160028111156110185761101761189e565b5b0361105a57816040517f45b9a3b00000000000000000000000000000000000000000000000000000000081526004016110519190611ffd565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d876594b836040518263ffffffff1660e01b81526004016110b39190611ffd565b6020604051808303816000875af11580156110d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f69190612339565b50505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561116d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111919190612aa6565b5050509150508091505090565b6040518060400160405280600060028111156111bd576111bc61189e565b5b8152602001600081525090565b600081519050919050565b600082825260208201905092915050565b60005b838110156112045780820151818401526020810190506111e9565b60008484015250505050565b6000601f19601f8301169050919050565b600061122c826111ca565b61123681856111d5565b93506112468185602086016111e6565b61124f81611210565b840191505092915050565b600060208201905081810360008301526112748184611221565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006112c16112bc6112b78461127c565b61129c565b61127c565b9050919050565b60006112d3826112a6565b9050919050565b60006112e5826112c8565b9050919050565b6112f5816112da565b82525050565b600060208201905061131060008301846112ec565b92915050565b6000604051905090565b600080fd5b600080fd5b60006113358261127c565b9050919050565b6113458161132a565b811461135057600080fd5b50565b6000813590506113628161133c565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6113aa82611210565b810181811067ffffffffffffffff821117156113c9576113c8611372565b5b80604052505050565b60006113dc611316565b90506113e882826113a1565b919050565b600067ffffffffffffffff82111561140857611407611372565b5b61141182611210565b9050602081019050919050565b82818337600083830152505050565b600061144061143b846113ed565b6113d2565b90508281526020810184848401111561145c5761145b61136d565b5b61146784828561141e565b509392505050565b600082601f83011261148457611483611368565b5b813561149484826020860161142d565b91505092915050565b6000819050919050565b6114b08161149d565b81146114bb57600080fd5b50565b6000813590506114cd816114a7565b92915050565b600080600080608085870312156114ed576114ec611320565b5b60006114fb87828801611353565b945050602085013567ffffffffffffffff81111561151c5761151b611325565b5b6115288782880161146f565b9350506040611539878288016114be565b925050606061154a87828801611353565b91505092959194509250565b60008115159050919050565b61156b81611556565b82525050565b60006020820190506115866000830184611562565b92915050565b6115958161149d565b82525050565b60006020820190506115b0600083018461158c565b92915050565b600080fd5b600061010082840312156115d2576115d16115b6565b5b81905092915050565b600080604083850312156115f2576115f1611320565b5b600083013567ffffffffffffffff8111156116105761160f611325565b5b61161c858286016115bb565b925050602083013567ffffffffffffffff81111561163d5761163c611325565b5b6116498582860161146f565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b600061167a82611653565b611684818561165e565b93506116948185602086016111e6565b61169d81611210565b840191505092915050565b60006040820190506116bd6000830185611562565b81810360208301526116cf818461166f565b90509392505050565b600080fd5b600080fd5b60008083601f8401126116f8576116f7611368565b5b8235905067ffffffffffffffff811115611715576117146116d8565b5b602083019150836001820283011115611731576117306116dd565b5b9250929050565b6000806020838503121561174f5761174e611320565b5b600083013567ffffffffffffffff81111561176d5761176c611325565b5b611779858286016116e2565b92509250509250929050565b60008083601f84011261179b5761179a611368565b5b8235905067ffffffffffffffff8111156117b8576117b76116d8565b5b6020830191508360208202830111156117d4576117d36116dd565b5b9250929050565b600080600080604085870312156117f5576117f4611320565b5b600085013567ffffffffffffffff81111561181357611812611325565b5b61181f87828801611785565b9450945050602085013567ffffffffffffffff81111561184257611841611325565b5b61184e878288016116e2565b925092505092959194509250565b6000819050919050565b61186f8161185c565b82525050565b600060408201905061188a6000830185611866565b6118976020830184611562565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106118de576118dd61189e565b5b50565b60008190506118ef826118cd565b919050565b60006118ff826118e1565b9050919050565b61190f816118f4565b82525050565b61191e8161149d565b82525050565b60408201600082015161193a6000850182611906565b50602082015161194d6020850182611915565b50505050565b60006060820190506119686000830185611866565b6119756020830184611924565b9392505050565b6000611987826112c8565b9050919050565b6119978161197c565b82525050565b60006020820190506119b2600083018461198e565b92915050565b60006119c3826112c8565b9050919050565b6119d3816119b8565b82525050565b60006020820190506119ee60008301846119ca565b92915050565b6119fd8161132a565b82525050565b6000608082019050611a1860008301876119f4565b8181036020830152611a2a818661166f565b9050611a39604083018561158c565b611a4660608301846119f4565b95945050505050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611a7b57611a7a611a4f565b5b80840192508235915067ffffffffffffffff821115611a9d57611a9c611a54565b5b602083019250600182023603831315611ab957611ab8611a59565b5b509250929050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b3957607f821691505b602082108103611b4c57611b4b611af2565b5b50919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b60008154611b8581611b21565b611b8f8186611b52565b94506001821660008114611baa5760018114611bc057611bf3565b60ff198316865281151560200286019350611bf3565b611bc985611b63565b60005b83811015611beb57815481890152600182019150602081019050611bcc565b808801955050505b50505092915050565b6000611c088383611b78565b905092915050565b6000600182019050919050565b6000611c2882611ac1565b611c328185611acc565b935083602082028501611c4485611add565b8060005b85811015611c7f57848403895281611c608582611bfc565b9450611c6b83611c10565b925060208a01995050600181019050611c48565b50829750879550505050505092915050565b6000611c9d838561165e565b9350611caa83858461141e565b611cb383611210565b840190509392505050565b600060a0820190508181036000830152611cd88189611221565b90508181036020830152611cec8188611c1d565b90508181036040830152611d008187611221565b9050611d0f606083018661158c565b8181036080830152611d22818486611c91565b9050979650505050505050565b600067ffffffffffffffff821115611d4a57611d49611372565b5b602082029050602081019050919050565b6000611d6e611d6984611d2f565b6113d2565b90508083825260208201905060208402830185811115611d9157611d906116dd565b5b835b81811015611dd857803567ffffffffffffffff811115611db657611db5611368565b5b808601611dc3898261146f565b85526020850194505050602081019050611d93565b5050509392505050565b600082601f830112611df757611df6611368565b5b8135611e07848260208601611d5b565b91505092915050565b60008060408385031215611e2757611e26611320565b5b600083013567ffffffffffffffff811115611e4557611e44611325565b5b611e5185828601611de2565b925050602083013567ffffffffffffffff811115611e7257611e71611325565b5b611e7e8582860161146f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611ec28261127c565b9050919050565b611ed281611eb7565b8114611edd57600080fd5b50565b600081519050611eef81611ec9565b92915050565b6000611f08611f03846113ed565b6113d2565b905082815260208101848484011115611f2457611f2361136d565b5b611f2f8482856111e6565b509392505050565b600082601f830112611f4c57611f4b611368565b5b8151611f5c848260208601611ef5565b91505092915050565b600081519050611f74816114a7565b92915050565b60008060008060808587031215611f9457611f93611320565b5b6000611fa287828801611ee0565b945050602085015167ffffffffffffffff811115611fc357611fc2611325565b5b611fcf87828801611f37565b9350506040611fe087828801611f65565b9250506060611ff187828801611ee0565b91505092959194509250565b60006020820190506120126000830184611866565b92915050565b600067ffffffffffffffff82111561203357612032611372565b5b602082029050919050565b6120478161185c565b811461205257600080fd5b50565b6000815190506120648161203e565b92915050565b600061207d61207884612018565b6113d2565b90508060208402830185811115612097576120966116dd565b5b835b818110156120c057806120ac8882612055565b845260208401935050602081019050612099565b5050509392505050565b600082601f8301126120df576120de611368565b5b60036120ec84828561206a565b91505092915050565b6000806080838503121561210c5761210b611320565b5b600061211a858286016120ca565b925050606083015167ffffffffffffffff81111561213b5761213a611325565b5b61214785828601611f37565b9150509250929050565b600061215c8261132a565b9050919050565b61216c81612151565b811461217757600080fd5b50565b60008151905061218981612163565b92915050565b6000602082840312156121a5576121a4611320565b5b60006121b38482850161217a565b91505092915050565b6000815190506121cb8161133c565b92915050565b6000602082840312156121e7576121e6611320565b5b60006121f5848285016121bc565b91505092915050565b600060608201905061221360008301866119f4565b8181036020830152612225818561166f565b905061223460408301846119f4565b949350505050565b600080fd5b6000604082840312156122575761225661223c565b5b61226160406113d2565b90506000612271848285016121bc565b600083015250602061228584828501611f65565b60208301525092915050565b600080600060a084860312156122aa576122a9611320565b5b60006122b886828701612241565b93505060406122c986828701612241565b92505060806122da86828701611f65565b9150509250925092565b60006040820190506122f960008301856119f4565b612306602083018461158c565b9392505050565b61231681611556565b811461232157600080fd5b50565b6000815190506123338161230d565b92915050565b60006020828403121561234f5761234e611320565b5b600061235d84828501612324565b91505092915050565b600060208201905061237b60008301846119f4565b92915050565b6000604082019050818103600083015261239b818561166f565b905081810360208301526123af818461166f565b90509392505050565b6000602082840312156123ce576123cd611320565b5b600082015167ffffffffffffffff8111156123ec576123eb611325565b5b6123f884828501611f37565b91505092915050565b600063ffffffff82169050919050565b61241a81612401565b811461242557600080fd5b50565b60008151905061243781612411565b92915050565b600077ffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b61246a8161243d565b811461247557600080fd5b50565b60008151905061248781612461565b92915050565b60008160170b9050919050565b6124a38161248d565b81146124ae57600080fd5b50565b6000815190506124c08161249a565b92915050565b600060e082840312156124dc576124db61223c565b5b6124e660e06113d2565b905060006124f684828501612055565b600083015250602061250a84828501612428565b602083015250604061251e84828501612428565b604083015250606061253284828501612478565b606083015250608061254684828501612478565b60808301525060a061255a84828501612428565b60a08301525060c061256e848285016124b1565b60c08301525092915050565b600060e082840312156125905761258f611320565b5b600061259e848285016124c6565b91505092915050565b6000819050919050565b6125ba816125a7565b82525050565b600281106125d1576125d061189e565b5b50565b60008190506125e2826125c0565b919050565b60006125f2826125d4565b9050919050565b612602816125e7565b82525050565b600082825260208201905092915050565b600061262482611653565b61262e8185612608565b935061263e8185602086016111e6565b61264781611210565b840191505092915050565b600060608301600083015161266a60008601826125b1565b50602083015161267d60208601826125f9565b50604083015184820360408601526126958282612619565b9150508091505092915050565b600060208201905081810360008301526126bc8184612652565b905092915050565b600082825260208201905092915050565b6000819050919050565b60006126eb8385612608565b93506126f883858461141e565b61270183611210565b840190509392505050565b60006127198484846126df565b90509392505050565b600080fd5b600080fd5b600080fd5b6000808335600160200384360303811261274e5761274d61272c565b5b83810192508235915060208301925067ffffffffffffffff82111561277657612775612722565b5b60018202360383131561278c5761278b612727565b5b509250929050565b6000602082019050919050565b60006127ad83856126c4565b9350836020840285016127bf846126d5565b8060005b878110156128055784840389526127da8284612731565b6127e586828461270c565b95506127f084612794565b935060208b019a5050506001810190506127c3565b50829750879450505050509392505050565b600060408201905081810360008301526128328186886127a1565b90508181036020830152612847818486611c91565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061288c8261149d565b91506128978361149d565b92508282019050808211156128af576128ae612852565b5b92915050565b6128be8161132a565b82525050565b600082825260208201905092915050565b60006128e082611653565b6128ea81856128c4565b93506128fa8185602086016111e6565b61290381611210565b840191505092915050565b6129178161149d565b82525050565b600060808201905061293260008301876128b5565b818103602083015261294481866128d5565b9050612953604083018561290e565b61296060608301846128b5565b95945050505050565b60006020828403121561297f5761297e611320565b5b600061298d84828501612055565b91505092915050565b600381106129a357600080fd5b50565b6000815190506129b581612996565b92915050565b6000604082840312156129d1576129d061223c565b5b6129db60406113d2565b905060006129eb848285016129a6565b60008301525060206129ff84828501611f65565b60208301525092915050565b600060408284031215612a2157612a20611320565b5b6000612a2f848285016129bb565b91505092915050565b600069ffffffffffffffffffff82169050919050565b612a5781612a38565b8114612a6257600080fd5b50565b600081519050612a7481612a4e565b92915050565b612a83816125a7565b8114612a8e57600080fd5b50565b600081519050612aa081612a7a565b92915050565b600080600080600060a08688031215612ac257612ac1611320565b5b6000612ad088828901612a65565b9550506020612ae188828901612a91565b9450506040612af288828901611f65565b9350506060612b0388828901611f65565b9250506080612b1488828901612a65565b915050929550929590935056fea26469706673582212208c7f1dd11b718f29a103b60142d5b8cda8a7e8e146c5592af716e454d28d12ba64736f6c63430008140033608060405234801561001057600080fd5b506104ea806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063432d013714610046578063d876594b14610076578063fb1e61ca146100a6575b600080fd5b610060600480360381019061005b919061034d565b6100d6565b60405161006d9190610395565b60405180910390f35b610090600480360381019061008b919061034d565b6101a5565b60405161009d9190610395565b60405180910390f35b6100c060048036038101906100bb919061034d565b610275565b6040516100cd919061046f565b60405180910390f35b600060405180604001604052806002808111156100f6576100f56103b0565b5b81526020014381525060008084815260200190815260200160002060008201518160000160006101000a81548160ff0219169083600281111561013c5761013b6103b0565b5b0217905550602082015181600101559050503373ffffffffffffffffffffffffffffffffffffffff167fe5bd5dcc470f6a88a5d887cab0bcb1ae39dc5ed91181bcaba2482c57eebcdb4d436040516101949190610499565b60405180910390a260019050919050565b60006040518060400160405280600160028111156101c6576101c56103b0565b5b81526020014381525060008084815260200190815260200160002060008201518160000160006101000a81548160ff0219169083600281111561020c5761020b6103b0565b5b0217905550602082015181600101559050503373ffffffffffffffffffffffffffffffffffffffff167fd74033210025544364879f15fa3093e2fa4bfc9191e8cafb72093520da277b87436040516102649190610499565b60405180910390a260019050919050565b61027d6102e6565b6000808381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1660028111156102bf576102be6103b0565b5b60028111156102d1576102d06103b0565b5b81526020016001820154815250509050919050565b604051806040016040528060006002811115610305576103046103b0565b5b8152602001600081525090565b600080fd5b6000819050919050565b61032a81610317565b811461033557600080fd5b50565b60008135905061034781610321565b92915050565b60006020828403121561036357610362610312565b5b600061037184828501610338565b91505092915050565b60008115159050919050565b61038f8161037a565b82525050565b60006020820190506103aa6000830184610386565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106103f0576103ef6103b0565b5b50565b6000819050610401826103df565b919050565b6000610411826103f3565b9050919050565b61042181610406565b82525050565b6000819050919050565b61043a81610427565b82525050565b6040820160008201516104566000850182610418565b5060208201516104696020850182610431565b50505050565b60006040820190506104846000830184610440565b92915050565b61049381610427565b82525050565b60006020820190506104ae600083018461048a565b9291505056fea2646970667358221220f079e826f4bebfaa12042c8b2d283f1dc7cbfcb5cf370b472ce7450b583956d264736f6c63430008140033","args":["0xA376eF6473ccf0Ebdf746cE158E792FFDf67Fcb3","0xcB1241Fdf26501fA7A2d47d841dcF72C3CAa9dCe","0x00029584363bcf642315133c335b3646513c20f049602fc7d933be0d3f6360d3","0xd30e2101a97dcbAeBCBC04F14C3f624E67A35165",5]},"FakedOracleProxy":{"addr":"0x9EADa48404913bE9b222310Cc006CE2656427779","code":"0x60806040523480156200001157600080fd5b5033600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000885760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200007f9190620001a9565b60405180910390fd5b6200009981620000a060201b60201c565b50620001c6565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001918262000164565b9050919050565b620001a38162000184565b82525050565b6000602082019050620001c0600083018462000198565b92915050565b6116f780620001d66000396000f3fe6080604052600436106100ab5760003560e01c80635c60da1b116100645780635c60da1b146101fd578063715018a6146102285780638da5cb5b1461023f578063d37191de1461026a578063f2fde38b146102a7578063f9ae27f9146102d0576100b2565b8063341edfb4146100b45780633659cfe6146100f157806340691db41461011a5780634585e33b146101585780634b56a42e146101815780635727977c146101bf576100b2565b366100b257005b005b3480156100c057600080fd5b506100db60048036038101906100d69190610c2c565b61030d565b6040516100e89190610cca565b60405180910390f35b3480156100fd57600080fd5b5061011860048036038101906101139190610ce5565b6103a2565b005b34801561012657600080fd5b50610141600480360381019061013c9190610d37565b6103ee565b60405161014f929190610e2e565b60405180910390f35b34801561016457600080fd5b5061017f600480360381019061017a9190610ebe565b6104a2565b005b34801561018d57600080fd5b506101a860048036038101906101a39190610f61565b610535565b6040516101b6929190610e2e565b60405180910390f35b3480156101cb57600080fd5b506101e660048036038101906101e19190610c2c565b6105ed565b6040516101f4929190610ffb565b60405180910390f35b34801561020957600080fd5b5061021261069e565b60405161021f9190611033565b60405180910390f35b34801561023457600080fd5b5061023d6106c8565b005b34801561024b57600080fd5b506102546106dc565b6040516102619190611033565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190610c2c565b610705565b60405161029e9190610cca565b60405180910390f35b3480156102b357600080fd5b506102ce60048036038101906102c99190610ce5565b6107b5565b005b3480156102dc57600080fd5b506102f760048036038101906102f29190610c2c565b61083b565b6040516103049190610cca565b60405180910390f35b600061031761069e565b73ffffffffffffffffffffffffffffffffffffffff1663341edfb4868686866040518563ffffffff1660e01b8152600401610355949392919061105d565b6020604051808303816000875af1158015610374573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039891906110d5565b9050949350505050565b6103aa6108eb565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340691db485856040518363ffffffff1660e01b815260040161044f929190611429565b6000604051808303816000875af115801561046e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061049791906114d0565b915091509250929050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634585e33b83836040518363ffffffff1660e01b81526004016104ff929190611559565b600060405180830381600087803b15801561051957600080fd5b505af115801561052d573d6000803e3d6000fd5b505050505050565b60006060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b56a42e878787876040518563ffffffff1660e01b815260040161059a9493929190611631565b600060405180830381865afa1580156105b7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105e091906114d0565b9150915094509492505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635727977c878787876040518563ffffffff1660e01b8152600401610651949392919061105d565b6040805180830381865afa15801561066d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106919190611681565b9150915094509492505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106d06108eb565b6106da6000610972565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d37191de868686866040518563ffffffff1660e01b8152600401610768949392919061105d565b6020604051808303816000875af1158015610787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab91906110d5565b9050949350505050565b6107bd6108eb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361082f5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016108269190611033565b60405180910390fd5b61083881610972565b50565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f9ae27f9868686866040518563ffffffff1660e01b815260040161089e949392919061105d565b6020604051808303816000875af11580156108bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e191906110d5565b9050949350505050565b6108f3610a36565b73ffffffffffffffffffffffffffffffffffffffff166109116106dc565b73ffffffffffffffffffffffffffffffffffffffff161461097057610934610a36565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016109679190611033565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610a7d82610a52565b9050919050565b610a8d81610a72565b8114610a9857600080fd5b50565b600081359050610aaa81610a84565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610b0382610aba565b810181811067ffffffffffffffff82111715610b2257610b21610acb565b5b80604052505050565b6000610b35610a3e565b9050610b418282610afa565b919050565b600067ffffffffffffffff821115610b6157610b60610acb565b5b610b6a82610aba565b9050602081019050919050565b82818337600083830152505050565b6000610b99610b9484610b46565b610b2b565b905082815260208101848484011115610bb557610bb4610ab5565b5b610bc0848285610b77565b509392505050565b600082601f830112610bdd57610bdc610ab0565b5b8135610bed848260208601610b86565b91505092915050565b6000819050919050565b610c0981610bf6565b8114610c1457600080fd5b50565b600081359050610c2681610c00565b92915050565b60008060008060808587031215610c4657610c45610a48565b5b6000610c5487828801610a9b565b945050602085013567ffffffffffffffff811115610c7557610c74610a4d565b5b610c8187828801610bc8565b9350506040610c9287828801610c17565b9250506060610ca387828801610a9b565b91505092959194509250565b60008115159050919050565b610cc481610caf565b82525050565b6000602082019050610cdf6000830184610cbb565b92915050565b600060208284031215610cfb57610cfa610a48565b5b6000610d0984828501610a9b565b91505092915050565b600080fd5b60006101008284031215610d2e57610d2d610d12565b5b81905092915050565b60008060408385031215610d4e57610d4d610a48565b5b600083013567ffffffffffffffff811115610d6c57610d6b610a4d565b5b610d7885828601610d17565b925050602083013567ffffffffffffffff811115610d9957610d98610a4d565b5b610da585828601610bc8565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610de9578082015181840152602081019050610dce565b60008484015250505050565b6000610e0082610daf565b610e0a8185610dba565b9350610e1a818560208601610dcb565b610e2381610aba565b840191505092915050565b6000604082019050610e436000830185610cbb565b8181036020830152610e558184610df5565b90509392505050565b600080fd5b600080fd5b60008083601f840112610e7e57610e7d610ab0565b5b8235905067ffffffffffffffff811115610e9b57610e9a610e5e565b5b602083019150836001820283011115610eb757610eb6610e63565b5b9250929050565b60008060208385031215610ed557610ed4610a48565b5b600083013567ffffffffffffffff811115610ef357610ef2610a4d565b5b610eff85828601610e68565b92509250509250929050565b60008083601f840112610f2157610f20610ab0565b5b8235905067ffffffffffffffff811115610f3e57610f3d610e5e565b5b602083019150836020820283011115610f5a57610f59610e63565b5b9250929050565b60008060008060408587031215610f7b57610f7a610a48565b5b600085013567ffffffffffffffff811115610f9957610f98610a4d565b5b610fa587828801610f0b565b9450945050602085013567ffffffffffffffff811115610fc857610fc7610a4d565b5b610fd487828801610e68565b925092505092959194509250565b6000819050919050565b610ff581610fe2565b82525050565b60006040820190506110106000830185610fec565b61101d6020830184610cbb565b9392505050565b61102d81610a72565b82525050565b60006020820190506110486000830184611024565b92915050565b61105781610bf6565b82525050565b60006080820190506110726000830187611024565b81810360208301526110848186610df5565b9050611093604083018561104e565b6110a06060830184611024565b95945050505050565b6110b281610caf565b81146110bd57600080fd5b50565b6000815190506110cf816110a9565b92915050565b6000602082840312156110eb576110ea610a48565b5b60006110f9848285016110c0565b91505092915050565b60006111116020840184610c17565b905092915050565b61112281610bf6565b82525050565b61113181610fe2565b811461113c57600080fd5b50565b60008135905061114e81611128565b92915050565b6000611163602084018461113f565b905092915050565b61117481610fe2565b82525050565b60006111896020840184610a9b565b905092915050565b61119a81610a72565b82525050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126111cc576111cb6111aa565b5b83810192508235915060208301925067ffffffffffffffff8211156111f4576111f36111a0565b5b60208202360383131561120a576112096111a5565b5b509250929050565b600082825260208201905092915050565b600080fd5b82818337505050565b600061123d8385611212565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156112705761126f611223565b5b602083029250611281838584611228565b82840190509392505050565b600080833560016020038436030381126112aa576112a96111aa565b5b83810192508235915060208301925067ffffffffffffffff8211156112d2576112d16111a0565b5b6001820236038313156112e8576112e76111a5565b5b509250929050565b600082825260208201905092915050565b600061130d83856112f0565b935061131a838584610b77565b61132383610aba565b840190509392505050565b600061010083016113426000840184611102565b61134f6000860182611119565b5061135d6020840184611102565b61136a6020860182611119565b506113786040840184611154565b611385604086018261116b565b506113936060840184611102565b6113a06060860182611119565b506113ae6080840184611154565b6113bb608086018261116b565b506113c960a084018461117a565b6113d660a0860182611191565b506113e460c08401846111af565b85830360c08701526113f7838284611231565b9250505061140860e084018461128d565b85830360e087015261141b838284611301565b925050508091505092915050565b60006040820190508181036000830152611443818561132e565b905081810360208301526114578184610df5565b90509392505050565b600061147361146e84610b46565b610b2b565b90508281526020810184848401111561148f5761148e610ab5565b5b61149a848285610dcb565b509392505050565b600082601f8301126114b7576114b6610ab0565b5b81516114c7848260208601611460565b91505092915050565b600080604083850312156114e7576114e6610a48565b5b60006114f5858286016110c0565b925050602083015167ffffffffffffffff81111561151657611515610a4d565b5b611522858286016114a2565b9150509250929050565b60006115388385610dba565b9350611545838584610b77565b61154e83610aba565b840190509392505050565b6000602082019050818103600083015261157481848661152c565b90509392505050565b600082825260208201905092915050565b6000819050919050565b60006115a5848484611301565b90509392505050565b6000602082019050919050565b60006115c7838561157d565b9350836020840285016115d98461158e565b8060005b8781101561161f5784840389526115f4828461128d565b6115ff868284611598565b955061160a846115ae565b935060208b019a5050506001810190506115dd565b50829750879450505050509392505050565b6000604082019050818103600083015261164c8186886115bb565b9050818103602083015261166181848661152c565b905095945050505050565b60008151905061167b81611128565b92915050565b6000806040838503121561169857611697610a48565b5b60006116a68582860161166c565b92505060206116b7858286016110c0565b915050925092905056fea2646970667358221220a079204ec4b60f67144ba9ec99dfb922311ebb899e76d269a6a42dbbf1679ccf64736f6c63430008140033","args":[]},"SimpleConsumer":{"addr":"0x4E66BA1676410048C22766661655c9cF00f027BC","code":"0x60a060405234801561001057600080fd5b50604051610e01380380610e01833981810160405281019061003291906100cf565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506100fc565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061009c82610071565b9050919050565b6100ac81610091565b81146100b757600080fd5b50565b6000815190506100c9816100a3565b92915050565b6000602082840312156100e5576100e461006c565b5b60006100f3848285016100ba565b91505092915050565b608051610cdc6101256000396000818161028a015281816103a801526104270152610cdc6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806343c3fcb11161005b57806343c3fcb1146101005780637dc0d1d01461011e578063abbb3a9b1461013c578063b7cd5ef91461015c5761007d565b80633196b7c6146100825780633b5d7c12146100b257806340dd1561146100e2575b600080fd5b61009c60048036038101906100979190610769565b61018c565b6040516100a991906107cd565b60405180910390f35b6100cc60048036038101906100c791906108e0565b610285565b6040516100d991906107cd565b60405180910390f35b6100ea61038d565b6040516100f79190610997565b60405180910390f35b6101086103a0565b60405161011591906109c1565b60405180910390f35b6101266103a6565b60405161013391906109eb565b60405180910390f35b6101446103ca565b60405161015393929190610a15565b60405180910390f35b610176600480360381019061017191906108e0565b610422565b60405161018391906107cd565b60405180910390f35b600081600001516000819055508160200151600160006101000a81548160ff021916908360018111156101c2576101c1610920565b5b021790555081604001518060200190518101906101df9190610ada565b600260008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002015590505060019050919050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d37191de30866040516020016102d69190610b67565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016103069493929190610c01565b6020604051808303816000875af1158015610325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103499190610c79565b905080610382576040517fd979d1f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600191505092915050565b600160009054906101000a900460ff1681565b60005481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60028060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663341edfb430866040516020016104739190610b67565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016104a39493929190610c01565b6020604051808303816000875af11580156104c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e69190610c79565b90508061051f576040517fd979d1f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600191505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61058c82610543565b810181811067ffffffffffffffff821117156105ab576105aa610554565b5b80604052505050565b60006105be61052a565b90506105ca8282610583565b919050565b600080fd5b6000819050919050565b6105e7816105d4565b81146105f257600080fd5b50565b600081359050610604816105de565b92915050565b6002811061061757600080fd5b50565b6000813590506106298161060a565b92915050565b600080fd5b600080fd5b600067ffffffffffffffff82111561065457610653610554565b5b61065d82610543565b9050602081019050919050565b82818337600083830152505050565b600061068c61068784610639565b6105b4565b9050828152602081018484840111156106a8576106a7610634565b5b6106b384828561066a565b509392505050565b600082601f8301126106d0576106cf61062f565b5b81356106e0848260208601610679565b91505092915050565b6000606082840312156106ff576106fe61053e565b5b61070960606105b4565b90506000610719848285016105f5565b600083015250602061072d8482850161061a565b602083015250604082013567ffffffffffffffff811115610751576107506105cf565b5b61075d848285016106bb565b60408301525092915050565b60006020828403121561077f5761077e610534565b5b600082013567ffffffffffffffff81111561079d5761079c610539565b5b6107a9848285016106e9565b91505092915050565b60008115159050919050565b6107c7816107b2565b82525050565b60006020820190506107e260008301846107be565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610813826107e8565b9050919050565b61082381610808565b811461082e57600080fd5b50565b6000813590506108408161081a565b92915050565b6000819050919050565b61085981610846565b811461086457600080fd5b50565b60008135905061087681610850565b92915050565b6000606082840312156108925761089161053e565b5b61089c60606105b4565b905060006108ac84828501610831565b60008301525060206108c084828501610831565b60208301525060406108d484828501610867565b60408301525092915050565b600080608083850312156108f7576108f6610534565b5b60006109058582860161087c565b925050606061091685828601610867565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600281106109605761095f610920565b5b50565b60008190506109718261094f565b919050565b600061098182610963565b9050919050565b61099181610976565b82525050565b60006020820190506109ac6000830184610988565b92915050565b6109bb816105d4565b82525050565b60006020820190506109d660008301846109b2565b92915050565b6109e581610808565b82525050565b6000602082019050610a0060008301846109dc565b92915050565b610a0f81610846565b82525050565b6000606082019050610a2a60008301866109dc565b610a3760208301856109dc565b610a446040830184610a06565b949350505050565b600081519050610a5b8161081a565b92915050565b600081519050610a7081610850565b92915050565b600060608284031215610a8c57610a8b61053e565b5b610a9660606105b4565b90506000610aa684828501610a4c565b6000830152506020610aba84828501610a4c565b6020830152506040610ace84828501610a61565b60408301525092915050565b600060608284031215610af057610aef610534565b5b6000610afe84828501610a76565b91505092915050565b610b1081610808565b82525050565b610b1f81610846565b82525050565b606082016000820151610b3b6000850182610b07565b506020820151610b4e6020850182610b07565b506040820151610b616040850182610b16565b50505050565b6000606082019050610b7c6000830184610b25565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bbc578082015181840152602081019050610ba1565b60008484015250505050565b6000610bd382610b82565b610bdd8185610b8d565b9350610bed818560208601610b9e565b610bf681610543565b840191505092915050565b6000608082019050610c1660008301876109dc565b8181036020830152610c288186610bc8565b9050610c376040830185610a06565b610c4460608301846109dc565b95945050505050565b610c56816107b2565b8114610c6157600080fd5b50565b600081519050610c7381610c4d565b92915050565b600060208284031215610c8f57610c8e610534565b5b6000610c9d84828501610c64565b9150509291505056fea2646970667358221220e78ad109d9e98bdf6d7c35f15872563bb6a44ebc9fb23654e87bc51d8da4effc64736f6c63430008140033","args":["0x9EADa48404913bE9b222310Cc006CE2656427779"]},"SwapApp":{"addr":"0x286F373868eC1fA2873ac2c03b3d106B7Ba60CFD","code":"0x60c06040523480156200001157600080fd5b506040516200191038038062001910833981810160405281019062000037919062000111565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050505062000158565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000d982620000ac565b9050919050565b620000eb81620000cc565b8114620000f757600080fd5b50565b6000815190506200010b81620000e0565b92915050565b600080604083850312156200012b576200012a620000a7565b5b60006200013b85828601620000fa565b92505060206200014e85828601620000fa565b9150509250929050565b60805160a0516117766200019a600039600081816101a201528181610351015261046201526000818161032a015281816105ee015261071c01526117766000f3fe6080604052600436106100595760003560e01c806326f819e2146100655780633196b7c6146100a2578063581bdd16146100df5780636d5cf70a1461010a5780637dc0d1d014610147578063c57981b51461017257610060565b3661006057005b600080fd5b34801561007157600080fd5b5061008c60048036038101906100879190610b53565b61019d565b6040516100999190610bca565b60405180910390f35b3480156100ae57600080fd5b506100c960048036038101906100c49190610d61565b6102b1565b6040516100d69190610bca565b60405180910390f35b3480156100eb57600080fd5b506100f4610328565b6040516101019190610e09565b60405180910390f35b34801561011657600080fd5b50610131600480360381019061012c9190610b53565b61034c565b60405161013e9190610bca565b60405180910390f35b34801561015357600080fd5b5061015c610460565b6040516101699190610e33565b60405180910390f35b34801561017e57600080fd5b50610187610484565b6040516101949190610e6c565b60405180910390f35b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663341edfb430866040516020016101ee9190610f9a565b60405160208183030381529060405286336040518563ffffffff1660e01b815260040161021e9493929190611020565b6020604051808303816000875af115801561023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102619190611098565b9050806102a75783836040517fac32c48800000000000000000000000000000000000000000000000000000000815260040161029e9291906110c5565b60405180910390fd5b8091505092915050565b60008082604001518060200190518101906102cc9190611237565b905060006102de84600001518361048a565b90507fdf1c71557a4251e0650fabd3081054ea195463663546b7fd5ec504026104459481856000015160405161031592919061128f565b60405180910390a1600192505050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d37191de308660405160200161039d9190610f9a565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016103cd9493929190611020565b6020604051808303816000875af11580156103ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104109190611098565b9050806104565783836040517fac32c48800000000000000000000000000000000000000000000000000000000815260040161044d9291906110c5565b60405180910390fd5b8091505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610bb881565b600080826020015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050091906112f1565b905060006105128460400151866107c2565b9050600082600a6105239190611480565b85606001518361053391906114cb565b61053d919061153c565b9050846020015173ffffffffffffffffffffffffffffffffffffffff166323b872dd86600001513088606001516040518463ffffffff1660e01b81526004016105889392919061156d565b6020604051808303816000875af11580156105a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cb9190611098565b50846020015173ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f000000000000000000000000000000000000000000000000000000000000000087606001516040518363ffffffff1660e01b815260040161062f9291906115a4565b6020604051808303816000875af115801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106729190611098565b5060006040518060e00160405280876020015173ffffffffffffffffffffffffffffffffffffffff168152602001876040015173ffffffffffffffffffffffffffffffffffffffff168152602001610bb862ffffff168152602001876000015173ffffffffffffffffffffffffffffffffffffffff16815260200187606001518152602001838152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166304e45aaf826040518263ffffffff1660e01b81526004016107739190611679565b6020604051808303816000875af1158015610792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b69190611694565b94505050505092915050565b6000806012905060008473ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083a91906112f1565b9050818160ff16101561087c5760008160ff168361085891906116c1565b905080600a61086791906116f5565b85610872919061153c565b93505050506108ad565b6000828260ff1661088d91906116c1565b905080600a61089c91906116f5565b856108a791906114cb565b93505050505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610915826108cc565b810181811067ffffffffffffffff82111715610934576109336108dd565b5b80604052505050565b60006109476108b3565b9050610953828261090c565b919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006109888261095d565b9050919050565b6109988161097d565b81146109a357600080fd5b50565b6000813590506109b58161098f565b92915050565b6000819050919050565b6109ce816109bb565b81146109d957600080fd5b50565b6000813590506109eb816109c5565b92915050565b600080fd5b600080fd5b600067ffffffffffffffff821115610a1657610a156108dd565b5b610a1f826108cc565b9050602081019050919050565b82818337600083830152505050565b6000610a4e610a49846109fb565b61093d565b905082815260208101848484011115610a6a57610a696109f6565b5b610a75848285610a2c565b509392505050565b600082601f830112610a9257610a916109f1565b5b8135610aa2848260208601610a3b565b91505092915050565b600060a08284031215610ac157610ac06108c7565b5b610acb60a061093d565b90506000610adb848285016109a6565b6000830152506020610aef848285016109a6565b6020830152506040610b03848285016109a6565b6040830152506060610b17848285016109dc565b606083015250608082013567ffffffffffffffff811115610b3b57610b3a610958565b5b610b4784828501610a7d565b60808301525092915050565b60008060408385031215610b6a57610b696108bd565b5b600083013567ffffffffffffffff811115610b8857610b876108c2565b5b610b9485828601610aab565b9250506020610ba5858286016109dc565b9150509250929050565b60008115159050919050565b610bc481610baf565b82525050565b6000602082019050610bdf6000830184610bbb565b92915050565b6000819050919050565b610bf881610be5565b8114610c0357600080fd5b50565b600081359050610c1581610bef565b92915050565b60028110610c2857600080fd5b50565b600081359050610c3a81610c1b565b92915050565b600067ffffffffffffffff821115610c5b57610c5a6108dd565b5b610c64826108cc565b9050602081019050919050565b6000610c84610c7f84610c40565b61093d565b905082815260208101848484011115610ca057610c9f6109f6565b5b610cab848285610a2c565b509392505050565b600082601f830112610cc857610cc76109f1565b5b8135610cd8848260208601610c71565b91505092915050565b600060608284031215610cf757610cf66108c7565b5b610d01606061093d565b90506000610d1184828501610c06565b6000830152506020610d2584828501610c2b565b602083015250604082013567ffffffffffffffff811115610d4957610d48610958565b5b610d5584828501610cb3565b60408301525092915050565b600060208284031215610d7757610d766108bd565b5b600082013567ffffffffffffffff811115610d9557610d946108c2565b5b610da184828501610ce1565b91505092915050565b6000819050919050565b6000610dcf610dca610dc58461095d565b610daa565b61095d565b9050919050565b6000610de182610db4565b9050919050565b6000610df382610dd6565b9050919050565b610e0381610de8565b82525050565b6000602082019050610e1e6000830184610dfa565b92915050565b610e2d8161097d565b82525050565b6000602082019050610e486000830184610e24565b92915050565b600062ffffff82169050919050565b610e6681610e4e565b82525050565b6000602082019050610e816000830184610e5d565b92915050565b610e908161097d565b82525050565b610e9f816109bb565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610edf578082015181840152602081019050610ec4565b60008484015250505050565b6000610ef682610ea5565b610f008185610eb0565b9350610f10818560208601610ec1565b610f19816108cc565b840191505092915050565b600060a083016000830151610f3c6000860182610e87565b506020830151610f4f6020860182610e87565b506040830151610f626040860182610e87565b506060830151610f756060860182610e96565b5060808301518482036080860152610f8d8282610eeb565b9150508091505092915050565b60006020820190508181036000830152610fb48184610f24565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000610fe382610fbc565b610fed8185610fc7565b9350610ffd818560208601610ec1565b611006816108cc565b840191505092915050565b61101a816109bb565b82525050565b60006080820190506110356000830187610e24565b81810360208301526110478186610fd8565b90506110566040830185611011565b6110636060830184610e24565b95945050505050565b61107581610baf565b811461108057600080fd5b50565b6000815190506110928161106c565b92915050565b6000602082840312156110ae576110ad6108bd565b5b60006110bc84828501611083565b91505092915050565b600060408201905081810360008301526110df8185610f24565b90506110ee6020830184611011565b9392505050565b6000815190506111048161098f565b92915050565b600081519050611119816109c5565b92915050565b600061113261112d846109fb565b61093d565b90508281526020810184848401111561114e5761114d6109f6565b5b611159848285610ec1565b509392505050565b600082601f830112611176576111756109f1565b5b815161118684826020860161111f565b91505092915050565b600060a082840312156111a5576111a46108c7565b5b6111af60a061093d565b905060006111bf848285016110f5565b60008301525060206111d3848285016110f5565b60208301525060406111e7848285016110f5565b60408301525060606111fb8482850161110a565b606083015250608082015167ffffffffffffffff81111561121f5761121e610958565b5b61122b84828501611161565b60808301525092915050565b60006020828403121561124d5761124c6108bd565b5b600082015167ffffffffffffffff81111561126b5761126a6108c2565b5b6112778482850161118f565b91505092915050565b61128981610be5565b82525050565b60006040820190506112a46000830185611011565b6112b16020830184611280565b9392505050565b600060ff82169050919050565b6112ce816112b8565b81146112d957600080fd5b50565b6000815190506112eb816112c5565b92915050565b600060208284031215611307576113066108bd565b5b6000611315848285016112dc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156113a4578086048111156113805761137f61131e565b5b600185161561138f5780820291505b808102905061139d8561134d565b9450611364565b94509492505050565b6000826113bd5760019050611479565b816113cb5760009050611479565b81600181146113e157600281146113eb5761141a565b6001915050611479565b60ff8411156113fd576113fc61131e565b5b8360020a9150848211156114145761141361131e565b5b50611479565b5060208310610133831016604e8410600b841016171561144f5782820a90508381111561144a5761144961131e565b5b611479565b61145c848484600161135a565b925090508184048111156114735761147261131e565b5b81810290505b9392505050565b600061148b826109bb565b9150611496836112b8565b92506114c37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846113ad565b905092915050565b60006114d6826109bb565b91506114e1836109bb565b92508282026114ef816109bb565b915082820484148315176115065761150561131e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611547826109bb565b9150611552836109bb565b9250826115625761156161150d565b5b828204905092915050565b60006060820190506115826000830186610e24565b61158f6020830185610e24565b61159c6040830184611011565b949350505050565b60006040820190506115b96000830185610e24565b6115c66020830184611011565b9392505050565b6115d681610e4e565b82525050565b6115e58161095d565b82525050565b60e0820160008201516116016000850182610e87565b5060208201516116146020850182610e87565b50604082015161162760408501826115cd565b50606082015161163a6060850182610e87565b50608082015161164d6080850182610e96565b5060a082015161166060a0850182610e96565b5060c082015161167360c08501826115dc565b50505050565b600060e08201905061168e60008301846115eb565b92915050565b6000602082840312156116aa576116a96108bd565b5b60006116b88482850161110a565b91505092915050565b60006116cc826109bb565b91506116d7836109bb565b92508282039050818111156116ef576116ee61131e565b5b92915050565b6000611700826109bb565b915061170b836109bb565b92506117387fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846113ad565b90509291505056fea2646970667358221220efa9a85f240519cf843bd030786b4df12a15b5f992865a4b0a9642d016ef302264736f6c63430008140033","args":["0xab7664500b19a7a2362Ab26081e6DfB971B6F1B0","0x9EADa48404913bE9b222310Cc006CE2656427779"]}},"localhost":{"RequestLib":{"addr":"0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512","code":"0x610467610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063870ff5181461003a575b600080fd5b610054600480360381019061004f9190610291565b61006a565b604051610061919061032d565b60405180910390f35b60008484848460405160200161008394939291906103e5565b604051602081830303815290604052805190602001209050949350505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100e2826100b7565b9050919050565b6100f2816100d7565b81146100fd57600080fd5b50565b60008135905061010f816100e9565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6101688261011f565b810181811067ffffffffffffffff8211171561018757610186610130565b5b80604052505050565b600061019a6100a3565b90506101a6828261015f565b919050565b600067ffffffffffffffff8211156101c6576101c5610130565b5b6101cf8261011f565b9050602081019050919050565b82818337600083830152505050565b60006101fe6101f9846101ab565b610190565b90508281526020810184848401111561021a5761021961011a565b5b6102258482856101dc565b509392505050565b600082601f83011261024257610241610115565b5b81356102528482602086016101eb565b91505092915050565b6000819050919050565b61026e8161025b565b811461027957600080fd5b50565b60008135905061028b81610265565b92915050565b600080600080608085870312156102ab576102aa6100ad565b5b60006102b987828801610100565b945050602085013567ffffffffffffffff8111156102da576102d96100b2565b5b6102e68782880161022d565b93505060406102f78782880161027c565b925050606061030887828801610100565b91505092959194509250565b6000819050919050565b61032781610314565b82525050565b6000602082019050610342600083018461031e565b92915050565b610351816100d7565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610391578082015181840152602081019050610376565b60008484015250505050565b60006103a882610357565b6103b28185610362565b93506103c2818560208601610373565b6103cb8161011f565b840191505092915050565b6103df8161025b565b82525050565b60006080820190506103fa6000830187610348565b818103602083015261040c818661039d565b905061041b60408301856103d6565b6104286060830184610348565b9594505050505056fea26469706673582212201d17ff2b90975741a8e46b833bff7ea32d7d3fd961ef2235414d66e562ac702964736f6c63430008140033","args":[]},"AutomationEmitter":{"addr":"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0","code":"0x608060405234801561001057600080fd5b50610471806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a27c742014610030575b600080fd5b61004a60048036038101906100459190610299565b610060565b6040516100579190610337565b60405180910390f35b60007fd392edb8a5a319d0c11e560dec0a6f4b3f3f3dca564c6171478b15bb76a27b878585858560405161009794939291906103ef565b60405180910390a160019050949350505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100ea826100bf565b9050919050565b6100fa816100df565b811461010557600080fd5b50565b600081359050610117816100f1565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61017082610127565b810181811067ffffffffffffffff8211171561018f5761018e610138565b5b80604052505050565b60006101a26100ab565b90506101ae8282610167565b919050565b600067ffffffffffffffff8211156101ce576101cd610138565b5b6101d782610127565b9050602081019050919050565b82818337600083830152505050565b6000610206610201846101b3565b610198565b90508281526020810184848401111561022257610221610122565b5b61022d8482856101e4565b509392505050565b600082601f83011261024a5761024961011d565b5b813561025a8482602086016101f3565b91505092915050565b6000819050919050565b61027681610263565b811461028157600080fd5b50565b6000813590506102938161026d565b92915050565b600080600080608085870312156102b3576102b26100b5565b5b60006102c187828801610108565b945050602085013567ffffffffffffffff8111156102e2576102e16100ba565b5b6102ee87828801610235565b93505060406102ff87828801610284565b925050606061031087828801610108565b91505092959194509250565b60008115159050919050565b6103318161031c565b82525050565b600060208201905061034c6000830184610328565b92915050565b61035b816100df565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561039b578082015181840152602081019050610380565b60008484015250505050565b60006103b282610361565b6103bc818561036c565b93506103cc81856020860161037d565b6103d581610127565b840191505092915050565b6103e981610263565b82525050565b60006080820190506104046000830187610352565b818103602083015261041681866103a7565b905061042560408301856103e0565b6104326060830184610352565b9594505050505056fea264697066735822122099ff787c689a60aa7ed271a5947bb25ef6d252ed7e14ee36d7a9ce9fcbfd090b64736f6c63430008140033","args":[]},"FakedOracle":{"addr":"0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9","code":"0x6101206040523480156200001257600080fd5b506040516200387b3803806200387b8339818101604052810190620000389190620003cd565b84848484848183600081908060018154018082558091505060019003906000526020600020016000909190919091509081620000759190620006b5565b50508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050508473ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505060405162000122906200018c565b604051809103906000f0801580156200013f573d6000803e3d6000fd5b5073ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff1681525050806101008181525050505050505050505050506200079c565b61050a806200337183390190565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001db82620001ae565b9050919050565b620001ed81620001ce565b8114620001f957600080fd5b50565b6000815190506200020d81620001e2565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000268826200021d565b810181811067ffffffffffffffff821117156200028a57620002896200022e565b5b80604052505050565b60006200029f6200019a565b9050620002ad82826200025d565b919050565b600067ffffffffffffffff821115620002d057620002cf6200022e565b5b620002db826200021d565b9050602081019050919050565b60005b8381101562000308578082015181840152602081019050620002eb565b60008484015250505050565b60006200032b6200032584620002b2565b62000293565b9050828152602081018484840111156200034a576200034962000218565b5b62000357848285620002e8565b509392505050565b600082601f83011262000377576200037662000213565b5b81516200038984826020860162000314565b91505092915050565b6000819050919050565b620003a78162000392565b8114620003b357600080fd5b50565b600081519050620003c7816200039c565b92915050565b600080600080600060a08688031215620003ec57620003eb620001a4565b5b6000620003fc88828901620001fc565b95505060206200040f88828901620001fc565b945050604086015167ffffffffffffffff811115620004335762000432620001a9565b5b62000441888289016200035f565b93505060606200045488828901620001fc565b92505060806200046788828901620003b6565b9150509295509295909350565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620004c757607f821691505b602082108103620004dd57620004dc6200047f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000508565b62000553868362000508565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000596620005906200058a8462000392565b6200056b565b62000392565b9050919050565b6000819050919050565b620005b28362000575565b620005ca620005c1826200059d565b84845462000515565b825550505050565b600090565b620005e1620005d2565b620005ee818484620005a7565b505050565b5b8181101562000616576200060a600082620005d7565b600181019050620005f4565b5050565b601f82111562000665576200062f81620004e3565b6200063a84620004f8565b810160208510156200064a578190505b620006626200065985620004f8565b830182620005f3565b50505b505050565b600082821c905092915050565b60006200068a600019846008026200066a565b1980831691505092915050565b6000620006a5838362000677565b9150826002028217905092915050565b620006c08262000474565b67ffffffffffffffff811115620006dc57620006db6200022e565b5b620006e88254620004ae565b620006f58282856200061a565b600060209050601f8311600181146200072d576000841562000718578287015190505b62000724858262000697565b86555062000794565b601f1984166200073d86620004e3565b60005b82811015620007675784890151825560018201915060208501945060208101905062000740565b8683101562000787578489015162000783601f89168262000677565b8355505b6001600288020188555050505b505050505050565b60805160a05160c05160e05161010051612b5862000819600039600081816104020152610b66015260008181610a3001528181610cf301528181610f0f01528181610fb9015261105d015260008181610387015281816105e1015261085e015260008181610bba0152610d9a015260006111050152612b586000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80634b56a42e1161008c578063d5cc5e2111610066578063d5cc5e2114610276578063dce11375146102a7578063f9ae27f9146102c5578063fd84030c146102f5576100ea565b80634b56a42e146101e45780635727977c14610215578063d37191de14610246576100ea565b8063341edfb4116100c8578063341edfb4146101495780633f20b4c91461017957806340691db4146101975780634585e33b146101c8576100ea565b806308c9e24e146100ef5780631b83ca1e1461010d5780632b7ac3f31461012b575b600080fd5b6100f7610313565b604051610104919061125b565b60405180910390f35b61011561034c565b604051610122919061125b565b60405180910390f35b610133610385565b60405161014091906112fc565b60405180910390f35b610163600480360381019061015e91906114d4565b6103a9565b6040516101709190611572565b60405180910390f35b610181610400565b60405161018e919061159c565b60405180910390f35b6101b160048036038101906101ac91906115dc565b610424565b6040516101bf9291906116a9565b60405180910390f35b6101e260048036038101906101dd9190611739565b6104ec565b005b6101fe60048036038101906101f991906117dc565b610adf565b60405161020c9291906116a9565b60405180910390f35b61022f600480360381019061022a91906114d4565b610b18565b60405161023d929190611876565b60405180910390f35b610260600480360381019061025b91906114d4565b610baa565b60405161026d9190611572565b60405180910390f35b610290600480360381019061028b91906114d4565b610c64565b60405161029e929190611954565b60405180910390f35b6102af610d98565b6040516102bc919061199e565b60405180910390f35b6102df60048036038101906102da91906114d4565b610dbc565b6040516102ec9190611572565b60405180910390f35b6102fd610fb7565b60405161030a91906119da565b60405180910390f35b6040518060400160405280600781526020017f666565644944730000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600981526020017f74696d657374616d70000000000000000000000000000000000000000000000081525081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006103b785858585610fdb565b7fb78272e98de6052aa2c197393914a1fe8ae1cf8dc760f1b74c6da3c2ff7fd10f858585856040516103ec9493929190611a04565b60405180910390a160019050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600060606040518060400160405280600781526020017f666565644944730000000000000000000000000000000000000000000000000081525060006040518060400160405280600981526020017f74696d657374616d7000000000000000000000000000000000000000000000008152508660200135878060e001906104ab9190611a5f565b6040517ff055e4a20000000000000000000000000000000000000000000000000000000081526004016104e396959493929190611cbf565b60405180910390fd5b60008083838101906104fe9190611e11565b9150915060008260008151811061051857610517611e89565b5b602002602001015190506000806000808580602001905181019061053c9190611f7b565b935093509350935060008061055386868686610c64565b915091506001600281111561056b5761056a61189f565b5b816000015160028111156105825761058161189f565b5b146105c457816040517ff78906140000000000000000000000000000000000000000000000000000000081526004016105bb9190611ffe565b60405180910390fd5b6000878060200190518101906105da91906120f6565b91505060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166338416b5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066e9190612190565b905060008173ffffffffffffffffffffffffffffffffffffffff1663ea4b861b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e191906121d2565b905060008273ffffffffffffffffffffffffffffffffffffffff1663e03dab1a3086856040518463ffffffff1660e01b8152600401610722939291906121ff565b60a0604051808303816000875af1158015610741573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107659190612292565b505090508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b38473ffffffffffffffffffffffffffffffffffffffff16633aa5ac076040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f491906121d2565b83602001516040518363ffffffff1660e01b81526004016108169291906122e5565b6020604051808303816000875af1158015610835573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610859919061233a565b5060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f7e83aee8d856040516020016108aa9190612367565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016108d6929190612382565b6000604051808303816000875af11580156108f5573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061091e91906123b9565b9050600081806020019051810190610936919061257b565b905060008c73ffffffffffffffffffffffffffffffffffffffff16633196b7c660405180606001604052808560c0015160170b8152602001600060018111156109825761098161189f565b5b81526020018f8152506040518263ffffffff1660e01b81526004016109a791906126a3565b6020604051808303816000875af11580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea919061233a565b905080610a2e57886040517f63e64d49000000000000000000000000000000000000000000000000000000008152600401610a259190611ffe565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663432d01378a6040518263ffffffff1660e01b8152600401610a879190611ffe565b6020604051808303816000875af1158015610aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aca919061233a565b50505050505050505050505050505050505050565b60006060600186868686604051602001610afc9493929190612818565b6040516020818303038152906040529150915094509492505050565b600080600080610b2a88888888610c64565b91509150600060016002811115610b4457610b4361189f565b5b82600001516002811115610b5b57610b5a61189f565b5b148015610b965750437f00000000000000000000000000000000000000000000000000000000000000008360200151610b949190612882565b115b905082819450945050505094509492505050565b6000610bb885858585610fdb565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a27c7420868686866040518563ffffffff1660e01b8152600401610c179493929190611a04565b6020604051808303816000875af1158015610c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5a919061233a565b9050949350505050565b6000610c6e61119f565b600073e7f1725e7734ce288f8367e1bb143e90bb3f051263870ff518888888886040518563ffffffff1660e01b8152600401610cad949392919061291e565b602060405180830381865af4158015610cca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cee919061296a565b9050807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663fb1e61ca836040518263ffffffff1660e01b8152600401610d4a9190611ffe565b6040805180830381865afa158015610d66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a9190612a0c565b925092505094509492505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000610dcd87878787610b18565b9150915080610e1357816040517ff7890614000000000000000000000000000000000000000000000000000000008152600401610e0a9190611ffe565b60405180910390fd5b6000610e1d611100565b905060008873ffffffffffffffffffffffffffffffffffffffff16633196b7c66040518060600160405280858152602001600180811115610e6157610e6061189f565b5b81526020018b8152506040518263ffffffff1660e01b8152600401610e8691906126a3565b6020604051808303816000875af1158015610ea5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec9919061233a565b905080610f0d57836040517f63e64d49000000000000000000000000000000000000000000000000000000008152600401610f049190611ffe565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663432d0137856040518263ffffffff1660e01b8152600401610f669190611ffe565b6020604051808303816000875af1158015610f85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa9919061233a565b945050505050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080610fea86868686610c64565b91509150600160028111156110025761100161189f565b5b816000015160028111156110195761101861189f565b5b0361105b57816040517f45b9a3b00000000000000000000000000000000000000000000000000000000081526004016110529190611ffe565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d876594b836040518263ffffffff1660e01b81526004016110b49190611ffe565b6020604051808303816000875af11580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f7919061233a565b50505050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561116e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111929190612aa7565b5050509150508091505090565b6040518060400160405280600060028111156111be576111bd61189f565b5b8152602001600081525090565b600081519050919050565b600082825260208201905092915050565b60005b838110156112055780820151818401526020810190506111ea565b60008484015250505050565b6000601f19601f8301169050919050565b600061122d826111cb565b61123781856111d6565b93506112478185602086016111e7565b61125081611211565b840191505092915050565b600060208201905081810360008301526112758184611222565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006112c26112bd6112b88461127d565b61129d565b61127d565b9050919050565b60006112d4826112a7565b9050919050565b60006112e6826112c9565b9050919050565b6112f6816112db565b82525050565b600060208201905061131160008301846112ed565b92915050565b6000604051905090565b600080fd5b600080fd5b60006113368261127d565b9050919050565b6113468161132b565b811461135157600080fd5b50565b6000813590506113638161133d565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6113ab82611211565b810181811067ffffffffffffffff821117156113ca576113c9611373565b5b80604052505050565b60006113dd611317565b90506113e982826113a2565b919050565b600067ffffffffffffffff82111561140957611408611373565b5b61141282611211565b9050602081019050919050565b82818337600083830152505050565b600061144161143c846113ee565b6113d3565b90508281526020810184848401111561145d5761145c61136e565b5b61146884828561141f565b509392505050565b600082601f83011261148557611484611369565b5b813561149584826020860161142e565b91505092915050565b6000819050919050565b6114b18161149e565b81146114bc57600080fd5b50565b6000813590506114ce816114a8565b92915050565b600080600080608085870312156114ee576114ed611321565b5b60006114fc87828801611354565b945050602085013567ffffffffffffffff81111561151d5761151c611326565b5b61152987828801611470565b935050604061153a878288016114bf565b925050606061154b87828801611354565b91505092959194509250565b60008115159050919050565b61156c81611557565b82525050565b60006020820190506115876000830184611563565b92915050565b6115968161149e565b82525050565b60006020820190506115b1600083018461158d565b92915050565b600080fd5b600061010082840312156115d3576115d26115b7565b5b81905092915050565b600080604083850312156115f3576115f2611321565b5b600083013567ffffffffffffffff81111561161157611610611326565b5b61161d858286016115bc565b925050602083013567ffffffffffffffff81111561163e5761163d611326565b5b61164a85828601611470565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b600061167b82611654565b611685818561165f565b93506116958185602086016111e7565b61169e81611211565b840191505092915050565b60006040820190506116be6000830185611563565b81810360208301526116d08184611670565b90509392505050565b600080fd5b600080fd5b60008083601f8401126116f9576116f8611369565b5b8235905067ffffffffffffffff811115611716576117156116d9565b5b602083019150836001820283011115611732576117316116de565b5b9250929050565b600080602083850312156117505761174f611321565b5b600083013567ffffffffffffffff81111561176e5761176d611326565b5b61177a858286016116e3565b92509250509250929050565b60008083601f84011261179c5761179b611369565b5b8235905067ffffffffffffffff8111156117b9576117b86116d9565b5b6020830191508360208202830111156117d5576117d46116de565b5b9250929050565b600080600080604085870312156117f6576117f5611321565b5b600085013567ffffffffffffffff81111561181457611813611326565b5b61182087828801611786565b9450945050602085013567ffffffffffffffff81111561184357611842611326565b5b61184f878288016116e3565b925092505092959194509250565b6000819050919050565b6118708161185d565b82525050565b600060408201905061188b6000830185611867565b6118986020830184611563565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106118df576118de61189f565b5b50565b60008190506118f0826118ce565b919050565b6000611900826118e2565b9050919050565b611910816118f5565b82525050565b61191f8161149e565b82525050565b60408201600082015161193b6000850182611907565b50602082015161194e6020850182611916565b50505050565b60006060820190506119696000830185611867565b6119766020830184611925565b9392505050565b6000611988826112c9565b9050919050565b6119988161197d565b82525050565b60006020820190506119b3600083018461198f565b92915050565b60006119c4826112c9565b9050919050565b6119d4816119b9565b82525050565b60006020820190506119ef60008301846119cb565b92915050565b6119fe8161132b565b82525050565b6000608082019050611a1960008301876119f5565b8181036020830152611a2b8186611670565b9050611a3a604083018561158d565b611a4760608301846119f5565b95945050505050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611a7c57611a7b611a50565b5b80840192508235915067ffffffffffffffff821115611a9e57611a9d611a55565b5b602083019250600182023603831315611aba57611ab9611a5a565b5b509250929050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b3a57607f821691505b602082108103611b4d57611b4c611af3565b5b50919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b60008154611b8681611b22565b611b908186611b53565b94506001821660008114611bab5760018114611bc157611bf4565b60ff198316865281151560200286019350611bf4565b611bca85611b64565b60005b83811015611bec57815481890152600182019150602081019050611bcd565b808801955050505b50505092915050565b6000611c098383611b79565b905092915050565b6000600182019050919050565b6000611c2982611ac2565b611c338185611acd565b935083602082028501611c4585611ade565b8060005b85811015611c8057848403895281611c618582611bfd565b9450611c6c83611c11565b925060208a01995050600181019050611c49565b50829750879550505050505092915050565b6000611c9e838561165f565b9350611cab83858461141f565b611cb483611211565b840190509392505050565b600060a0820190508181036000830152611cd98189611222565b90508181036020830152611ced8188611c1e565b90508181036040830152611d018187611222565b9050611d10606083018661158d565b8181036080830152611d23818486611c92565b9050979650505050505050565b600067ffffffffffffffff821115611d4b57611d4a611373565b5b602082029050602081019050919050565b6000611d6f611d6a84611d30565b6113d3565b90508083825260208201905060208402830185811115611d9257611d916116de565b5b835b81811015611dd957803567ffffffffffffffff811115611db757611db6611369565b5b808601611dc48982611470565b85526020850194505050602081019050611d94565b5050509392505050565b600082601f830112611df857611df7611369565b5b8135611e08848260208601611d5c565b91505092915050565b60008060408385031215611e2857611e27611321565b5b600083013567ffffffffffffffff811115611e4657611e45611326565b5b611e5285828601611de3565b925050602083013567ffffffffffffffff811115611e7357611e72611326565b5b611e7f85828601611470565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611ec38261127d565b9050919050565b611ed381611eb8565b8114611ede57600080fd5b50565b600081519050611ef081611eca565b92915050565b6000611f09611f04846113ee565b6113d3565b905082815260208101848484011115611f2557611f2461136e565b5b611f308482856111e7565b509392505050565b600082601f830112611f4d57611f4c611369565b5b8151611f5d848260208601611ef6565b91505092915050565b600081519050611f75816114a8565b92915050565b60008060008060808587031215611f9557611f94611321565b5b6000611fa387828801611ee1565b945050602085015167ffffffffffffffff811115611fc457611fc3611326565b5b611fd087828801611f38565b9350506040611fe187828801611f66565b9250506060611ff287828801611ee1565b91505092959194509250565b60006020820190506120136000830184611867565b92915050565b600067ffffffffffffffff82111561203457612033611373565b5b602082029050919050565b6120488161185d565b811461205357600080fd5b50565b6000815190506120658161203f565b92915050565b600061207e61207984612019565b6113d3565b90508060208402830185811115612098576120976116de565b5b835b818110156120c157806120ad8882612056565b84526020840193505060208101905061209a565b5050509392505050565b600082601f8301126120e0576120df611369565b5b60036120ed84828561206b565b91505092915050565b6000806080838503121561210d5761210c611321565b5b600061211b858286016120cb565b925050606083015167ffffffffffffffff81111561213c5761213b611326565b5b61214885828601611f38565b9150509250929050565b600061215d8261132b565b9050919050565b61216d81612152565b811461217857600080fd5b50565b60008151905061218a81612164565b92915050565b6000602082840312156121a6576121a5611321565b5b60006121b48482850161217b565b91505092915050565b6000815190506121cc8161133d565b92915050565b6000602082840312156121e8576121e7611321565b5b60006121f6848285016121bd565b91505092915050565b600060608201905061221460008301866119f5565b81810360208301526122268185611670565b905061223560408301846119f5565b949350505050565b600080fd5b6000604082840312156122585761225761223d565b5b61226260406113d3565b90506000612272848285016121bd565b600083015250602061228684828501611f66565b60208301525092915050565b600080600060a084860312156122ab576122aa611321565b5b60006122b986828701612242565b93505060406122ca86828701612242565b92505060806122db86828701611f66565b9150509250925092565b60006040820190506122fa60008301856119f5565b612307602083018461158d565b9392505050565b61231781611557565b811461232257600080fd5b50565b6000815190506123348161230e565b92915050565b6000602082840312156123505761234f611321565b5b600061235e84828501612325565b91505092915050565b600060208201905061237c60008301846119f5565b92915050565b6000604082019050818103600083015261239c8185611670565b905081810360208301526123b08184611670565b90509392505050565b6000602082840312156123cf576123ce611321565b5b600082015167ffffffffffffffff8111156123ed576123ec611326565b5b6123f984828501611f38565b91505092915050565b600063ffffffff82169050919050565b61241b81612402565b811461242657600080fd5b50565b60008151905061243881612412565b92915050565b600077ffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b61246b8161243e565b811461247657600080fd5b50565b60008151905061248881612462565b92915050565b60008160170b9050919050565b6124a48161248e565b81146124af57600080fd5b50565b6000815190506124c18161249b565b92915050565b600060e082840312156124dd576124dc61223d565b5b6124e760e06113d3565b905060006124f784828501612056565b600083015250602061250b84828501612429565b602083015250604061251f84828501612429565b604083015250606061253384828501612479565b606083015250608061254784828501612479565b60808301525060a061255b84828501612429565b60a08301525060c061256f848285016124b2565b60c08301525092915050565b600060e0828403121561259157612590611321565b5b600061259f848285016124c7565b91505092915050565b6000819050919050565b6125bb816125a8565b82525050565b600281106125d2576125d161189f565b5b50565b60008190506125e3826125c1565b919050565b60006125f3826125d5565b9050919050565b612603816125e8565b82525050565b600082825260208201905092915050565b600061262582611654565b61262f8185612609565b935061263f8185602086016111e7565b61264881611211565b840191505092915050565b600060608301600083015161266b60008601826125b2565b50602083015161267e60208601826125fa565b5060408301518482036040860152612696828261261a565b9150508091505092915050565b600060208201905081810360008301526126bd8184612653565b905092915050565b600082825260208201905092915050565b6000819050919050565b60006126ec8385612609565b93506126f983858461141f565b61270283611211565b840190509392505050565b600061271a8484846126e0565b90509392505050565b600080fd5b600080fd5b600080fd5b6000808335600160200384360303811261274f5761274e61272d565b5b83810192508235915060208301925067ffffffffffffffff82111561277757612776612723565b5b60018202360383131561278d5761278c612728565b5b509250929050565b6000602082019050919050565b60006127ae83856126c5565b9350836020840285016127c0846126d6565b8060005b878110156128065784840389526127db8284612732565b6127e686828461270d565b95506127f184612795565b935060208b019a5050506001810190506127c4565b50829750879450505050509392505050565b600060408201905081810360008301526128338186886127a2565b90508181036020830152612848818486611c92565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061288d8261149e565b91506128988361149e565b92508282019050808211156128b0576128af612853565b5b92915050565b6128bf8161132b565b82525050565b600082825260208201905092915050565b60006128e182611654565b6128eb81856128c5565b93506128fb8185602086016111e7565b61290481611211565b840191505092915050565b6129188161149e565b82525050565b600060808201905061293360008301876128b6565b818103602083015261294581866128d6565b9050612954604083018561290f565b61296160608301846128b6565b95945050505050565b6000602082840312156129805761297f611321565b5b600061298e84828501612056565b91505092915050565b600381106129a457600080fd5b50565b6000815190506129b681612997565b92915050565b6000604082840312156129d2576129d161223d565b5b6129dc60406113d3565b905060006129ec848285016129a7565b6000830152506020612a0084828501611f66565b60208301525092915050565b600060408284031215612a2257612a21611321565b5b6000612a30848285016129bc565b91505092915050565b600069ffffffffffffffffffff82169050919050565b612a5881612a39565b8114612a6357600080fd5b50565b600081519050612a7581612a4f565b92915050565b612a84816125a8565b8114612a8f57600080fd5b50565b600081519050612aa181612a7b565b92915050565b600080600080600060a08688031215612ac357612ac2611321565b5b6000612ad188828901612a66565b9550506020612ae288828901612a92565b9450506040612af388828901611f66565b9350506060612b0488828901611f66565b9250506080612b1588828901612a66565b915050929550929590935056fea2646970667358221220b036e7ba8ee7cbaafc5df7d4a5f69a4f7971cee3f18aef03cf2e7ac9dd78087f64736f6c63430008140033608060405234801561001057600080fd5b506104ea806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063432d013714610046578063d876594b14610076578063fb1e61ca146100a6575b600080fd5b610060600480360381019061005b919061034d565b6100d6565b60405161006d9190610395565b60405180910390f35b610090600480360381019061008b919061034d565b6101a5565b60405161009d9190610395565b60405180910390f35b6100c060048036038101906100bb919061034d565b610275565b6040516100cd919061046f565b60405180910390f35b600060405180604001604052806002808111156100f6576100f56103b0565b5b81526020014381525060008084815260200190815260200160002060008201518160000160006101000a81548160ff0219169083600281111561013c5761013b6103b0565b5b0217905550602082015181600101559050503373ffffffffffffffffffffffffffffffffffffffff167fe5bd5dcc470f6a88a5d887cab0bcb1ae39dc5ed91181bcaba2482c57eebcdb4d436040516101949190610499565b60405180910390a260019050919050565b60006040518060400160405280600160028111156101c6576101c56103b0565b5b81526020014381525060008084815260200190815260200160002060008201518160000160006101000a81548160ff0219169083600281111561020c5761020b6103b0565b5b0217905550602082015181600101559050503373ffffffffffffffffffffffffffffffffffffffff167fd74033210025544364879f15fa3093e2fa4bfc9191e8cafb72093520da277b87436040516102649190610499565b60405180910390a260019050919050565b61027d6102e6565b6000808381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1660028111156102bf576102be6103b0565b5b60028111156102d1576102d06103b0565b5b81526020016001820154815250509050919050565b604051806040016040528060006002811115610305576103046103b0565b5b8152602001600081525090565b600080fd5b6000819050919050565b61032a81610317565b811461033557600080fd5b50565b60008135905061034781610321565b92915050565b60006020828403121561036357610362610312565b5b600061037184828501610338565b91505092915050565b60008115159050919050565b61038f8161037a565b82525050565b60006020820190506103aa6000830184610386565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106103f0576103ef6103b0565b5b50565b6000819050610401826103df565b919050565b6000610411826103f3565b9050919050565b61042181610406565b82525050565b6000819050919050565b61043a81610427565b82525050565b6040820160008201516104566000850182610418565b5060208201516104696020850182610431565b50505050565b60006040820190506104846000830184610440565b92915050565b61049381610427565b82525050565b60006020820190506104ae600083018461048a565b9291505056fea2646970667358221220f079e826f4bebfaa12042c8b2d283f1dc7cbfcb5cf370b472ce7450b583956d264736f6c63430008140033","args":["0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0","0x0000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000",5]},"FakedOracleProxy":{"addr":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","code":"0x60806040523480156200001157600080fd5b5033600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000885760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200007f9190620001a9565b60405180910390fd5b6200009981620000a060201b60201c565b50620001c6565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001918262000164565b9050919050565b620001a38162000184565b82525050565b6000602082019050620001c0600083018462000198565b92915050565b6116f780620001d66000396000f3fe6080604052600436106100ab5760003560e01c80635c60da1b116100645780635c60da1b146101fd578063715018a6146102285780638da5cb5b1461023f578063d37191de1461026a578063f2fde38b146102a7578063f9ae27f9146102d0576100b2565b8063341edfb4146100b45780633659cfe6146100f157806340691db41461011a5780634585e33b146101585780634b56a42e146101815780635727977c146101bf576100b2565b366100b257005b005b3480156100c057600080fd5b506100db60048036038101906100d69190610c2c565b61030d565b6040516100e89190610cca565b60405180910390f35b3480156100fd57600080fd5b5061011860048036038101906101139190610ce5565b6103a2565b005b34801561012657600080fd5b50610141600480360381019061013c9190610d37565b6103ee565b60405161014f929190610e2e565b60405180910390f35b34801561016457600080fd5b5061017f600480360381019061017a9190610ebe565b6104a2565b005b34801561018d57600080fd5b506101a860048036038101906101a39190610f61565b610535565b6040516101b6929190610e2e565b60405180910390f35b3480156101cb57600080fd5b506101e660048036038101906101e19190610c2c565b6105ed565b6040516101f4929190610ffb565b60405180910390f35b34801561020957600080fd5b5061021261069e565b60405161021f9190611033565b60405180910390f35b34801561023457600080fd5b5061023d6106c8565b005b34801561024b57600080fd5b506102546106dc565b6040516102619190611033565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190610c2c565b610705565b60405161029e9190610cca565b60405180910390f35b3480156102b357600080fd5b506102ce60048036038101906102c99190610ce5565b6107b5565b005b3480156102dc57600080fd5b506102f760048036038101906102f29190610c2c565b61083b565b6040516103049190610cca565b60405180910390f35b600061031761069e565b73ffffffffffffffffffffffffffffffffffffffff1663341edfb4868686866040518563ffffffff1660e01b8152600401610355949392919061105d565b6020604051808303816000875af1158015610374573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039891906110d5565b9050949350505050565b6103aa6108eb565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340691db485856040518363ffffffff1660e01b815260040161044f929190611429565b6000604051808303816000875af115801561046e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061049791906114d0565b915091509250929050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634585e33b83836040518363ffffffff1660e01b81526004016104ff929190611559565b600060405180830381600087803b15801561051957600080fd5b505af115801561052d573d6000803e3d6000fd5b505050505050565b60006060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b56a42e878787876040518563ffffffff1660e01b815260040161059a9493929190611631565b600060405180830381865afa1580156105b7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105e091906114d0565b9150915094509492505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635727977c878787876040518563ffffffff1660e01b8152600401610651949392919061105d565b6040805180830381865afa15801561066d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106919190611681565b9150915094509492505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106d06108eb565b6106da6000610972565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d37191de868686866040518563ffffffff1660e01b8152600401610768949392919061105d565b6020604051808303816000875af1158015610787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab91906110d5565b9050949350505050565b6107bd6108eb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361082f5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016108269190611033565b60405180910390fd5b61083881610972565b50565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f9ae27f9868686866040518563ffffffff1660e01b815260040161089e949392919061105d565b6020604051808303816000875af11580156108bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e191906110d5565b9050949350505050565b6108f3610a36565b73ffffffffffffffffffffffffffffffffffffffff166109116106dc565b73ffffffffffffffffffffffffffffffffffffffff161461097057610934610a36565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016109679190611033565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610a7d82610a52565b9050919050565b610a8d81610a72565b8114610a9857600080fd5b50565b600081359050610aaa81610a84565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610b0382610aba565b810181811067ffffffffffffffff82111715610b2257610b21610acb565b5b80604052505050565b6000610b35610a3e565b9050610b418282610afa565b919050565b600067ffffffffffffffff821115610b6157610b60610acb565b5b610b6a82610aba565b9050602081019050919050565b82818337600083830152505050565b6000610b99610b9484610b46565b610b2b565b905082815260208101848484011115610bb557610bb4610ab5565b5b610bc0848285610b77565b509392505050565b600082601f830112610bdd57610bdc610ab0565b5b8135610bed848260208601610b86565b91505092915050565b6000819050919050565b610c0981610bf6565b8114610c1457600080fd5b50565b600081359050610c2681610c00565b92915050565b60008060008060808587031215610c4657610c45610a48565b5b6000610c5487828801610a9b565b945050602085013567ffffffffffffffff811115610c7557610c74610a4d565b5b610c8187828801610bc8565b9350506040610c9287828801610c17565b9250506060610ca387828801610a9b565b91505092959194509250565b60008115159050919050565b610cc481610caf565b82525050565b6000602082019050610cdf6000830184610cbb565b92915050565b600060208284031215610cfb57610cfa610a48565b5b6000610d0984828501610a9b565b91505092915050565b600080fd5b60006101008284031215610d2e57610d2d610d12565b5b81905092915050565b60008060408385031215610d4e57610d4d610a48565b5b600083013567ffffffffffffffff811115610d6c57610d6b610a4d565b5b610d7885828601610d17565b925050602083013567ffffffffffffffff811115610d9957610d98610a4d565b5b610da585828601610bc8565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610de9578082015181840152602081019050610dce565b60008484015250505050565b6000610e0082610daf565b610e0a8185610dba565b9350610e1a818560208601610dcb565b610e2381610aba565b840191505092915050565b6000604082019050610e436000830185610cbb565b8181036020830152610e558184610df5565b90509392505050565b600080fd5b600080fd5b60008083601f840112610e7e57610e7d610ab0565b5b8235905067ffffffffffffffff811115610e9b57610e9a610e5e565b5b602083019150836001820283011115610eb757610eb6610e63565b5b9250929050565b60008060208385031215610ed557610ed4610a48565b5b600083013567ffffffffffffffff811115610ef357610ef2610a4d565b5b610eff85828601610e68565b92509250509250929050565b60008083601f840112610f2157610f20610ab0565b5b8235905067ffffffffffffffff811115610f3e57610f3d610e5e565b5b602083019150836020820283011115610f5a57610f59610e63565b5b9250929050565b60008060008060408587031215610f7b57610f7a610a48565b5b600085013567ffffffffffffffff811115610f9957610f98610a4d565b5b610fa587828801610f0b565b9450945050602085013567ffffffffffffffff811115610fc857610fc7610a4d565b5b610fd487828801610e68565b925092505092959194509250565b6000819050919050565b610ff581610fe2565b82525050565b60006040820190506110106000830185610fec565b61101d6020830184610cbb565b9392505050565b61102d81610a72565b82525050565b60006020820190506110486000830184611024565b92915050565b61105781610bf6565b82525050565b60006080820190506110726000830187611024565b81810360208301526110848186610df5565b9050611093604083018561104e565b6110a06060830184611024565b95945050505050565b6110b281610caf565b81146110bd57600080fd5b50565b6000815190506110cf816110a9565b92915050565b6000602082840312156110eb576110ea610a48565b5b60006110f9848285016110c0565b91505092915050565b60006111116020840184610c17565b905092915050565b61112281610bf6565b82525050565b61113181610fe2565b811461113c57600080fd5b50565b60008135905061114e81611128565b92915050565b6000611163602084018461113f565b905092915050565b61117481610fe2565b82525050565b60006111896020840184610a9b565b905092915050565b61119a81610a72565b82525050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126111cc576111cb6111aa565b5b83810192508235915060208301925067ffffffffffffffff8211156111f4576111f36111a0565b5b60208202360383131561120a576112096111a5565b5b509250929050565b600082825260208201905092915050565b600080fd5b82818337505050565b600061123d8385611212565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156112705761126f611223565b5b602083029250611281838584611228565b82840190509392505050565b600080833560016020038436030381126112aa576112a96111aa565b5b83810192508235915060208301925067ffffffffffffffff8211156112d2576112d16111a0565b5b6001820236038313156112e8576112e76111a5565b5b509250929050565b600082825260208201905092915050565b600061130d83856112f0565b935061131a838584610b77565b61132383610aba565b840190509392505050565b600061010083016113426000840184611102565b61134f6000860182611119565b5061135d6020840184611102565b61136a6020860182611119565b506113786040840184611154565b611385604086018261116b565b506113936060840184611102565b6113a06060860182611119565b506113ae6080840184611154565b6113bb608086018261116b565b506113c960a084018461117a565b6113d660a0860182611191565b506113e460c08401846111af565b85830360c08701526113f7838284611231565b9250505061140860e084018461128d565b85830360e087015261141b838284611301565b925050508091505092915050565b60006040820190508181036000830152611443818561132e565b905081810360208301526114578184610df5565b90509392505050565b600061147361146e84610b46565b610b2b565b90508281526020810184848401111561148f5761148e610ab5565b5b61149a848285610dcb565b509392505050565b600082601f8301126114b7576114b6610ab0565b5b81516114c7848260208601611460565b91505092915050565b600080604083850312156114e7576114e6610a48565b5b60006114f5858286016110c0565b925050602083015167ffffffffffffffff81111561151657611515610a4d565b5b611522858286016114a2565b9150509250929050565b60006115388385610dba565b9350611545838584610b77565b61154e83610aba565b840190509392505050565b6000602082019050818103600083015261157481848661152c565b90509392505050565b600082825260208201905092915050565b6000819050919050565b60006115a5848484611301565b90509392505050565b6000602082019050919050565b60006115c7838561157d565b9350836020840285016115d98461158e565b8060005b8781101561161f5784840389526115f4828461128d565b6115ff868284611598565b955061160a846115ae565b935060208b019a5050506001810190506115dd565b50829750879450505050509392505050565b6000604082019050818103600083015261164c8186886115bb565b9050818103602083015261166181848661152c565b905095945050505050565b60008151905061167b81611128565b92915050565b6000806040838503121561169857611697610a48565b5b60006116a68582860161166c565b92505060206116b7858286016110c0565b915050925092905056fea2646970667358221220a079204ec4b60f67144ba9ec99dfb922311ebb899e76d269a6a42dbbf1679ccf64736f6c63430008140033","args":[]},"SimpleConsumer":{"addr":"0x5FC8d32690cc91D4c39d9d3abcBD16989F875707","code":"0x60a060405234801561001057600080fd5b50604051610e3c380380610e3c833981810160405281019061003291906100cf565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506100fc565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061009c82610071565b9050919050565b6100ac81610091565b81146100b757600080fd5b50565b6000815190506100c9816100a3565b92915050565b6000602082840312156100e5576100e461006c565b5b60006100f3848285016100ba565b91505092915050565b608051610d17610125600039600081816102c5015281816103e301526104620152610d176000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806343c3fcb11161005b57806343c3fcb1146101005780637dc0d1d01461011e578063abbb3a9b1461013c578063b7cd5ef91461015c5761007d565b80633196b7c6146100825780633b5d7c12146100b257806340dd1561146100e2575b600080fd5b61009c600480360381019061009791906107a4565b61018c565b6040516100a99190610808565b60405180910390f35b6100cc60048036038101906100c7919061091b565b6102c0565b6040516100d99190610808565b60405180910390f35b6100ea6103c8565b6040516100f791906109d2565b60405180910390f35b6101086103db565b60405161011591906109fc565b60405180910390f35b6101266103e1565b6040516101339190610a26565b60405180910390f35b610144610405565b60405161015393929190610a50565b60405180910390f35b6101766004803603810190610171919061091b565b61045d565b6040516101839190610808565b60405180910390f35b600081600001516000819055508160200151600160006101000a81548160ff021916908360018111156101c2576101c161095b565b5b021790555081604001518060200190518101906101df9190610b15565b600260008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201559050507fe317dab6c24412531a104b7fae35d5271976c773fae5615e5fba0b023472576882600001516040516102af91906109fc565b60405180910390a160019050919050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d37191de30866040516020016103119190610ba2565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016103419493929190610c3c565b6020604051808303816000875af1158015610360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103849190610cb4565b9050806103bd576040517fd979d1f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600191505092915050565b600160009054906101000a900460ff1681565b60005481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60028060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663341edfb430866040516020016104ae9190610ba2565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016104de9493929190610c3c565b6020604051808303816000875af11580156104fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105219190610cb4565b90508061055a576040517fd979d1f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600191505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6105c78261057e565b810181811067ffffffffffffffff821117156105e6576105e561058f565b5b80604052505050565b60006105f9610565565b905061060582826105be565b919050565b600080fd5b6000819050919050565b6106228161060f565b811461062d57600080fd5b50565b60008135905061063f81610619565b92915050565b6002811061065257600080fd5b50565b60008135905061066481610645565b92915050565b600080fd5b600080fd5b600067ffffffffffffffff82111561068f5761068e61058f565b5b6106988261057e565b9050602081019050919050565b82818337600083830152505050565b60006106c76106c284610674565b6105ef565b9050828152602081018484840111156106e3576106e261066f565b5b6106ee8482856106a5565b509392505050565b600082601f83011261070b5761070a61066a565b5b813561071b8482602086016106b4565b91505092915050565b60006060828403121561073a57610739610579565b5b61074460606105ef565b9050600061075484828501610630565b600083015250602061076884828501610655565b602083015250604082013567ffffffffffffffff81111561078c5761078b61060a565b5b610798848285016106f6565b60408301525092915050565b6000602082840312156107ba576107b961056f565b5b600082013567ffffffffffffffff8111156107d8576107d7610574565b5b6107e484828501610724565b91505092915050565b60008115159050919050565b610802816107ed565b82525050565b600060208201905061081d60008301846107f9565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061084e82610823565b9050919050565b61085e81610843565b811461086957600080fd5b50565b60008135905061087b81610855565b92915050565b6000819050919050565b61089481610881565b811461089f57600080fd5b50565b6000813590506108b18161088b565b92915050565b6000606082840312156108cd576108cc610579565b5b6108d760606105ef565b905060006108e78482850161086c565b60008301525060206108fb8482850161086c565b602083015250604061090f848285016108a2565b60408301525092915050565b600080608083850312156109325761093161056f565b5b6000610940858286016108b7565b9250506060610951858286016108a2565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811061099b5761099a61095b565b5b50565b60008190506109ac8261098a565b919050565b60006109bc8261099e565b9050919050565b6109cc816109b1565b82525050565b60006020820190506109e760008301846109c3565b92915050565b6109f68161060f565b82525050565b6000602082019050610a1160008301846109ed565b92915050565b610a2081610843565b82525050565b6000602082019050610a3b6000830184610a17565b92915050565b610a4a81610881565b82525050565b6000606082019050610a656000830186610a17565b610a726020830185610a17565b610a7f6040830184610a41565b949350505050565b600081519050610a9681610855565b92915050565b600081519050610aab8161088b565b92915050565b600060608284031215610ac757610ac6610579565b5b610ad160606105ef565b90506000610ae184828501610a87565b6000830152506020610af584828501610a87565b6020830152506040610b0984828501610a9c565b60408301525092915050565b600060608284031215610b2b57610b2a61056f565b5b6000610b3984828501610ab1565b91505092915050565b610b4b81610843565b82525050565b610b5a81610881565b82525050565b606082016000820151610b766000850182610b42565b506020820151610b896020850182610b42565b506040820151610b9c6040850182610b51565b50505050565b6000606082019050610bb76000830184610b60565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bf7578082015181840152602081019050610bdc565b60008484015250505050565b6000610c0e82610bbd565b610c188185610bc8565b9350610c28818560208601610bd9565b610c318161057e565b840191505092915050565b6000608082019050610c516000830187610a17565b8181036020830152610c638186610c03565b9050610c726040830185610a41565b610c7f6060830184610a17565b95945050505050565b610c91816107ed565b8114610c9c57600080fd5b50565b600081519050610cae81610c88565b92915050565b600060208284031215610cca57610cc961056f565b5b6000610cd884828501610c9f565b9150509291505056fea2646970667358221220aee668c5f901cc6e6b8874c3135e22cfe0d165bb66bcab4ade29589c3e36060064736f6c63430008140033","args":["0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9"]},"SwapApp":{"addr":"0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44","code":"0x60a06040523480156200001157600080fd5b506040516200160a3803806200160a8339818101604052810190620000379190620000dc565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506200010e565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000a48262000077565b9050919050565b620000b68162000097565b8114620000c257600080fd5b50565b600081519050620000d681620000ab565b92915050565b600060208284031215620000f557620000f462000072565b5b60006200010584828501620000c5565b91505092915050565b6080516114d262000138600039600081816101e1015281816102f2015261031901526114d26000f3fe60806040526004361061004e5760003560e01c80633196b7c61461005a5780636a7e6c9a146100975780637dc0d1d0146100d45780639310bba4146100ff5780639d3e6e251461013c57610055565b3661005557005b600080fd5b34801561006657600080fd5b50610081600480360381019061007c9190610aeb565b610165565b60405161008e9190610b4f565b60405180910390f35b3480156100a357600080fd5b506100be60048036038101906100b99190610c76565b6101dc565b6040516100cb9190610b4f565b60405180910390f35b3480156100e057600080fd5b506100e96102f0565b6040516100f69190610cc5565b60405180910390f35b34801561010b57600080fd5b5061012660048036038101906101219190610c76565b610314565b6040516101339190610b4f565b60405180910390f35b34801561014857600080fd5b50610163600480360381019061015e9190610ce0565b610428565b005b60008082604001518060200190518101906101809190610daf565b90506000610192846000015183610482565b90507fdf1c71557a4251e0650fabd3081054ea195463663546b7fd5ec50402610445948185600001516040516101c9929190610dfa565b60405180910390a1600192505050919050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d37191de308660405160200161022d9190610e96565b60405160208183030381529060405286336040518563ffffffff1660e01b815260040161025d9493929190610f30565b6020604051808303816000875af115801561027c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a09190610fa8565b9050806102e65783836040517fa0ba1a330000000000000000000000000000000000000000000000000000000081526004016102dd929190610fd5565b60405180910390fd5b8091505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663341edfb430866040516020016103659190610e96565b60405160208183030381529060405286336040518563ffffffff1660e01b81526004016103959493929190610f30565b6020604051808303816000875af11580156103b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d89190610fa8565b90508061041e5783836040517fa0ba1a33000000000000000000000000000000000000000000000000000000008152600401610415929190610fd5565b60405180910390fd5b8091505092915050565b60006873168b23dd2a4c0000905060006104428284610482565b90507fdf1c71557a4251e0650fabd3081054ea195463663546b7fd5ec50402610445948183604051610475929190610dfa565b60405180910390a1505050565b600080826020015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f89190611037565b9050600061050a84604001518661068e565b90507f63f32f63810afda7c9be9643f9fa73ee3f39a9fd8bb35775a2b0d73e48ed9bed8160405161053b9190611064565b60405180910390a1600082600a61055291906111e1565b856060015183610562919061122c565b61056c919061129d565b9050846020015173ffffffffffffffffffffffffffffffffffffffff166323b872dd86600001513088606001516040518463ffffffff1660e01b81526004016105b7939291906112ce565b6020604051808303816000875af11580156105d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610fa8565b50846040015173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8660000151836040518363ffffffff1660e01b815260040161063e929190611305565b6020604051808303816000875af115801561065d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106819190610fa8565b5080935050505092915050565b6000806012905060008473ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107069190611037565b90508160ff168160ff16101561076e5760008183610724919061132e565b905061074c6040518060600160405280602c8152602001611471602c91398260ff16876107bd565b80600a61075991906111e1565b85610764919061129d565b93505050506107b7565b8160ff168160ff1611156107b1576000828261078a919061132e565b60ff16905080600a61079c9190611363565b856107a7919061122c565b93505050506107b7565b83925050505b92915050565b6108578383836040516024016107d593929190611403565b6040516020818303038152906040527fca47c4eb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061085c565b505050565b6108738161086b610876610897565b63ffffffff16565b50565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b6108a2819050919050565b6108aa611441565b565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61090e826108c5565b810181811067ffffffffffffffff8211171561092d5761092c6108d6565b5b80604052505050565b60006109406108ac565b905061094c8282610905565b919050565b600080fd5b6000819050919050565b61096981610956565b811461097457600080fd5b50565b60008135905061098681610960565b92915050565b6002811061099957600080fd5b50565b6000813590506109ab8161098c565b92915050565b600080fd5b600080fd5b600067ffffffffffffffff8211156109d6576109d56108d6565b5b6109df826108c5565b9050602081019050919050565b82818337600083830152505050565b6000610a0e610a09846109bb565b610936565b905082815260208101848484011115610a2a57610a296109b6565b5b610a358482856109ec565b509392505050565b600082601f830112610a5257610a516109b1565b5b8135610a628482602086016109fb565b91505092915050565b600060608284031215610a8157610a806108c0565b5b610a8b6060610936565b90506000610a9b84828501610977565b6000830152506020610aaf8482850161099c565b602083015250604082013567ffffffffffffffff811115610ad357610ad2610951565b5b610adf84828501610a3d565b60408301525092915050565b600060208284031215610b0157610b006108b6565b5b600082013567ffffffffffffffff811115610b1f57610b1e6108bb565b5b610b2b84828501610a6b565b91505092915050565b60008115159050919050565b610b4981610b34565b82525050565b6000602082019050610b646000830184610b40565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b9582610b6a565b9050919050565b610ba581610b8a565b8114610bb057600080fd5b50565b600081359050610bc281610b9c565b92915050565b6000819050919050565b610bdb81610bc8565b8114610be657600080fd5b50565b600081359050610bf881610bd2565b92915050565b600060808284031215610c1457610c136108c0565b5b610c1e6080610936565b90506000610c2e84828501610bb3565b6000830152506020610c4284828501610bb3565b6020830152506040610c5684828501610bb3565b6040830152506060610c6a84828501610be9565b60608301525092915050565b60008060a08385031215610c8d57610c8c6108b6565b5b6000610c9b85828601610bfe565b9250506080610cac85828601610be9565b9150509250929050565b610cbf81610b8a565b82525050565b6000602082019050610cda6000830184610cb6565b92915050565b600060808284031215610cf657610cf56108b6565b5b6000610d0484828501610bfe565b91505092915050565b600081519050610d1c81610b9c565b92915050565b600081519050610d3181610bd2565b92915050565b600060808284031215610d4d57610d4c6108c0565b5b610d576080610936565b90506000610d6784828501610d0d565b6000830152506020610d7b84828501610d0d565b6020830152506040610d8f84828501610d0d565b6040830152506060610da384828501610d22565b60608301525092915050565b600060808284031215610dc557610dc46108b6565b5b6000610dd384828501610d37565b91505092915050565b610de581610bc8565b82525050565b610df481610956565b82525050565b6000604082019050610e0f6000830185610ddc565b610e1c6020830184610deb565b9392505050565b610e2c81610b8a565b82525050565b610e3b81610bc8565b82525050565b608082016000820151610e576000850182610e23565b506020820151610e6a6020850182610e23565b506040820151610e7d6040850182610e23565b506060820151610e906060850182610e32565b50505050565b6000608082019050610eab6000830184610e41565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610eeb578082015181840152602081019050610ed0565b60008484015250505050565b6000610f0282610eb1565b610f0c8185610ebc565b9350610f1c818560208601610ecd565b610f25816108c5565b840191505092915050565b6000608082019050610f456000830187610cb6565b8181036020830152610f578186610ef7565b9050610f666040830185610ddc565b610f736060830184610cb6565b95945050505050565b610f8581610b34565b8114610f9057600080fd5b50565b600081519050610fa281610f7c565b92915050565b600060208284031215610fbe57610fbd6108b6565b5b6000610fcc84828501610f93565b91505092915050565b600060a082019050610fea6000830185610e41565b610ff76080830184610ddc565b9392505050565b600060ff82169050919050565b61101481610ffe565b811461101f57600080fd5b50565b6000815190506110318161100b565b92915050565b60006020828403121561104d5761104c6108b6565b5b600061105b84828501611022565b91505092915050565b60006020820190506110796000830184610ddc565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611105578086048111156110e1576110e061107f565b5b60018516156110f05780820291505b80810290506110fe856110ae565b94506110c5565b94509492505050565b60008261111e57600190506111da565b8161112c57600090506111da565b8160018114611142576002811461114c5761117b565b60019150506111da565b60ff84111561115e5761115d61107f565b5b8360020a9150848211156111755761117461107f565b5b506111da565b5060208310610133831016604e8410600b84101617156111b05782820a9050838111156111ab576111aa61107f565b5b6111da565b6111bd84848460016110bb565b925090508184048111156111d4576111d361107f565b5b81810290505b9392505050565b60006111ec82610bc8565b91506111f783610ffe565b92506112247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461110e565b905092915050565b600061123782610bc8565b915061124283610bc8565b925082820261125081610bc8565b915082820484148315176112675761126661107f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006112a882610bc8565b91506112b383610bc8565b9250826112c3576112c261126e565b5b828204905092915050565b60006060820190506112e36000830186610cb6565b6112f06020830185610cb6565b6112fd6040830184610ddc565b949350505050565b600060408201905061131a6000830185610cb6565b6113276020830184610ddc565b9392505050565b600061133982610ffe565b915061134483610ffe565b9250828203905060ff81111561135d5761135c61107f565b5b92915050565b600061136e82610bc8565b915061137983610bc8565b92506113a67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461110e565b905092915050565b600081519050919050565b600082825260208201905092915050565b60006113d5826113ae565b6113df81856113b9565b93506113ef818560208601610ecd565b6113f8816108c5565b840191505092915050565b6000606082019050818103600083015261141d81866113ca565b905061142c6020830185610ddc565b6114396040830184610ddc565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfe746f6b656e4f7574446563696d616c73203c20707269636566656564446563696d616c732c2025732c202573a2646970667358221220fa29fe375648ece45b330d88689c03e99aebd80ffb8add509edcf778a6142f3d64736f6c63430008140033","args":["0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9"]},"FWETH":{"addr":"0xa513E6E4b8f2a923D98304ec87F64353C4D5C853","code":"0x60806040523480156200001157600080fd5b506040518060400160405280600b81526020017f466f7274697320574554480000000000000000000000000000000000000000008152506040518060400160405280600581526020017f665745544800000000000000000000000000000000000000000000000000000081525081600390816200008f919062000324565b508060049081620000a1919062000324565b5050506200040b565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200012c57607f821691505b602082108103620001425762000141620000e4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200016d565b620001b886836200016d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000205620001ff620001f984620001d0565b620001da565b620001d0565b9050919050565b6000819050919050565b6200022183620001e4565b6200023962000230826200020c565b8484546200017a565b825550505050565b600090565b6200025062000241565b6200025d81848462000216565b505050565b5b8181101562000285576200027960008262000246565b60018101905062000263565b5050565b601f821115620002d4576200029e8162000148565b620002a9846200015d565b81016020851015620002b9578190505b620002d1620002c8856200015d565b83018262000262565b50505b505050565b600082821c905092915050565b6000620002f960001984600802620002d9565b1980831691505092915050565b6000620003148383620002e6565b9150826002028217905092915050565b6200032f82620000aa565b67ffffffffffffffff8111156200034b576200034a620000b5565b5b62000357825462000113565b6200036482828562000289565b600060209050601f8311600181146200039c576000841562000387578287015190505b62000393858262000306565b86555062000403565b601f198416620003ac8662000148565b60005b82811015620003d657848901518255600182019150602085019450602081019050620003af565b86831015620003f65784890151620003f2601f891682620002e6565b8355505b6001600288020188555050505b505050505050565b6111ee806200041b6000396000f3fe6080604052600436106100a05760003560e01c8063313ce56711610064578063313ce567146101b257806370a08231146101dd57806395d89b411461021a578063a9059cbb14610245578063d0e30db014610282578063dd62ed3e1461028c576100af565b806306fdde03146100b9578063095ea7b3146100e457806318160ddd1461012157806323b872dd1461014c5780632e1a7d4d14610189576100af565b366100af576100ad6102c9565b005b6100b76102c9565b005b3480156100c557600080fd5b506100ce610323565b6040516100db9190610dcf565b60405180910390f35b3480156100f057600080fd5b5061010b60048036038101906101069190610e8a565b6103b5565b6040516101189190610ee5565b60405180910390f35b34801561012d57600080fd5b506101366103d8565b6040516101439190610f0f565b60405180910390f35b34801561015857600080fd5b50610173600480360381019061016e9190610f2a565b6103e2565b6040516101809190610ee5565b60405180910390f35b34801561019557600080fd5b506101b060048036038101906101ab9190610f7d565b610411565b005b3480156101be57600080fd5b506101c7610510565b6040516101d49190610fc6565b60405180910390f35b3480156101e957600080fd5b5061020460048036038101906101ff9190610fe1565b610519565b6040516102119190610f0f565b60405180910390f35b34801561022657600080fd5b5061022f610561565b60405161023c9190610dcf565b60405180910390f35b34801561025157600080fd5b5061026c60048036038101906102679190610e8a565b6105f3565b6040516102799190610ee5565b60405180910390f35b61028a6102c9565b005b34801561029857600080fd5b506102b360048036038101906102ae919061100e565b610616565b6040516102c09190610f0f565b60405180910390f35b6102d3333461069d565b3373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516103199190610f0f565b60405180910390a2565b6060600380546103329061107d565b80601f016020809104026020016040519081016040528092919081815260200182805461035e9061107d565b80156103ab5780601f10610380576101008083540402835291602001916103ab565b820191906000526020600020905b81548152906001019060200180831161038e57829003601f168201915b5050505050905090565b6000806103c061071f565b90506103cd818585610727565b600191505092915050565b6000600254905090565b6000806103ed61071f565b90506103fa858285610739565b6104058585856107cd565b60019150509392505050565b60003373ffffffffffffffffffffffffffffffffffffffff1682604051610437906110df565b60006040518083038185875af1925050503d8060008114610474576040519150601f19603f3d011682016040523d82523d6000602084013e610479565b606091505b50509050806104b4576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104be33836108c1565b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65836040516105049190610f0f565b60405180910390a25050565b60006012905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546105709061107d565b80601f016020809104026020016040519081016040528092919081815260200182805461059c9061107d565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b5050505050905090565b6000806105fe61071f565b905061060b8185856107cd565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361070f5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016107069190611103565b60405180910390fd5b61071b60008383610943565b5050565b600033905090565b6107348383836001610b68565b505050565b60006107458484610616565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107c757818110156107b7578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016107ae9392919061111e565b60405180910390fd5b6107c684848484036000610b68565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361083f5760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016108369190611103565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108b15760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016108a89190611103565b60405180910390fd5b6108bc838383610943565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109335760006040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161092a9190611103565b60405180910390fd5b61093f82600083610943565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109955780600260008282546109899190611184565b92505081905550610a68565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a21578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610a189392919061111e565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ab15780600260008282540392505081905550610afe565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b5b9190610f0f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610bda5760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610bd19190611103565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c4c5760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610c439190611103565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610d39578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610d309190610f0f565b60405180910390a35b50505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d79578082015181840152602081019050610d5e565b60008484015250505050565b6000601f19601f8301169050919050565b6000610da182610d3f565b610dab8185610d4a565b9350610dbb818560208601610d5b565b610dc481610d85565b840191505092915050565b60006020820190508181036000830152610de98184610d96565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e2182610df6565b9050919050565b610e3181610e16565b8114610e3c57600080fd5b50565b600081359050610e4e81610e28565b92915050565b6000819050919050565b610e6781610e54565b8114610e7257600080fd5b50565b600081359050610e8481610e5e565b92915050565b60008060408385031215610ea157610ea0610df1565b5b6000610eaf85828601610e3f565b9250506020610ec085828601610e75565b9150509250929050565b60008115159050919050565b610edf81610eca565b82525050565b6000602082019050610efa6000830184610ed6565b92915050565b610f0981610e54565b82525050565b6000602082019050610f246000830184610f00565b92915050565b600080600060608486031215610f4357610f42610df1565b5b6000610f5186828701610e3f565b9350506020610f6286828701610e3f565b9250506040610f7386828701610e75565b9150509250925092565b600060208284031215610f9357610f92610df1565b5b6000610fa184828501610e75565b91505092915050565b600060ff82169050919050565b610fc081610faa565b82525050565b6000602082019050610fdb6000830184610fb7565b92915050565b600060208284031215610ff757610ff6610df1565b5b600061100584828501610e3f565b91505092915050565b6000806040838503121561102557611024610df1565b5b600061103385828601610e3f565b925050602061104485828601610e3f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061109557607f821691505b6020821081036110a8576110a761104e565b5b50919050565b600081905092915050565b50565b60006110c96000836110ae565b91506110d4826110b9565b600082019050919050565b60006110ea826110bc565b9150819050919050565b6110fd81610e16565b82525050565b600060208201905061111860008301846110f4565b92915050565b600060608201905061113360008301866110f4565b6111406020830185610f00565b61114d6040830184610f00565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061118f82610e54565b915061119a83610e54565b92508282019050808211156111b2576111b1611155565b5b9291505056fea26469706673582212200d5d7fc04e6100ddd7ba69dc88e87d6aed3cdf6122cd15d9878afed98c4f6fc964736f6c63430008140033","args":[]},"FUSDC":{"addr":"0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6","code":"0x60806040523480156200001157600080fd5b50336040518060400160405280600b81526020017f466f7274697320555344430000000000000000000000000000000000000000008152506040518060400160405280600581526020017f6655534443000000000000000000000000000000000000000000000000000000815250816003908162000090919062000472565b508060049081620000a2919062000472565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200011a5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200011191906200059e565b60405180910390fd5b6200012b816200013260201b60201c565b50620005bb565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200027a57607f821691505b60208210810362000290576200028f62000232565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002fa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002bb565b620003068683620002bb565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003536200034d62000347846200031e565b62000328565b6200031e565b9050919050565b6000819050919050565b6200036f8362000332565b620003876200037e826200035a565b848454620002c8565b825550505050565b600090565b6200039e6200038f565b620003ab81848462000364565b505050565b5b81811015620003d357620003c760008262000394565b600181019050620003b1565b5050565b601f8211156200042257620003ec8162000296565b620003f784620002ab565b8101602085101562000407578190505b6200041f6200041685620002ab565b830182620003b0565b50505b505050565b600082821c905092915050565b6000620004476000198460080262000427565b1980831691505092915050565b600062000462838362000434565b9150826002028217905092915050565b6200047d82620001f8565b67ffffffffffffffff81111562000499576200049862000203565b5b620004a5825462000261565b620004b2828285620003d7565b600060209050601f831160018114620004ea5760008415620004d5578287015190505b620004e1858262000454565b86555062000551565b601f198416620004fa8662000296565b60005b828110156200052457848901518255600182019150602085019450602081019050620004fd565b8683101562000544578489015162000540601f89168262000434565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005868262000559565b9050919050565b620005988162000579565b82525050565b6000602082019050620005b560008301846200058d565b92915050565b61119a80620005cb6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806370a082311161008c57806395d89b411161006657806395d89b4114610202578063a9059cbb14610220578063dd62ed3e14610250578063f2fde38b14610280576100cf565b806370a08231146101aa578063715018a6146101da5780638da5cb5b146101e4576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce5671461017057806340c10f191461018e575b600080fd5b6100dc61029c565b6040516100e99190610dee565b60405180910390f35b61010c60048036038101906101079190610ea9565b61032e565b6040516101199190610f04565b60405180910390f35b61012a610351565b6040516101379190610f2e565b60405180910390f35b61015a60048036038101906101559190610f49565b61035b565b6040516101679190610f04565b60405180910390f35b61017861038a565b6040516101859190610fb8565b60405180910390f35b6101a860048036038101906101a39190610ea9565b610393565b005b6101c460048036038101906101bf9190610fd3565b6103a9565b6040516101d19190610f2e565b60405180910390f35b6101e26103f1565b005b6101ec610405565b6040516101f9919061100f565b60405180910390f35b61020a61042f565b6040516102179190610dee565b60405180910390f35b61023a60048036038101906102359190610ea9565b6104c1565b6040516102479190610f04565b60405180910390f35b61026a6004803603810190610265919061102a565b6104e4565b6040516102779190610f2e565b60405180910390f35b61029a60048036038101906102959190610fd3565b61056b565b005b6060600380546102ab90611099565b80601f01602080910402602001604051908101604052809291908181526020018280546102d790611099565b80156103245780601f106102f957610100808354040283529160200191610324565b820191906000526020600020905b81548152906001019060200180831161030757829003601f168201915b5050505050905090565b6000806103396105f1565b90506103468185856105f9565b600191505092915050565b6000600254905090565b6000806103666105f1565b905061037385828561060b565b61037e85858561069f565b60019150509392505050565b60006006905090565b61039b610793565b6103a5828261081a565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6103f9610793565b610403600061089c565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461043e90611099565b80601f016020809104026020016040519081016040528092919081815260200182805461046a90611099565b80156104b75780601f1061048c576101008083540402835291602001916104b7565b820191906000526020600020905b81548152906001019060200180831161049a57829003601f168201915b5050505050905090565b6000806104cc6105f1565b90506104d981858561069f565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610573610793565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036105e55760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016105dc919061100f565b60405180910390fd5b6105ee8161089c565b50565b600033905090565b6106068383836001610962565b505050565b600061061784846104e4565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106995781811015610689578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610680939291906110ca565b60405180910390fd5b61069884848484036000610962565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107115760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610708919061100f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107835760006040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161077a919061100f565b60405180910390fd5b61078e838383610b39565b505050565b61079b6105f1565b73ffffffffffffffffffffffffffffffffffffffff166107b9610405565b73ffffffffffffffffffffffffffffffffffffffff1614610818576107dc6105f1565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161080f919061100f565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361088c5760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610883919061100f565b60405180910390fd5b61089860008383610b39565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036109d45760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016109cb919061100f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a465760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610a3d919061100f565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610b33578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b2a9190610f2e565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b8b578060026000828254610b7f9190611130565b92505081905550610c5e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610c17578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610c0e939291906110ca565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ca75780600260008282540392505081905550610cf4565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d519190610f2e565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d98578082015181840152602081019050610d7d565b60008484015250505050565b6000601f19601f8301169050919050565b6000610dc082610d5e565b610dca8185610d69565b9350610dda818560208601610d7a565b610de381610da4565b840191505092915050565b60006020820190508181036000830152610e088184610db5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e4082610e15565b9050919050565b610e5081610e35565b8114610e5b57600080fd5b50565b600081359050610e6d81610e47565b92915050565b6000819050919050565b610e8681610e73565b8114610e9157600080fd5b50565b600081359050610ea381610e7d565b92915050565b60008060408385031215610ec057610ebf610e10565b5b6000610ece85828601610e5e565b9250506020610edf85828601610e94565b9150509250929050565b60008115159050919050565b610efe81610ee9565b82525050565b6000602082019050610f196000830184610ef5565b92915050565b610f2881610e73565b82525050565b6000602082019050610f436000830184610f1f565b92915050565b600080600060608486031215610f6257610f61610e10565b5b6000610f7086828701610e5e565b9350506020610f8186828701610e5e565b9250506040610f9286828701610e94565b9150509250925092565b600060ff82169050919050565b610fb281610f9c565b82525050565b6000602082019050610fcd6000830184610fa9565b92915050565b600060208284031215610fe957610fe8610e10565b5b6000610ff784828501610e5e565b91505092915050565b61100981610e35565b82525050565b60006020820190506110246000830184611000565b92915050565b6000806040838503121561104157611040610e10565b5b600061104f85828601610e5e565b925050602061106085828601610e5e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806110b157607f821691505b6020821081036110c4576110c361106a565b5b50919050565b60006060820190506110df6000830186611000565b6110ec6020830185610f1f565b6110f96040830184610f1f565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061113b82610e73565b915061114683610e73565b925082820190508082111561115e5761115d611101565b5b9291505056fea2646970667358221220eae6eeb5c9e2a1114cc2be7cc00b569fc3361a8ecb42ebc804bb0c059c7cdccb64736f6c63430008140033","args":[]}}} \ No newline at end of file diff --git a/scripts/common.js b/scripts/common.js index 3ffce12..99bd7be 100644 --- a/scripts/common.js +++ b/scripts/common.js @@ -3,10 +3,12 @@ const fs = require("node:fs"); const path = require("node:path"); const hre = require("hardhat"); -const loggedNetworks = ["arbitrum-sepolia", "arbitrum-goerli"]; +const loggedNetworks = ["arbitrum-sepolia", "arbitrum-goerli", "localhost"]; +const verifyNetwork = ["arbitrum-sepolia", "arbitrum-goerli"]; const filePath = path.resolve("deployment-lock.json"); const isLoggedNetwork = () => loggedNetworks.includes(hre.network.name); +const isVerifyNetwork = () => verifyNetwork.includes(hre.network.name); const getDeploymentLockData = async () => { const isExist = fs.existsSync(filePath); @@ -25,6 +27,7 @@ const updateDeploymentLockData = (result) => { module.exports = { isLoggedNetwork, + isVerifyNetwork, getDeploymentLockData, updateDeploymentLockData, } \ No newline at end of file diff --git a/scripts/config.externals.js b/scripts/config.externals.js new file mode 100644 index 0000000..98a6af4 --- /dev/null +++ b/scripts/config.externals.js @@ -0,0 +1,19 @@ +module.exports = { + hardhat: { + verifier: ethers.ZeroAddress, + streamId: ethers.ZeroAddress, + datafeed: ethers.ZeroAddress, + }, + "arbitrum-goerli": { + verifier: "0xcB1241Fdf26501fA7A2d47d841dcF72C3CAa9dCe", + streamId: + "0x00029584363bcf642315133c335b3646513c20f049602fc7d933be0d3f6360d3", + datafeed: "0xd30e2101a97dcbAeBCBC04F14C3f624E67A35165", // doesn't work + }, + "arbitrum-sepolia": { + verifier: "0x2ff010DEbC1297f19579B4246cad07bd24F2488A", + streamId: + "0x00027bbaff688c906a3e20a34fe951715d1018d262a5b66e38eda027a674cd1b", + datafeed: "0xd30e2101a97dcbAeBCBC04F14C3f624E67A35165", + }, +}; diff --git a/scripts/deployment/deploy.js b/scripts/deployment/deploy.js index 960ccd4..5fbcb41 100644 --- a/scripts/deployment/deploy.js +++ b/scripts/deployment/deploy.js @@ -1,6 +1,6 @@ const hre = require("hardhat"); const { - isLoggedNetwork, + isVerifyNetwork, getDeploymentLockData, updateDeploymentLockData, } = require("../common"); @@ -69,7 +69,7 @@ const deployOnlyChanged = console.log("Contract deployed, address:", contractAddress); - if (isLoggedNetwork()) { + if (isVerifyNetwork()) { console.log("verify newly deployed contract..."); await hre.run("verify:verify", { diff --git a/scripts/deployment/example/arbitrum-goerli/config.js b/scripts/deployment/example/arbitrum-goerli/config.js index bfb3fce..3c4beaf 100644 --- a/scripts/deployment/example/arbitrum-goerli/config.js +++ b/scripts/deployment/example/arbitrum-goerli/config.js @@ -1,3 +1,5 @@ +const externals = require("../../../config.externals")["arbitrum-goerli"]; + module.exports = [ { contract: "RequestLib", @@ -11,11 +13,11 @@ module.exports = [ // emitter (deploymentLock) => deploymentLock.AutomationEmitter.addr, // verifier - "0xcB1241Fdf26501fA7A2d47d841dcF72C3CAa9dCe", + externals.verifier, // eth/usd data stream id - "0x00029584363bcf642315133c335b3646513c20f049602fc7d933be0d3f6360d3", + externals.streamId, // eth/usd data feed - "0xd30e2101a97dcbAeBCBC04F14C3f624E67A35165", + externals.datafeed, // timeout 5, ], @@ -34,9 +36,12 @@ module.exports = [ }, { contract: "SwapApp", - args: [ - "0xab7664500b19a7a2362Ab26081e6DfB971B6F1B0", - (deploymentLock) => deploymentLock.FakedOracleProxy.addr - ], + args: [(deploymentLock) => deploymentLock.FakedOracleProxy.addr], + }, + { + contract: "FWETH", + }, + { + contract: "FUSDC", }, ]; diff --git a/scripts/deployment/example/arbitrum-sepolia/config.js b/scripts/deployment/example/arbitrum-sepolia/config.js index 3de0418..22d0465 100644 --- a/scripts/deployment/example/arbitrum-sepolia/config.js +++ b/scripts/deployment/example/arbitrum-sepolia/config.js @@ -1,3 +1,5 @@ +const externals = require("../../../config.externals")["arbitrum-sepolia"]; + module.exports = [ { contract: "RequestLib", @@ -11,13 +13,13 @@ module.exports = [ // emitter (deploymentLock) => deploymentLock.AutomationEmitter.addr, // verifier - "0x2ff010DEbC1297f19579B4246cad07bd24F2488A", + externals.verifier, // eth/usd data stream id - "0x00027bbaff688c906a3e20a34fe951715d1018d262a5b66e38eda027a674cd1b", + externals.streamId, // eth/usd data feed - "0xd30e2101a97dcbAeBCBC04F14C3f624E67A35165", + externals.datafeed, // timeout - 5, + 60, ], deployerOptions: { libs: { @@ -34,9 +36,12 @@ module.exports = [ }, { contract: "SwapApp", - args: [ - "0xab7664500b19a7a2362Ab26081e6DfB971B6F1B0", - (deploymentLock) => deploymentLock.FakedOracleProxy.addr - ], + args: [(deploymentLock) => deploymentLock.FakedOracleProxy.addr], + }, + { + contract: "FWETH", + }, + { + contract: "FUSDC", }, ]; diff --git a/scripts/deployment/example/hardhat/config.js b/scripts/deployment/example/hardhat/config.js index 3de0418..f0ff387 100644 --- a/scripts/deployment/example/hardhat/config.js +++ b/scripts/deployment/example/hardhat/config.js @@ -1,3 +1,5 @@ +const externals = require("../../../config.externals").hardhat; + module.exports = [ { contract: "RequestLib", @@ -11,11 +13,11 @@ module.exports = [ // emitter (deploymentLock) => deploymentLock.AutomationEmitter.addr, // verifier - "0x2ff010DEbC1297f19579B4246cad07bd24F2488A", + externals.verifier, // eth/usd data stream id - "0x00027bbaff688c906a3e20a34fe951715d1018d262a5b66e38eda027a674cd1b", + externals.streamId, // eth/usd data feed - "0xd30e2101a97dcbAeBCBC04F14C3f624E67A35165", + externals.datafeed, // timeout 5, ], @@ -34,9 +36,12 @@ module.exports = [ }, { contract: "SwapApp", - args: [ - "0xab7664500b19a7a2362Ab26081e6DfB971B6F1B0", - (deploymentLock) => deploymentLock.FakedOracleProxy.addr - ], + args: [(deploymentLock) => deploymentLock.FakedOracleProxy.addr], + }, + { + contract: "FWETH", + }, + { + contract: "FUSDC", }, ]; diff --git a/scripts/deployment/example/localhost/index.js b/scripts/deployment/example/localhost/index.js new file mode 100644 index 0000000..1665c54 --- /dev/null +++ b/scripts/deployment/example/localhost/index.js @@ -0,0 +1,11 @@ +const deploy = require("../../deploy"); +const upgrades = require("../upgrades"); +const config = require("../hardhat/config"); + +async function main() { + const lock = await deploy(config); + + return upgrades(lock, "0xb1d4538b4571d411f07960ef2838ce337fe1e80e"); +} + +main(); diff --git a/scripts/e2e/example/fund.js b/scripts/e2e/example/fund.js new file mode 100644 index 0000000..4135187 --- /dev/null +++ b/scripts/e2e/example/fund.js @@ -0,0 +1,24 @@ +const { ethers } = require("hardhat"); +const { getDeploymentLockData } = require("../../common"); + +/** + * Simple script to fund contract with custom usdc. + * Since usdc decimals is 6, ethers.parseEther("0.0001") will result to fund with 100k usdc + */ + +async function main() { + const lock = (await getDeploymentLockData())[hre.network.name]; + + const usdc = await hre.ethers.getContractAt("FUSDC", lock.FUSDC.addr); + + usdc.mint(lock.SwapApp.addr, ethers.parseEther("0.0001")); + + console.log("Successfully fund swapApp with USDC"); +} + +// We recommend this pattern to be able to use async/await everywhere +// and properly handle errors. +main().catch((error) => { + console.error(error); + process.exitCode = 1; +}); diff --git a/scripts/e2e/example/trade.js b/scripts/e2e/example/trade.js index b8b492b..d773034 100644 --- a/scripts/e2e/example/trade.js +++ b/scripts/e2e/example/trade.js @@ -1,40 +1,80 @@ const { ethers } = require("hardhat"); const { getDeploymentLockData } = require("../../common"); -// arbitrum-goerli only +const coder = new ethers.AbiCoder(); +/** + * Script to run simple trade on swap app via automation (data streams) + * also log states about execution from oracle side, aka is it possible to execute fallback + */ async function main() { + console.log("prepare.."); const [signer] = await ethers.getSigners(); - const lock = await getDeploymentLockData(); + const signerAddr = await signer.getAddress(); + const lock = (await getDeploymentLockData())[hre.network.name]; - const consumer = await hre.ethers.getContractAt( - "SwapApp", - lock[hre.network.name].SwapApp.addr, - ); + const consumer = await hre.ethers.getContractAt("SwapApp", lock.SwapApp.addr); - const wethAddress = "0xe39ab88f8a4777030a534146a9ca3b52bd5d43a3"; - const usdc = "0x8fb1e3fc51f3b789ded7557e680551d93ea9d892"; + const wethAddress = lock.FWETH.addr; + const usdcAddress = lock.FUSDC.addr; - const feedsId = - "0x00029584363bcf642315133c335b3646513c20f049602fc7d933be0d3f6360d3"; + const weth = await ethers.getContractAt("FWETH", wethAddress); + console.log("done\n"); + // Trade WETH <> USDC const amountIn = ethers.parseEther("0.001"); + console.log("get 0.001 weth for trading"); + await weth.deposit({ value: amountIn }); + console.log("done\n"); + console.log("approve 0.001 weth for trade"); + await weth.approve(lock.SwapApp.addr, amountIn); + console.log("done\n"); + console.log("generate trade input"); + const nonce = Math.ceil(Math.random() * 100); + const tradeArgs = { + recipient: signerAddr, + tokenIn: wethAddress, + tokenOut: usdcAddress, + amountIn: amountIn, + }; + console.log("trade nonce", nonce); + console.log( + "tradeArgs", + JSON.stringify({ + recipient: signerAddr, + tokenIn: wethAddress, + tokenOut: usdcAddress, + amountIn: "BigInt 0.001", + }), + ); + console.log("done\n"); + console.log("execute trade"); + await consumer.trade(tradeArgs, nonce); + console.log("Successfully traded fWETH tokens for fUSDC"); - // Trade WETH <> USDC - const weth = await ethers.getContractAt("IERC20", wethAddress); + console.log("run fallback check logic.."); + const oracle = await hre.ethers.getContractAt( + "FakedOracleProxy", + lock.FakedOracleProxy.addr, + ); - await weth.approve(await consumer.getAddress(), amountIn); - await consumer.trade( - { - recipient: await signer.getAddress(), - tokenIn: wethAddress, - tokenOut: usdc, - amountIn: amountIn, - feedId: feedsId - }, - Math.ceil(Math.random() * 100), + const bytesCallbackArgs = coder.encode( + [ + "tuple(address recipient, address tokenIn, address tokenOut, uint256 amountIn)", + ], + [tradeArgs], + ); + + const result = await oracle.previewFallbackCall( + consumer, + bytesCallbackArgs, + nonce, + tradeArgs.recipient, ); - console.log("Successfully traded WETH tokens for USDC"); + + console.log("previewFallbackCall call result", result); + + console.log("done\n"); } // We recommend this pattern to be able to use async/await everywhere diff --git a/scripts/e2e/example/trigger.js b/scripts/e2e/example/trigger.js index 88e77e3..a760f98 100644 --- a/scripts/e2e/example/trigger.js +++ b/scripts/e2e/example/trigger.js @@ -1,6 +1,9 @@ const hre = require("hardhat"); const { getDeploymentLockData } = require("../../common"); +/** + * Simple scrip to trigger SimpleConsumer and verify that it works + */ async function main() { const lock = await getDeploymentLockData(); diff --git a/src/Oracle.sol b/src/Oracle.sol index 9cd4a5c..50dea2f 100644 --- a/src/Oracle.sol +++ b/src/Oracle.sol @@ -195,7 +195,7 @@ contract Oracle is IOracle, DataStreamConsumer, PriceFeedConsumer { ) = getRequestProps(callbackContract, callbackArgs, nonce, sender); bool executable = reqStats.status == - IRequestsManager.RequestStatus.Pending || + IRequestsManager.RequestStatus.Pending && reqStats.blockNumber + requestTimeout > block.number; return (id, executable); diff --git a/src/example/SimpleConsumer.sol b/src/example/SimpleConsumer.sol index ec1d469..2bf314a 100644 --- a/src/example/SimpleConsumer.sol +++ b/src/example/SimpleConsumer.sol @@ -18,6 +18,8 @@ contract SimpleConsumer is IOracleConsumerContract { uint256 amountIn; } + event Price(int256 price); + error UnsuccesfullTrigger(); int256 public lastConsumedPrice; @@ -68,6 +70,7 @@ contract SimpleConsumer is IOracleConsumerContract { forwardData.forwardArguments, (CustomRequestParams) ); + emit Price(forwardData.price); return true; } } diff --git a/src/example/SwapApp.sol b/src/example/SwapApp.sol index 38c955e..4e58743 100644 --- a/src/example/SwapApp.sol +++ b/src/example/SwapApp.sol @@ -5,7 +5,6 @@ import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IER import {IOracle} from "src/interfaces/IOracle.sol"; import {IOracleConsumerContract, ForwardData} from "src/interfaces/IOracleCallBackContract.sol"; import {IFakedOracle} from "./fakers/IFakedOracle.sol"; -import {ISwapRouter} from "./ISwapRouter.sol"; /** * @title SwapApp @@ -15,9 +14,9 @@ contract SwapApp is IOracleConsumerContract { TradeParamsStruct tradeParams, uint256 nonce ); - uint24 public constant FEE = 3000; - ISwapRouter public immutable i_router; + event Price(uint256 price); + address public immutable oracle; struct TradeParamsStruct { @@ -25,13 +24,11 @@ contract SwapApp is IOracleConsumerContract { address tokenIn; address tokenOut; uint256 amountIn; - string feedId; } event TradeExecuted(uint256 tokensAmount, int256 price); - constructor(address _router, address _oracle) { - i_router = ISwapRouter(_router); + constructor(address _oracle) { oracle = _oracle; } @@ -83,18 +80,22 @@ contract SwapApp is IOracleConsumerContract { //swap logic function _scalePriceToTokenDecimals( - IERC20Metadata tokenOut, + address tokenOut, int256 priceFromReport ) private view returns (uint256) { - uint256 pricefeedDecimals = 18; - uint8 tokenOutDecimals = tokenOut.decimals(); + uint8 pricefeedDecimals = 18; + uint8 tokenOutDecimals = IERC20Metadata(tokenOut).decimals(); if (tokenOutDecimals < pricefeedDecimals) { - uint256 difference = pricefeedDecimals - tokenOutDecimals; + uint8 difference = pricefeedDecimals - tokenOutDecimals; return uint256(priceFromReport) / 10 ** difference; - } else { + } + + if (tokenOutDecimals > pricefeedDecimals) { uint256 difference = tokenOutDecimals - pricefeedDecimals; return uint256(priceFromReport) * 10 ** difference; } + + return uint256(priceFromReport); } function _swapTokens( @@ -104,10 +105,12 @@ contract SwapApp is IOracleConsumerContract { uint8 inputTokenDecimals = IERC20Metadata(tradeParams.tokenIn) .decimals(); uint256 priceForOneToken = _scalePriceToTokenDecimals( - IERC20Metadata(tradeParams.tokenOut), + tradeParams.tokenOut, price ); + emit Price(priceForOneToken); + uint256 outputAmount = (priceForOneToken * tradeParams.amountIn) / 10 ** inputTokenDecimals; @@ -116,23 +119,13 @@ contract SwapApp is IOracleConsumerContract { address(this), tradeParams.amountIn ); - IERC20Metadata(tradeParams.tokenIn).approve( - address(i_router), - tradeParams.amountIn + + IERC20Metadata(tradeParams.tokenOut).transfer( + tradeParams.recipient, + outputAmount ); - ISwapRouter.ExactInputSingleParams memory params = ISwapRouter - .ExactInputSingleParams( - tradeParams.tokenIn, - tradeParams.tokenOut, - FEE, - tradeParams.recipient, - tradeParams.amountIn, - outputAmount, - 0 - ); - - return i_router.exactInputSingle(params); + return outputAmount; } // solhint-disable-next-line no-empty-blocks diff --git a/src/example/tokens/fUSDC.sol b/src/example/tokens/fUSDC.sol new file mode 100644 index 0000000..39637ed --- /dev/null +++ b/src/example/tokens/fUSDC.sol @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.16; + +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; +import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; + +contract FUSDC is ERC20, Ownable { + // solhint-disable-next-line no-empty-blocks + constructor() ERC20("Fortis USDC", "fUSDC") Ownable(msg.sender) {} + + function decimals() public pure override returns (uint8) { + return 6; + } + + function mint(address account, uint value) external onlyOwner { + _mint(account, value); + } +} diff --git a/src/example/tokens/fWETH.sol b/src/example/tokens/fWETH.sol new file mode 100644 index 0000000..c146c71 --- /dev/null +++ b/src/example/tokens/fWETH.sol @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.16; + +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +contract FWETH is ERC20 { + event Deposit(address indexed dst, uint val); + event Withdrawal(address indexed src, uint val); + + error TransferFailed(); + + // solhint-disable-next-line no-empty-blocks + constructor() ERC20("Fortis WETH", "fWETH") {} + + receive() external payable { + deposit(); + } + + fallback() external payable { + deposit(); + } + + function deposit() public payable { + _mint(msg.sender, msg.value); + emit Deposit(msg.sender, msg.value); + } + + function withdraw(uint val) public { + (bool callSuccess, ) = msg.sender.call{value: val}(""); + + if (!callSuccess) { + revert TransferFailed(); + } + + _burn(msg.sender, val); + + emit Withdrawal(msg.sender, val); + } +}