diff --git a/README.md b/README.md index a8f09f1..645bef8 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,11 @@ Moved from Polymarket protocol. +Deployment +| Network | Address | +| ---------------- | --------------------------------------------------------------------------------- | +| Polygon | [0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E](https://polygonscan.com/address/0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E)| +| Mumbai | [0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E](https://mumbai.polygonscan.com/address/0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E)| ## Set-up diff --git a/broadcast/ExchangeDeployment.s.sol/137/deployExchange-1664228337.json b/broadcast/ExchangeDeployment.s.sol/137/deployExchange-1664228337.json new file mode 100644 index 0000000..bd72d84 --- /dev/null +++ b/broadcast/ExchangeDeployment.s.sol/137/deployExchange-1664228337.json @@ -0,0 +1,125 @@ +{ + "transactions": [ + { + "hash": "0x35423c49cb07c9ccecad9af20df52cccdeff0d46f833d438de8b02f2504aed22", + "transactionType": "CREATE", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": null, + "arguments": [ + "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", + "0x4D97DCd97eC945f40cF65F87097ACe5EA0476045", + "0xaB45c5A4B0c941a2F231C04C3f49182e1A254052", + "0xaacFeEa03eb1561C4e67d661e40682Bd20E3541b" + ], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "gas": "0x4d88f0", + "value": "0x0", + "data": "0x6101a060405260016000556003805460ff191690553480156200002157600080fd5b506040516200473f3803806200473f8339810160408190526200004491620002d6565b604080518082018252601781527f506f6c796d61726b6574204354462045786368616e67650000000000000000006020808301918252835180850185526001808252603160f81b82840190815233600090815282855287812083905560028552879020919091558451909320815190932060e08490526101008190524660a081815287517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818a0188905260608201859052608082019390935230818301528851808203909201825260c0019097528651969093019590952087958795879587959194938d938d9387938793909291906080523060c05261012052505050506001600160a01b0382811661014081905290821661016081905260405163095ea7b360e01b81526004810191909152600019602482015263095ea7b3906044016020604051808303816000875af1158015620001a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cf919062000333565b50620001dd91505062000265565b610180525050600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055506200035e945050505050565b6040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b600060c0516001600160a01b0316306001600160a01b03161480156200028c575060a05146145b1562000299575060805190565b620002b46101205160e051610100516200021c60201b60201c565b905090565b80516001600160a01b0381168114620002d157600080fd5b919050565b60008060008060808587031215620002ed57600080fd5b620002f885620002b9565b93506200030860208601620002b9565b92506200031860408601620002b9565b91506200032860608601620002b9565b905092959194509250565b6000602082840312156200034657600080fd5b815180151581146200035757600080fd5b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516143386200040760003960006108970152600081816104c801528181612698015281816129450152818161355201526136820152600081816105eb015281816125e3015281816128ed0152818161358e01526136be01526000612258015260006122a701526000612282015260006121db015260006122050152600061222f01526143386000f3fe608060405234801561001057600080fd5b50600436106103365760003560e01c806370480275116101b2578063d798eff6116100f9578063e60f0c05116100a2578063f698da251161007c578063f698da2514610892578063fa950b48146108b9578063fbddd751146108cc578063fe729aaf146108df57600080fd5b8063e60f0c0514610834578063edef7d8e14610847578063f23a6e611461085a57600080fd5b8063e03ac3d0116100d3578063e03ac3d014610806578063e2eec4051461080e578063e50e4f971461082157600080fd5b8063d798eff6146107bd578063d7fb272f146107d0578063d82da838146107f357600080fd5b8063a287bdf11161015b578063b28c51c011610135578063b28c51c01461073b578063bc197c8114610759578063c10f1a751461079d57600080fd5b8063a287bdf114610702578063a6dfcf8614610715578063ac8a584a1461072857600080fd5b806383b8a5ae1161018c57806383b8a5ae146106d45780639870d7fe146106dc578063a10f3dce146106ef57600080fd5b8063704802751461068357806375d7370a146106965780637ecebe00146106b457600080fd5b8063429b62e5116102815780635893253c1161022a578063627cdcb911610204578063627cdcb91461061c578063654f0ce41461062457806368c7450f146106375780636d70f7ae1461064a57600080fd5b80635893253c146105ad5780635c1548fb146105e95780635c975abb1461060f57600080fd5b8063456068d21161025b578063456068d21461052f57806346423aa7146105375780634a2a11f5146105a557600080fd5b8063429b62e5146104f457806344bea37e146105145780634544f0551461051c57600080fd5b80631785f53c116102e357806334600901116102bd57806334600901146104b35780633b521d78146104c65780633d6d3598146104ec57600080fd5b80631785f53c1461042257806324d7806c146104355780632dff692d1461046f57600080fd5b80631031e36e116103145780631031e36e146103ca578063131e7e1c146103d457806313e7c9d8146103f457600080fd5b806301ffc9a71461033b5780630647ee201461036357806306b9d6911461039d575b600080fd5b61034e6103493660046136e2565b6108f2565b60405190151581526020015b60405180910390f35b61034e610371366004613756565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152600460205260409020541490565b6103a561098b565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161035a565b6103d2610a24565b005b6007546103a59073ffffffffffffffffffffffffffffffffffffffff1681565b610414610402366004613782565b60026020526000908152604090205481565b60405190815260200161035a565b6103d2610430366004613782565b610a78565b61034e610443366004613782565b73ffffffffffffffffffffffffffffffffffffffff166000908152600160208190526040909120541490565b61049c61047d36600461379f565b6008602052600090815260409020805460019091015460ff9091169082565b60408051921515835260208301919091520161035a565b6103d26104c136600461379f565b610b15565b7f00000000000000000000000000000000000000000000000000000000000000006103a5565b6103d2610b5f565b610414610502366004613782565b60016020526000908152604090205481565b610414600081565b6103d261052a366004613782565b610be3565b6103d2610c36565b61058861054536600461379f565b6040805180820190915260008082526020820152506000908152600860209081526040918290208251808401909352805460ff1615158352600101549082015290565b60408051825115158152602092830151928101929092520161035a565b6103e8610414565b6105d46105bb36600461379f565b6005602052600090815260409020805460019091015482565b6040805192835260208301919091520161035a565b7f00000000000000000000000000000000000000000000000000000000000000006103a5565b60035461034e9060ff1681565b6103d2610c88565b6103d26106323660046139f8565b610c92565b6103d2610645366004613a2d565b610cad565b61034e610658366004613782565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205460011490565b6103d2610691366004613782565b610d07565b60075473ffffffffffffffffffffffffffffffffffffffff166103a5565b6104146106c2366004613782565b60046020526000908152604090205481565b6103d2610da7565b6103d26106ea366004613782565b610e2c565b6104146106fd36600461379f565b610eca565b6103a5610710366004613782565b610ee8565b6103d26107233660046139f8565b610f14565b6103d2610736366004613782565b610f1d565b60065473ffffffffffffffffffffffffffffffffffffffff166103a5565b61076c610767366004613ae8565b610fba565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161035a565b6006546103a59073ffffffffffffffffffffffffffffffffffffffff1681565b6103d26107cb366004613c16565b610fe5565b6104146107de36600461379f565b60009081526005602052604090206001015490565b6103d2610801366004613c7a565b6110f5565b6103a5611136565b6103d261081c366004613c9c565b6111a6565b61041461082f3660046139f8565b6111fb565b6103d2610842366004613cd9565b611298565b6103a5610855366004613782565b6113a6565b61076c610868366004613d6b565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b6104147f000000000000000000000000000000000000000000000000000000000000000081565b6103d26108c7366004613dd4565b6113d2565b6103d26108da366004613782565b611409565b6103d26108ed366004613e09565b61145c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000148061098557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600654604080517faaf10f42000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163aaf10f429160048083019260209291908290030181865afa1580156109fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1f9190613e4e565b905090565b3360009081526001602081905260409091205414610a6e576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a7661155e565b565b3360009081526001602081905260409091205414610ac2576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020526040808220829055513392917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a350565b6000818152600560205260408120549003610b5c576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b33600090815260026020526040902054600114610ba8576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600260205260408082208290555182917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a3565b3360009081526001602081905260409091205414610c2d576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5c816115b6565b3360009081526001602081905260409091205414610c80576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a76611644565b610a766001611699565b6000610c9d826111fb565b9050610ca981836116c7565b5050565b3360009081526001602081905260409091205414610cf7576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d02838383611826565b505050565b3360009081526001602081905260409091205414610d51576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832091909155513392917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc91a350565b3360009081526001602081905260409091205414610df1576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600160205260408082208290555182917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a3565b3360009081526001602081905260409091205414610e76576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822060019055513392917ff1e04d73c4304b5ff164f9d10c7473e2a1593b740674a6107975e2a7001c1e5c91a350565b6000610ed582610b15565b5060009081526005602052604090205490565b600061098582610ef6611136565b60075473ffffffffffffffffffffffffffffffffffffffff16611982565b610b5c81611a80565b3360009081526001602081905260409091205414610f67576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260026020526040808220829055513392917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a350565b7fbc197c81000000000000000000000000000000000000000000000000000000005b95945050505050565b600054600203611056576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e43590000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6002600081815533815260209190915260409020546001146110a4576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff16156110e1576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110ec828233611b85565b50506001600055565b806110ff83610eca565b14610ca9576040517f66f8620a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600754604080517fa619486e000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163a619486e9160048083019260209291908290030181865afa1580156109fb573d6000803e3d6000fd5b6111c58160400151826020015184846101800151856101600151611bde565b610ca9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109857fa852566c4e14d00869b6db0220888a9090a13eccdaea03713ff0a3d27bf9767c836000015184602001518560400151866060015187608001518860a001518960c001518a60e001518b61010001518c61012001518d61014001518e610160015160405160200161127d9d9c9b9a99989796959493929190613eae565b60405160208183030381529060405280519060200120611c3c565b600054600203611304576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e435900000000000000000000000000000000000000000000604482015260640161104d565b600260008181553381526020919091526040902054600114611352576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff161561138f576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61139b84848484611ca5565b505060016000555050565b6000610985826113b461098b565b60065473ffffffffffffffffffffffffffffffffffffffff16611e5c565b805160005b81811015610d02576114018382815181106113f4576113f4613f4c565b6020026020010151611a80565b6001016113d7565b3360009081526001602081905260409091205414611453576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5c81611ebe565b6000546002036114c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e435900000000000000000000000000000000000000000000604482015260640161104d565b600260008181553381526020919091526040902054600114611516576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff1615611553576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110ec828233611f4c565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560405133907f203c4bd3e526634f661575359ff30de3b0edaba6c2cb1eac60f730b6d2d9d53690600090a2565b60075460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f9726d7faf7429d6b059560dc858ed769377ccdf8b7541eabe12b22548719831f90600090a3600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905560405133907fa1e8a54850dbd7f520bcc09f47bff152294b77b2081da545a7adf531b7ea283b90600090a2565b336000908152600460205260409020546116b4908290613faa565b3360009081526004602052604090205550565b60008160e001511180156116de5750428160e00151105b15611715576040517fc56873ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61171f82826111a6565b6103e88161012001511115611760576040517fcd4e616700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61176d8160800151610b15565b60008281526008602052604090205460ff16156117b6576040517f7b38b76e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117f0816020015182610100015173ffffffffffffffffffffffffffffffffffffffff919091166000908152600460205260409020541490565b610ca9576040517f756688fe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8183148061183a575082158061183a575081155b15611871576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526005602052604090205415158061189a575060008281526005602052604090205415155b156118d1576040517f3a81d6fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820182528381526020808201848152600087815260058084528582209451855591516001948501558451808601865288815280840187815288835292909352848120925183559051919092015590518291849186917fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d91a48083837fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d60405160405180910390a4505050565b60008061198e8461205a565b8051906020012090506000856040516020016119c6919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815282825280516020918201207fff000000000000000000000000000000000000000000000000000000000000008285015260609790971b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166021840152603583019690965260558083019490945280518083039094018452607590910190525080519201919091209392505050565b602081015173ffffffffffffffffffffffffffffffffffffffff163314611ad3576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611ade826111fb565b600081815260086020526040902080549192509060ff1615611b2c576040517f7b38b76e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405182907f5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d90600090a2505050565b825160005b81811015611bd757611bcf858281518110611ba757611ba7613f4c565b6020026020010151858381518110611bc157611bc1613f4c565b602002602001015185611f4c565b600101611b8a565b5050505050565b600080826002811115611bf357611bf3613e6b565b03611c0b57611c04868686866120eb565b9050610fdc565b6002826002811115611c1f57611c1f613e6b565b03611c3057611c0486868686612139565b611c048686868661218d565b6000610985611c496121c1565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b81600080611cb387846122f5565b91509150600080611cc389612342565b91509150611cd78960200151308488612379565b611ce28989886123a3565b611cec84826123f5565b6101208a0151909450600090611d2e90828c61014001516001811115611d1457611d14613e6b565b14611d1f5787611d21565b865b88888e610140015161243d565b9050611d4b308b60200151848489611d469190613fc2565b612379565b611d573033848461252d565b6000611d6284612596565b90508015611d7a57611d7a308c602001518684612379565b60208b8101516040805187815292830186905282018990526060820188905260808201849052309173ffffffffffffffffffffffffffffffffffffffff9091169087907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a46020808c01516040805187815292830186905282018990526060820188905273ffffffffffffffffffffffffffffffffffffffff169086907f63bf4d16b7fa898ef4c4b2b6d90fd201e9c56313b65638af6088d149d2ce956c9060800160405180910390a35050505050505050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166020820152600090611eb49083908590603401604051602081830303815290604052805190602001206126c6565b90505b9392505050565b60065460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3053c6252a932554235c173caffc1913604dba3a41cee89516f631c4a1a50a3790600090a3600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b81600080611f5a86846122f5565b6101208801519193509150600090611fa790825b8961014001516001811115611f8557611f85613e6b565b14611f905785611f92565b845b8960a001518a60c001518b610140015161243d565b9050600080611fb589612342565b91509150611fcf338a60200151838689611d469190613fc2565b611fdf8960200151888489612379565b6020898101516040805185815292830184905282018890526060820187905260808201859052339173ffffffffffffffffffffffffffffffffffffffff9091169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a4505050505050505050565b6060604051806101a00160405280610171815260200161419261017191396040805173ffffffffffffffffffffffffffffffffffffffff8516602082015201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526120d59291602001614005565b6040516020818303038152906040529050919050565b60008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561212e575061212e858484612763565b90505b949350505050565b6000612146858484612763565b801561212e57508373ffffffffffffffffffffffffffffffffffffffff1661216d86610ee8565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b600061219a858484612763565b801561212e57508373ffffffffffffffffffffffffffffffffffffffff1661216d866113a6565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561222757507f000000000000000000000000000000000000000000000000000000000000000046145b1561225157507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b60008061230584606001516127a5565b61230e846111fb565b905061231a81856116c7565b61232d838560a001518660c00151612817565b915061233a81858561283e565b509250929050565b60008080836101400151600181111561235d5761235d613e6b565b0361236d57505060800151600091565b50506080015190600090565b816000036123915761238c8484836128eb565b61239d565b61239d84848484612940565b50505050565b815160005b81811015611bd7576123ed858583815181106123c6576123c6613f4c565b60200260200101518584815181106123e0576123e0613f4c565b602002602001015161296d565b6001016123a8565b60008061240183612596565b905083811015611eb7576040517fdf4d808000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008515610fdc576000612452858585612a52565b905060008111801561246c5750670de0b6b3a76400008111155b1561252357600083600181111561248557612485613e6b565b036124d75761249661271082614034565b866124b2836124ad81670de0b6b3a7640000613fc2565b612ac1565b6124bc908a614034565b6124c69190614034565b6124d09190614071565b9150612523565b6124eb670de0b6b3a7640000612710614034565b86612502836124ad81670de0b6b3a7640000613fc2565b61250c908a614034565b6125169190614034565b6125209190614071565b91505b5095945050505050565b801561239d5761253f84848484612379565b604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff8516917facffcc86834d0f1a64b0d5a675798deed6ff0bcfc2231edd3480e7288dba7ff4910160405180910390a250505050565b60008160000361264f576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561262b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098591906140ac565b6040517efdd58e0000000000000000000000000000000000000000000000000000000081523060048201526024810183905273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e9060440161260e565b6000806126d38585612ad7565b8051602091820120604080517fff000000000000000000000000000000000000000000000000000000000000008185015260609890981b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166021890152603588019590955260558088019190915284518088039091018152607590960190935250508251920191909120919050565b60008373ffffffffffffffffffffffffffffffffffffffff166127868484612c5a565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116158015906127e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610b5c576040517f5211a07900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008260000361282957506000611eb7565b826128348386614034565b611eb49190614071565b6000838152600860205260409020600181015490811561285e5781612864565b8360a001515b9150818311156128a0576040517fe2cc6ad600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128aa8383613fc2565b9150816000036128de5780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011781555b6001018190559392505050565b7f00000000000000000000000000000000000000000000000000000000000000003073ffffffffffffffffffffffffffffffffffffffff8516036129345761238c818484612c7e565b61239d81858585612c89565b61239d7f000000000000000000000000000000000000000000000000000000000000000085858585612c95565b60006129798484612d41565b9050612986848483612ddd565b8160008061299486846122f5565b61012088015191935091506000906129ac9082611f6e565b90506000806129ba89612342565b915091506129d186868b6020015185858c89612e89565b6020808b01518a820151604080518681529384018590528301899052606083018890526080830186905273ffffffffffffffffffffffffffffffffffffffff9182169291169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a450505050505050505050565b600080826001811115612a6757612a67613e6b565b03612a9f5782600003612a7b576000612a98565b82612a8e670de0b6b3a764000086614034565b612a989190614071565b9050611eb7565b83600003612aae576000611eb4565b83612834670de0b6b3a764000085614034565b6000818310612ad05781611eb7565b5090919050565b6040805160008082526020820190925260609190612af890604481016140c5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f52e831dd000000000000000000000000000000000000000000000000000000001790528151606380825260a082019093529293506000929190820181803683370190505090507f3d3d606380380380913d393d73bebebebebebebebebebebebebebebebebebebe60208201526c010000000000000000000000008502602d8201527f5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73be60418201526c01000000000000000000000000840260608201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060748201528082604051602001612c41929190614005565b6040516020818303038152906040529250505092915050565b6000806000612c698585612f09565b91509150612c7681612f4e565b509392505050565b610d02838383613101565b61239d848484846131ba565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015286169063f242432a9060c401600060405180830381600087803b158015612d2257600080fd5b505af1158015612d36573d6000803e3d6000fd5b505050505050505050565b6000808361014001516001811115612d5b57612d5b613e6b565b148015612d7e575060008261014001516001811115612d7c57612d7c613e6b565b145b15612d8b57506001610985565b60018361014001516001811115612da457612da4613e6b565b148015612dc7575060018261014001516001811115612dc557612dc5613e6b565b145b15612dd457506002610985565b50600092915050565b612de78383613279565b612e1d576040517f7f9a6f4600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816002811115612e3157612e31613e6b565b03612e77578160800151836080015114610d02576040517fa0b9446500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d02836080015183608001516110f5565b612e958530868a612379565b612ea287878686866132c3565b85612eac84612596565b1015612ee4576040517fdf4d808000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ef4308685611d46858b613fc2565b612f003033858461252d565b50505050505050565b6000808251604103612f3f5760208301516040840151606085015160001a612f338782858561334b565b94509450505050612f47565b506000905060025b9250929050565b6000816004811115612f6257612f62613e6b565b03612f6a5750565b6001816004811115612f7e57612f7e613e6b565b03612fe5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161104d565b6002816004811115612ff957612ff9613e6b565b03613060576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161104d565b600381600481111561307457613074613e6b565b03610b5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161104d565b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d116001600051141617169150508061239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c45440000000000000000000000000000000000604482015260640161104d565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d1160016000511416171691505080611bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c4544000000000000000000000000604482015260640161104d565b60008260c0015160001480613290575060c0820151155b1561329d57506001610985565b611eb76132a98461343a565b6132b28461343a565b856101400151856101400151613454565b60008160028111156132d7576132d7613e6b565b14611bd75760018160028111156132f0576132f0613e6b565b036133165760008281526005602052604090206001015461331190856134ee565b611bd7565b600281600281111561332a5761332a613e6b565b03611bd757600083815260056020526040902060010154613311908661361e565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156133825750600090506003613431565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156133d6573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661342a57600060019250925050613431565b9150600090505b94509492505050565b60006109858260a001518360c00151846101400151612a52565b60008083600181111561346957613469613e6b565b036134ad57600082600181111561348257613482613e6b565b036134a357670de0b6b3a764000061349a8587613faa565b10159050612131565b5082841015612131565b60008260018111156134c1576134c1613e6b565b036134d0575083831015612131565b670de0b6b3a76400006134e38587613faa565b111595945050505050565b60408051600280825260608201835260009260208301908036833701905050905060018160008151811061352457613524613f4c565b60200260200101818152505060028160018151811061354557613545613f4c565b60209081029190910101527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166372ce42757f00000000000000000000000000000000000000000000000000000000000000005b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526135f09190600090889087908990600401614116565b600060405180830381600087803b15801561360a57600080fd5b505af1158015612f00573d6000803e3d6000fd5b60408051600280825260608201835260009260208301908036833701905050905060018160008151811061365457613654613f4c565b60200260200101818152505060028160018151811061367557613675613f4c565b60209081029190910101527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639e7212ad7f00000000000000000000000000000000000000000000000000000000000000006135ae565b6000602082840312156136f457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611eb757600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610b5c57600080fd5b803561375181613724565b919050565b6000806040838503121561376957600080fd5b823561377481613724565b946020939093013593505050565b60006020828403121561379457600080fd5b8135611eb781613724565b6000602082840312156137b157600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101a0810167ffffffffffffffff8111828210171561380b5761380b6137b8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613858576138586137b8565b604052919050565b80356002811061375157600080fd5b80356003811061375157600080fd5b600082601f83011261388f57600080fd5b813567ffffffffffffffff8111156138a9576138a96137b8565b6138da60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613811565b8181528460208386010111156138ef57600080fd5b816020850160208301376000918101602001919091529392505050565b60006101a0828403121561391f57600080fd5b6139276137e7565b90508135815261393960208301613746565b602082015261394a60408301613746565b604082015261395b60608301613746565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101406139ae818401613860565b908201526101606139c083820161386f565b908201526101808281013567ffffffffffffffff8111156139e057600080fd5b6139ec8582860161387e565b82840152505092915050565b600060208284031215613a0a57600080fd5b813567ffffffffffffffff811115613a2157600080fd5b6121318482850161390c565b600080600060608486031215613a4257600080fd5b505081359360208301359350604090920135919050565b600067ffffffffffffffff821115613a7357613a736137b8565b5060051b60200190565b600082601f830112613a8e57600080fd5b81356020613aa3613a9e83613a59565b613811565b82815260059290921b84018101918181019086841115613ac257600080fd5b8286015b84811015613add5780358352918301918301613ac6565b509695505050505050565b600080600080600060a08688031215613b0057600080fd5b8535613b0b81613724565b94506020860135613b1b81613724565b9350604086013567ffffffffffffffff80821115613b3857600080fd5b613b4489838a01613a7d565b94506060880135915080821115613b5a57600080fd5b613b6689838a01613a7d565b93506080880135915080821115613b7c57600080fd5b50613b898882890161387e565b9150509295509295909350565b600082601f830112613ba757600080fd5b81356020613bb7613a9e83613a59565b82815260059290921b84018101918181019086841115613bd657600080fd5b8286015b84811015613add57803567ffffffffffffffff811115613bfa5760008081fd5b613c088986838b010161390c565b845250918301918301613bda565b60008060408385031215613c2957600080fd5b823567ffffffffffffffff80821115613c4157600080fd5b613c4d86838701613b96565b93506020850135915080821115613c6357600080fd5b50613c7085828601613a7d565b9150509250929050565b60008060408385031215613c8d57600080fd5b50508035926020909101359150565b60008060408385031215613caf57600080fd5b82359150602083013567ffffffffffffffff811115613ccd57600080fd5b613c708582860161390c565b60008060008060808587031215613cef57600080fd5b843567ffffffffffffffff80821115613d0757600080fd5b613d138883890161390c565b95506020870135915080821115613d2957600080fd5b613d3588838901613b96565b9450604087013593506060870135915080821115613d5257600080fd5b50613d5f87828801613a7d565b91505092959194509250565b600080600080600060a08688031215613d8357600080fd5b8535613d8e81613724565b94506020860135613d9e81613724565b93506040860135925060608601359150608086013567ffffffffffffffff811115613dc857600080fd5b613b898882890161387e565b600060208284031215613de657600080fd5b813567ffffffffffffffff811115613dfd57600080fd5b61213184828501613b96565b60008060408385031215613e1c57600080fd5b823567ffffffffffffffff811115613e3357600080fd5b613e3f8582860161390c565b95602094909401359450505050565b600060208284031215613e6057600080fd5b8151611eb781613724565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110613eaa57613eaa613e6b565b9052565b60006101a0820190508e82528d602083015273ffffffffffffffffffffffffffffffffffffffff808e166040840152808d166060840152808c166080840152508960a08301528860c08301528760e083015286610100830152856101208301528461014083015260028410613f2557613f25613e6b565b83610160830152613f3a610180830184613e9a565b9e9d5050505050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115613fbd57613fbd613f7b565b500190565b600082821015613fd457613fd4613f7b565b500390565b60005b83811015613ff4578181015183820152602001613fdc565b8381111561239d5750506000910152565b60008351614017818460208801613fd9565b83519083019061402b818360208801613fd9565b01949350505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561406c5761406c613f7b565b500290565b6000826140a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000602082840312156140be57600080fd5b5051919050565b60208152600082518060208401526140e4816040850160208701613fd9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060a0820173ffffffffffffffffffffffffffffffffffffffff881683526020878185015286604085015260a0606085015281865180845260c086019150828801935060005b818110156141795784518352938301939183019160010161415d565b5050809350505050826080830152969550505050505056fe608060405234801561001057600080fd5b5060405161017138038061017183398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e7565b6000602082840312156100ca578081fd5b81516001600160a01b03811681146100e0578182fd5b9392505050565b607c806100f56000396000f3fe6080604052600080546001600160a01b0316813563530ca43760e11b1415602857808252602082f35b3682833781823684845af490503d82833e806041573d82fd5b503d81f3fea264697066735822122015938e3bf2c49f5df5c1b7f9569fa85cc5d6f3074bb258a2dc0c7e299bc9e33664736f6c63430008040033a264697066735822122056df26e165b5957191bd0ff149c07ae13f5a6b4252973fb3c07a4653cce0f3b164736f6c634300080f00330000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa841740000000000000000000000004d97dcd97ec945f40cf65f87097ace5ea0476045000000000000000000000000ab45c5a4b0c941a2f231c04c3f49182e1a254052000000000000000000000000aacfeea03eb1561c4e67d661e40682bd20e3541b", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": "0x8dedda12c2ee8a8893c436e726bb0112d542455e3db12bddb9a5cd097d8a6d16", + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "addAdmin(address)", + "arguments": [ + "0x665057d2bDc8F83722435712a98747EE4A7B8aEb" + ], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x1107c", + "value": "0x0", + "data": "0x70480275000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": "0x2f62b1db98a1173317d27d8ea06fc8c657b456b4c7c16b0c4955a06d70d9ee3a", + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "addOperator(address)", + "arguments": [ + "0x665057d2bDc8F83722435712a98747EE4A7B8aEb" + ], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x10169", + "value": "0x0", + "data": "0x9870d7fe000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": "0xde6e10751f2a3679109c25a571f210858da0812d6635e2702f61da15d5c5a71a", + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "renounceAdminRole()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x7d00", + "value": "0x0", + "data": "0x83b8a5ae", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": "0x0e0391adbe52ad44a30ee682c4cf270896190b02931b5c421ddc0aafbec0590a", + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "renounceOperatorRole()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x7d34", + "value": "0x0", + "data": "0x3d6d3598", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [] + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x35423c49cb07c9ccecad9af20df52cccdeff0d46f833d438de8b02f2504aed22", + "0x8dedda12c2ee8a8893c436e726bb0112d542455e3db12bddb9a5cd097d8a6d16", + "0x2f62b1db98a1173317d27d8ea06fc8c657b456b4c7c16b0c4955a06d70d9ee3a", + "0xde6e10751f2a3679109c25a571f210858da0812d6635e2702f61da15d5c5a71a", + "0x0e0391adbe52ad44a30ee682c4cf270896190b02931b5c421ddc0aafbec0590a" + ], + "path": "/home/jonathan/WorkSpace/polymarket/ctf-exchange/broadcast/ExchangeDeployment.s.sol/137/deployExchange-latest.json", + "returns": { + "exchange": { + "internal_type": "address", + "value": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E" + } + }, + "timestamp": 1664228337, + "commit": "af3ba7f" +} \ No newline at end of file diff --git a/broadcast/ExchangeDeployment.s.sol/137/deployExchange-1664228343.json b/broadcast/ExchangeDeployment.s.sol/137/deployExchange-1664228343.json new file mode 100644 index 0000000..0ec92c8 --- /dev/null +++ b/broadcast/ExchangeDeployment.s.sol/137/deployExchange-1664228343.json @@ -0,0 +1,360 @@ +{ + "transactions": [ + { + "hash": "0x35423c49cb07c9ccecad9af20df52cccdeff0d46f833d438de8b02f2504aed22", + "transactionType": "CREATE", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": null, + "arguments": [ + "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", + "0x4D97DCd97eC945f40cF65F87097ACe5EA0476045", + "0xaB45c5A4B0c941a2F231C04C3f49182e1A254052", + "0xaacFeEa03eb1561C4e67d661e40682Bd20E3541b" + ], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "gas": "0x4d88f0", + "value": "0x0", + "data": "0x6101a060405260016000556003805460ff191690553480156200002157600080fd5b506040516200473f3803806200473f8339810160408190526200004491620002d6565b604080518082018252601781527f506f6c796d61726b6574204354462045786368616e67650000000000000000006020808301918252835180850185526001808252603160f81b82840190815233600090815282855287812083905560028552879020919091558451909320815190932060e08490526101008190524660a081815287517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818a0188905260608201859052608082019390935230818301528851808203909201825260c0019097528651969093019590952087958795879587959194938d938d9387938793909291906080523060c05261012052505050506001600160a01b0382811661014081905290821661016081905260405163095ea7b360e01b81526004810191909152600019602482015263095ea7b3906044016020604051808303816000875af1158015620001a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cf919062000333565b50620001dd91505062000265565b610180525050600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055506200035e945050505050565b6040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b600060c0516001600160a01b0316306001600160a01b03161480156200028c575060a05146145b1562000299575060805190565b620002b46101205160e051610100516200021c60201b60201c565b905090565b80516001600160a01b0381168114620002d157600080fd5b919050565b60008060008060808587031215620002ed57600080fd5b620002f885620002b9565b93506200030860208601620002b9565b92506200031860408601620002b9565b91506200032860608601620002b9565b905092959194509250565b6000602082840312156200034657600080fd5b815180151581146200035757600080fd5b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516143386200040760003960006108970152600081816104c801528181612698015281816129450152818161355201526136820152600081816105eb015281816125e3015281816128ed0152818161358e01526136be01526000612258015260006122a701526000612282015260006121db015260006122050152600061222f01526143386000f3fe608060405234801561001057600080fd5b50600436106103365760003560e01c806370480275116101b2578063d798eff6116100f9578063e60f0c05116100a2578063f698da251161007c578063f698da2514610892578063fa950b48146108b9578063fbddd751146108cc578063fe729aaf146108df57600080fd5b8063e60f0c0514610834578063edef7d8e14610847578063f23a6e611461085a57600080fd5b8063e03ac3d0116100d3578063e03ac3d014610806578063e2eec4051461080e578063e50e4f971461082157600080fd5b8063d798eff6146107bd578063d7fb272f146107d0578063d82da838146107f357600080fd5b8063a287bdf11161015b578063b28c51c011610135578063b28c51c01461073b578063bc197c8114610759578063c10f1a751461079d57600080fd5b8063a287bdf114610702578063a6dfcf8614610715578063ac8a584a1461072857600080fd5b806383b8a5ae1161018c57806383b8a5ae146106d45780639870d7fe146106dc578063a10f3dce146106ef57600080fd5b8063704802751461068357806375d7370a146106965780637ecebe00146106b457600080fd5b8063429b62e5116102815780635893253c1161022a578063627cdcb911610204578063627cdcb91461061c578063654f0ce41461062457806368c7450f146106375780636d70f7ae1461064a57600080fd5b80635893253c146105ad5780635c1548fb146105e95780635c975abb1461060f57600080fd5b8063456068d21161025b578063456068d21461052f57806346423aa7146105375780634a2a11f5146105a557600080fd5b8063429b62e5146104f457806344bea37e146105145780634544f0551461051c57600080fd5b80631785f53c116102e357806334600901116102bd57806334600901146104b35780633b521d78146104c65780633d6d3598146104ec57600080fd5b80631785f53c1461042257806324d7806c146104355780632dff692d1461046f57600080fd5b80631031e36e116103145780631031e36e146103ca578063131e7e1c146103d457806313e7c9d8146103f457600080fd5b806301ffc9a71461033b5780630647ee201461036357806306b9d6911461039d575b600080fd5b61034e6103493660046136e2565b6108f2565b60405190151581526020015b60405180910390f35b61034e610371366004613756565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152600460205260409020541490565b6103a561098b565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161035a565b6103d2610a24565b005b6007546103a59073ffffffffffffffffffffffffffffffffffffffff1681565b610414610402366004613782565b60026020526000908152604090205481565b60405190815260200161035a565b6103d2610430366004613782565b610a78565b61034e610443366004613782565b73ffffffffffffffffffffffffffffffffffffffff166000908152600160208190526040909120541490565b61049c61047d36600461379f565b6008602052600090815260409020805460019091015460ff9091169082565b60408051921515835260208301919091520161035a565b6103d26104c136600461379f565b610b15565b7f00000000000000000000000000000000000000000000000000000000000000006103a5565b6103d2610b5f565b610414610502366004613782565b60016020526000908152604090205481565b610414600081565b6103d261052a366004613782565b610be3565b6103d2610c36565b61058861054536600461379f565b6040805180820190915260008082526020820152506000908152600860209081526040918290208251808401909352805460ff1615158352600101549082015290565b60408051825115158152602092830151928101929092520161035a565b6103e8610414565b6105d46105bb36600461379f565b6005602052600090815260409020805460019091015482565b6040805192835260208301919091520161035a565b7f00000000000000000000000000000000000000000000000000000000000000006103a5565b60035461034e9060ff1681565b6103d2610c88565b6103d26106323660046139f8565b610c92565b6103d2610645366004613a2d565b610cad565b61034e610658366004613782565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205460011490565b6103d2610691366004613782565b610d07565b60075473ffffffffffffffffffffffffffffffffffffffff166103a5565b6104146106c2366004613782565b60046020526000908152604090205481565b6103d2610da7565b6103d26106ea366004613782565b610e2c565b6104146106fd36600461379f565b610eca565b6103a5610710366004613782565b610ee8565b6103d26107233660046139f8565b610f14565b6103d2610736366004613782565b610f1d565b60065473ffffffffffffffffffffffffffffffffffffffff166103a5565b61076c610767366004613ae8565b610fba565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161035a565b6006546103a59073ffffffffffffffffffffffffffffffffffffffff1681565b6103d26107cb366004613c16565b610fe5565b6104146107de36600461379f565b60009081526005602052604090206001015490565b6103d2610801366004613c7a565b6110f5565b6103a5611136565b6103d261081c366004613c9c565b6111a6565b61041461082f3660046139f8565b6111fb565b6103d2610842366004613cd9565b611298565b6103a5610855366004613782565b6113a6565b61076c610868366004613d6b565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b6104147f000000000000000000000000000000000000000000000000000000000000000081565b6103d26108c7366004613dd4565b6113d2565b6103d26108da366004613782565b611409565b6103d26108ed366004613e09565b61145c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000148061098557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600654604080517faaf10f42000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163aaf10f429160048083019260209291908290030181865afa1580156109fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1f9190613e4e565b905090565b3360009081526001602081905260409091205414610a6e576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a7661155e565b565b3360009081526001602081905260409091205414610ac2576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020526040808220829055513392917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a350565b6000818152600560205260408120549003610b5c576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b33600090815260026020526040902054600114610ba8576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600260205260408082208290555182917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a3565b3360009081526001602081905260409091205414610c2d576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5c816115b6565b3360009081526001602081905260409091205414610c80576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a76611644565b610a766001611699565b6000610c9d826111fb565b9050610ca981836116c7565b5050565b3360009081526001602081905260409091205414610cf7576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d02838383611826565b505050565b3360009081526001602081905260409091205414610d51576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832091909155513392917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc91a350565b3360009081526001602081905260409091205414610df1576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600160205260408082208290555182917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a3565b3360009081526001602081905260409091205414610e76576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822060019055513392917ff1e04d73c4304b5ff164f9d10c7473e2a1593b740674a6107975e2a7001c1e5c91a350565b6000610ed582610b15565b5060009081526005602052604090205490565b600061098582610ef6611136565b60075473ffffffffffffffffffffffffffffffffffffffff16611982565b610b5c81611a80565b3360009081526001602081905260409091205414610f67576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260026020526040808220829055513392917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a350565b7fbc197c81000000000000000000000000000000000000000000000000000000005b95945050505050565b600054600203611056576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e43590000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6002600081815533815260209190915260409020546001146110a4576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff16156110e1576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110ec828233611b85565b50506001600055565b806110ff83610eca565b14610ca9576040517f66f8620a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600754604080517fa619486e000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163a619486e9160048083019260209291908290030181865afa1580156109fb573d6000803e3d6000fd5b6111c58160400151826020015184846101800151856101600151611bde565b610ca9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109857fa852566c4e14d00869b6db0220888a9090a13eccdaea03713ff0a3d27bf9767c836000015184602001518560400151866060015187608001518860a001518960c001518a60e001518b61010001518c61012001518d61014001518e610160015160405160200161127d9d9c9b9a99989796959493929190613eae565b60405160208183030381529060405280519060200120611c3c565b600054600203611304576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e435900000000000000000000000000000000000000000000604482015260640161104d565b600260008181553381526020919091526040902054600114611352576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff161561138f576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61139b84848484611ca5565b505060016000555050565b6000610985826113b461098b565b60065473ffffffffffffffffffffffffffffffffffffffff16611e5c565b805160005b81811015610d02576114018382815181106113f4576113f4613f4c565b6020026020010151611a80565b6001016113d7565b3360009081526001602081905260409091205414611453576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5c81611ebe565b6000546002036114c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e435900000000000000000000000000000000000000000000604482015260640161104d565b600260008181553381526020919091526040902054600114611516576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff1615611553576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110ec828233611f4c565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560405133907f203c4bd3e526634f661575359ff30de3b0edaba6c2cb1eac60f730b6d2d9d53690600090a2565b60075460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f9726d7faf7429d6b059560dc858ed769377ccdf8b7541eabe12b22548719831f90600090a3600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905560405133907fa1e8a54850dbd7f520bcc09f47bff152294b77b2081da545a7adf531b7ea283b90600090a2565b336000908152600460205260409020546116b4908290613faa565b3360009081526004602052604090205550565b60008160e001511180156116de5750428160e00151105b15611715576040517fc56873ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61171f82826111a6565b6103e88161012001511115611760576040517fcd4e616700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61176d8160800151610b15565b60008281526008602052604090205460ff16156117b6576040517f7b38b76e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117f0816020015182610100015173ffffffffffffffffffffffffffffffffffffffff919091166000908152600460205260409020541490565b610ca9576040517f756688fe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8183148061183a575082158061183a575081155b15611871576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526005602052604090205415158061189a575060008281526005602052604090205415155b156118d1576040517f3a81d6fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820182528381526020808201848152600087815260058084528582209451855591516001948501558451808601865288815280840187815288835292909352848120925183559051919092015590518291849186917fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d91a48083837fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d60405160405180910390a4505050565b60008061198e8461205a565b8051906020012090506000856040516020016119c6919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815282825280516020918201207fff000000000000000000000000000000000000000000000000000000000000008285015260609790971b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166021840152603583019690965260558083019490945280518083039094018452607590910190525080519201919091209392505050565b602081015173ffffffffffffffffffffffffffffffffffffffff163314611ad3576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611ade826111fb565b600081815260086020526040902080549192509060ff1615611b2c576040517f7b38b76e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405182907f5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d90600090a2505050565b825160005b81811015611bd757611bcf858281518110611ba757611ba7613f4c565b6020026020010151858381518110611bc157611bc1613f4c565b602002602001015185611f4c565b600101611b8a565b5050505050565b600080826002811115611bf357611bf3613e6b565b03611c0b57611c04868686866120eb565b9050610fdc565b6002826002811115611c1f57611c1f613e6b565b03611c3057611c0486868686612139565b611c048686868661218d565b6000610985611c496121c1565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b81600080611cb387846122f5565b91509150600080611cc389612342565b91509150611cd78960200151308488612379565b611ce28989886123a3565b611cec84826123f5565b6101208a0151909450600090611d2e90828c61014001516001811115611d1457611d14613e6b565b14611d1f5787611d21565b865b88888e610140015161243d565b9050611d4b308b60200151848489611d469190613fc2565b612379565b611d573033848461252d565b6000611d6284612596565b90508015611d7a57611d7a308c602001518684612379565b60208b8101516040805187815292830186905282018990526060820188905260808201849052309173ffffffffffffffffffffffffffffffffffffffff9091169087907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a46020808c01516040805187815292830186905282018990526060820188905273ffffffffffffffffffffffffffffffffffffffff169086907f63bf4d16b7fa898ef4c4b2b6d90fd201e9c56313b65638af6088d149d2ce956c9060800160405180910390a35050505050505050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166020820152600090611eb49083908590603401604051602081830303815290604052805190602001206126c6565b90505b9392505050565b60065460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3053c6252a932554235c173caffc1913604dba3a41cee89516f631c4a1a50a3790600090a3600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b81600080611f5a86846122f5565b6101208801519193509150600090611fa790825b8961014001516001811115611f8557611f85613e6b565b14611f905785611f92565b845b8960a001518a60c001518b610140015161243d565b9050600080611fb589612342565b91509150611fcf338a60200151838689611d469190613fc2565b611fdf8960200151888489612379565b6020898101516040805185815292830184905282018890526060820187905260808201859052339173ffffffffffffffffffffffffffffffffffffffff9091169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a4505050505050505050565b6060604051806101a00160405280610171815260200161419261017191396040805173ffffffffffffffffffffffffffffffffffffffff8516602082015201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526120d59291602001614005565b6040516020818303038152906040529050919050565b60008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561212e575061212e858484612763565b90505b949350505050565b6000612146858484612763565b801561212e57508373ffffffffffffffffffffffffffffffffffffffff1661216d86610ee8565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b600061219a858484612763565b801561212e57508373ffffffffffffffffffffffffffffffffffffffff1661216d866113a6565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561222757507f000000000000000000000000000000000000000000000000000000000000000046145b1561225157507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b60008061230584606001516127a5565b61230e846111fb565b905061231a81856116c7565b61232d838560a001518660c00151612817565b915061233a81858561283e565b509250929050565b60008080836101400151600181111561235d5761235d613e6b565b0361236d57505060800151600091565b50506080015190600090565b816000036123915761238c8484836128eb565b61239d565b61239d84848484612940565b50505050565b815160005b81811015611bd7576123ed858583815181106123c6576123c6613f4c565b60200260200101518584815181106123e0576123e0613f4c565b602002602001015161296d565b6001016123a8565b60008061240183612596565b905083811015611eb7576040517fdf4d808000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008515610fdc576000612452858585612a52565b905060008111801561246c5750670de0b6b3a76400008111155b1561252357600083600181111561248557612485613e6b565b036124d75761249661271082614034565b866124b2836124ad81670de0b6b3a7640000613fc2565b612ac1565b6124bc908a614034565b6124c69190614034565b6124d09190614071565b9150612523565b6124eb670de0b6b3a7640000612710614034565b86612502836124ad81670de0b6b3a7640000613fc2565b61250c908a614034565b6125169190614034565b6125209190614071565b91505b5095945050505050565b801561239d5761253f84848484612379565b604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff8516917facffcc86834d0f1a64b0d5a675798deed6ff0bcfc2231edd3480e7288dba7ff4910160405180910390a250505050565b60008160000361264f576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561262b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098591906140ac565b6040517efdd58e0000000000000000000000000000000000000000000000000000000081523060048201526024810183905273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e9060440161260e565b6000806126d38585612ad7565b8051602091820120604080517fff000000000000000000000000000000000000000000000000000000000000008185015260609890981b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166021890152603588019590955260558088019190915284518088039091018152607590960190935250508251920191909120919050565b60008373ffffffffffffffffffffffffffffffffffffffff166127868484612c5a565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116158015906127e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610b5c576040517f5211a07900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008260000361282957506000611eb7565b826128348386614034565b611eb49190614071565b6000838152600860205260409020600181015490811561285e5781612864565b8360a001515b9150818311156128a0576040517fe2cc6ad600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128aa8383613fc2565b9150816000036128de5780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011781555b6001018190559392505050565b7f00000000000000000000000000000000000000000000000000000000000000003073ffffffffffffffffffffffffffffffffffffffff8516036129345761238c818484612c7e565b61239d81858585612c89565b61239d7f000000000000000000000000000000000000000000000000000000000000000085858585612c95565b60006129798484612d41565b9050612986848483612ddd565b8160008061299486846122f5565b61012088015191935091506000906129ac9082611f6e565b90506000806129ba89612342565b915091506129d186868b6020015185858c89612e89565b6020808b01518a820151604080518681529384018590528301899052606083018890526080830186905273ffffffffffffffffffffffffffffffffffffffff9182169291169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a450505050505050505050565b600080826001811115612a6757612a67613e6b565b03612a9f5782600003612a7b576000612a98565b82612a8e670de0b6b3a764000086614034565b612a989190614071565b9050611eb7565b83600003612aae576000611eb4565b83612834670de0b6b3a764000085614034565b6000818310612ad05781611eb7565b5090919050565b6040805160008082526020820190925260609190612af890604481016140c5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f52e831dd000000000000000000000000000000000000000000000000000000001790528151606380825260a082019093529293506000929190820181803683370190505090507f3d3d606380380380913d393d73bebebebebebebebebebebebebebebebebebebe60208201526c010000000000000000000000008502602d8201527f5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73be60418201526c01000000000000000000000000840260608201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060748201528082604051602001612c41929190614005565b6040516020818303038152906040529250505092915050565b6000806000612c698585612f09565b91509150612c7681612f4e565b509392505050565b610d02838383613101565b61239d848484846131ba565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015286169063f242432a9060c401600060405180830381600087803b158015612d2257600080fd5b505af1158015612d36573d6000803e3d6000fd5b505050505050505050565b6000808361014001516001811115612d5b57612d5b613e6b565b148015612d7e575060008261014001516001811115612d7c57612d7c613e6b565b145b15612d8b57506001610985565b60018361014001516001811115612da457612da4613e6b565b148015612dc7575060018261014001516001811115612dc557612dc5613e6b565b145b15612dd457506002610985565b50600092915050565b612de78383613279565b612e1d576040517f7f9a6f4600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816002811115612e3157612e31613e6b565b03612e77578160800151836080015114610d02576040517fa0b9446500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d02836080015183608001516110f5565b612e958530868a612379565b612ea287878686866132c3565b85612eac84612596565b1015612ee4576040517fdf4d808000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ef4308685611d46858b613fc2565b612f003033858461252d565b50505050505050565b6000808251604103612f3f5760208301516040840151606085015160001a612f338782858561334b565b94509450505050612f47565b506000905060025b9250929050565b6000816004811115612f6257612f62613e6b565b03612f6a5750565b6001816004811115612f7e57612f7e613e6b565b03612fe5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161104d565b6002816004811115612ff957612ff9613e6b565b03613060576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161104d565b600381600481111561307457613074613e6b565b03610b5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161104d565b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d116001600051141617169150508061239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c45440000000000000000000000000000000000604482015260640161104d565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d1160016000511416171691505080611bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c4544000000000000000000000000604482015260640161104d565b60008260c0015160001480613290575060c0820151155b1561329d57506001610985565b611eb76132a98461343a565b6132b28461343a565b856101400151856101400151613454565b60008160028111156132d7576132d7613e6b565b14611bd75760018160028111156132f0576132f0613e6b565b036133165760008281526005602052604090206001015461331190856134ee565b611bd7565b600281600281111561332a5761332a613e6b565b03611bd757600083815260056020526040902060010154613311908661361e565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156133825750600090506003613431565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156133d6573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661342a57600060019250925050613431565b9150600090505b94509492505050565b60006109858260a001518360c00151846101400151612a52565b60008083600181111561346957613469613e6b565b036134ad57600082600181111561348257613482613e6b565b036134a357670de0b6b3a764000061349a8587613faa565b10159050612131565b5082841015612131565b60008260018111156134c1576134c1613e6b565b036134d0575083831015612131565b670de0b6b3a76400006134e38587613faa565b111595945050505050565b60408051600280825260608201835260009260208301908036833701905050905060018160008151811061352457613524613f4c565b60200260200101818152505060028160018151811061354557613545613f4c565b60209081029190910101527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166372ce42757f00000000000000000000000000000000000000000000000000000000000000005b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526135f09190600090889087908990600401614116565b600060405180830381600087803b15801561360a57600080fd5b505af1158015612f00573d6000803e3d6000fd5b60408051600280825260608201835260009260208301908036833701905050905060018160008151811061365457613654613f4c565b60200260200101818152505060028160018151811061367557613675613f4c565b60209081029190910101527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639e7212ad7f00000000000000000000000000000000000000000000000000000000000000006135ae565b6000602082840312156136f457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611eb757600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610b5c57600080fd5b803561375181613724565b919050565b6000806040838503121561376957600080fd5b823561377481613724565b946020939093013593505050565b60006020828403121561379457600080fd5b8135611eb781613724565b6000602082840312156137b157600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101a0810167ffffffffffffffff8111828210171561380b5761380b6137b8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613858576138586137b8565b604052919050565b80356002811061375157600080fd5b80356003811061375157600080fd5b600082601f83011261388f57600080fd5b813567ffffffffffffffff8111156138a9576138a96137b8565b6138da60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613811565b8181528460208386010111156138ef57600080fd5b816020850160208301376000918101602001919091529392505050565b60006101a0828403121561391f57600080fd5b6139276137e7565b90508135815261393960208301613746565b602082015261394a60408301613746565b604082015261395b60608301613746565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101406139ae818401613860565b908201526101606139c083820161386f565b908201526101808281013567ffffffffffffffff8111156139e057600080fd5b6139ec8582860161387e565b82840152505092915050565b600060208284031215613a0a57600080fd5b813567ffffffffffffffff811115613a2157600080fd5b6121318482850161390c565b600080600060608486031215613a4257600080fd5b505081359360208301359350604090920135919050565b600067ffffffffffffffff821115613a7357613a736137b8565b5060051b60200190565b600082601f830112613a8e57600080fd5b81356020613aa3613a9e83613a59565b613811565b82815260059290921b84018101918181019086841115613ac257600080fd5b8286015b84811015613add5780358352918301918301613ac6565b509695505050505050565b600080600080600060a08688031215613b0057600080fd5b8535613b0b81613724565b94506020860135613b1b81613724565b9350604086013567ffffffffffffffff80821115613b3857600080fd5b613b4489838a01613a7d565b94506060880135915080821115613b5a57600080fd5b613b6689838a01613a7d565b93506080880135915080821115613b7c57600080fd5b50613b898882890161387e565b9150509295509295909350565b600082601f830112613ba757600080fd5b81356020613bb7613a9e83613a59565b82815260059290921b84018101918181019086841115613bd657600080fd5b8286015b84811015613add57803567ffffffffffffffff811115613bfa5760008081fd5b613c088986838b010161390c565b845250918301918301613bda565b60008060408385031215613c2957600080fd5b823567ffffffffffffffff80821115613c4157600080fd5b613c4d86838701613b96565b93506020850135915080821115613c6357600080fd5b50613c7085828601613a7d565b9150509250929050565b60008060408385031215613c8d57600080fd5b50508035926020909101359150565b60008060408385031215613caf57600080fd5b82359150602083013567ffffffffffffffff811115613ccd57600080fd5b613c708582860161390c565b60008060008060808587031215613cef57600080fd5b843567ffffffffffffffff80821115613d0757600080fd5b613d138883890161390c565b95506020870135915080821115613d2957600080fd5b613d3588838901613b96565b9450604087013593506060870135915080821115613d5257600080fd5b50613d5f87828801613a7d565b91505092959194509250565b600080600080600060a08688031215613d8357600080fd5b8535613d8e81613724565b94506020860135613d9e81613724565b93506040860135925060608601359150608086013567ffffffffffffffff811115613dc857600080fd5b613b898882890161387e565b600060208284031215613de657600080fd5b813567ffffffffffffffff811115613dfd57600080fd5b61213184828501613b96565b60008060408385031215613e1c57600080fd5b823567ffffffffffffffff811115613e3357600080fd5b613e3f8582860161390c565b95602094909401359450505050565b600060208284031215613e6057600080fd5b8151611eb781613724565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110613eaa57613eaa613e6b565b9052565b60006101a0820190508e82528d602083015273ffffffffffffffffffffffffffffffffffffffff808e166040840152808d166060840152808c166080840152508960a08301528860c08301528760e083015286610100830152856101208301528461014083015260028410613f2557613f25613e6b565b83610160830152613f3a610180830184613e9a565b9e9d5050505050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115613fbd57613fbd613f7b565b500190565b600082821015613fd457613fd4613f7b565b500390565b60005b83811015613ff4578181015183820152602001613fdc565b8381111561239d5750506000910152565b60008351614017818460208801613fd9565b83519083019061402b818360208801613fd9565b01949350505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561406c5761406c613f7b565b500290565b6000826140a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000602082840312156140be57600080fd5b5051919050565b60208152600082518060208401526140e4816040850160208701613fd9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060a0820173ffffffffffffffffffffffffffffffffffffffff881683526020878185015286604085015260a0606085015281865180845260c086019150828801935060005b818110156141795784518352938301939183019160010161415d565b5050809350505050826080830152969550505050505056fe608060405234801561001057600080fd5b5060405161017138038061017183398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e7565b6000602082840312156100ca578081fd5b81516001600160a01b03811681146100e0578182fd5b9392505050565b607c806100f56000396000f3fe6080604052600080546001600160a01b0316813563530ca43760e11b1415602857808252602082f35b3682833781823684845af490503d82833e806041573d82fd5b503d81f3fea264697066735822122015938e3bf2c49f5df5c1b7f9569fa85cc5d6f3074bb258a2dc0c7e299bc9e33664736f6c63430008040033a264697066735822122056df26e165b5957191bd0ff149c07ae13f5a6b4252973fb3c07a4653cce0f3b164736f6c634300080f00330000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa841740000000000000000000000004d97dcd97ec945f40cf65f87097ace5ea0476045000000000000000000000000ab45c5a4b0c941a2f231c04c3f49182e1a254052000000000000000000000000aacfeea03eb1561c4e67d661e40682bd20e3541b", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": "0x8dedda12c2ee8a8893c436e726bb0112d542455e3db12bddb9a5cd097d8a6d16", + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "addAdmin(address)", + "arguments": [ + "0x665057d2bDc8F83722435712a98747EE4A7B8aEb" + ], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x1107c", + "value": "0x0", + "data": "0x70480275000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": "0x2f62b1db98a1173317d27d8ea06fc8c657b456b4c7c16b0c4955a06d70d9ee3a", + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "addOperator(address)", + "arguments": [ + "0x665057d2bDc8F83722435712a98747EE4A7B8aEb" + ], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x10169", + "value": "0x0", + "data": "0x9870d7fe000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": "0xde6e10751f2a3679109c25a571f210858da0812d6635e2702f61da15d5c5a71a", + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "renounceAdminRole()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x7d00", + "value": "0x0", + "data": "0x83b8a5ae", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": "0x0e0391adbe52ad44a30ee682c4cf270896190b02931b5c421ddc0aafbec0590a", + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "renounceOperatorRole()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x7d34", + "value": "0x0", + "data": "0x3d6d3598", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [] + } + ], + "receipts": [ + { + "transactionHash": "0x35423c49cb07c9ccecad9af20df52cccdeff0d46f833d438de8b02f2504aed22", + "transactionIndex": "0x0", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "from": "0x81fd0E5E7372ED171f421A7C33a4b263Ea9DCc25", + "to": null, + "cumulativeGasUsed": "0x3ba46a", + "gasUsed": "0x3ba46a", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "logs": [ + { + "address": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000004bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "0x0000000000000000000000004d97dcd97ec945f40cf65f87097ace5ea0476045" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0x35423c49cb07c9ccecad9af20df52cccdeff0d46f833d438de8b02f2504aed22", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "0x000000000000000000000000f0245f6251bef9447a08766b9da2b07b28ad80b0" + ], + "data": "0x0000000000000000000000000000000000000000000000000ad94eef487522340000000000000000000000000000000000000000000000003782dace9d9000000000000000000000000000000000000000000000000004a14098d113bc5dcc6d0000000000000000000000000000000000000000000000002ca98bdf551addcc0000000000000000000000000000000000000000000004a14b72200304d2eea1", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0x35423c49cb07c9ccecad9af20df52cccdeff0d46f833d438de8b02f2504aed22", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000400000000000000000000000000008000000000000000000000008000000000000000000080200000000080000000000000000000000200800000000000000000400100000000000000000000000000000000000000000000000000000000000180000000000000000001000000000000000000000000000000000000000000000000000000080000220000000400000008000000000001000000000000000000000000000000004000100000000000000001000000000000000000000000000000100000000000000010008000000000000000000000000000000000000001000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x2e90edd000" + }, + { + "transactionHash": "0x8dedda12c2ee8a8893c436e726bb0112d542455e3db12bddb9a5cd097d8a6d16", + "transactionIndex": "0x1", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "from": "0x81fd0E5E7372ED171f421A7C33a4b263Ea9DCc25", + "to": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "cumulativeGasUsed": "0x3c5ebb", + "gasUsed": "0xba51", + "contractAddress": null, + "logs": [ + { + "address": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "topics": [ + "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc", + "0x000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25" + ], + "data": "0x", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0x8dedda12c2ee8a8893c436e726bb0112d542455e3db12bddb9a5cd097d8a6d16", + "transactionIndex": "0x1", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "0x000000000000000000000000f0245f6251bef9447a08766b9da2b07b28ad80b0" + ], + "data": "0x0000000000000000000000000000000000000000000000000021e408a4549f920000000000000000000000000000000000000000000000002ca98bdf51d7e0000000000000000000000000000000000000000000000004a14b72200304d2eea10000000000000000000000000000000000000000000000002c87a7d6ad83406e0000000000000000000000000000000000000000000004a14b94040ba9278e33", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0x8dedda12c2ee8a8893c436e726bb0112d542455e3db12bddb9a5cd097d8a6d16", + "transactionIndex": "0x1", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000200000000000000000400000000000000000000000000008000000000000000000000008000000000002000000000000000010080004000000000000000000000800000000000000000000100000000000000000000000000000000000000200000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000080000200000000000000000000000000000000000080000000000000000000000004000100000000028000001000000000000000000000000000000100000000000000000000000000000000000000000000100000000000001000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x2e90edd000" + }, + { + "transactionHash": "0x2f62b1db98a1173317d27d8ea06fc8c657b456b4c7c16b0c4955a06d70d9ee3a", + "transactionIndex": "0x2", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "from": "0x81fd0E5E7372ED171f421A7C33a4b263Ea9DCc25", + "to": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "cumulativeGasUsed": "0x3d1918", + "gasUsed": "0xba5d", + "contractAddress": null, + "logs": [ + { + "address": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "topics": [ + "0xf1e04d73c4304b5ff164f9d10c7473e2a1593b740674a6107975e2a7001c1e5c", + "0x000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25" + ], + "data": "0x", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0x2f62b1db98a1173317d27d8ea06fc8c657b456b4c7c16b0c4955a06d70d9ee3a", + "transactionIndex": "0x2", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "0x000000000000000000000000f0245f6251bef9447a08766b9da2b07b28ad80b0" + ], + "data": "0x0000000000000000000000000000000000000000000000000021e6376f7a5eea0000000000000000000000000000000000000000000000002c87a7d6ad7910000000000000000000000000000000000000000000000004a14b94040ba9278e330000000000000000000000000000000000000000000000002c65c19f3dfeb1160000000000000000000000000000000000000000000004a14bb5ea4318a1ed1d", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0x2f62b1db98a1173317d27d8ea06fc8c657b456b4c7c16b0c4955a06d70d9ee3a", + "transactionIndex": "0x2", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000200000000000000000400000000000000000000000000008000000000000000000000008000000000002000000000000000010080004000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000082000200000000000000000100000000000000000000000000000000000000000004000100000000028000001000000000000000000000000000000100000000000000000000000000000000000000000000000800000000001000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x2e90edd000" + }, + { + "transactionHash": "0xde6e10751f2a3679109c25a571f210858da0812d6635e2702f61da15d5c5a71a", + "transactionIndex": "0x3", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "from": "0x81fd0E5E7372ED171f421A7C33a4b263Ea9DCc25", + "to": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "cumulativeGasUsed": "0x3d7398", + "gasUsed": "0x5a80", + "contractAddress": null, + "logs": [ + { + "address": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "topics": [ + "0x787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e", + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25" + ], + "data": "0x", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0xde6e10751f2a3679109c25a571f210858da0812d6635e2702f61da15d5c5a71a", + "transactionIndex": "0x3", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "0x000000000000000000000000f0245f6251bef9447a08766b9da2b07b28ad80b0" + ], + "data": "0x0000000000000000000000000000000000000000000000000010763c12030d000000000000000000000000000000000000000000000000002c65c19f3df480000000000000000000000000000000000000000000000004a14bb5ea4318a1ed1d0000000000000000000000000000000000000000000000002c554b632bf173000000000000000000000000000000000000000000000004a14bc6607f2aa4fa1d", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0xde6e10751f2a3679109c25a571f210858da0812d6635e2702f61da15d5c5a71a", + "transactionIndex": "0x3", + "logIndex": "0x7", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000202000000000000000400000000000000000000000000008000000000000000000000008000000000002000000000000000000080004000000000000000000000800000000000000000000100000000000000020000000000000000000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000000000000000080000200000000000000000000000000000000000000000000000000000000000004000100000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000001000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x2e90edd000" + }, + { + "transactionHash": "0x0e0391adbe52ad44a30ee682c4cf270896190b02931b5c421ddc0aafbec0590a", + "transactionIndex": "0x0", + "blockHash": "0x08cdad299d4e2e31c3e1666a4a767c93e414c923af9f10796781e486f44db6d5", + "blockNumber": "0x200c71c", + "from": "0x81fd0E5E7372ED171f421A7C33a4b263Ea9DCc25", + "to": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "cumulativeGasUsed": "0x5aa6", + "gasUsed": "0x5aa6", + "contractAddress": null, + "logs": [ + { + "address": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "topics": [ + "0xf7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c", + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25" + ], + "data": "0x", + "blockHash": "0x08cdad299d4e2e31c3e1666a4a767c93e414c923af9f10796781e486f44db6d5", + "blockNumber": "0x200c71c", + "transactionHash": "0x0e0391adbe52ad44a30ee682c4cf270896190b02931b5c421ddc0aafbec0590a", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "0x000000000000000000000000f0245f6251bef9447a08766b9da2b07b28ad80b0" + ], + "data": "0x00000000000000000000000000000000000000000000000000107d25954feaec0000000000000000000000000000000000000000000000002c554b632bec80000000000000000000000000000000000000000000000004a1515a28ffe513dacd0000000000000000000000000000000000000000000000002c44ce3d969c95140000000000000000000000000000000000000000000004a1516aa6257a63c5b9", + "blockHash": "0x08cdad299d4e2e31c3e1666a4a767c93e414c923af9f10796781e486f44db6d5", + "blockNumber": "0x200c71c", + "transactionHash": "0x0e0391adbe52ad44a30ee682c4cf270896190b02931b5c421ddc0aafbec0590a", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000200000000000000000400000000000000000000000000008000000000000000000000008000000000002000000000000000000080004000000000000000000000800000000000000000000100000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000080000200000000000000000000000000000000000000000000000000000000000004004100000000000800001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000001000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x2e90edd000" + } + ], + "libraries": [], + "pending": [], + "path": "/home/jonathan/WorkSpace/polymarket/ctf-exchange/broadcast/ExchangeDeployment.s.sol/137/deployExchange-latest.json", + "returns": { + "exchange": { + "internal_type": "address", + "value": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E" + } + }, + "timestamp": 1664228343, + "commit": "af3ba7f" +} \ No newline at end of file diff --git a/broadcast/ExchangeDeployment.s.sol/137/deployExchange-latest.json b/broadcast/ExchangeDeployment.s.sol/137/deployExchange-latest.json index 603ac51..0ec92c8 100644 --- a/broadcast/ExchangeDeployment.s.sol/137/deployExchange-latest.json +++ b/broadcast/ExchangeDeployment.s.sol/137/deployExchange-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0xf7f61cb1ce8e09f9652e85c6ef1196f7225a40221a473d89c117108101f31b8e", + "hash": "0x35423c49cb07c9ccecad9af20df52cccdeff0d46f833d438de8b02f2504aed22", "transactionType": "CREATE", "contractName": "CTFExchange", - "contractAddress": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "function": null, "arguments": [ "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", @@ -14,29 +14,29 @@ ], "transaction": { "type": "0x02", - "from": "0x09b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "gas": "0x41072e", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "gas": "0x4d88f0", "value": "0x0", - "data": "0x6101a060405260016000556003805460ff191690553480156200002157600080fd5b5060405162003b6538038062003b658339810160408190526200004491620002d6565b604080518082018252601781527f506f6c796d61726b6574204354462045786368616e67650000000000000000006020808301918252835180850185526001808252603160f81b82840190815233600090815282855287812083905560028552879020919091558451909320815190932060e08490526101008190524660a081815287517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818a0188905260608201859052608082019390935230818301528851808203909201825260c0019097528651969093019590952087958795879587959194938d938d9387938793909291906080523060c05261012052505050506001600160a01b0382811661014081905290821661016081905260405163095ea7b360e01b81526004810191909152600019602482015263095ea7b3906044016020604051808303816000875af1158015620001a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cf919062000333565b50620001dd91505062000265565b610180525050600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055506200035e945050505050565b6040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b600060c0516001600160a01b0316306001600160a01b03161480156200028c575060a05146145b1562000299575060805190565b620002b46101205160e051610100516200021c60201b60201c565b905090565b80516001600160a01b0381168114620002d157600080fd5b919050565b60008060008060808587031215620002ed57600080fd5b620002f885620002b9565b93506200030860208601620002b9565b92506200031860408601620002b9565b91506200032860608601620002b9565b905092959194509250565b6000602082840312156200034657600080fd5b815180151581146200035757600080fd5b9392505050565b60805160a05160c05160e051610100516101205161014051610160516101805161375e62000407600039600061079e01526000818161043401528181611e9a0152818161206e01528181612a8e0152612b9901526000818161055701528181611e0b0152818161202301528181612abd0152612bc801526000611ac901526000611b1801526000611af301526000611a4c01526000611a7601526000611aa0015261375e6000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c80637048027511610182578063d798eff6116100e9578063e60f0c05116100a2578063f698da251161007c578063f698da2514610799578063fa950b48146107c0578063fbddd751146107d3578063fe729aaf146107e657600080fd5b8063e60f0c0514610754578063edef7d8e14610767578063f23a6e611461077a57600080fd5b8063d798eff6146106dd578063d7fb272f146106f0578063d82da83814610713578063e03ac3d014610726578063e2eec4051461072e578063e50e4f971461074157600080fd5b8063a287bdf11161013b578063a287bdf114610654578063a6dfcf8614610667578063ac8a584a1461067a578063b28c51c01461068d578063bc197c811461069e578063c10f1a75146106ca57600080fd5b806370480275146105e257806375d7370a146105f55780637ecebe001461060657806383b8a5ae146106265780639870d7fe1461062e578063a10f3dce1461064157600080fd5b8063429b62e5116102415780635893253c116101fa578063627cdcb9116101d4578063627cdcb914610588578063654f0ce41461059057806368c7450f146105a35780636d70f7ae146105b657600080fd5b80635893253c146105195780635c1548fb146105555780635c975abb1461057b57600080fd5b8063429b62e51461046057806344bea37e146104805780634544f05514610488578063456068d21461049b57806346423aa7146104a35780634a2a11f51461051157600080fd5b80631785f53c116102935780631785f53c1461039b57806324d7806c146103ae5780632dff692d146103db578063346009011461041f5780633b521d78146104325780633d6d35981461045857600080fd5b806301ffc9a7146102db5780630647ee201461030357806306b9d691146103305780631031e36e14610350578063131e7e1c1461035a57806313e7c9d81461036d575b600080fd5b6102ee6102e9366004612bec565b6107f9565b60405190151581526020015b60405180910390f35b6102ee610311366004612c3b565b6001600160a01b03919091166000908152600460205260409020541490565b610338610830565b6040516001600160a01b0390911681526020016102fa565b6103586108a3565b005b600754610338906001600160a01b031681565b61038d61037b366004612c67565b60026020526000908152604090205481565b6040519081526020016102fa565b6103586103a9366004612c67565b6108de565b6102ee6103bc366004612c67565b6001600160a01b03166000908152600160208190526040909120541490565b6104086103e9366004612c84565b6008602052600090815260409020805460019091015460ff9091169082565b6040805192151583526020830191909152016102fa565b61035861042d366004612c84565b610955565b7f0000000000000000000000000000000000000000000000000000000000000000610338565b610358610986565b61038d61046e366004612c67565b60016020526000908152604090205481565b61038d600081565b610358610496366004612c67565b6109f1565b610358610a2b565b6104f46104b1366004612c84565b6040805180820190915260008082526020820152506000908152600860209081526040918290208251808401909352805460ff1615158352600101549082015290565b6040805182511515815260209283015192810192909252016102fa565b6103e861038d565b610540610527366004612c84565b6005602052600090815260409020805460019091015482565b604080519283526020830191909152016102fa565b7f0000000000000000000000000000000000000000000000000000000000000000610338565b6003546102ee9060ff1681565b610358610a64565b61035861059e366004612e84565b610a6e565b6103586105b1366004612eb8565b610a89565b6102ee6105c4366004612c67565b6001600160a01b031660009081526002602052604090205460011490565b6103586105f0366004612c67565b610aca565b6007546001600160a01b0316610338565b61038d610614366004612c67565b60046020526000908152604090205481565b610358610b44565b61035861063c366004612c67565b610bb0565b61038d61064f366004612c84565b610c28565b610338610662366004612c67565b610c46565b610358610675366004612e84565b610c65565b610358610688366004612c67565b610c6e565b6006546001600160a01b0316610338565b6106b16106ac366004612f72565b610ce5565b6040516001600160e01b031990911681526020016102fa565b600654610338906001600160a01b031681565b6103586106eb36600461309e565b610cf7565b61038d6106fe366004612c84565b60009081526005602052604090206001015490565b610358610721366004613101565b610d8f565b610338610db7565b61035861073c366004613123565b610e01565b61038d61074f366004612e84565b610e3d565b61035861076236600461315f565b610eda565b610338610775366004612c67565b610f6c565b6106b16107883660046131f0565b63f23a6e6160e01b95945050505050565b61038d7f000000000000000000000000000000000000000000000000000000000000000081565b6103586107ce366004613258565b610f8b565b6103586107e1366004612c67565b610fc2565b6103586107f436600461328c565b610ffc565b60006001600160e01b03198216630271189760e51b148061082a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6006546040805163557887a160e11b815290516000926001600160a01b03169163aaf10f429160048083019260209291908290030181865afa15801561087a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089e91906132d0565b905090565b33600090815260016020819052604090912054146108d457604051637bfa4b9f60e01b815260040160405180910390fd5b6108dc611082565b565b336000908152600160208190526040909120541461090f57604051637bfa4b9f60e01b815260040160405180910390fd5b6001600160a01b038116600081815260016020526040808220829055513392917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a350565b6000818152600560205260408120549003610983576040516307ed98ed60e31b815260040160405180910390fd5b50565b336000908152600260205260409020546001146109b657604051631f0853c160e21b815260040160405180910390fd5b336000818152600260205260408082208290555182917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a3565b3360009081526001602081905260409091205414610a2257604051637bfa4b9f60e01b815260040160405180910390fd5b610983816110bc565b3360009081526001602081905260409091205414610a5c57604051637bfa4b9f60e01b815260040160405180910390fd5b6108dc611118565b6108dc600161114f565b6000610a7982610e3d565b9050610a85818361117d565b5050565b3360009081526001602081905260409091205414610aba57604051637bfa4b9f60e01b815260040160405180910390fd5b610ac583838361126b565b505050565b3360009081526001602081905260409091205414610afb57604051637bfa4b9f60e01b815260040160405180910390fd5b6001600160a01b038116600081815260016020819052604080832091909155513392917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc91a350565b3360009081526001602081905260409091205414610b7557604051637bfa4b9f60e01b815260040160405180910390fd5b336000818152600160205260408082208290555182917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a3565b3360009081526001602081905260409091205414610be157604051637bfa4b9f60e01b815260040160405180910390fd5b6001600160a01b03811660008181526002602052604080822060019055513392917ff1e04d73c4304b5ff164f9d10c7473e2a1593b740674a6107975e2a7001c1e5c91a350565b6000610c3382610955565b5060009081526005602052604090205490565b600061082a82610c54610db7565b6007546001600160a01b0316611395565b610983816113f9565b3360009081526001602081905260409091205414610c9f57604051637bfa4b9f60e01b815260040160405180910390fd5b6001600160a01b038116600081815260026020526040808220829055513392917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a350565b63bc197c8160e01b5b95945050505050565b600054600203610d225760405162461bcd60e51b8152600401610d19906132ed565b60405180910390fd5b600260008181553381526020919091526040902054600114610d5757604051631f0853c160e21b815260040160405180910390fd5b60035460ff1615610d7b576040516313d0ff5960e31b815260040160405180910390fd5b610d868282336114a1565b50506001600055565b80610d9983610c28565b14610a855760405163337c310560e11b815260040160405180910390fd5b6007546040805163530ca43760e11b815290516000926001600160a01b03169163a619486e9160048083019260209291908290030181865afa15801561087a573d6000803e3d6000fd5b610e2081604001518260200151848461018001518561016001516114fa565b610a8557604051638baa579f60e01b815260040160405180910390fd5b600061082a7fa852566c4e14d00869b6db0220888a9090a13eccdaea03713ff0a3d27bf9767c836000015184602001518560400151866060015187608001518860a001518960c001518a60e001518b61010001518c61012001518d61014001518e6101600151604051602001610ebf9d9c9b9a9998979695949392919061333b565b60405160208183030381529060405280519060200120611558565b600054600203610efc5760405162461bcd60e51b8152600401610d19906132ed565b600260008181553381526020919091526040902054600114610f3157604051631f0853c160e21b815260040160405180910390fd5b60035460ff1615610f55576040516313d0ff5960e31b815260040160405180910390fd5b610f61848484846115a6565b505060016000555050565b600061082a82610f7a610830565b6006546001600160a01b0316611747565b805160005b81811015610ac557610fba838281518110610fad57610fad6133cd565b60200260200101516113f9565b600101610f90565b3360009081526001602081905260409091205414610ff357604051637bfa4b9f60e01b815260040160405180910390fd5b61098381611796565b60005460020361101e5760405162461bcd60e51b8152600401610d19906132ed565b60026000818155338152602091909152604090205460011461105357604051631f0853c160e21b815260040160405180910390fd5b60035460ff1615611077576040516313d0ff5960e31b815260040160405180910390fd5b610d868282336117f2565b6003805460ff1916600117905560405133907f203c4bd3e526634f661575359ff30de3b0edaba6c2cb1eac60f730b6d2d9d53690600090a2565b6007546040516001600160a01b038084169216907f9726d7faf7429d6b059560dc858ed769377ccdf8b7541eabe12b22548719831f90600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6003805460ff1916905560405133907fa1e8a54850dbd7f520bcc09f47bff152294b77b2081da545a7adf531b7ea283b90600090a2565b3360009081526004602052604090205461116a9082906133f9565b3360009081526004602052604090205550565b60008160e001511180156111945750428160e00151105b156111b2576040516362b439dd60e11b815260040160405180910390fd5b6111bc8282610e01565b6103e881610120015111156111e45760405163cd4e616760e01b815260040160405180910390fd5b6111f18160800151610955565b60008281526008602052604090205460ff161561122157604051633d9c5bb760e11b815260040160405180910390fd5b61124e81602001518261010001516001600160a01b03919091166000908152600460205260409020541490565b610a8557604051633ab3447f60e11b815260040160405180910390fd5b8183148061127f575082158061127f575081155b1561129d576040516307ed98ed60e31b815260040160405180910390fd5b6000838152600560205260409020541515806112c6575060008281526005602052604090205415155b156112e457604051630ea075bf60e21b815260040160405180910390fd5b6040805180820182528381526020808201848152600087815260058084528582209451855591516001948501558451808601865288815280840187815288835292909352848120925183559051919092015590518291849186917fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d91a48083837fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d60405160405180910390a4505050565b6000806113a184611905565b8051906020012090506000856040516020016113cc91906001600160a01b0391909116815260200190565b6040516020818303038152906040528051906020012090506113ef84838361196b565b9695505050505050565b60208101516001600160a01b03163314611426576040516330cd747160e01b815260040160405180910390fd5b600061143182610e3d565b600081815260086020526040902080549192509060ff161561146657604051633d9c5bb760e11b815260040160405180910390fd5b805460ff1916600117815560405182907f5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d90600090a2505050565b825160005b818110156114f3576114eb8582815181106114c3576114c36133cd565b60200260200101518583815181106114dd576114dd6133cd565b6020026020010151856117f2565b6001016114a6565b5050505050565b60008082600281111561150f5761150f613311565b0361152757611520868686866119aa565b9050610cee565b600282600281111561153b5761153b613311565b0361154c57611520868686866119de565b61152086868686611a18565b600061082a611565611a3f565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b81600080806115b58885611b66565b9250925092506000806115c78a611bb6565b915091506115db8a60200151308489611bed565b6115e68a8a89611c17565b6115f08582611c69565b6101208b015190955060009061163290828d6101400151600181111561161857611618613311565b146116235788611625565b875b89898f6101400151611c98565b905061164f308c6020015184848a61164a9190613411565b611bed565b61165b30338484611d88565b60208b810151604080518681529283018590528201899052606082018790526080820183905230916001600160a01b039091169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a46020808c0151604080518681529283018590528201899052606082018890526001600160a01b03169085907f63bf4d16b7fa898ef4c4b2b6d90fd201e9c56313b65638af6088d149d2ce956c9060800160405180910390a3600061172184611de4565b9050801561173957611739308d602001518684611bed565b505050505050505050505050565b6040516bffffffffffffffffffffffff19606085901b16602082015260009061178c908390859060340160405160208183030381529060405280519060200120611ec8565b90505b9392505050565b6006546040516001600160a01b038084169216907f3053c6252a932554235c173caffc1913604dba3a41cee89516f631c4a1a50a3790600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b81600080806118018785611b66565b925092509250600061185e8861012001516000600181111561182557611825613311565b8a6101400151600181111561183c5761183c613311565b146118475786611849565b855b8a60a001518b60c001518c6101400151611c98565b905060008061186c8a611bb6565b91509150611886338b6020015183868a61164a9190613411565b6118968a6020015189848a611bed565b60208a810151604080518581529283018490528201899052606082018790526080820185905233916001600160a01b039091169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a450505050505050505050565b6060604051806101a0016040528061017181526020016135b86101719139604080516001600160a01b03851660208201520160408051601f19818403018152908290526119559291602001613454565b6040516020818303038152906040529050919050565b60008060ff60f81b8584866040516020016119899493929190613483565b60408051808303601f19018152919052805160209091012095945050505050565b6000836001600160a01b0316856001600160a01b03161480156119d357506119d3858484611f1d565b90505b949350505050565b60006119eb858484611f1d565b80156119d35750836001600160a01b0316611a0586610c46565b6001600160a01b03161495945050505050565b6000611a25858484611f1d565b80156119d35750836001600160a01b0316611a0586610f6c565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a9857507f000000000000000000000000000000000000000000000000000000000000000046145b15611ac257507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000806000611b788560600151611f45565b611b8185610e3d565b9050611b8d818661117d565b611ba0848660a001518760c00151611f84565b9250611bad818686611fab565b91509250925092565b600080808361014001516001811115611bd157611bd1613311565b03611be157505060800151600091565b50506080015190600090565b81600003611c0557611c00848483612021565b611c11565b611c1184848484612069565b50505050565b815160005b818110156114f357611c6185858381518110611c3a57611c3a6133cd565b6020026020010151858481518110611c5457611c546133cd565b6020026020010151612096565b600101611c1c565b600080611c7583611de4565b90508381101561178f576040516301be9b0160e71b815260040160405180910390fd5b60008515610cee576000611cad85858561217c565b9050600081118015611cc75750670de0b6b3a76400008111155b15611d7e576000836001811115611ce057611ce0613311565b03611d3257611cf1612710826134bc565b86611d0d83611d0881670de0b6b3a7640000613411565b6121eb565b611d17908a6134bc565b611d2191906134bc565b611d2b91906134db565b9150611d7e565b611d46670de0b6b3a76400006127106134bc565b86611d5d83611d0881670de0b6b3a7640000613411565b611d67908a6134bc565b611d7191906134bc565b611d7b91906134db565b91505b5095945050505050565b8015611c1157611d9a84848484611bed565b60408051838152602081018390526001600160a01b038516917facffcc86834d0f1a64b0d5a675798deed6ff0bcfc2231edd3480e7288dba7ff4910160405180910390a250505050565b600081600003611e77576040516370a0823160e01b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa158015611e53573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082a91906134fd565b604051627eeac760e11b8152306004820152602481018390526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e90604401611e36565b600080611ed58585612201565b805190602001209050600060ff60f81b868584604051602001611efb9493929190613483565b60408051808303601f1901815291905280516020909101209695505050505050565b6000836001600160a01b0316611f338484612318565b6001600160a01b031614949350505050565b6001600160a01b03811615801590611f6657506001600160a01b0381163314155b1561098357604051635211a07960e01b815260040160405180910390fd5b600082600003611f965750600061178f565b82611fa183866134bc565b61178c91906134db565b60008381526008602052604090206001810154908115611fcb5781611fd1565b8360a001515b915081831115611ff457604051637166356b60e11b815260040160405180910390fd5b611ffe8383613411565b91508160000361201457805460ff191660011781555b6001018190559392505050565b7f0000000000000000000000000000000000000000000000000000000000000000306001600160a01b0385160361205d57611c0081848461233c565b611c1181858585612347565b611c117f000000000000000000000000000000000000000000000000000000000000000085858585612353565b60006120a284846123d9565b90506120af848483612475565b81600080806120be8785611b66565b92509250925060006120e28861012001516000600181111561182557611825613311565b90506000806120f08a611bb6565b9150915061210787878c6020015185858d896124ef565b6020808c01518b8201516040805186815293840185905283018a905260608301889052608083018690526001600160a01b039182169291169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a45050505050505050505050565b60008082600181111561219157612191613311565b036121c957826000036121a55760006121c2565b826121b8670de0b6b3a7640000866134bc565b6121c291906134db565b905061178f565b836000036121d857600061178c565b83611fa1670de0b6b3a7640000856134bc565b60008183106121fa578161178f565b5090919050565b60408051600080825260208201909252606091906122229060448101613516565b60408051601f19818403018152918152602080830180516001600160e01b03166352e831dd60e01b1790528151606380825260a082019093529293506000929190820181803683370190505090507f3d3d606380380380913d393d73bebebebebebebebebebebebebebebebebebebe6020820152600160601b8502602d8201527f5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73be6041820152600160601b840260608201526e5af43d82803e903d91602b57fd5bf360881b607482015280826040516020016122ff929190613454565b6040516020818303038152906040529250505092915050565b60008060006123278585612556565b915091506123348161259b565b509392505050565b610ac58383836126e5565b611c118484848461275d565b604051637921219560e11b81526001600160a01b0385811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015286169063f242432a9060c401600060405180830381600087803b1580156123ba57600080fd5b505af11580156123ce573d6000803e3d6000fd5b505050505050505050565b60008083610140015160018111156123f3576123f3613311565b14801561241657506000826101400151600181111561241457612414613311565b145b156124235750600161082a565b6001836101400151600181111561243c5761243c613311565b14801561245f57506001826101400151600181111561245d5761245d613311565b145b1561246c5750600261082a565b50600092915050565b61247f83836127e0565b61249c57604051633fcd37a360e11b815260040160405180910390fd5b60008160028111156124b0576124b0613311565b036124dd578160800151836080015114610ac55760405163a0b9446560e01b815260040160405180910390fd5b610ac583608001518360800151610d8f565b6124fb8530868a611bed565b612508878786868661282a565b8561251284611de4565b1015612531576040516301be9b0160e71b815260040160405180910390fd5b61254130868561164a858b613411565b61254d30338584611d88565b50505050505050565b600080825160410361258c5760208301516040840151606085015160001a612580878285856128b2565b94509450505050612594565b506000905060025b9250929050565b60008160048111156125af576125af613311565b036125b75750565b60018160048111156125cb576125cb613311565b036126185760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610d19565b600281600481111561262c5761262c613311565b036126795760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610d19565b600381600481111561268d5761268d613311565b036109835760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610d19565b600060405163a9059cbb60e01b8152836004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080611c115760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606401610d19565b60006040516323b872dd60e01b81528460048201528360248201528260448201526020600060648360008a5af13d15601f3d11600160005114161716915050806114f35760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606401610d19565b60008260c00151600014806127f7575060c0820151155b156128045750600161082a565b61178f61281084612976565b61281984612976565b856101400151856101400151612990565b600081600281111561283e5761283e613311565b146114f357600181600281111561285757612857613311565b0361287d576000828152600560205260409020600101546128789085612a2a565b6114f3565b600281600281111561289157612891613311565b036114f3576000838152600560205260409020600101546128789086612b35565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156128e9575060009050600361296d565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561293d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166129665760006001925092505061296d565b9150600090505b94509492505050565b600061082a8260a001518360c0015184610140015161217c565b6000808360018111156129a5576129a5613311565b036129e95760008260018111156129be576129be613311565b036129df57670de0b6b3a76400006129d685876133f9565b101590506119d6565b50828410156119d6565b60008260018111156129fd576129fd613311565b03612a0c5750838310156119d6565b670de0b6b3a7640000612a1f85876133f9565b111595945050505050565b604080516002808252606082018352600092602083019080368337019050509050600181600081518110612a6057612a606133cd565b602002602001018181525050600281600181518110612a8157612a816133cd565b60209081029190910101527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166372ce42757f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160e01b031960e084901b168152612b079190600090889087908990600401613549565b600060405180830381600087803b158015612b2157600080fd5b505af115801561254d573d6000803e3d6000fd5b604080516002808252606082018352600092602083019080368337019050509050600181600081518110612b6b57612b6b6133cd565b602002602001018181525050600281600181518110612b8c57612b8c6133cd565b60209081029190910101527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639e7212ad7f0000000000000000000000000000000000000000000000000000000000000000612add565b600060208284031215612bfe57600080fd5b81356001600160e01b03198116811461178f57600080fd5b6001600160a01b038116811461098357600080fd5b8035612c3681612c16565b919050565b60008060408385031215612c4e57600080fd5b8235612c5981612c16565b946020939093013593505050565b600060208284031215612c7957600080fd5b813561178f81612c16565b600060208284031215612c9657600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6040516101a081016001600160401b0381118282101715612cd657612cd6612c9d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612d0457612d04612c9d565b604052919050565b803560028110612c3657600080fd5b803560038110612c3657600080fd5b600082601f830112612d3b57600080fd5b81356001600160401b03811115612d5457612d54612c9d565b612d67601f8201601f1916602001612cdc565b818152846020838601011115612d7c57600080fd5b816020850160208301376000918101602001919091529392505050565b60006101a08284031215612dac57600080fd5b612db4612cb3565b905081358152612dc660208301612c2b565b6020820152612dd760408301612c2b565b6040820152612de860608301612c2b565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140612e3b818401612d0c565b90820152610160612e4d838201612d1b565b90820152610180828101356001600160401b03811115612e6c57600080fd5b612e7885828601612d2a565b82840152505092915050565b600060208284031215612e9657600080fd5b81356001600160401b03811115612eac57600080fd5b6119d684828501612d99565b600080600060608486031215612ecd57600080fd5b505081359360208301359350604090920135919050565b60006001600160401b03821115612efd57612efd612c9d565b5060051b60200190565b600082601f830112612f1857600080fd5b81356020612f2d612f2883612ee4565b612cdc565b82815260059290921b84018101918181019086841115612f4c57600080fd5b8286015b84811015612f675780358352918301918301612f50565b509695505050505050565b600080600080600060a08688031215612f8a57600080fd5b8535612f9581612c16565b94506020860135612fa581612c16565b935060408601356001600160401b0380821115612fc157600080fd5b612fcd89838a01612f07565b94506060880135915080821115612fe357600080fd5b612fef89838a01612f07565b9350608088013591508082111561300557600080fd5b5061301288828901612d2a565b9150509295509295909350565b600082601f83011261303057600080fd5b81356020613040612f2883612ee4565b82815260059290921b8401810191818101908684111561305f57600080fd5b8286015b84811015612f675780356001600160401b038111156130825760008081fd5b6130908986838b0101612d99565b845250918301918301613063565b600080604083850312156130b157600080fd5b82356001600160401b03808211156130c857600080fd5b6130d48683870161301f565b935060208501359150808211156130ea57600080fd5b506130f785828601612f07565b9150509250929050565b6000806040838503121561311457600080fd5b50508035926020909101359150565b6000806040838503121561313657600080fd5b8235915060208301356001600160401b0381111561315357600080fd5b6130f785828601612d99565b6000806000806080858703121561317557600080fd5b84356001600160401b038082111561318c57600080fd5b61319888838901612d99565b955060208701359150808211156131ae57600080fd5b6131ba8883890161301f565b94506040870135935060608701359150808211156131d757600080fd5b506131e487828801612f07565b91505092959194509250565b600080600080600060a0868803121561320857600080fd5b853561321381612c16565b9450602086013561322381612c16565b9350604086013592506060860135915060808601356001600160401b0381111561324c57600080fd5b61301288828901612d2a565b60006020828403121561326a57600080fd5b81356001600160401b0381111561328057600080fd5b6119d68482850161301f565b6000806040838503121561329f57600080fd5b82356001600160401b038111156132b557600080fd5b6132c185828601612d99565b95602094909401359450505050565b6000602082840312156132e257600080fd5b815161178f81612c16565b6020808252600a90820152695245454e5452414e435960b01b604082015260600190565b634e487b7160e01b600052602160045260246000fd5b6003811061333757613337613311565b9052565b8d8152602081018d90526001600160a01b038c811660408301528b811660608301528a16608082015260a0810189905260c0810188905260e081018790526101008101869052610120810185905261014081018490526101a08101600284106133a6576133a6613311565b836101608301526133bb610180830184613327565b9e9d5050505050505050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561340c5761340c6133e3565b500190565b600082821015613423576134236133e3565b500390565b60005b8381101561344357818101518382015260200161342b565b83811115611c115750506000910152565b60008351613466818460208801613428565b83519083019061347a818360208801613428565b01949350505050565b6001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60008160001904831182151516156134d6576134d66133e3565b500290565b6000826134f857634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561350f57600080fd5b5051919050565b6020815260008251806020840152613535816040850160208701613428565b601f01601f19169190910160400192915050565b6001600160a01b038616815260208082018690526040820185905260a06060830181905284519083018190526000918581019160c0850190845b8181101561359f57845183529383019391830191600101613583565b5050809350505050826080830152969550505050505056fe608060405234801561001057600080fd5b5060405161017138038061017183398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e7565b6000602082840312156100ca578081fd5b81516001600160a01b03811681146100e0578182fd5b9392505050565b607c806100f56000396000f3fe6080604052600080546001600160a01b0316813563530ca43760e11b1415602857808252602082f35b3682833781823684845af490503d82833e806041573d82fd5b503d81f3fea264697066735822122015938e3bf2c49f5df5c1b7f9569fa85cc5d6f3074bb258a2dc0c7e299bc9e33664736f6c63430008040033a2646970667358221220d93139e32bae530b273044d07d00326d19debeb5b49b08f172b04a7bc677797964736f6c634300080f00330000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa841740000000000000000000000004d97dcd97ec945f40cf65f87097ace5ea0476045000000000000000000000000ab45c5a4b0c941a2f231c04c3f49182e1a254052000000000000000000000000aacfeea03eb1561c4e67d661e40682bd20e3541b", + "data": "0x6101a060405260016000556003805460ff191690553480156200002157600080fd5b506040516200473f3803806200473f8339810160408190526200004491620002d6565b604080518082018252601781527f506f6c796d61726b6574204354462045786368616e67650000000000000000006020808301918252835180850185526001808252603160f81b82840190815233600090815282855287812083905560028552879020919091558451909320815190932060e08490526101008190524660a081815287517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818a0188905260608201859052608082019390935230818301528851808203909201825260c0019097528651969093019590952087958795879587959194938d938d9387938793909291906080523060c05261012052505050506001600160a01b0382811661014081905290821661016081905260405163095ea7b360e01b81526004810191909152600019602482015263095ea7b3906044016020604051808303816000875af1158015620001a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cf919062000333565b50620001dd91505062000265565b610180525050600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055506200035e945050505050565b6040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b600060c0516001600160a01b0316306001600160a01b03161480156200028c575060a05146145b1562000299575060805190565b620002b46101205160e051610100516200021c60201b60201c565b905090565b80516001600160a01b0381168114620002d157600080fd5b919050565b60008060008060808587031215620002ed57600080fd5b620002f885620002b9565b93506200030860208601620002b9565b92506200031860408601620002b9565b91506200032860608601620002b9565b905092959194509250565b6000602082840312156200034657600080fd5b815180151581146200035757600080fd5b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516143386200040760003960006108970152600081816104c801528181612698015281816129450152818161355201526136820152600081816105eb015281816125e3015281816128ed0152818161358e01526136be01526000612258015260006122a701526000612282015260006121db015260006122050152600061222f01526143386000f3fe608060405234801561001057600080fd5b50600436106103365760003560e01c806370480275116101b2578063d798eff6116100f9578063e60f0c05116100a2578063f698da251161007c578063f698da2514610892578063fa950b48146108b9578063fbddd751146108cc578063fe729aaf146108df57600080fd5b8063e60f0c0514610834578063edef7d8e14610847578063f23a6e611461085a57600080fd5b8063e03ac3d0116100d3578063e03ac3d014610806578063e2eec4051461080e578063e50e4f971461082157600080fd5b8063d798eff6146107bd578063d7fb272f146107d0578063d82da838146107f357600080fd5b8063a287bdf11161015b578063b28c51c011610135578063b28c51c01461073b578063bc197c8114610759578063c10f1a751461079d57600080fd5b8063a287bdf114610702578063a6dfcf8614610715578063ac8a584a1461072857600080fd5b806383b8a5ae1161018c57806383b8a5ae146106d45780639870d7fe146106dc578063a10f3dce146106ef57600080fd5b8063704802751461068357806375d7370a146106965780637ecebe00146106b457600080fd5b8063429b62e5116102815780635893253c1161022a578063627cdcb911610204578063627cdcb91461061c578063654f0ce41461062457806368c7450f146106375780636d70f7ae1461064a57600080fd5b80635893253c146105ad5780635c1548fb146105e95780635c975abb1461060f57600080fd5b8063456068d21161025b578063456068d21461052f57806346423aa7146105375780634a2a11f5146105a557600080fd5b8063429b62e5146104f457806344bea37e146105145780634544f0551461051c57600080fd5b80631785f53c116102e357806334600901116102bd57806334600901146104b35780633b521d78146104c65780633d6d3598146104ec57600080fd5b80631785f53c1461042257806324d7806c146104355780632dff692d1461046f57600080fd5b80631031e36e116103145780631031e36e146103ca578063131e7e1c146103d457806313e7c9d8146103f457600080fd5b806301ffc9a71461033b5780630647ee201461036357806306b9d6911461039d575b600080fd5b61034e6103493660046136e2565b6108f2565b60405190151581526020015b60405180910390f35b61034e610371366004613756565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152600460205260409020541490565b6103a561098b565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161035a565b6103d2610a24565b005b6007546103a59073ffffffffffffffffffffffffffffffffffffffff1681565b610414610402366004613782565b60026020526000908152604090205481565b60405190815260200161035a565b6103d2610430366004613782565b610a78565b61034e610443366004613782565b73ffffffffffffffffffffffffffffffffffffffff166000908152600160208190526040909120541490565b61049c61047d36600461379f565b6008602052600090815260409020805460019091015460ff9091169082565b60408051921515835260208301919091520161035a565b6103d26104c136600461379f565b610b15565b7f00000000000000000000000000000000000000000000000000000000000000006103a5565b6103d2610b5f565b610414610502366004613782565b60016020526000908152604090205481565b610414600081565b6103d261052a366004613782565b610be3565b6103d2610c36565b61058861054536600461379f565b6040805180820190915260008082526020820152506000908152600860209081526040918290208251808401909352805460ff1615158352600101549082015290565b60408051825115158152602092830151928101929092520161035a565b6103e8610414565b6105d46105bb36600461379f565b6005602052600090815260409020805460019091015482565b6040805192835260208301919091520161035a565b7f00000000000000000000000000000000000000000000000000000000000000006103a5565b60035461034e9060ff1681565b6103d2610c88565b6103d26106323660046139f8565b610c92565b6103d2610645366004613a2d565b610cad565b61034e610658366004613782565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205460011490565b6103d2610691366004613782565b610d07565b60075473ffffffffffffffffffffffffffffffffffffffff166103a5565b6104146106c2366004613782565b60046020526000908152604090205481565b6103d2610da7565b6103d26106ea366004613782565b610e2c565b6104146106fd36600461379f565b610eca565b6103a5610710366004613782565b610ee8565b6103d26107233660046139f8565b610f14565b6103d2610736366004613782565b610f1d565b60065473ffffffffffffffffffffffffffffffffffffffff166103a5565b61076c610767366004613ae8565b610fba565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161035a565b6006546103a59073ffffffffffffffffffffffffffffffffffffffff1681565b6103d26107cb366004613c16565b610fe5565b6104146107de36600461379f565b60009081526005602052604090206001015490565b6103d2610801366004613c7a565b6110f5565b6103a5611136565b6103d261081c366004613c9c565b6111a6565b61041461082f3660046139f8565b6111fb565b6103d2610842366004613cd9565b611298565b6103a5610855366004613782565b6113a6565b61076c610868366004613d6b565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b6104147f000000000000000000000000000000000000000000000000000000000000000081565b6103d26108c7366004613dd4565b6113d2565b6103d26108da366004613782565b611409565b6103d26108ed366004613e09565b61145c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000148061098557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600654604080517faaf10f42000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163aaf10f429160048083019260209291908290030181865afa1580156109fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1f9190613e4e565b905090565b3360009081526001602081905260409091205414610a6e576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a7661155e565b565b3360009081526001602081905260409091205414610ac2576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020526040808220829055513392917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a350565b6000818152600560205260408120549003610b5c576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b33600090815260026020526040902054600114610ba8576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600260205260408082208290555182917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a3565b3360009081526001602081905260409091205414610c2d576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5c816115b6565b3360009081526001602081905260409091205414610c80576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a76611644565b610a766001611699565b6000610c9d826111fb565b9050610ca981836116c7565b5050565b3360009081526001602081905260409091205414610cf7576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d02838383611826565b505050565b3360009081526001602081905260409091205414610d51576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832091909155513392917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc91a350565b3360009081526001602081905260409091205414610df1576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600160205260408082208290555182917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a3565b3360009081526001602081905260409091205414610e76576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822060019055513392917ff1e04d73c4304b5ff164f9d10c7473e2a1593b740674a6107975e2a7001c1e5c91a350565b6000610ed582610b15565b5060009081526005602052604090205490565b600061098582610ef6611136565b60075473ffffffffffffffffffffffffffffffffffffffff16611982565b610b5c81611a80565b3360009081526001602081905260409091205414610f67576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260026020526040808220829055513392917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a350565b7fbc197c81000000000000000000000000000000000000000000000000000000005b95945050505050565b600054600203611056576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e43590000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6002600081815533815260209190915260409020546001146110a4576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff16156110e1576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110ec828233611b85565b50506001600055565b806110ff83610eca565b14610ca9576040517f66f8620a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600754604080517fa619486e000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163a619486e9160048083019260209291908290030181865afa1580156109fb573d6000803e3d6000fd5b6111c58160400151826020015184846101800151856101600151611bde565b610ca9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109857fa852566c4e14d00869b6db0220888a9090a13eccdaea03713ff0a3d27bf9767c836000015184602001518560400151866060015187608001518860a001518960c001518a60e001518b61010001518c61012001518d61014001518e610160015160405160200161127d9d9c9b9a99989796959493929190613eae565b60405160208183030381529060405280519060200120611c3c565b600054600203611304576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e435900000000000000000000000000000000000000000000604482015260640161104d565b600260008181553381526020919091526040902054600114611352576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff161561138f576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61139b84848484611ca5565b505060016000555050565b6000610985826113b461098b565b60065473ffffffffffffffffffffffffffffffffffffffff16611e5c565b805160005b81811015610d02576114018382815181106113f4576113f4613f4c565b6020026020010151611a80565b6001016113d7565b3360009081526001602081905260409091205414611453576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5c81611ebe565b6000546002036114c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e435900000000000000000000000000000000000000000000604482015260640161104d565b600260008181553381526020919091526040902054600114611516576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff1615611553576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110ec828233611f4c565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560405133907f203c4bd3e526634f661575359ff30de3b0edaba6c2cb1eac60f730b6d2d9d53690600090a2565b60075460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f9726d7faf7429d6b059560dc858ed769377ccdf8b7541eabe12b22548719831f90600090a3600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905560405133907fa1e8a54850dbd7f520bcc09f47bff152294b77b2081da545a7adf531b7ea283b90600090a2565b336000908152600460205260409020546116b4908290613faa565b3360009081526004602052604090205550565b60008160e001511180156116de5750428160e00151105b15611715576040517fc56873ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61171f82826111a6565b6103e88161012001511115611760576040517fcd4e616700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61176d8160800151610b15565b60008281526008602052604090205460ff16156117b6576040517f7b38b76e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117f0816020015182610100015173ffffffffffffffffffffffffffffffffffffffff919091166000908152600460205260409020541490565b610ca9576040517f756688fe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8183148061183a575082158061183a575081155b15611871576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526005602052604090205415158061189a575060008281526005602052604090205415155b156118d1576040517f3a81d6fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820182528381526020808201848152600087815260058084528582209451855591516001948501558451808601865288815280840187815288835292909352848120925183559051919092015590518291849186917fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d91a48083837fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d60405160405180910390a4505050565b60008061198e8461205a565b8051906020012090506000856040516020016119c6919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815282825280516020918201207fff000000000000000000000000000000000000000000000000000000000000008285015260609790971b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166021840152603583019690965260558083019490945280518083039094018452607590910190525080519201919091209392505050565b602081015173ffffffffffffffffffffffffffffffffffffffff163314611ad3576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611ade826111fb565b600081815260086020526040902080549192509060ff1615611b2c576040517f7b38b76e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405182907f5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d90600090a2505050565b825160005b81811015611bd757611bcf858281518110611ba757611ba7613f4c565b6020026020010151858381518110611bc157611bc1613f4c565b602002602001015185611f4c565b600101611b8a565b5050505050565b600080826002811115611bf357611bf3613e6b565b03611c0b57611c04868686866120eb565b9050610fdc565b6002826002811115611c1f57611c1f613e6b565b03611c3057611c0486868686612139565b611c048686868661218d565b6000610985611c496121c1565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b81600080611cb387846122f5565b91509150600080611cc389612342565b91509150611cd78960200151308488612379565b611ce28989886123a3565b611cec84826123f5565b6101208a0151909450600090611d2e90828c61014001516001811115611d1457611d14613e6b565b14611d1f5787611d21565b865b88888e610140015161243d565b9050611d4b308b60200151848489611d469190613fc2565b612379565b611d573033848461252d565b6000611d6284612596565b90508015611d7a57611d7a308c602001518684612379565b60208b8101516040805187815292830186905282018990526060820188905260808201849052309173ffffffffffffffffffffffffffffffffffffffff9091169087907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a46020808c01516040805187815292830186905282018990526060820188905273ffffffffffffffffffffffffffffffffffffffff169086907f63bf4d16b7fa898ef4c4b2b6d90fd201e9c56313b65638af6088d149d2ce956c9060800160405180910390a35050505050505050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166020820152600090611eb49083908590603401604051602081830303815290604052805190602001206126c6565b90505b9392505050565b60065460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3053c6252a932554235c173caffc1913604dba3a41cee89516f631c4a1a50a3790600090a3600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b81600080611f5a86846122f5565b6101208801519193509150600090611fa790825b8961014001516001811115611f8557611f85613e6b565b14611f905785611f92565b845b8960a001518a60c001518b610140015161243d565b9050600080611fb589612342565b91509150611fcf338a60200151838689611d469190613fc2565b611fdf8960200151888489612379565b6020898101516040805185815292830184905282018890526060820187905260808201859052339173ffffffffffffffffffffffffffffffffffffffff9091169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a4505050505050505050565b6060604051806101a00160405280610171815260200161419261017191396040805173ffffffffffffffffffffffffffffffffffffffff8516602082015201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526120d59291602001614005565b6040516020818303038152906040529050919050565b60008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561212e575061212e858484612763565b90505b949350505050565b6000612146858484612763565b801561212e57508373ffffffffffffffffffffffffffffffffffffffff1661216d86610ee8565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b600061219a858484612763565b801561212e57508373ffffffffffffffffffffffffffffffffffffffff1661216d866113a6565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561222757507f000000000000000000000000000000000000000000000000000000000000000046145b1561225157507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b60008061230584606001516127a5565b61230e846111fb565b905061231a81856116c7565b61232d838560a001518660c00151612817565b915061233a81858561283e565b509250929050565b60008080836101400151600181111561235d5761235d613e6b565b0361236d57505060800151600091565b50506080015190600090565b816000036123915761238c8484836128eb565b61239d565b61239d84848484612940565b50505050565b815160005b81811015611bd7576123ed858583815181106123c6576123c6613f4c565b60200260200101518584815181106123e0576123e0613f4c565b602002602001015161296d565b6001016123a8565b60008061240183612596565b905083811015611eb7576040517fdf4d808000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008515610fdc576000612452858585612a52565b905060008111801561246c5750670de0b6b3a76400008111155b1561252357600083600181111561248557612485613e6b565b036124d75761249661271082614034565b866124b2836124ad81670de0b6b3a7640000613fc2565b612ac1565b6124bc908a614034565b6124c69190614034565b6124d09190614071565b9150612523565b6124eb670de0b6b3a7640000612710614034565b86612502836124ad81670de0b6b3a7640000613fc2565b61250c908a614034565b6125169190614034565b6125209190614071565b91505b5095945050505050565b801561239d5761253f84848484612379565b604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff8516917facffcc86834d0f1a64b0d5a675798deed6ff0bcfc2231edd3480e7288dba7ff4910160405180910390a250505050565b60008160000361264f576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561262b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098591906140ac565b6040517efdd58e0000000000000000000000000000000000000000000000000000000081523060048201526024810183905273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e9060440161260e565b6000806126d38585612ad7565b8051602091820120604080517fff000000000000000000000000000000000000000000000000000000000000008185015260609890981b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166021890152603588019590955260558088019190915284518088039091018152607590960190935250508251920191909120919050565b60008373ffffffffffffffffffffffffffffffffffffffff166127868484612c5a565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116158015906127e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610b5c576040517f5211a07900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008260000361282957506000611eb7565b826128348386614034565b611eb49190614071565b6000838152600860205260409020600181015490811561285e5781612864565b8360a001515b9150818311156128a0576040517fe2cc6ad600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128aa8383613fc2565b9150816000036128de5780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011781555b6001018190559392505050565b7f00000000000000000000000000000000000000000000000000000000000000003073ffffffffffffffffffffffffffffffffffffffff8516036129345761238c818484612c7e565b61239d81858585612c89565b61239d7f000000000000000000000000000000000000000000000000000000000000000085858585612c95565b60006129798484612d41565b9050612986848483612ddd565b8160008061299486846122f5565b61012088015191935091506000906129ac9082611f6e565b90506000806129ba89612342565b915091506129d186868b6020015185858c89612e89565b6020808b01518a820151604080518681529384018590528301899052606083018890526080830186905273ffffffffffffffffffffffffffffffffffffffff9182169291169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a450505050505050505050565b600080826001811115612a6757612a67613e6b565b03612a9f5782600003612a7b576000612a98565b82612a8e670de0b6b3a764000086614034565b612a989190614071565b9050611eb7565b83600003612aae576000611eb4565b83612834670de0b6b3a764000085614034565b6000818310612ad05781611eb7565b5090919050565b6040805160008082526020820190925260609190612af890604481016140c5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f52e831dd000000000000000000000000000000000000000000000000000000001790528151606380825260a082019093529293506000929190820181803683370190505090507f3d3d606380380380913d393d73bebebebebebebebebebebebebebebebebebebe60208201526c010000000000000000000000008502602d8201527f5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73be60418201526c01000000000000000000000000840260608201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060748201528082604051602001612c41929190614005565b6040516020818303038152906040529250505092915050565b6000806000612c698585612f09565b91509150612c7681612f4e565b509392505050565b610d02838383613101565b61239d848484846131ba565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015286169063f242432a9060c401600060405180830381600087803b158015612d2257600080fd5b505af1158015612d36573d6000803e3d6000fd5b505050505050505050565b6000808361014001516001811115612d5b57612d5b613e6b565b148015612d7e575060008261014001516001811115612d7c57612d7c613e6b565b145b15612d8b57506001610985565b60018361014001516001811115612da457612da4613e6b565b148015612dc7575060018261014001516001811115612dc557612dc5613e6b565b145b15612dd457506002610985565b50600092915050565b612de78383613279565b612e1d576040517f7f9a6f4600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816002811115612e3157612e31613e6b565b03612e77578160800151836080015114610d02576040517fa0b9446500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d02836080015183608001516110f5565b612e958530868a612379565b612ea287878686866132c3565b85612eac84612596565b1015612ee4576040517fdf4d808000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ef4308685611d46858b613fc2565b612f003033858461252d565b50505050505050565b6000808251604103612f3f5760208301516040840151606085015160001a612f338782858561334b565b94509450505050612f47565b506000905060025b9250929050565b6000816004811115612f6257612f62613e6b565b03612f6a5750565b6001816004811115612f7e57612f7e613e6b565b03612fe5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161104d565b6002816004811115612ff957612ff9613e6b565b03613060576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161104d565b600381600481111561307457613074613e6b565b03610b5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161104d565b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d116001600051141617169150508061239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c45440000000000000000000000000000000000604482015260640161104d565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d1160016000511416171691505080611bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c4544000000000000000000000000604482015260640161104d565b60008260c0015160001480613290575060c0820151155b1561329d57506001610985565b611eb76132a98461343a565b6132b28461343a565b856101400151856101400151613454565b60008160028111156132d7576132d7613e6b565b14611bd75760018160028111156132f0576132f0613e6b565b036133165760008281526005602052604090206001015461331190856134ee565b611bd7565b600281600281111561332a5761332a613e6b565b03611bd757600083815260056020526040902060010154613311908661361e565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156133825750600090506003613431565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156133d6573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661342a57600060019250925050613431565b9150600090505b94509492505050565b60006109858260a001518360c00151846101400151612a52565b60008083600181111561346957613469613e6b565b036134ad57600082600181111561348257613482613e6b565b036134a357670de0b6b3a764000061349a8587613faa565b10159050612131565b5082841015612131565b60008260018111156134c1576134c1613e6b565b036134d0575083831015612131565b670de0b6b3a76400006134e38587613faa565b111595945050505050565b60408051600280825260608201835260009260208301908036833701905050905060018160008151811061352457613524613f4c565b60200260200101818152505060028160018151811061354557613545613f4c565b60209081029190910101527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166372ce42757f00000000000000000000000000000000000000000000000000000000000000005b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526135f09190600090889087908990600401614116565b600060405180830381600087803b15801561360a57600080fd5b505af1158015612f00573d6000803e3d6000fd5b60408051600280825260608201835260009260208301908036833701905050905060018160008151811061365457613654613f4c565b60200260200101818152505060028160018151811061367557613675613f4c565b60209081029190910101527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639e7212ad7f00000000000000000000000000000000000000000000000000000000000000006135ae565b6000602082840312156136f457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611eb757600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610b5c57600080fd5b803561375181613724565b919050565b6000806040838503121561376957600080fd5b823561377481613724565b946020939093013593505050565b60006020828403121561379457600080fd5b8135611eb781613724565b6000602082840312156137b157600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101a0810167ffffffffffffffff8111828210171561380b5761380b6137b8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613858576138586137b8565b604052919050565b80356002811061375157600080fd5b80356003811061375157600080fd5b600082601f83011261388f57600080fd5b813567ffffffffffffffff8111156138a9576138a96137b8565b6138da60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613811565b8181528460208386010111156138ef57600080fd5b816020850160208301376000918101602001919091529392505050565b60006101a0828403121561391f57600080fd5b6139276137e7565b90508135815261393960208301613746565b602082015261394a60408301613746565b604082015261395b60608301613746565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101406139ae818401613860565b908201526101606139c083820161386f565b908201526101808281013567ffffffffffffffff8111156139e057600080fd5b6139ec8582860161387e565b82840152505092915050565b600060208284031215613a0a57600080fd5b813567ffffffffffffffff811115613a2157600080fd5b6121318482850161390c565b600080600060608486031215613a4257600080fd5b505081359360208301359350604090920135919050565b600067ffffffffffffffff821115613a7357613a736137b8565b5060051b60200190565b600082601f830112613a8e57600080fd5b81356020613aa3613a9e83613a59565b613811565b82815260059290921b84018101918181019086841115613ac257600080fd5b8286015b84811015613add5780358352918301918301613ac6565b509695505050505050565b600080600080600060a08688031215613b0057600080fd5b8535613b0b81613724565b94506020860135613b1b81613724565b9350604086013567ffffffffffffffff80821115613b3857600080fd5b613b4489838a01613a7d565b94506060880135915080821115613b5a57600080fd5b613b6689838a01613a7d565b93506080880135915080821115613b7c57600080fd5b50613b898882890161387e565b9150509295509295909350565b600082601f830112613ba757600080fd5b81356020613bb7613a9e83613a59565b82815260059290921b84018101918181019086841115613bd657600080fd5b8286015b84811015613add57803567ffffffffffffffff811115613bfa5760008081fd5b613c088986838b010161390c565b845250918301918301613bda565b60008060408385031215613c2957600080fd5b823567ffffffffffffffff80821115613c4157600080fd5b613c4d86838701613b96565b93506020850135915080821115613c6357600080fd5b50613c7085828601613a7d565b9150509250929050565b60008060408385031215613c8d57600080fd5b50508035926020909101359150565b60008060408385031215613caf57600080fd5b82359150602083013567ffffffffffffffff811115613ccd57600080fd5b613c708582860161390c565b60008060008060808587031215613cef57600080fd5b843567ffffffffffffffff80821115613d0757600080fd5b613d138883890161390c565b95506020870135915080821115613d2957600080fd5b613d3588838901613b96565b9450604087013593506060870135915080821115613d5257600080fd5b50613d5f87828801613a7d565b91505092959194509250565b600080600080600060a08688031215613d8357600080fd5b8535613d8e81613724565b94506020860135613d9e81613724565b93506040860135925060608601359150608086013567ffffffffffffffff811115613dc857600080fd5b613b898882890161387e565b600060208284031215613de657600080fd5b813567ffffffffffffffff811115613dfd57600080fd5b61213184828501613b96565b60008060408385031215613e1c57600080fd5b823567ffffffffffffffff811115613e3357600080fd5b613e3f8582860161390c565b95602094909401359450505050565b600060208284031215613e6057600080fd5b8151611eb781613724565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110613eaa57613eaa613e6b565b9052565b60006101a0820190508e82528d602083015273ffffffffffffffffffffffffffffffffffffffff808e166040840152808d166060840152808c166080840152508960a08301528860c08301528760e083015286610100830152856101208301528461014083015260028410613f2557613f25613e6b565b83610160830152613f3a610180830184613e9a565b9e9d5050505050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115613fbd57613fbd613f7b565b500190565b600082821015613fd457613fd4613f7b565b500390565b60005b83811015613ff4578181015183820152602001613fdc565b8381111561239d5750506000910152565b60008351614017818460208801613fd9565b83519083019061402b818360208801613fd9565b01949350505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561406c5761406c613f7b565b500290565b6000826140a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000602082840312156140be57600080fd5b5051919050565b60208152600082518060208401526140e4816040850160208701613fd9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060a0820173ffffffffffffffffffffffffffffffffffffffff881683526020878185015286604085015260a0606085015281865180845260c086019150828801935060005b818110156141795784518352938301939183019160010161415d565b5050809350505050826080830152969550505050505056fe608060405234801561001057600080fd5b5060405161017138038061017183398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e7565b6000602082840312156100ca578081fd5b81516001600160a01b03811681146100e0578182fd5b9392505050565b607c806100f56000396000f3fe6080604052600080546001600160a01b0316813563530ca43760e11b1415602857808252602082f35b3682833781823684845af490503d82833e806041573d82fd5b503d81f3fea264697066735822122015938e3bf2c49f5df5c1b7f9569fa85cc5d6f3074bb258a2dc0c7e299bc9e33664736f6c63430008040033a264697066735822122056df26e165b5957191bd0ff149c07ae13f5a6b4252973fb3c07a4653cce0f3b164736f6c634300080f00330000000000000000000000002791bca1f2de4661ed88a30c99a7a9449aa841740000000000000000000000004d97dcd97ec945f40cf65f87097ace5ea0476045000000000000000000000000ab45c5a4b0c941a2f231c04c3f49182e1a254052000000000000000000000000aacfeea03eb1561c4e67d661e40682bd20e3541b", "nonce": "0x0", "accessList": [] }, "additionalContracts": [] }, { - "hash": "0x9084668eccf2c9fbf05d49323b5fd6de7a2578a01a7c817de9ac34d128d081ba", + "hash": "0x8dedda12c2ee8a8893c436e726bb0112d542455e3db12bddb9a5cd097d8a6d16", "transactionType": "CALL", "contractName": "CTFExchange", - "contractAddress": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "function": "addAdmin(address)", "arguments": [ "0x665057d2bDc8F83722435712a98747EE4A7B8aEb" ], "transaction": { "type": "0x02", - "from": "0x09b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "to": "0xfffd6f0db1ec30a58884b23546b4f1bb333f818f", - "gas": "0x1107e", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x1107c", "value": "0x0", "data": "0x70480275000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", "nonce": "0x1", @@ -45,19 +45,19 @@ "additionalContracts": [] }, { - "hash": "0x022d727a4c8ecdaa9e0aee5e5ef1a6ade286ea48052db6a2d76d949f3122273d", + "hash": "0x2f62b1db98a1173317d27d8ea06fc8c657b456b4c7c16b0c4955a06d70d9ee3a", "transactionType": "CALL", "contractName": "CTFExchange", - "contractAddress": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "function": "addOperator(address)", "arguments": [ "0x665057d2bDc8F83722435712a98747EE4A7B8aEb" ], "transaction": { "type": "0x02", - "from": "0x09b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "to": "0xfffd6f0db1ec30a58884b23546b4f1bb333f818f", - "gas": "0x110f1", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x10169", "value": "0x0", "data": "0x9870d7fe000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", "nonce": "0x2", @@ -66,17 +66,17 @@ "additionalContracts": [] }, { - "hash": "0xa035304622733ecdf80c9226c65241b683d839ffb278a25bd3ca1cdc2ab24ecb", + "hash": "0xde6e10751f2a3679109c25a571f210858da0812d6635e2702f61da15d5c5a71a", "transactionType": "CALL", "contractName": "CTFExchange", - "contractAddress": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "function": "renounceAdminRole()", "arguments": [], "transaction": { "type": "0x02", - "from": "0x09b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "to": "0xfffd6f0db1ec30a58884b23546b4f1bb333f818f", - "gas": "0x7d3c", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x7d00", "value": "0x0", "data": "0x83b8a5ae", "nonce": "0x3", @@ -85,17 +85,17 @@ "additionalContracts": [] }, { - "hash": "0x212ec4c121617c2cf0ce56ebca9bc28da53ebcb6f8c8cb6fb2e810fd8e7a4e26", + "hash": "0x0e0391adbe52ad44a30ee682c4cf270896190b02931b5c421ddc0aafbec0590a", "transactionType": "CALL", "contractName": "CTFExchange", - "contractAddress": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "function": "renounceOperatorRole()", "arguments": [], "transaction": { "type": "0x02", - "from": "0x09b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "to": "0xfffd6f0db1ec30a58884b23546b4f1bb333f818f", - "gas": "0x84d2", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x7d34", "value": "0x0", "data": "0x3d6d3598", "nonce": "0x4", @@ -106,27 +106,27 @@ ], "receipts": [ { - "transactionHash": "0xf7f61cb1ce8e09f9652e85c6ef1196f7225a40221a473d89c117108101f31b8e", + "transactionHash": "0x35423c49cb07c9ccecad9af20df52cccdeff0d46f833d438de8b02f2504aed22", "transactionIndex": "0x0", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "from": "0x09b39caAd32c6C3999aA3f9248C6dfb01f7806d4", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "from": "0x81fd0E5E7372ED171f421A7C33a4b263Ea9DCc25", "to": null, - "cumulativeGasUsed": "0x320586", - "gasUsed": "0x320586", - "contractAddress": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "cumulativeGasUsed": "0x3ba46a", + "gasUsed": "0x3ba46a", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "logs": [ { "address": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x000000000000000000000000fffd6f0db1ec30a58884b23546b4f1bb333f818f", + "0x0000000000000000000000004bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", "0x0000000000000000000000004d97dcd97ec945f40cf65f87097ace5ea0476045" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "transactionHash": "0xf7f61cb1ce8e09f9652e85c6ef1196f7225a40221a473d89c117108101f31b8e", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0x35423c49cb07c9ccecad9af20df52cccdeff0d46f833d438de8b02f2504aed22", "transactionIndex": "0x0", "logIndex": "0x0", "removed": false @@ -136,45 +136,45 @@ "topics": [ "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "0x000000000000000000000000ef46d5fe753c988606e6f703260d816af53b03eb" + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "0x000000000000000000000000f0245f6251bef9447a08766b9da2b07b28ad80b0" ], - "data": "0x00000000000000000000000000000000000000000000000009194fa71f0098320000000000000000000000000000000000000000000000004139c1192c5600000000000000000000000000000000000000000000000028b1c70d7fdb56bd10e1000000000000000000000000000000000000000000000000382071720d5567ce0000000000000000000000000000000000000000000028b1d026cf8275bda913", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "transactionHash": "0xf7f61cb1ce8e09f9652e85c6ef1196f7225a40221a473d89c117108101f31b8e", + "data": "0x0000000000000000000000000000000000000000000000000ad94eef487522340000000000000000000000000000000000000000000000003782dace9d9000000000000000000000000000000000000000000000000004a14098d113bc5dcc6d0000000000000000000000000000000000000000000000002ca98bdf551addcc0000000000000000000000000000000000000000000004a14b72200304d2eea1", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0x35423c49cb07c9ccecad9af20df52cccdeff0d46f833d438de8b02f2504aed22", "transactionIndex": "0x0", "logIndex": "0x1", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000040000000000000000000000004000000000008000008000000000000000000000600000000000000000000000000000000200800000000000000000000100000000000000000000000000000000008000000000000000000000000180000000000000000001000000000000000001000000000000000000000000000000000000000000220000000400000000000000000001000000000000000000000000200000004000000000000000000041000000000000000000000000000000100000000000000010008000000000000000000000000002000000000000000000000000100000", + "logsBloom": "0x00000000000000000000000000000000000000000000000400000000000000000000000000008000000000000000000000008000000000000000000080200000000080000000000000000000000200800000000000000000400100000000000000000000000000000000000000000000000000000000000180000000000000000001000000000000000000000000000000000000000000000000000000080000220000000400000008000000000001000000000000000000000000000000004000100000000000000001000000000000000000000000000000100000000000000010008000000000000000000000000000000000000001000000000000100000", "type": "0x2", "effectiveGasPrice": "0x2e90edd000" }, { - "transactionHash": "0x9084668eccf2c9fbf05d49323b5fd6de7a2578a01a7c817de9ac34d128d081ba", + "transactionHash": "0x8dedda12c2ee8a8893c436e726bb0112d542455e3db12bddb9a5cd097d8a6d16", "transactionIndex": "0x1", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "from": "0x09b39caAd32c6C3999aA3f9248C6dfb01f7806d4", - "to": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", - "cumulativeGasUsed": "0x32bfd8", - "gasUsed": "0xba52", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "from": "0x81fd0E5E7372ED171f421A7C33a4b263Ea9DCc25", + "to": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "cumulativeGasUsed": "0x3c5ebb", + "gasUsed": "0xba51", "contractAddress": null, "logs": [ { - "address": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "address": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "topics": [ "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc", "0x000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4" + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25" ], "data": "0x", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "transactionHash": "0x9084668eccf2c9fbf05d49323b5fd6de7a2578a01a7c817de9ac34d128d081ba", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0x8dedda12c2ee8a8893c436e726bb0112d542455e3db12bddb9a5cd097d8a6d16", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false @@ -184,45 +184,45 @@ "topics": [ "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "0x000000000000000000000000ef46d5fe753c988606e6f703260d816af53b03eb" + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "0x000000000000000000000000f0245f6251bef9447a08766b9da2b07b28ad80b0" ], - "data": "0x0000000000000000000000000000000000000000000000000021e437354329d6000000000000000000000000000000000000000000000000382071720acb20000000000000000000000000000000000000000000000028b1d026cf8275bda91300000000000000000000000000000000000000000000000037fe8d3ad587f62a0000000000000000000000000000000000000000000028b1d048b3b9ab00d2e9", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "transactionHash": "0x9084668eccf2c9fbf05d49323b5fd6de7a2578a01a7c817de9ac34d128d081ba", + "data": "0x0000000000000000000000000000000000000000000000000021e408a4549f920000000000000000000000000000000000000000000000002ca98bdf51d7e0000000000000000000000000000000000000000000000004a14b72200304d2eea10000000000000000000000000000000000000000000000002c87a7d6ad83406e0000000000000000000000000000000000000000000004a14b94040ba9278e33", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0x8dedda12c2ee8a8893c436e726bb0112d542455e3db12bddb9a5cd097d8a6d16", "transactionIndex": "0x1", "logIndex": "0x3", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000008000008000000000010000000000400000010000000000000000000000000000800000000000000000000100000000000000000080000000000000000000200000000000000000000080000000000000000000000000000000000000000001000000000000000000000000000000000000200000000000000000000000000000000000080000000000000000200000004000000000000028000041000000000000000000000000000000100000000000000000000000000000000000000000000102000000000000000000000000100000", + "logsBloom": "0x00000000000000000000000000000200000000000000000400000000000000000000000000008000000000000000000000008000000000002000000000000000010080004000000000000000000000800000000000000000000100000000000000000000000000000000000000200000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000080000200000000000000000000000000000000000080000000000000000000000004000100000000028000001000000000000000000000000000000100000000000000000000000000000000000000000000100000000000001000000000000100000", "type": "0x2", "effectiveGasPrice": "0x2e90edd000" }, { - "transactionHash": "0x022d727a4c8ecdaa9e0aee5e5ef1a6ade286ea48052db6a2d76d949f3122273d", + "transactionHash": "0x2f62b1db98a1173317d27d8ea06fc8c657b456b4c7c16b0c4955a06d70d9ee3a", "transactionIndex": "0x2", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "from": "0x09b39caAd32c6C3999aA3f9248C6dfb01f7806d4", - "to": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", - "cumulativeGasUsed": "0x337a79", - "gasUsed": "0xbaa1", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "from": "0x81fd0E5E7372ED171f421A7C33a4b263Ea9DCc25", + "to": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "cumulativeGasUsed": "0x3d1918", + "gasUsed": "0xba5d", "contractAddress": null, "logs": [ { - "address": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "address": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "topics": [ "0xf1e04d73c4304b5ff164f9d10c7473e2a1593b740674a6107975e2a7001c1e5c", "0x000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4" + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25" ], "data": "0x", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "transactionHash": "0x022d727a4c8ecdaa9e0aee5e5ef1a6ade286ea48052db6a2d76d949f3122273d", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0x2f62b1db98a1173317d27d8ea06fc8c657b456b4c7c16b0c4955a06d70d9ee3a", "transactionIndex": "0x2", "logIndex": "0x4", "removed": false @@ -232,45 +232,45 @@ "topics": [ "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "0x000000000000000000000000ef46d5fe753c988606e6f703260d816af53b03eb" + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "0x000000000000000000000000f0245f6251bef9447a08766b9da2b07b28ad80b0" ], - "data": "0x0000000000000000000000000000000000000000000000000021f295eea655d300000000000000000000000000000000000000000000000037fe8d3ad57e80000000000000000000000000000000000000000000000028b1d048b3b9ab00d2e900000000000000000000000000000000000000000000000037dc9aa4e6d82a2d0000000000000000000000000000000000000000000028b1d06aa64f99a728bc", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "transactionHash": "0x022d727a4c8ecdaa9e0aee5e5ef1a6ade286ea48052db6a2d76d949f3122273d", + "data": "0x0000000000000000000000000000000000000000000000000021e6376f7a5eea0000000000000000000000000000000000000000000000002c87a7d6ad7910000000000000000000000000000000000000000000000004a14b94040ba9278e330000000000000000000000000000000000000000000000002c65c19f3dfeb1160000000000000000000000000000000000000000000004a14bb5ea4318a1ed1d", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0x2f62b1db98a1173317d27d8ea06fc8c657b456b4c7c16b0c4955a06d70d9ee3a", "transactionIndex": "0x2", "logIndex": "0x5", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000008000008000000000010000000000400000010000000000000000000000000000800000000000000000000100000000000000000080000000000000000000000000000000000000000080000000000000000000000000000000000000000001000000000000000000000000000000002000200000000000000000100000000000000000000000000000000000200000004000000000000028000041000000000000000000000000000000100000000000000000000000000000000000000000000002800000000000000000000000100000", + "logsBloom": "0x00000000000000000000000000000200000000000000000400000000000000000000000000008000000000000000000000008000000000002000000000000000010080004000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000082000200000000000000000100000000000000000000000000000000000000000004000100000000028000001000000000000000000000000000000100000000000000000000000000000000000000000000000800000000001000000000000100000", "type": "0x2", "effectiveGasPrice": "0x2e90edd000" }, { - "transactionHash": "0xa035304622733ecdf80c9226c65241b683d839ffb278a25bd3ca1cdc2ab24ecb", + "transactionHash": "0xde6e10751f2a3679109c25a571f210858da0812d6635e2702f61da15d5c5a71a", "transactionIndex": "0x3", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "from": "0x09b39caAd32c6C3999aA3f9248C6dfb01f7806d4", - "to": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", - "cumulativeGasUsed": "0x33d525", - "gasUsed": "0x5aac", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "from": "0x81fd0E5E7372ED171f421A7C33a4b263Ea9DCc25", + "to": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "cumulativeGasUsed": "0x3d7398", + "gasUsed": "0x5a80", "contractAddress": null, "logs": [ { - "address": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "address": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "topics": [ "0x787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4" + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25" ], "data": "0x", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "transactionHash": "0xa035304622733ecdf80c9226c65241b683d839ffb278a25bd3ca1cdc2ab24ecb", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0xde6e10751f2a3679109c25a571f210858da0812d6635e2702f61da15d5c5a71a", "transactionIndex": "0x3", "logIndex": "0x6", "removed": false @@ -280,47 +280,47 @@ "topics": [ "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "0x000000000000000000000000ef46d5fe753c988606e6f703260d816af53b03eb" + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "0x000000000000000000000000f0245f6251bef9447a08766b9da2b07b28ad80b0" ], - "data": "0x00000000000000000000000000000000000000000000000000107e3cfae3254400000000000000000000000000000000000000000000000037dc9aa4e6ceb0000000000000000000000000000000000000000000000028b1d06aa64f99a728bc00000000000000000000000000000000000000000000000037cc1c67ebeb8abc0000000000000000000000000000000000000000000028b1d07b248c948a4e00", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "transactionHash": "0xa035304622733ecdf80c9226c65241b683d839ffb278a25bd3ca1cdc2ab24ecb", + "data": "0x0000000000000000000000000000000000000000000000000010763c12030d000000000000000000000000000000000000000000000000002c65c19f3df480000000000000000000000000000000000000000000000004a14bb5ea4318a1ed1d0000000000000000000000000000000000000000000000002c554b632bf173000000000000000000000000000000000000000000000004a14bc6607f2aa4fa1d", + "blockHash": "0x3f45f2bf7015fcfcb4d256eadc582456e037c5f5ebd7f2e86fc49bfa44f5202e", + "blockNumber": "0x200c71b", + "transactionHash": "0xde6e10751f2a3679109c25a571f210858da0812d6635e2702f61da15d5c5a71a", "transactionIndex": "0x3", "logIndex": "0x7", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000002000000000000000000000000040000000000000000000000000000000000008000008000000000010000000000400000000000000000000000000000000000800000000000000000000100000000000000020080000000000000000000000000000000000000002080000000000000000000000000000000000000000001000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000200000004000000000000000000041000000000000000000000000000000100000000000000000000000000000000000000000000002000000000000000000000000100000", + "logsBloom": "0x00000000000000000000000000000202000000000000000400000000000000000000000000008000000000000000000000008000000000002000000000000000000080004000000000000000000000800000000000000000000100000000000000020000000000000000000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000000000000000080000200000000000000000000000000000000000000000000000000000000000004000100000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000001000000000000100000", "type": "0x2", "effectiveGasPrice": "0x2e90edd000" }, { - "transactionHash": "0x212ec4c121617c2cf0ce56ebca9bc28da53ebcb6f8c8cb6fb2e810fd8e7a4e26", - "transactionIndex": "0x4", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "from": "0x09b39caAd32c6C3999aA3f9248C6dfb01f7806d4", - "to": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", - "cumulativeGasUsed": "0x342ff7", - "gasUsed": "0x5ad2", + "transactionHash": "0x0e0391adbe52ad44a30ee682c4cf270896190b02931b5c421ddc0aafbec0590a", + "transactionIndex": "0x0", + "blockHash": "0x08cdad299d4e2e31c3e1666a4a767c93e414c923af9f10796781e486f44db6d5", + "blockNumber": "0x200c71c", + "from": "0x81fd0E5E7372ED171f421A7C33a4b263Ea9DCc25", + "to": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "cumulativeGasUsed": "0x5aa6", + "gasUsed": "0x5aa6", "contractAddress": null, "logs": [ { - "address": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "address": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "topics": [ "0xf7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4" + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25" ], "data": "0x", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "transactionHash": "0x212ec4c121617c2cf0ce56ebca9bc28da53ebcb6f8c8cb6fb2e810fd8e7a4e26", - "transactionIndex": "0x4", - "logIndex": "0x8", + "blockHash": "0x08cdad299d4e2e31c3e1666a4a767c93e414c923af9f10796781e486f44db6d5", + "blockNumber": "0x200c71c", + "transactionHash": "0x0e0391adbe52ad44a30ee682c4cf270896190b02931b5c421ddc0aafbec0590a", + "transactionIndex": "0x0", + "logIndex": "0x0", "removed": false }, { @@ -328,20 +328,20 @@ "topics": [ "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "0x000000000000000000000000ef46d5fe753c988606e6f703260d816af53b03eb" + "0x00000000000000000000000081fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "0x000000000000000000000000f0245f6251bef9447a08766b9da2b07b28ad80b0" ], - "data": "0x000000000000000000000000000000000000000000000000001085267e30035600000000000000000000000000000000000000000000000037cc1c67ebe6f0000000000000000000000000000000000000000000000028b1d07b248c948a4e0000000000000000000000000000000000000000000000000037bb97416db6ecaa0000000000000000000000000000000000000000000028b1d08ba9b312ba5156", - "blockHash": "0x174f5a07ba31e49438fa23b48c2b1181fab0003a63ff6907eed7a4108f576614", - "blockNumber": "0x1fed106", - "transactionHash": "0x212ec4c121617c2cf0ce56ebca9bc28da53ebcb6f8c8cb6fb2e810fd8e7a4e26", - "transactionIndex": "0x4", - "logIndex": "0x9", + "data": "0x00000000000000000000000000000000000000000000000000107d25954feaec0000000000000000000000000000000000000000000000002c554b632bec80000000000000000000000000000000000000000000000004a1515a28ffe513dacd0000000000000000000000000000000000000000000000002c44ce3d969c95140000000000000000000000000000000000000000000004a1516aa6257a63c5b9", + "blockHash": "0x08cdad299d4e2e31c3e1666a4a767c93e414c923af9f10796781e486f44db6d5", + "blockNumber": "0x200c71c", + "transactionHash": "0x0e0391adbe52ad44a30ee682c4cf270896190b02931b5c421ddc0aafbec0590a", + "transactionIndex": "0x0", + "logIndex": "0x1", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000008000008000000000010000000000400000000000000000000000000000000000800000000000000000000100000000000000000080000000000000100000000000000000000000000080000000000000000000000000000000000000000001000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000200000004004000000000000800041000000000000000000000000000000100000000000000000000000000000000000000000000002000000000000000000000000100000", + "logsBloom": "0x00000000000000000000000000000200000000000000000400000000000000000000000000008000000000000000000000008000000000002000000000000000000080004000000000000000000000800000000000000000000100000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000080000200000000000000000000000000000000000000000000000000000000000004004100000000000800001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000001000000000000100000", "type": "0x2", "effectiveGasPrice": "0x2e90edd000" } @@ -352,9 +352,9 @@ "returns": { "exchange": { "internal_type": "address", - "value": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f" + "value": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E" } }, - "timestamp": 1663958977, - "commit": "ec7c23f" + "timestamp": 1664228343, + "commit": "af3ba7f" } \ No newline at end of file diff --git a/broadcast/ExchangeDeployment.s.sol/80001/deployExchange-1664228099.json b/broadcast/ExchangeDeployment.s.sol/80001/deployExchange-1664228099.json new file mode 100644 index 0000000..fc9d24d --- /dev/null +++ b/broadcast/ExchangeDeployment.s.sol/80001/deployExchange-1664228099.json @@ -0,0 +1,119 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": null, + "arguments": [ + "0x2E8DCfE708D44ae2e406a1c02DFE2Fa13012f961", + "0x7D8610E9567d2a6C9FBf66a5A13E9Ba8bb120d43", + "0xaB45c5A4B0c941a2F231C04C3f49182e1A254052", + "0xaacFeEa03eb1561C4e67d661e40682Bd20E3541b" + ], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "gas": "0x4d4c99", + "value": "0x0", + "data": "0x6101a060405260016000556003805460ff191690553480156200002157600080fd5b506040516200473f3803806200473f8339810160408190526200004491620002d6565b604080518082018252601781527f506f6c796d61726b6574204354462045786368616e67650000000000000000006020808301918252835180850185526001808252603160f81b82840190815233600090815282855287812083905560028552879020919091558451909320815190932060e08490526101008190524660a081815287517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818a0188905260608201859052608082019390935230818301528851808203909201825260c0019097528651969093019590952087958795879587959194938d938d9387938793909291906080523060c05261012052505050506001600160a01b0382811661014081905290821661016081905260405163095ea7b360e01b81526004810191909152600019602482015263095ea7b3906044016020604051808303816000875af1158015620001a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cf919062000333565b50620001dd91505062000265565b610180525050600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055506200035e945050505050565b6040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b600060c0516001600160a01b0316306001600160a01b03161480156200028c575060a05146145b1562000299575060805190565b620002b46101205160e051610100516200021c60201b60201c565b905090565b80516001600160a01b0381168114620002d157600080fd5b919050565b60008060008060808587031215620002ed57600080fd5b620002f885620002b9565b93506200030860208601620002b9565b92506200031860408601620002b9565b91506200032860608601620002b9565b905092959194509250565b6000602082840312156200034657600080fd5b815180151581146200035757600080fd5b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516143386200040760003960006108970152600081816104c801528181612698015281816129450152818161355201526136820152600081816105eb015281816125e3015281816128ed0152818161358e01526136be01526000612258015260006122a701526000612282015260006121db015260006122050152600061222f01526143386000f3fe608060405234801561001057600080fd5b50600436106103365760003560e01c806370480275116101b2578063d798eff6116100f9578063e60f0c05116100a2578063f698da251161007c578063f698da2514610892578063fa950b48146108b9578063fbddd751146108cc578063fe729aaf146108df57600080fd5b8063e60f0c0514610834578063edef7d8e14610847578063f23a6e611461085a57600080fd5b8063e03ac3d0116100d3578063e03ac3d014610806578063e2eec4051461080e578063e50e4f971461082157600080fd5b8063d798eff6146107bd578063d7fb272f146107d0578063d82da838146107f357600080fd5b8063a287bdf11161015b578063b28c51c011610135578063b28c51c01461073b578063bc197c8114610759578063c10f1a751461079d57600080fd5b8063a287bdf114610702578063a6dfcf8614610715578063ac8a584a1461072857600080fd5b806383b8a5ae1161018c57806383b8a5ae146106d45780639870d7fe146106dc578063a10f3dce146106ef57600080fd5b8063704802751461068357806375d7370a146106965780637ecebe00146106b457600080fd5b8063429b62e5116102815780635893253c1161022a578063627cdcb911610204578063627cdcb91461061c578063654f0ce41461062457806368c7450f146106375780636d70f7ae1461064a57600080fd5b80635893253c146105ad5780635c1548fb146105e95780635c975abb1461060f57600080fd5b8063456068d21161025b578063456068d21461052f57806346423aa7146105375780634a2a11f5146105a557600080fd5b8063429b62e5146104f457806344bea37e146105145780634544f0551461051c57600080fd5b80631785f53c116102e357806334600901116102bd57806334600901146104b35780633b521d78146104c65780633d6d3598146104ec57600080fd5b80631785f53c1461042257806324d7806c146104355780632dff692d1461046f57600080fd5b80631031e36e116103145780631031e36e146103ca578063131e7e1c146103d457806313e7c9d8146103f457600080fd5b806301ffc9a71461033b5780630647ee201461036357806306b9d6911461039d575b600080fd5b61034e6103493660046136e2565b6108f2565b60405190151581526020015b60405180910390f35b61034e610371366004613756565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152600460205260409020541490565b6103a561098b565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161035a565b6103d2610a24565b005b6007546103a59073ffffffffffffffffffffffffffffffffffffffff1681565b610414610402366004613782565b60026020526000908152604090205481565b60405190815260200161035a565b6103d2610430366004613782565b610a78565b61034e610443366004613782565b73ffffffffffffffffffffffffffffffffffffffff166000908152600160208190526040909120541490565b61049c61047d36600461379f565b6008602052600090815260409020805460019091015460ff9091169082565b60408051921515835260208301919091520161035a565b6103d26104c136600461379f565b610b15565b7f00000000000000000000000000000000000000000000000000000000000000006103a5565b6103d2610b5f565b610414610502366004613782565b60016020526000908152604090205481565b610414600081565b6103d261052a366004613782565b610be3565b6103d2610c36565b61058861054536600461379f565b6040805180820190915260008082526020820152506000908152600860209081526040918290208251808401909352805460ff1615158352600101549082015290565b60408051825115158152602092830151928101929092520161035a565b6103e8610414565b6105d46105bb36600461379f565b6005602052600090815260409020805460019091015482565b6040805192835260208301919091520161035a565b7f00000000000000000000000000000000000000000000000000000000000000006103a5565b60035461034e9060ff1681565b6103d2610c88565b6103d26106323660046139f8565b610c92565b6103d2610645366004613a2d565b610cad565b61034e610658366004613782565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205460011490565b6103d2610691366004613782565b610d07565b60075473ffffffffffffffffffffffffffffffffffffffff166103a5565b6104146106c2366004613782565b60046020526000908152604090205481565b6103d2610da7565b6103d26106ea366004613782565b610e2c565b6104146106fd36600461379f565b610eca565b6103a5610710366004613782565b610ee8565b6103d26107233660046139f8565b610f14565b6103d2610736366004613782565b610f1d565b60065473ffffffffffffffffffffffffffffffffffffffff166103a5565b61076c610767366004613ae8565b610fba565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161035a565b6006546103a59073ffffffffffffffffffffffffffffffffffffffff1681565b6103d26107cb366004613c16565b610fe5565b6104146107de36600461379f565b60009081526005602052604090206001015490565b6103d2610801366004613c7a565b6110f5565b6103a5611136565b6103d261081c366004613c9c565b6111a6565b61041461082f3660046139f8565b6111fb565b6103d2610842366004613cd9565b611298565b6103a5610855366004613782565b6113a6565b61076c610868366004613d6b565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b6104147f000000000000000000000000000000000000000000000000000000000000000081565b6103d26108c7366004613dd4565b6113d2565b6103d26108da366004613782565b611409565b6103d26108ed366004613e09565b61145c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000148061098557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600654604080517faaf10f42000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163aaf10f429160048083019260209291908290030181865afa1580156109fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1f9190613e4e565b905090565b3360009081526001602081905260409091205414610a6e576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a7661155e565b565b3360009081526001602081905260409091205414610ac2576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020526040808220829055513392917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a350565b6000818152600560205260408120549003610b5c576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b33600090815260026020526040902054600114610ba8576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600260205260408082208290555182917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a3565b3360009081526001602081905260409091205414610c2d576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5c816115b6565b3360009081526001602081905260409091205414610c80576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a76611644565b610a766001611699565b6000610c9d826111fb565b9050610ca981836116c7565b5050565b3360009081526001602081905260409091205414610cf7576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d02838383611826565b505050565b3360009081526001602081905260409091205414610d51576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832091909155513392917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc91a350565b3360009081526001602081905260409091205414610df1576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600160205260408082208290555182917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a3565b3360009081526001602081905260409091205414610e76576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822060019055513392917ff1e04d73c4304b5ff164f9d10c7473e2a1593b740674a6107975e2a7001c1e5c91a350565b6000610ed582610b15565b5060009081526005602052604090205490565b600061098582610ef6611136565b60075473ffffffffffffffffffffffffffffffffffffffff16611982565b610b5c81611a80565b3360009081526001602081905260409091205414610f67576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260026020526040808220829055513392917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a350565b7fbc197c81000000000000000000000000000000000000000000000000000000005b95945050505050565b600054600203611056576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e43590000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6002600081815533815260209190915260409020546001146110a4576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff16156110e1576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110ec828233611b85565b50506001600055565b806110ff83610eca565b14610ca9576040517f66f8620a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600754604080517fa619486e000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163a619486e9160048083019260209291908290030181865afa1580156109fb573d6000803e3d6000fd5b6111c58160400151826020015184846101800151856101600151611bde565b610ca9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109857fa852566c4e14d00869b6db0220888a9090a13eccdaea03713ff0a3d27bf9767c836000015184602001518560400151866060015187608001518860a001518960c001518a60e001518b61010001518c61012001518d61014001518e610160015160405160200161127d9d9c9b9a99989796959493929190613eae565b60405160208183030381529060405280519060200120611c3c565b600054600203611304576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e435900000000000000000000000000000000000000000000604482015260640161104d565b600260008181553381526020919091526040902054600114611352576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff161561138f576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61139b84848484611ca5565b505060016000555050565b6000610985826113b461098b565b60065473ffffffffffffffffffffffffffffffffffffffff16611e5c565b805160005b81811015610d02576114018382815181106113f4576113f4613f4c565b6020026020010151611a80565b6001016113d7565b3360009081526001602081905260409091205414611453576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5c81611ebe565b6000546002036114c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e435900000000000000000000000000000000000000000000604482015260640161104d565b600260008181553381526020919091526040902054600114611516576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff1615611553576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110ec828233611f4c565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560405133907f203c4bd3e526634f661575359ff30de3b0edaba6c2cb1eac60f730b6d2d9d53690600090a2565b60075460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f9726d7faf7429d6b059560dc858ed769377ccdf8b7541eabe12b22548719831f90600090a3600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905560405133907fa1e8a54850dbd7f520bcc09f47bff152294b77b2081da545a7adf531b7ea283b90600090a2565b336000908152600460205260409020546116b4908290613faa565b3360009081526004602052604090205550565b60008160e001511180156116de5750428160e00151105b15611715576040517fc56873ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61171f82826111a6565b6103e88161012001511115611760576040517fcd4e616700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61176d8160800151610b15565b60008281526008602052604090205460ff16156117b6576040517f7b38b76e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117f0816020015182610100015173ffffffffffffffffffffffffffffffffffffffff919091166000908152600460205260409020541490565b610ca9576040517f756688fe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8183148061183a575082158061183a575081155b15611871576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526005602052604090205415158061189a575060008281526005602052604090205415155b156118d1576040517f3a81d6fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820182528381526020808201848152600087815260058084528582209451855591516001948501558451808601865288815280840187815288835292909352848120925183559051919092015590518291849186917fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d91a48083837fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d60405160405180910390a4505050565b60008061198e8461205a565b8051906020012090506000856040516020016119c6919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815282825280516020918201207fff000000000000000000000000000000000000000000000000000000000000008285015260609790971b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166021840152603583019690965260558083019490945280518083039094018452607590910190525080519201919091209392505050565b602081015173ffffffffffffffffffffffffffffffffffffffff163314611ad3576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611ade826111fb565b600081815260086020526040902080549192509060ff1615611b2c576040517f7b38b76e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405182907f5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d90600090a2505050565b825160005b81811015611bd757611bcf858281518110611ba757611ba7613f4c565b6020026020010151858381518110611bc157611bc1613f4c565b602002602001015185611f4c565b600101611b8a565b5050505050565b600080826002811115611bf357611bf3613e6b565b03611c0b57611c04868686866120eb565b9050610fdc565b6002826002811115611c1f57611c1f613e6b565b03611c3057611c0486868686612139565b611c048686868661218d565b6000610985611c496121c1565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b81600080611cb387846122f5565b91509150600080611cc389612342565b91509150611cd78960200151308488612379565b611ce28989886123a3565b611cec84826123f5565b6101208a0151909450600090611d2e90828c61014001516001811115611d1457611d14613e6b565b14611d1f5787611d21565b865b88888e610140015161243d565b9050611d4b308b60200151848489611d469190613fc2565b612379565b611d573033848461252d565b6000611d6284612596565b90508015611d7a57611d7a308c602001518684612379565b60208b8101516040805187815292830186905282018990526060820188905260808201849052309173ffffffffffffffffffffffffffffffffffffffff9091169087907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a46020808c01516040805187815292830186905282018990526060820188905273ffffffffffffffffffffffffffffffffffffffff169086907f63bf4d16b7fa898ef4c4b2b6d90fd201e9c56313b65638af6088d149d2ce956c9060800160405180910390a35050505050505050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166020820152600090611eb49083908590603401604051602081830303815290604052805190602001206126c6565b90505b9392505050565b60065460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3053c6252a932554235c173caffc1913604dba3a41cee89516f631c4a1a50a3790600090a3600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b81600080611f5a86846122f5565b6101208801519193509150600090611fa790825b8961014001516001811115611f8557611f85613e6b565b14611f905785611f92565b845b8960a001518a60c001518b610140015161243d565b9050600080611fb589612342565b91509150611fcf338a60200151838689611d469190613fc2565b611fdf8960200151888489612379565b6020898101516040805185815292830184905282018890526060820187905260808201859052339173ffffffffffffffffffffffffffffffffffffffff9091169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a4505050505050505050565b6060604051806101a00160405280610171815260200161419261017191396040805173ffffffffffffffffffffffffffffffffffffffff8516602082015201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526120d59291602001614005565b6040516020818303038152906040529050919050565b60008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561212e575061212e858484612763565b90505b949350505050565b6000612146858484612763565b801561212e57508373ffffffffffffffffffffffffffffffffffffffff1661216d86610ee8565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b600061219a858484612763565b801561212e57508373ffffffffffffffffffffffffffffffffffffffff1661216d866113a6565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561222757507f000000000000000000000000000000000000000000000000000000000000000046145b1561225157507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b60008061230584606001516127a5565b61230e846111fb565b905061231a81856116c7565b61232d838560a001518660c00151612817565b915061233a81858561283e565b509250929050565b60008080836101400151600181111561235d5761235d613e6b565b0361236d57505060800151600091565b50506080015190600090565b816000036123915761238c8484836128eb565b61239d565b61239d84848484612940565b50505050565b815160005b81811015611bd7576123ed858583815181106123c6576123c6613f4c565b60200260200101518584815181106123e0576123e0613f4c565b602002602001015161296d565b6001016123a8565b60008061240183612596565b905083811015611eb7576040517fdf4d808000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008515610fdc576000612452858585612a52565b905060008111801561246c5750670de0b6b3a76400008111155b1561252357600083600181111561248557612485613e6b565b036124d75761249661271082614034565b866124b2836124ad81670de0b6b3a7640000613fc2565b612ac1565b6124bc908a614034565b6124c69190614034565b6124d09190614071565b9150612523565b6124eb670de0b6b3a7640000612710614034565b86612502836124ad81670de0b6b3a7640000613fc2565b61250c908a614034565b6125169190614034565b6125209190614071565b91505b5095945050505050565b801561239d5761253f84848484612379565b604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff8516917facffcc86834d0f1a64b0d5a675798deed6ff0bcfc2231edd3480e7288dba7ff4910160405180910390a250505050565b60008160000361264f576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561262b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098591906140ac565b6040517efdd58e0000000000000000000000000000000000000000000000000000000081523060048201526024810183905273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e9060440161260e565b6000806126d38585612ad7565b8051602091820120604080517fff000000000000000000000000000000000000000000000000000000000000008185015260609890981b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166021890152603588019590955260558088019190915284518088039091018152607590960190935250508251920191909120919050565b60008373ffffffffffffffffffffffffffffffffffffffff166127868484612c5a565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116158015906127e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610b5c576040517f5211a07900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008260000361282957506000611eb7565b826128348386614034565b611eb49190614071565b6000838152600860205260409020600181015490811561285e5781612864565b8360a001515b9150818311156128a0576040517fe2cc6ad600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128aa8383613fc2565b9150816000036128de5780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011781555b6001018190559392505050565b7f00000000000000000000000000000000000000000000000000000000000000003073ffffffffffffffffffffffffffffffffffffffff8516036129345761238c818484612c7e565b61239d81858585612c89565b61239d7f000000000000000000000000000000000000000000000000000000000000000085858585612c95565b60006129798484612d41565b9050612986848483612ddd565b8160008061299486846122f5565b61012088015191935091506000906129ac9082611f6e565b90506000806129ba89612342565b915091506129d186868b6020015185858c89612e89565b6020808b01518a820151604080518681529384018590528301899052606083018890526080830186905273ffffffffffffffffffffffffffffffffffffffff9182169291169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a450505050505050505050565b600080826001811115612a6757612a67613e6b565b03612a9f5782600003612a7b576000612a98565b82612a8e670de0b6b3a764000086614034565b612a989190614071565b9050611eb7565b83600003612aae576000611eb4565b83612834670de0b6b3a764000085614034565b6000818310612ad05781611eb7565b5090919050565b6040805160008082526020820190925260609190612af890604481016140c5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f52e831dd000000000000000000000000000000000000000000000000000000001790528151606380825260a082019093529293506000929190820181803683370190505090507f3d3d606380380380913d393d73bebebebebebebebebebebebebebebebebebebe60208201526c010000000000000000000000008502602d8201527f5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73be60418201526c01000000000000000000000000840260608201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060748201528082604051602001612c41929190614005565b6040516020818303038152906040529250505092915050565b6000806000612c698585612f09565b91509150612c7681612f4e565b509392505050565b610d02838383613101565b61239d848484846131ba565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015286169063f242432a9060c401600060405180830381600087803b158015612d2257600080fd5b505af1158015612d36573d6000803e3d6000fd5b505050505050505050565b6000808361014001516001811115612d5b57612d5b613e6b565b148015612d7e575060008261014001516001811115612d7c57612d7c613e6b565b145b15612d8b57506001610985565b60018361014001516001811115612da457612da4613e6b565b148015612dc7575060018261014001516001811115612dc557612dc5613e6b565b145b15612dd457506002610985565b50600092915050565b612de78383613279565b612e1d576040517f7f9a6f4600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816002811115612e3157612e31613e6b565b03612e77578160800151836080015114610d02576040517fa0b9446500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d02836080015183608001516110f5565b612e958530868a612379565b612ea287878686866132c3565b85612eac84612596565b1015612ee4576040517fdf4d808000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ef4308685611d46858b613fc2565b612f003033858461252d565b50505050505050565b6000808251604103612f3f5760208301516040840151606085015160001a612f338782858561334b565b94509450505050612f47565b506000905060025b9250929050565b6000816004811115612f6257612f62613e6b565b03612f6a5750565b6001816004811115612f7e57612f7e613e6b565b03612fe5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161104d565b6002816004811115612ff957612ff9613e6b565b03613060576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161104d565b600381600481111561307457613074613e6b565b03610b5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161104d565b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d116001600051141617169150508061239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c45440000000000000000000000000000000000604482015260640161104d565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d1160016000511416171691505080611bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c4544000000000000000000000000604482015260640161104d565b60008260c0015160001480613290575060c0820151155b1561329d57506001610985565b611eb76132a98461343a565b6132b28461343a565b856101400151856101400151613454565b60008160028111156132d7576132d7613e6b565b14611bd75760018160028111156132f0576132f0613e6b565b036133165760008281526005602052604090206001015461331190856134ee565b611bd7565b600281600281111561332a5761332a613e6b565b03611bd757600083815260056020526040902060010154613311908661361e565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156133825750600090506003613431565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156133d6573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661342a57600060019250925050613431565b9150600090505b94509492505050565b60006109858260a001518360c00151846101400151612a52565b60008083600181111561346957613469613e6b565b036134ad57600082600181111561348257613482613e6b565b036134a357670de0b6b3a764000061349a8587613faa565b10159050612131565b5082841015612131565b60008260018111156134c1576134c1613e6b565b036134d0575083831015612131565b670de0b6b3a76400006134e38587613faa565b111595945050505050565b60408051600280825260608201835260009260208301908036833701905050905060018160008151811061352457613524613f4c565b60200260200101818152505060028160018151811061354557613545613f4c565b60209081029190910101527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166372ce42757f00000000000000000000000000000000000000000000000000000000000000005b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526135f09190600090889087908990600401614116565b600060405180830381600087803b15801561360a57600080fd5b505af1158015612f00573d6000803e3d6000fd5b60408051600280825260608201835260009260208301908036833701905050905060018160008151811061365457613654613f4c565b60200260200101818152505060028160018151811061367557613675613f4c565b60209081029190910101527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639e7212ad7f00000000000000000000000000000000000000000000000000000000000000006135ae565b6000602082840312156136f457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611eb757600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610b5c57600080fd5b803561375181613724565b919050565b6000806040838503121561376957600080fd5b823561377481613724565b946020939093013593505050565b60006020828403121561379457600080fd5b8135611eb781613724565b6000602082840312156137b157600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101a0810167ffffffffffffffff8111828210171561380b5761380b6137b8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613858576138586137b8565b604052919050565b80356002811061375157600080fd5b80356003811061375157600080fd5b600082601f83011261388f57600080fd5b813567ffffffffffffffff8111156138a9576138a96137b8565b6138da60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613811565b8181528460208386010111156138ef57600080fd5b816020850160208301376000918101602001919091529392505050565b60006101a0828403121561391f57600080fd5b6139276137e7565b90508135815261393960208301613746565b602082015261394a60408301613746565b604082015261395b60608301613746565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101406139ae818401613860565b908201526101606139c083820161386f565b908201526101808281013567ffffffffffffffff8111156139e057600080fd5b6139ec8582860161387e565b82840152505092915050565b600060208284031215613a0a57600080fd5b813567ffffffffffffffff811115613a2157600080fd5b6121318482850161390c565b600080600060608486031215613a4257600080fd5b505081359360208301359350604090920135919050565b600067ffffffffffffffff821115613a7357613a736137b8565b5060051b60200190565b600082601f830112613a8e57600080fd5b81356020613aa3613a9e83613a59565b613811565b82815260059290921b84018101918181019086841115613ac257600080fd5b8286015b84811015613add5780358352918301918301613ac6565b509695505050505050565b600080600080600060a08688031215613b0057600080fd5b8535613b0b81613724565b94506020860135613b1b81613724565b9350604086013567ffffffffffffffff80821115613b3857600080fd5b613b4489838a01613a7d565b94506060880135915080821115613b5a57600080fd5b613b6689838a01613a7d565b93506080880135915080821115613b7c57600080fd5b50613b898882890161387e565b9150509295509295909350565b600082601f830112613ba757600080fd5b81356020613bb7613a9e83613a59565b82815260059290921b84018101918181019086841115613bd657600080fd5b8286015b84811015613add57803567ffffffffffffffff811115613bfa5760008081fd5b613c088986838b010161390c565b845250918301918301613bda565b60008060408385031215613c2957600080fd5b823567ffffffffffffffff80821115613c4157600080fd5b613c4d86838701613b96565b93506020850135915080821115613c6357600080fd5b50613c7085828601613a7d565b9150509250929050565b60008060408385031215613c8d57600080fd5b50508035926020909101359150565b60008060408385031215613caf57600080fd5b82359150602083013567ffffffffffffffff811115613ccd57600080fd5b613c708582860161390c565b60008060008060808587031215613cef57600080fd5b843567ffffffffffffffff80821115613d0757600080fd5b613d138883890161390c565b95506020870135915080821115613d2957600080fd5b613d3588838901613b96565b9450604087013593506060870135915080821115613d5257600080fd5b50613d5f87828801613a7d565b91505092959194509250565b600080600080600060a08688031215613d8357600080fd5b8535613d8e81613724565b94506020860135613d9e81613724565b93506040860135925060608601359150608086013567ffffffffffffffff811115613dc857600080fd5b613b898882890161387e565b600060208284031215613de657600080fd5b813567ffffffffffffffff811115613dfd57600080fd5b61213184828501613b96565b60008060408385031215613e1c57600080fd5b823567ffffffffffffffff811115613e3357600080fd5b613e3f8582860161390c565b95602094909401359450505050565b600060208284031215613e6057600080fd5b8151611eb781613724565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110613eaa57613eaa613e6b565b9052565b60006101a0820190508e82528d602083015273ffffffffffffffffffffffffffffffffffffffff808e166040840152808d166060840152808c166080840152508960a08301528860c08301528760e083015286610100830152856101208301528461014083015260028410613f2557613f25613e6b565b83610160830152613f3a610180830184613e9a565b9e9d5050505050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115613fbd57613fbd613f7b565b500190565b600082821015613fd457613fd4613f7b565b500390565b60005b83811015613ff4578181015183820152602001613fdc565b8381111561239d5750506000910152565b60008351614017818460208801613fd9565b83519083019061402b818360208801613fd9565b01949350505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561406c5761406c613f7b565b500290565b6000826140a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000602082840312156140be57600080fd5b5051919050565b60208152600082518060208401526140e4816040850160208701613fd9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060a0820173ffffffffffffffffffffffffffffffffffffffff881683526020878185015286604085015260a0606085015281865180845260c086019150828801935060005b818110156141795784518352938301939183019160010161415d565b5050809350505050826080830152969550505050505056fe608060405234801561001057600080fd5b5060405161017138038061017183398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e7565b6000602082840312156100ca578081fd5b81516001600160a01b03811681146100e0578182fd5b9392505050565b607c806100f56000396000f3fe6080604052600080546001600160a01b0316813563530ca43760e11b1415602857808252602082f35b3682833781823684845af490503d82833e806041573d82fd5b503d81f3fea264697066735822122015938e3bf2c49f5df5c1b7f9569fa85cc5d6f3074bb258a2dc0c7e299bc9e33664736f6c63430008040033a264697066735822122056df26e165b5957191bd0ff149c07ae13f5a6b4252973fb3c07a4653cce0f3b164736f6c634300080f00330000000000000000000000002e8dcfe708d44ae2e406a1c02dfe2fa13012f9610000000000000000000000007d8610e9567d2a6c9fbf66a5a13e9ba8bb120d43000000000000000000000000ab45c5a4b0c941a2f231c04c3f49182e1a254052000000000000000000000000aacfeea03eb1561c4e67d661e40682bd20e3541b", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "addAdmin(address)", + "arguments": [ + "0x665057d2bDc8F83722435712a98747EE4A7B8aEb" + ], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x1107c", + "value": "0x0", + "data": "0x70480275000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "addOperator(address)", + "arguments": [ + "0x665057d2bDc8F83722435712a98747EE4A7B8aEb" + ], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x10169", + "value": "0x0", + "data": "0x9870d7fe000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "renounceAdminRole()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x7d00", + "value": "0x0", + "data": "0x83b8a5ae", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "renounceOperatorRole()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x7d34", + "value": "0x0", + "data": "0x3d6d3598", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [] + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "path": "/home/jonathan/WorkSpace/polymarket/ctf-exchange/broadcast/ExchangeDeployment.s.sol/80001/deployExchange-latest.json", + "returns": { + "exchange": { + "internal_type": "address", + "value": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E" + } + }, + "timestamp": 1664228099, + "commit": "af3ba7f" +} \ No newline at end of file diff --git a/broadcast/ExchangeDeployment.s.sol/80001/deployExchange-1664228139.json b/broadcast/ExchangeDeployment.s.sol/80001/deployExchange-1664228139.json new file mode 100644 index 0000000..f20aeba --- /dev/null +++ b/broadcast/ExchangeDeployment.s.sol/80001/deployExchange-1664228139.json @@ -0,0 +1,121 @@ +{ + "transactions": [ + { + "hash": "0x4cf5ff4362abb630398f45b0ed26787e7b2524c53c4cc006641764f5f8267609", + "transactionType": "CREATE", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": null, + "arguments": [ + "0x2E8DCfE708D44ae2e406a1c02DFE2Fa13012f961", + "0x7D8610E9567d2a6C9FBf66a5A13E9Ba8bb120d43", + "0xaB45c5A4B0c941a2F231C04C3f49182e1A254052", + "0xaacFeEa03eb1561C4e67d661e40682Bd20E3541b" + ], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "gas": "0x4d4c99", + "value": "0x0", + "data": "0x6101a060405260016000556003805460ff191690553480156200002157600080fd5b506040516200473f3803806200473f8339810160408190526200004491620002d6565b604080518082018252601781527f506f6c796d61726b6574204354462045786368616e67650000000000000000006020808301918252835180850185526001808252603160f81b82840190815233600090815282855287812083905560028552879020919091558451909320815190932060e08490526101008190524660a081815287517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818a0188905260608201859052608082019390935230818301528851808203909201825260c0019097528651969093019590952087958795879587959194938d938d9387938793909291906080523060c05261012052505050506001600160a01b0382811661014081905290821661016081905260405163095ea7b360e01b81526004810191909152600019602482015263095ea7b3906044016020604051808303816000875af1158015620001a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cf919062000333565b50620001dd91505062000265565b610180525050600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055506200035e945050505050565b6040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b600060c0516001600160a01b0316306001600160a01b03161480156200028c575060a05146145b1562000299575060805190565b620002b46101205160e051610100516200021c60201b60201c565b905090565b80516001600160a01b0381168114620002d157600080fd5b919050565b60008060008060808587031215620002ed57600080fd5b620002f885620002b9565b93506200030860208601620002b9565b92506200031860408601620002b9565b91506200032860608601620002b9565b905092959194509250565b6000602082840312156200034657600080fd5b815180151581146200035757600080fd5b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516143386200040760003960006108970152600081816104c801528181612698015281816129450152818161355201526136820152600081816105eb015281816125e3015281816128ed0152818161358e01526136be01526000612258015260006122a701526000612282015260006121db015260006122050152600061222f01526143386000f3fe608060405234801561001057600080fd5b50600436106103365760003560e01c806370480275116101b2578063d798eff6116100f9578063e60f0c05116100a2578063f698da251161007c578063f698da2514610892578063fa950b48146108b9578063fbddd751146108cc578063fe729aaf146108df57600080fd5b8063e60f0c0514610834578063edef7d8e14610847578063f23a6e611461085a57600080fd5b8063e03ac3d0116100d3578063e03ac3d014610806578063e2eec4051461080e578063e50e4f971461082157600080fd5b8063d798eff6146107bd578063d7fb272f146107d0578063d82da838146107f357600080fd5b8063a287bdf11161015b578063b28c51c011610135578063b28c51c01461073b578063bc197c8114610759578063c10f1a751461079d57600080fd5b8063a287bdf114610702578063a6dfcf8614610715578063ac8a584a1461072857600080fd5b806383b8a5ae1161018c57806383b8a5ae146106d45780639870d7fe146106dc578063a10f3dce146106ef57600080fd5b8063704802751461068357806375d7370a146106965780637ecebe00146106b457600080fd5b8063429b62e5116102815780635893253c1161022a578063627cdcb911610204578063627cdcb91461061c578063654f0ce41461062457806368c7450f146106375780636d70f7ae1461064a57600080fd5b80635893253c146105ad5780635c1548fb146105e95780635c975abb1461060f57600080fd5b8063456068d21161025b578063456068d21461052f57806346423aa7146105375780634a2a11f5146105a557600080fd5b8063429b62e5146104f457806344bea37e146105145780634544f0551461051c57600080fd5b80631785f53c116102e357806334600901116102bd57806334600901146104b35780633b521d78146104c65780633d6d3598146104ec57600080fd5b80631785f53c1461042257806324d7806c146104355780632dff692d1461046f57600080fd5b80631031e36e116103145780631031e36e146103ca578063131e7e1c146103d457806313e7c9d8146103f457600080fd5b806301ffc9a71461033b5780630647ee201461036357806306b9d6911461039d575b600080fd5b61034e6103493660046136e2565b6108f2565b60405190151581526020015b60405180910390f35b61034e610371366004613756565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152600460205260409020541490565b6103a561098b565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161035a565b6103d2610a24565b005b6007546103a59073ffffffffffffffffffffffffffffffffffffffff1681565b610414610402366004613782565b60026020526000908152604090205481565b60405190815260200161035a565b6103d2610430366004613782565b610a78565b61034e610443366004613782565b73ffffffffffffffffffffffffffffffffffffffff166000908152600160208190526040909120541490565b61049c61047d36600461379f565b6008602052600090815260409020805460019091015460ff9091169082565b60408051921515835260208301919091520161035a565b6103d26104c136600461379f565b610b15565b7f00000000000000000000000000000000000000000000000000000000000000006103a5565b6103d2610b5f565b610414610502366004613782565b60016020526000908152604090205481565b610414600081565b6103d261052a366004613782565b610be3565b6103d2610c36565b61058861054536600461379f565b6040805180820190915260008082526020820152506000908152600860209081526040918290208251808401909352805460ff1615158352600101549082015290565b60408051825115158152602092830151928101929092520161035a565b6103e8610414565b6105d46105bb36600461379f565b6005602052600090815260409020805460019091015482565b6040805192835260208301919091520161035a565b7f00000000000000000000000000000000000000000000000000000000000000006103a5565b60035461034e9060ff1681565b6103d2610c88565b6103d26106323660046139f8565b610c92565b6103d2610645366004613a2d565b610cad565b61034e610658366004613782565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205460011490565b6103d2610691366004613782565b610d07565b60075473ffffffffffffffffffffffffffffffffffffffff166103a5565b6104146106c2366004613782565b60046020526000908152604090205481565b6103d2610da7565b6103d26106ea366004613782565b610e2c565b6104146106fd36600461379f565b610eca565b6103a5610710366004613782565b610ee8565b6103d26107233660046139f8565b610f14565b6103d2610736366004613782565b610f1d565b60065473ffffffffffffffffffffffffffffffffffffffff166103a5565b61076c610767366004613ae8565b610fba565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161035a565b6006546103a59073ffffffffffffffffffffffffffffffffffffffff1681565b6103d26107cb366004613c16565b610fe5565b6104146107de36600461379f565b60009081526005602052604090206001015490565b6103d2610801366004613c7a565b6110f5565b6103a5611136565b6103d261081c366004613c9c565b6111a6565b61041461082f3660046139f8565b6111fb565b6103d2610842366004613cd9565b611298565b6103a5610855366004613782565b6113a6565b61076c610868366004613d6b565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b6104147f000000000000000000000000000000000000000000000000000000000000000081565b6103d26108c7366004613dd4565b6113d2565b6103d26108da366004613782565b611409565b6103d26108ed366004613e09565b61145c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000148061098557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600654604080517faaf10f42000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163aaf10f429160048083019260209291908290030181865afa1580156109fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1f9190613e4e565b905090565b3360009081526001602081905260409091205414610a6e576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a7661155e565b565b3360009081526001602081905260409091205414610ac2576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020526040808220829055513392917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a350565b6000818152600560205260408120549003610b5c576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b33600090815260026020526040902054600114610ba8576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600260205260408082208290555182917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a3565b3360009081526001602081905260409091205414610c2d576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5c816115b6565b3360009081526001602081905260409091205414610c80576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a76611644565b610a766001611699565b6000610c9d826111fb565b9050610ca981836116c7565b5050565b3360009081526001602081905260409091205414610cf7576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d02838383611826565b505050565b3360009081526001602081905260409091205414610d51576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832091909155513392917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc91a350565b3360009081526001602081905260409091205414610df1576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600160205260408082208290555182917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a3565b3360009081526001602081905260409091205414610e76576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822060019055513392917ff1e04d73c4304b5ff164f9d10c7473e2a1593b740674a6107975e2a7001c1e5c91a350565b6000610ed582610b15565b5060009081526005602052604090205490565b600061098582610ef6611136565b60075473ffffffffffffffffffffffffffffffffffffffff16611982565b610b5c81611a80565b3360009081526001602081905260409091205414610f67576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260026020526040808220829055513392917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a350565b7fbc197c81000000000000000000000000000000000000000000000000000000005b95945050505050565b600054600203611056576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e43590000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6002600081815533815260209190915260409020546001146110a4576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff16156110e1576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110ec828233611b85565b50506001600055565b806110ff83610eca565b14610ca9576040517f66f8620a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600754604080517fa619486e000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163a619486e9160048083019260209291908290030181865afa1580156109fb573d6000803e3d6000fd5b6111c58160400151826020015184846101800151856101600151611bde565b610ca9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109857fa852566c4e14d00869b6db0220888a9090a13eccdaea03713ff0a3d27bf9767c836000015184602001518560400151866060015187608001518860a001518960c001518a60e001518b61010001518c61012001518d61014001518e610160015160405160200161127d9d9c9b9a99989796959493929190613eae565b60405160208183030381529060405280519060200120611c3c565b600054600203611304576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e435900000000000000000000000000000000000000000000604482015260640161104d565b600260008181553381526020919091526040902054600114611352576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff161561138f576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61139b84848484611ca5565b505060016000555050565b6000610985826113b461098b565b60065473ffffffffffffffffffffffffffffffffffffffff16611e5c565b805160005b81811015610d02576114018382815181106113f4576113f4613f4c565b6020026020010151611a80565b6001016113d7565b3360009081526001602081905260409091205414611453576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5c81611ebe565b6000546002036114c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e435900000000000000000000000000000000000000000000604482015260640161104d565b600260008181553381526020919091526040902054600114611516576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff1615611553576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110ec828233611f4c565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560405133907f203c4bd3e526634f661575359ff30de3b0edaba6c2cb1eac60f730b6d2d9d53690600090a2565b60075460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f9726d7faf7429d6b059560dc858ed769377ccdf8b7541eabe12b22548719831f90600090a3600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905560405133907fa1e8a54850dbd7f520bcc09f47bff152294b77b2081da545a7adf531b7ea283b90600090a2565b336000908152600460205260409020546116b4908290613faa565b3360009081526004602052604090205550565b60008160e001511180156116de5750428160e00151105b15611715576040517fc56873ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61171f82826111a6565b6103e88161012001511115611760576040517fcd4e616700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61176d8160800151610b15565b60008281526008602052604090205460ff16156117b6576040517f7b38b76e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117f0816020015182610100015173ffffffffffffffffffffffffffffffffffffffff919091166000908152600460205260409020541490565b610ca9576040517f756688fe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8183148061183a575082158061183a575081155b15611871576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526005602052604090205415158061189a575060008281526005602052604090205415155b156118d1576040517f3a81d6fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820182528381526020808201848152600087815260058084528582209451855591516001948501558451808601865288815280840187815288835292909352848120925183559051919092015590518291849186917fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d91a48083837fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d60405160405180910390a4505050565b60008061198e8461205a565b8051906020012090506000856040516020016119c6919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815282825280516020918201207fff000000000000000000000000000000000000000000000000000000000000008285015260609790971b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166021840152603583019690965260558083019490945280518083039094018452607590910190525080519201919091209392505050565b602081015173ffffffffffffffffffffffffffffffffffffffff163314611ad3576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611ade826111fb565b600081815260086020526040902080549192509060ff1615611b2c576040517f7b38b76e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405182907f5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d90600090a2505050565b825160005b81811015611bd757611bcf858281518110611ba757611ba7613f4c565b6020026020010151858381518110611bc157611bc1613f4c565b602002602001015185611f4c565b600101611b8a565b5050505050565b600080826002811115611bf357611bf3613e6b565b03611c0b57611c04868686866120eb565b9050610fdc565b6002826002811115611c1f57611c1f613e6b565b03611c3057611c0486868686612139565b611c048686868661218d565b6000610985611c496121c1565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b81600080611cb387846122f5565b91509150600080611cc389612342565b91509150611cd78960200151308488612379565b611ce28989886123a3565b611cec84826123f5565b6101208a0151909450600090611d2e90828c61014001516001811115611d1457611d14613e6b565b14611d1f5787611d21565b865b88888e610140015161243d565b9050611d4b308b60200151848489611d469190613fc2565b612379565b611d573033848461252d565b6000611d6284612596565b90508015611d7a57611d7a308c602001518684612379565b60208b8101516040805187815292830186905282018990526060820188905260808201849052309173ffffffffffffffffffffffffffffffffffffffff9091169087907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a46020808c01516040805187815292830186905282018990526060820188905273ffffffffffffffffffffffffffffffffffffffff169086907f63bf4d16b7fa898ef4c4b2b6d90fd201e9c56313b65638af6088d149d2ce956c9060800160405180910390a35050505050505050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166020820152600090611eb49083908590603401604051602081830303815290604052805190602001206126c6565b90505b9392505050565b60065460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3053c6252a932554235c173caffc1913604dba3a41cee89516f631c4a1a50a3790600090a3600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b81600080611f5a86846122f5565b6101208801519193509150600090611fa790825b8961014001516001811115611f8557611f85613e6b565b14611f905785611f92565b845b8960a001518a60c001518b610140015161243d565b9050600080611fb589612342565b91509150611fcf338a60200151838689611d469190613fc2565b611fdf8960200151888489612379565b6020898101516040805185815292830184905282018890526060820187905260808201859052339173ffffffffffffffffffffffffffffffffffffffff9091169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a4505050505050505050565b6060604051806101a00160405280610171815260200161419261017191396040805173ffffffffffffffffffffffffffffffffffffffff8516602082015201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526120d59291602001614005565b6040516020818303038152906040529050919050565b60008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561212e575061212e858484612763565b90505b949350505050565b6000612146858484612763565b801561212e57508373ffffffffffffffffffffffffffffffffffffffff1661216d86610ee8565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b600061219a858484612763565b801561212e57508373ffffffffffffffffffffffffffffffffffffffff1661216d866113a6565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561222757507f000000000000000000000000000000000000000000000000000000000000000046145b1561225157507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b60008061230584606001516127a5565b61230e846111fb565b905061231a81856116c7565b61232d838560a001518660c00151612817565b915061233a81858561283e565b509250929050565b60008080836101400151600181111561235d5761235d613e6b565b0361236d57505060800151600091565b50506080015190600090565b816000036123915761238c8484836128eb565b61239d565b61239d84848484612940565b50505050565b815160005b81811015611bd7576123ed858583815181106123c6576123c6613f4c565b60200260200101518584815181106123e0576123e0613f4c565b602002602001015161296d565b6001016123a8565b60008061240183612596565b905083811015611eb7576040517fdf4d808000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008515610fdc576000612452858585612a52565b905060008111801561246c5750670de0b6b3a76400008111155b1561252357600083600181111561248557612485613e6b565b036124d75761249661271082614034565b866124b2836124ad81670de0b6b3a7640000613fc2565b612ac1565b6124bc908a614034565b6124c69190614034565b6124d09190614071565b9150612523565b6124eb670de0b6b3a7640000612710614034565b86612502836124ad81670de0b6b3a7640000613fc2565b61250c908a614034565b6125169190614034565b6125209190614071565b91505b5095945050505050565b801561239d5761253f84848484612379565b604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff8516917facffcc86834d0f1a64b0d5a675798deed6ff0bcfc2231edd3480e7288dba7ff4910160405180910390a250505050565b60008160000361264f576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561262b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098591906140ac565b6040517efdd58e0000000000000000000000000000000000000000000000000000000081523060048201526024810183905273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e9060440161260e565b6000806126d38585612ad7565b8051602091820120604080517fff000000000000000000000000000000000000000000000000000000000000008185015260609890981b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166021890152603588019590955260558088019190915284518088039091018152607590960190935250508251920191909120919050565b60008373ffffffffffffffffffffffffffffffffffffffff166127868484612c5a565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116158015906127e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610b5c576040517f5211a07900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008260000361282957506000611eb7565b826128348386614034565b611eb49190614071565b6000838152600860205260409020600181015490811561285e5781612864565b8360a001515b9150818311156128a0576040517fe2cc6ad600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128aa8383613fc2565b9150816000036128de5780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011781555b6001018190559392505050565b7f00000000000000000000000000000000000000000000000000000000000000003073ffffffffffffffffffffffffffffffffffffffff8516036129345761238c818484612c7e565b61239d81858585612c89565b61239d7f000000000000000000000000000000000000000000000000000000000000000085858585612c95565b60006129798484612d41565b9050612986848483612ddd565b8160008061299486846122f5565b61012088015191935091506000906129ac9082611f6e565b90506000806129ba89612342565b915091506129d186868b6020015185858c89612e89565b6020808b01518a820151604080518681529384018590528301899052606083018890526080830186905273ffffffffffffffffffffffffffffffffffffffff9182169291169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a450505050505050505050565b600080826001811115612a6757612a67613e6b565b03612a9f5782600003612a7b576000612a98565b82612a8e670de0b6b3a764000086614034565b612a989190614071565b9050611eb7565b83600003612aae576000611eb4565b83612834670de0b6b3a764000085614034565b6000818310612ad05781611eb7565b5090919050565b6040805160008082526020820190925260609190612af890604481016140c5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f52e831dd000000000000000000000000000000000000000000000000000000001790528151606380825260a082019093529293506000929190820181803683370190505090507f3d3d606380380380913d393d73bebebebebebebebebebebebebebebebebebebe60208201526c010000000000000000000000008502602d8201527f5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73be60418201526c01000000000000000000000000840260608201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060748201528082604051602001612c41929190614005565b6040516020818303038152906040529250505092915050565b6000806000612c698585612f09565b91509150612c7681612f4e565b509392505050565b610d02838383613101565b61239d848484846131ba565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015286169063f242432a9060c401600060405180830381600087803b158015612d2257600080fd5b505af1158015612d36573d6000803e3d6000fd5b505050505050505050565b6000808361014001516001811115612d5b57612d5b613e6b565b148015612d7e575060008261014001516001811115612d7c57612d7c613e6b565b145b15612d8b57506001610985565b60018361014001516001811115612da457612da4613e6b565b148015612dc7575060018261014001516001811115612dc557612dc5613e6b565b145b15612dd457506002610985565b50600092915050565b612de78383613279565b612e1d576040517f7f9a6f4600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816002811115612e3157612e31613e6b565b03612e77578160800151836080015114610d02576040517fa0b9446500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d02836080015183608001516110f5565b612e958530868a612379565b612ea287878686866132c3565b85612eac84612596565b1015612ee4576040517fdf4d808000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ef4308685611d46858b613fc2565b612f003033858461252d565b50505050505050565b6000808251604103612f3f5760208301516040840151606085015160001a612f338782858561334b565b94509450505050612f47565b506000905060025b9250929050565b6000816004811115612f6257612f62613e6b565b03612f6a5750565b6001816004811115612f7e57612f7e613e6b565b03612fe5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161104d565b6002816004811115612ff957612ff9613e6b565b03613060576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161104d565b600381600481111561307457613074613e6b565b03610b5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161104d565b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d116001600051141617169150508061239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c45440000000000000000000000000000000000604482015260640161104d565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d1160016000511416171691505080611bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c4544000000000000000000000000604482015260640161104d565b60008260c0015160001480613290575060c0820151155b1561329d57506001610985565b611eb76132a98461343a565b6132b28461343a565b856101400151856101400151613454565b60008160028111156132d7576132d7613e6b565b14611bd75760018160028111156132f0576132f0613e6b565b036133165760008281526005602052604090206001015461331190856134ee565b611bd7565b600281600281111561332a5761332a613e6b565b03611bd757600083815260056020526040902060010154613311908661361e565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156133825750600090506003613431565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156133d6573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661342a57600060019250925050613431565b9150600090505b94509492505050565b60006109858260a001518360c00151846101400151612a52565b60008083600181111561346957613469613e6b565b036134ad57600082600181111561348257613482613e6b565b036134a357670de0b6b3a764000061349a8587613faa565b10159050612131565b5082841015612131565b60008260018111156134c1576134c1613e6b565b036134d0575083831015612131565b670de0b6b3a76400006134e38587613faa565b111595945050505050565b60408051600280825260608201835260009260208301908036833701905050905060018160008151811061352457613524613f4c565b60200260200101818152505060028160018151811061354557613545613f4c565b60209081029190910101527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166372ce42757f00000000000000000000000000000000000000000000000000000000000000005b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526135f09190600090889087908990600401614116565b600060405180830381600087803b15801561360a57600080fd5b505af1158015612f00573d6000803e3d6000fd5b60408051600280825260608201835260009260208301908036833701905050905060018160008151811061365457613654613f4c565b60200260200101818152505060028160018151811061367557613675613f4c565b60209081029190910101527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639e7212ad7f00000000000000000000000000000000000000000000000000000000000000006135ae565b6000602082840312156136f457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611eb757600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610b5c57600080fd5b803561375181613724565b919050565b6000806040838503121561376957600080fd5b823561377481613724565b946020939093013593505050565b60006020828403121561379457600080fd5b8135611eb781613724565b6000602082840312156137b157600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101a0810167ffffffffffffffff8111828210171561380b5761380b6137b8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613858576138586137b8565b604052919050565b80356002811061375157600080fd5b80356003811061375157600080fd5b600082601f83011261388f57600080fd5b813567ffffffffffffffff8111156138a9576138a96137b8565b6138da60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613811565b8181528460208386010111156138ef57600080fd5b816020850160208301376000918101602001919091529392505050565b60006101a0828403121561391f57600080fd5b6139276137e7565b90508135815261393960208301613746565b602082015261394a60408301613746565b604082015261395b60608301613746565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101406139ae818401613860565b908201526101606139c083820161386f565b908201526101808281013567ffffffffffffffff8111156139e057600080fd5b6139ec8582860161387e565b82840152505092915050565b600060208284031215613a0a57600080fd5b813567ffffffffffffffff811115613a2157600080fd5b6121318482850161390c565b600080600060608486031215613a4257600080fd5b505081359360208301359350604090920135919050565b600067ffffffffffffffff821115613a7357613a736137b8565b5060051b60200190565b600082601f830112613a8e57600080fd5b81356020613aa3613a9e83613a59565b613811565b82815260059290921b84018101918181019086841115613ac257600080fd5b8286015b84811015613add5780358352918301918301613ac6565b509695505050505050565b600080600080600060a08688031215613b0057600080fd5b8535613b0b81613724565b94506020860135613b1b81613724565b9350604086013567ffffffffffffffff80821115613b3857600080fd5b613b4489838a01613a7d565b94506060880135915080821115613b5a57600080fd5b613b6689838a01613a7d565b93506080880135915080821115613b7c57600080fd5b50613b898882890161387e565b9150509295509295909350565b600082601f830112613ba757600080fd5b81356020613bb7613a9e83613a59565b82815260059290921b84018101918181019086841115613bd657600080fd5b8286015b84811015613add57803567ffffffffffffffff811115613bfa5760008081fd5b613c088986838b010161390c565b845250918301918301613bda565b60008060408385031215613c2957600080fd5b823567ffffffffffffffff80821115613c4157600080fd5b613c4d86838701613b96565b93506020850135915080821115613c6357600080fd5b50613c7085828601613a7d565b9150509250929050565b60008060408385031215613c8d57600080fd5b50508035926020909101359150565b60008060408385031215613caf57600080fd5b82359150602083013567ffffffffffffffff811115613ccd57600080fd5b613c708582860161390c565b60008060008060808587031215613cef57600080fd5b843567ffffffffffffffff80821115613d0757600080fd5b613d138883890161390c565b95506020870135915080821115613d2957600080fd5b613d3588838901613b96565b9450604087013593506060870135915080821115613d5257600080fd5b50613d5f87828801613a7d565b91505092959194509250565b600080600080600060a08688031215613d8357600080fd5b8535613d8e81613724565b94506020860135613d9e81613724565b93506040860135925060608601359150608086013567ffffffffffffffff811115613dc857600080fd5b613b898882890161387e565b600060208284031215613de657600080fd5b813567ffffffffffffffff811115613dfd57600080fd5b61213184828501613b96565b60008060408385031215613e1c57600080fd5b823567ffffffffffffffff811115613e3357600080fd5b613e3f8582860161390c565b95602094909401359450505050565b600060208284031215613e6057600080fd5b8151611eb781613724565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110613eaa57613eaa613e6b565b9052565b60006101a0820190508e82528d602083015273ffffffffffffffffffffffffffffffffffffffff808e166040840152808d166060840152808c166080840152508960a08301528860c08301528760e083015286610100830152856101208301528461014083015260028410613f2557613f25613e6b565b83610160830152613f3a610180830184613e9a565b9e9d5050505050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115613fbd57613fbd613f7b565b500190565b600082821015613fd457613fd4613f7b565b500390565b60005b83811015613ff4578181015183820152602001613fdc565b8381111561239d5750506000910152565b60008351614017818460208801613fd9565b83519083019061402b818360208801613fd9565b01949350505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561406c5761406c613f7b565b500290565b6000826140a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000602082840312156140be57600080fd5b5051919050565b60208152600082518060208401526140e4816040850160208701613fd9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060a0820173ffffffffffffffffffffffffffffffffffffffff881683526020878185015286604085015260a0606085015281865180845260c086019150828801935060005b818110156141795784518352938301939183019160010161415d565b5050809350505050826080830152969550505050505056fe608060405234801561001057600080fd5b5060405161017138038061017183398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e7565b6000602082840312156100ca578081fd5b81516001600160a01b03811681146100e0578182fd5b9392505050565b607c806100f56000396000f3fe6080604052600080546001600160a01b0316813563530ca43760e11b1415602857808252602082f35b3682833781823684845af490503d82833e806041573d82fd5b503d81f3fea264697066735822122015938e3bf2c49f5df5c1b7f9569fa85cc5d6f3074bb258a2dc0c7e299bc9e33664736f6c63430008040033a264697066735822122056df26e165b5957191bd0ff149c07ae13f5a6b4252973fb3c07a4653cce0f3b164736f6c634300080f00330000000000000000000000002e8dcfe708d44ae2e406a1c02dfe2fa13012f9610000000000000000000000007d8610e9567d2a6c9fbf66a5a13e9ba8bb120d43000000000000000000000000ab45c5a4b0c941a2f231c04c3f49182e1a254052000000000000000000000000aacfeea03eb1561c4e67d661e40682bd20e3541b", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "addAdmin(address)", + "arguments": [ + "0x665057d2bDc8F83722435712a98747EE4A7B8aEb" + ], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x1107c", + "value": "0x0", + "data": "0x70480275000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "addOperator(address)", + "arguments": [ + "0x665057d2bDc8F83722435712a98747EE4A7B8aEb" + ], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x10169", + "value": "0x0", + "data": "0x9870d7fe000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "renounceAdminRole()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x7d00", + "value": "0x0", + "data": "0x83b8a5ae", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [] + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "CTFExchange", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", + "function": "renounceOperatorRole()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x7d34", + "value": "0x0", + "data": "0x3d6d3598", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [] + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x4cf5ff4362abb630398f45b0ed26787e7b2524c53c4cc006641764f5f8267609" + ], + "path": "/home/jonathan/WorkSpace/polymarket/ctf-exchange/broadcast/ExchangeDeployment.s.sol/80001/deployExchange-latest.json", + "returns": { + "exchange": { + "internal_type": "address", + "value": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E" + } + }, + "timestamp": 1664228139, + "commit": "af3ba7f" +} \ No newline at end of file diff --git a/broadcast/ExchangeDeployment.s.sol/80001/deployExchange-latest.json b/broadcast/ExchangeDeployment.s.sol/80001/deployExchange-latest.json index b34148b..f20aeba 100644 --- a/broadcast/ExchangeDeployment.s.sol/80001/deployExchange-latest.json +++ b/broadcast/ExchangeDeployment.s.sol/80001/deployExchange-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0x999e01a7d4c213c0fa844f13f0c4d951d4337c1f33391b86b38f1fe55f74969d", + "hash": "0x4cf5ff4362abb630398f45b0ed26787e7b2524c53c4cc006641764f5f8267609", "transactionType": "CREATE", "contractName": "CTFExchange", - "contractAddress": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "function": null, "arguments": [ "0x2E8DCfE708D44ae2e406a1c02DFE2Fa13012f961", @@ -14,29 +14,29 @@ ], "transaction": { "type": "0x02", - "from": "0x09b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "gas": "0x40cad7", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "gas": "0x4d4c99", "value": "0x0", - "data": "0x6101a060405260016000556003805460ff191690553480156200002157600080fd5b5060405162003b6538038062003b658339810160408190526200004491620002d6565b604080518082018252601781527f506f6c796d61726b6574204354462045786368616e67650000000000000000006020808301918252835180850185526001808252603160f81b82840190815233600090815282855287812083905560028552879020919091558451909320815190932060e08490526101008190524660a081815287517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818a0188905260608201859052608082019390935230818301528851808203909201825260c0019097528651969093019590952087958795879587959194938d938d9387938793909291906080523060c05261012052505050506001600160a01b0382811661014081905290821661016081905260405163095ea7b360e01b81526004810191909152600019602482015263095ea7b3906044016020604051808303816000875af1158015620001a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cf919062000333565b50620001dd91505062000265565b610180525050600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055506200035e945050505050565b6040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b600060c0516001600160a01b0316306001600160a01b03161480156200028c575060a05146145b1562000299575060805190565b620002b46101205160e051610100516200021c60201b60201c565b905090565b80516001600160a01b0381168114620002d157600080fd5b919050565b60008060008060808587031215620002ed57600080fd5b620002f885620002b9565b93506200030860208601620002b9565b92506200031860408601620002b9565b91506200032860608601620002b9565b905092959194509250565b6000602082840312156200034657600080fd5b815180151581146200035757600080fd5b9392505050565b60805160a05160c05160e051610100516101205161014051610160516101805161375e62000407600039600061079e01526000818161043401528181611e9a0152818161206e01528181612a8e0152612b9901526000818161055701528181611e0b0152818161202301528181612abd0152612bc801526000611ac901526000611b1801526000611af301526000611a4c01526000611a7601526000611aa0015261375e6000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c80637048027511610182578063d798eff6116100e9578063e60f0c05116100a2578063f698da251161007c578063f698da2514610799578063fa950b48146107c0578063fbddd751146107d3578063fe729aaf146107e657600080fd5b8063e60f0c0514610754578063edef7d8e14610767578063f23a6e611461077a57600080fd5b8063d798eff6146106dd578063d7fb272f146106f0578063d82da83814610713578063e03ac3d014610726578063e2eec4051461072e578063e50e4f971461074157600080fd5b8063a287bdf11161013b578063a287bdf114610654578063a6dfcf8614610667578063ac8a584a1461067a578063b28c51c01461068d578063bc197c811461069e578063c10f1a75146106ca57600080fd5b806370480275146105e257806375d7370a146105f55780637ecebe001461060657806383b8a5ae146106265780639870d7fe1461062e578063a10f3dce1461064157600080fd5b8063429b62e5116102415780635893253c116101fa578063627cdcb9116101d4578063627cdcb914610588578063654f0ce41461059057806368c7450f146105a35780636d70f7ae146105b657600080fd5b80635893253c146105195780635c1548fb146105555780635c975abb1461057b57600080fd5b8063429b62e51461046057806344bea37e146104805780634544f05514610488578063456068d21461049b57806346423aa7146104a35780634a2a11f51461051157600080fd5b80631785f53c116102935780631785f53c1461039b57806324d7806c146103ae5780632dff692d146103db578063346009011461041f5780633b521d78146104325780633d6d35981461045857600080fd5b806301ffc9a7146102db5780630647ee201461030357806306b9d691146103305780631031e36e14610350578063131e7e1c1461035a57806313e7c9d81461036d575b600080fd5b6102ee6102e9366004612bec565b6107f9565b60405190151581526020015b60405180910390f35b6102ee610311366004612c3b565b6001600160a01b03919091166000908152600460205260409020541490565b610338610830565b6040516001600160a01b0390911681526020016102fa565b6103586108a3565b005b600754610338906001600160a01b031681565b61038d61037b366004612c67565b60026020526000908152604090205481565b6040519081526020016102fa565b6103586103a9366004612c67565b6108de565b6102ee6103bc366004612c67565b6001600160a01b03166000908152600160208190526040909120541490565b6104086103e9366004612c84565b6008602052600090815260409020805460019091015460ff9091169082565b6040805192151583526020830191909152016102fa565b61035861042d366004612c84565b610955565b7f0000000000000000000000000000000000000000000000000000000000000000610338565b610358610986565b61038d61046e366004612c67565b60016020526000908152604090205481565b61038d600081565b610358610496366004612c67565b6109f1565b610358610a2b565b6104f46104b1366004612c84565b6040805180820190915260008082526020820152506000908152600860209081526040918290208251808401909352805460ff1615158352600101549082015290565b6040805182511515815260209283015192810192909252016102fa565b6103e861038d565b610540610527366004612c84565b6005602052600090815260409020805460019091015482565b604080519283526020830191909152016102fa565b7f0000000000000000000000000000000000000000000000000000000000000000610338565b6003546102ee9060ff1681565b610358610a64565b61035861059e366004612e84565b610a6e565b6103586105b1366004612eb8565b610a89565b6102ee6105c4366004612c67565b6001600160a01b031660009081526002602052604090205460011490565b6103586105f0366004612c67565b610aca565b6007546001600160a01b0316610338565b61038d610614366004612c67565b60046020526000908152604090205481565b610358610b44565b61035861063c366004612c67565b610bb0565b61038d61064f366004612c84565b610c28565b610338610662366004612c67565b610c46565b610358610675366004612e84565b610c65565b610358610688366004612c67565b610c6e565b6006546001600160a01b0316610338565b6106b16106ac366004612f72565b610ce5565b6040516001600160e01b031990911681526020016102fa565b600654610338906001600160a01b031681565b6103586106eb36600461309e565b610cf7565b61038d6106fe366004612c84565b60009081526005602052604090206001015490565b610358610721366004613101565b610d8f565b610338610db7565b61035861073c366004613123565b610e01565b61038d61074f366004612e84565b610e3d565b61035861076236600461315f565b610eda565b610338610775366004612c67565b610f6c565b6106b16107883660046131f0565b63f23a6e6160e01b95945050505050565b61038d7f000000000000000000000000000000000000000000000000000000000000000081565b6103586107ce366004613258565b610f8b565b6103586107e1366004612c67565b610fc2565b6103586107f436600461328c565b610ffc565b60006001600160e01b03198216630271189760e51b148061082a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6006546040805163557887a160e11b815290516000926001600160a01b03169163aaf10f429160048083019260209291908290030181865afa15801561087a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089e91906132d0565b905090565b33600090815260016020819052604090912054146108d457604051637bfa4b9f60e01b815260040160405180910390fd5b6108dc611082565b565b336000908152600160208190526040909120541461090f57604051637bfa4b9f60e01b815260040160405180910390fd5b6001600160a01b038116600081815260016020526040808220829055513392917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a350565b6000818152600560205260408120549003610983576040516307ed98ed60e31b815260040160405180910390fd5b50565b336000908152600260205260409020546001146109b657604051631f0853c160e21b815260040160405180910390fd5b336000818152600260205260408082208290555182917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a3565b3360009081526001602081905260409091205414610a2257604051637bfa4b9f60e01b815260040160405180910390fd5b610983816110bc565b3360009081526001602081905260409091205414610a5c57604051637bfa4b9f60e01b815260040160405180910390fd5b6108dc611118565b6108dc600161114f565b6000610a7982610e3d565b9050610a85818361117d565b5050565b3360009081526001602081905260409091205414610aba57604051637bfa4b9f60e01b815260040160405180910390fd5b610ac583838361126b565b505050565b3360009081526001602081905260409091205414610afb57604051637bfa4b9f60e01b815260040160405180910390fd5b6001600160a01b038116600081815260016020819052604080832091909155513392917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc91a350565b3360009081526001602081905260409091205414610b7557604051637bfa4b9f60e01b815260040160405180910390fd5b336000818152600160205260408082208290555182917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a3565b3360009081526001602081905260409091205414610be157604051637bfa4b9f60e01b815260040160405180910390fd5b6001600160a01b03811660008181526002602052604080822060019055513392917ff1e04d73c4304b5ff164f9d10c7473e2a1593b740674a6107975e2a7001c1e5c91a350565b6000610c3382610955565b5060009081526005602052604090205490565b600061082a82610c54610db7565b6007546001600160a01b0316611395565b610983816113f9565b3360009081526001602081905260409091205414610c9f57604051637bfa4b9f60e01b815260040160405180910390fd5b6001600160a01b038116600081815260026020526040808220829055513392917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a350565b63bc197c8160e01b5b95945050505050565b600054600203610d225760405162461bcd60e51b8152600401610d19906132ed565b60405180910390fd5b600260008181553381526020919091526040902054600114610d5757604051631f0853c160e21b815260040160405180910390fd5b60035460ff1615610d7b576040516313d0ff5960e31b815260040160405180910390fd5b610d868282336114a1565b50506001600055565b80610d9983610c28565b14610a855760405163337c310560e11b815260040160405180910390fd5b6007546040805163530ca43760e11b815290516000926001600160a01b03169163a619486e9160048083019260209291908290030181865afa15801561087a573d6000803e3d6000fd5b610e2081604001518260200151848461018001518561016001516114fa565b610a8557604051638baa579f60e01b815260040160405180910390fd5b600061082a7fa852566c4e14d00869b6db0220888a9090a13eccdaea03713ff0a3d27bf9767c836000015184602001518560400151866060015187608001518860a001518960c001518a60e001518b61010001518c61012001518d61014001518e6101600151604051602001610ebf9d9c9b9a9998979695949392919061333b565b60405160208183030381529060405280519060200120611558565b600054600203610efc5760405162461bcd60e51b8152600401610d19906132ed565b600260008181553381526020919091526040902054600114610f3157604051631f0853c160e21b815260040160405180910390fd5b60035460ff1615610f55576040516313d0ff5960e31b815260040160405180910390fd5b610f61848484846115a6565b505060016000555050565b600061082a82610f7a610830565b6006546001600160a01b0316611747565b805160005b81811015610ac557610fba838281518110610fad57610fad6133cd565b60200260200101516113f9565b600101610f90565b3360009081526001602081905260409091205414610ff357604051637bfa4b9f60e01b815260040160405180910390fd5b61098381611796565b60005460020361101e5760405162461bcd60e51b8152600401610d19906132ed565b60026000818155338152602091909152604090205460011461105357604051631f0853c160e21b815260040160405180910390fd5b60035460ff1615611077576040516313d0ff5960e31b815260040160405180910390fd5b610d868282336117f2565b6003805460ff1916600117905560405133907f203c4bd3e526634f661575359ff30de3b0edaba6c2cb1eac60f730b6d2d9d53690600090a2565b6007546040516001600160a01b038084169216907f9726d7faf7429d6b059560dc858ed769377ccdf8b7541eabe12b22548719831f90600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6003805460ff1916905560405133907fa1e8a54850dbd7f520bcc09f47bff152294b77b2081da545a7adf531b7ea283b90600090a2565b3360009081526004602052604090205461116a9082906133f9565b3360009081526004602052604090205550565b60008160e001511180156111945750428160e00151105b156111b2576040516362b439dd60e11b815260040160405180910390fd5b6111bc8282610e01565b6103e881610120015111156111e45760405163cd4e616760e01b815260040160405180910390fd5b6111f18160800151610955565b60008281526008602052604090205460ff161561122157604051633d9c5bb760e11b815260040160405180910390fd5b61124e81602001518261010001516001600160a01b03919091166000908152600460205260409020541490565b610a8557604051633ab3447f60e11b815260040160405180910390fd5b8183148061127f575082158061127f575081155b1561129d576040516307ed98ed60e31b815260040160405180910390fd5b6000838152600560205260409020541515806112c6575060008281526005602052604090205415155b156112e457604051630ea075bf60e21b815260040160405180910390fd5b6040805180820182528381526020808201848152600087815260058084528582209451855591516001948501558451808601865288815280840187815288835292909352848120925183559051919092015590518291849186917fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d91a48083837fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d60405160405180910390a4505050565b6000806113a184611905565b8051906020012090506000856040516020016113cc91906001600160a01b0391909116815260200190565b6040516020818303038152906040528051906020012090506113ef84838361196b565b9695505050505050565b60208101516001600160a01b03163314611426576040516330cd747160e01b815260040160405180910390fd5b600061143182610e3d565b600081815260086020526040902080549192509060ff161561146657604051633d9c5bb760e11b815260040160405180910390fd5b805460ff1916600117815560405182907f5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d90600090a2505050565b825160005b818110156114f3576114eb8582815181106114c3576114c36133cd565b60200260200101518583815181106114dd576114dd6133cd565b6020026020010151856117f2565b6001016114a6565b5050505050565b60008082600281111561150f5761150f613311565b0361152757611520868686866119aa565b9050610cee565b600282600281111561153b5761153b613311565b0361154c57611520868686866119de565b61152086868686611a18565b600061082a611565611a3f565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b81600080806115b58885611b66565b9250925092506000806115c78a611bb6565b915091506115db8a60200151308489611bed565b6115e68a8a89611c17565b6115f08582611c69565b6101208b015190955060009061163290828d6101400151600181111561161857611618613311565b146116235788611625565b875b89898f6101400151611c98565b905061164f308c6020015184848a61164a9190613411565b611bed565b61165b30338484611d88565b60208b810151604080518681529283018590528201899052606082018790526080820183905230916001600160a01b039091169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a46020808c0151604080518681529283018590528201899052606082018890526001600160a01b03169085907f63bf4d16b7fa898ef4c4b2b6d90fd201e9c56313b65638af6088d149d2ce956c9060800160405180910390a3600061172184611de4565b9050801561173957611739308d602001518684611bed565b505050505050505050505050565b6040516bffffffffffffffffffffffff19606085901b16602082015260009061178c908390859060340160405160208183030381529060405280519060200120611ec8565b90505b9392505050565b6006546040516001600160a01b038084169216907f3053c6252a932554235c173caffc1913604dba3a41cee89516f631c4a1a50a3790600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b81600080806118018785611b66565b925092509250600061185e8861012001516000600181111561182557611825613311565b8a6101400151600181111561183c5761183c613311565b146118475786611849565b855b8a60a001518b60c001518c6101400151611c98565b905060008061186c8a611bb6565b91509150611886338b6020015183868a61164a9190613411565b6118968a6020015189848a611bed565b60208a810151604080518581529283018490528201899052606082018790526080820185905233916001600160a01b039091169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a450505050505050505050565b6060604051806101a0016040528061017181526020016135b86101719139604080516001600160a01b03851660208201520160408051601f19818403018152908290526119559291602001613454565b6040516020818303038152906040529050919050565b60008060ff60f81b8584866040516020016119899493929190613483565b60408051808303601f19018152919052805160209091012095945050505050565b6000836001600160a01b0316856001600160a01b03161480156119d357506119d3858484611f1d565b90505b949350505050565b60006119eb858484611f1d565b80156119d35750836001600160a01b0316611a0586610c46565b6001600160a01b03161495945050505050565b6000611a25858484611f1d565b80156119d35750836001600160a01b0316611a0586610f6c565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a9857507f000000000000000000000000000000000000000000000000000000000000000046145b15611ac257507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000806000611b788560600151611f45565b611b8185610e3d565b9050611b8d818661117d565b611ba0848660a001518760c00151611f84565b9250611bad818686611fab565b91509250925092565b600080808361014001516001811115611bd157611bd1613311565b03611be157505060800151600091565b50506080015190600090565b81600003611c0557611c00848483612021565b611c11565b611c1184848484612069565b50505050565b815160005b818110156114f357611c6185858381518110611c3a57611c3a6133cd565b6020026020010151858481518110611c5457611c546133cd565b6020026020010151612096565b600101611c1c565b600080611c7583611de4565b90508381101561178f576040516301be9b0160e71b815260040160405180910390fd5b60008515610cee576000611cad85858561217c565b9050600081118015611cc75750670de0b6b3a76400008111155b15611d7e576000836001811115611ce057611ce0613311565b03611d3257611cf1612710826134bc565b86611d0d83611d0881670de0b6b3a7640000613411565b6121eb565b611d17908a6134bc565b611d2191906134bc565b611d2b91906134db565b9150611d7e565b611d46670de0b6b3a76400006127106134bc565b86611d5d83611d0881670de0b6b3a7640000613411565b611d67908a6134bc565b611d7191906134bc565b611d7b91906134db565b91505b5095945050505050565b8015611c1157611d9a84848484611bed565b60408051838152602081018390526001600160a01b038516917facffcc86834d0f1a64b0d5a675798deed6ff0bcfc2231edd3480e7288dba7ff4910160405180910390a250505050565b600081600003611e77576040516370a0823160e01b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa158015611e53573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082a91906134fd565b604051627eeac760e11b8152306004820152602481018390526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e90604401611e36565b600080611ed58585612201565b805190602001209050600060ff60f81b868584604051602001611efb9493929190613483565b60408051808303601f1901815291905280516020909101209695505050505050565b6000836001600160a01b0316611f338484612318565b6001600160a01b031614949350505050565b6001600160a01b03811615801590611f6657506001600160a01b0381163314155b1561098357604051635211a07960e01b815260040160405180910390fd5b600082600003611f965750600061178f565b82611fa183866134bc565b61178c91906134db565b60008381526008602052604090206001810154908115611fcb5781611fd1565b8360a001515b915081831115611ff457604051637166356b60e11b815260040160405180910390fd5b611ffe8383613411565b91508160000361201457805460ff191660011781555b6001018190559392505050565b7f0000000000000000000000000000000000000000000000000000000000000000306001600160a01b0385160361205d57611c0081848461233c565b611c1181858585612347565b611c117f000000000000000000000000000000000000000000000000000000000000000085858585612353565b60006120a284846123d9565b90506120af848483612475565b81600080806120be8785611b66565b92509250925060006120e28861012001516000600181111561182557611825613311565b90506000806120f08a611bb6565b9150915061210787878c6020015185858d896124ef565b6020808c01518b8201516040805186815293840185905283018a905260608301889052608083018690526001600160a01b039182169291169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a45050505050505050505050565b60008082600181111561219157612191613311565b036121c957826000036121a55760006121c2565b826121b8670de0b6b3a7640000866134bc565b6121c291906134db565b905061178f565b836000036121d857600061178c565b83611fa1670de0b6b3a7640000856134bc565b60008183106121fa578161178f565b5090919050565b60408051600080825260208201909252606091906122229060448101613516565b60408051601f19818403018152918152602080830180516001600160e01b03166352e831dd60e01b1790528151606380825260a082019093529293506000929190820181803683370190505090507f3d3d606380380380913d393d73bebebebebebebebebebebebebebebebebebebe6020820152600160601b8502602d8201527f5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73be6041820152600160601b840260608201526e5af43d82803e903d91602b57fd5bf360881b607482015280826040516020016122ff929190613454565b6040516020818303038152906040529250505092915050565b60008060006123278585612556565b915091506123348161259b565b509392505050565b610ac58383836126e5565b611c118484848461275d565b604051637921219560e11b81526001600160a01b0385811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015286169063f242432a9060c401600060405180830381600087803b1580156123ba57600080fd5b505af11580156123ce573d6000803e3d6000fd5b505050505050505050565b60008083610140015160018111156123f3576123f3613311565b14801561241657506000826101400151600181111561241457612414613311565b145b156124235750600161082a565b6001836101400151600181111561243c5761243c613311565b14801561245f57506001826101400151600181111561245d5761245d613311565b145b1561246c5750600261082a565b50600092915050565b61247f83836127e0565b61249c57604051633fcd37a360e11b815260040160405180910390fd5b60008160028111156124b0576124b0613311565b036124dd578160800151836080015114610ac55760405163a0b9446560e01b815260040160405180910390fd5b610ac583608001518360800151610d8f565b6124fb8530868a611bed565b612508878786868661282a565b8561251284611de4565b1015612531576040516301be9b0160e71b815260040160405180910390fd5b61254130868561164a858b613411565b61254d30338584611d88565b50505050505050565b600080825160410361258c5760208301516040840151606085015160001a612580878285856128b2565b94509450505050612594565b506000905060025b9250929050565b60008160048111156125af576125af613311565b036125b75750565b60018160048111156125cb576125cb613311565b036126185760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610d19565b600281600481111561262c5761262c613311565b036126795760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610d19565b600381600481111561268d5761268d613311565b036109835760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610d19565b600060405163a9059cbb60e01b8152836004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080611c115760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606401610d19565b60006040516323b872dd60e01b81528460048201528360248201528260448201526020600060648360008a5af13d15601f3d11600160005114161716915050806114f35760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606401610d19565b60008260c00151600014806127f7575060c0820151155b156128045750600161082a565b61178f61281084612976565b61281984612976565b856101400151856101400151612990565b600081600281111561283e5761283e613311565b146114f357600181600281111561285757612857613311565b0361287d576000828152600560205260409020600101546128789085612a2a565b6114f3565b600281600281111561289157612891613311565b036114f3576000838152600560205260409020600101546128789086612b35565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156128e9575060009050600361296d565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561293d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166129665760006001925092505061296d565b9150600090505b94509492505050565b600061082a8260a001518360c0015184610140015161217c565b6000808360018111156129a5576129a5613311565b036129e95760008260018111156129be576129be613311565b036129df57670de0b6b3a76400006129d685876133f9565b101590506119d6565b50828410156119d6565b60008260018111156129fd576129fd613311565b03612a0c5750838310156119d6565b670de0b6b3a7640000612a1f85876133f9565b111595945050505050565b604080516002808252606082018352600092602083019080368337019050509050600181600081518110612a6057612a606133cd565b602002602001018181525050600281600181518110612a8157612a816133cd565b60209081029190910101527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166372ce42757f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160e01b031960e084901b168152612b079190600090889087908990600401613549565b600060405180830381600087803b158015612b2157600080fd5b505af115801561254d573d6000803e3d6000fd5b604080516002808252606082018352600092602083019080368337019050509050600181600081518110612b6b57612b6b6133cd565b602002602001018181525050600281600181518110612b8c57612b8c6133cd565b60209081029190910101527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639e7212ad7f0000000000000000000000000000000000000000000000000000000000000000612add565b600060208284031215612bfe57600080fd5b81356001600160e01b03198116811461178f57600080fd5b6001600160a01b038116811461098357600080fd5b8035612c3681612c16565b919050565b60008060408385031215612c4e57600080fd5b8235612c5981612c16565b946020939093013593505050565b600060208284031215612c7957600080fd5b813561178f81612c16565b600060208284031215612c9657600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6040516101a081016001600160401b0381118282101715612cd657612cd6612c9d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612d0457612d04612c9d565b604052919050565b803560028110612c3657600080fd5b803560038110612c3657600080fd5b600082601f830112612d3b57600080fd5b81356001600160401b03811115612d5457612d54612c9d565b612d67601f8201601f1916602001612cdc565b818152846020838601011115612d7c57600080fd5b816020850160208301376000918101602001919091529392505050565b60006101a08284031215612dac57600080fd5b612db4612cb3565b905081358152612dc660208301612c2b565b6020820152612dd760408301612c2b565b6040820152612de860608301612c2b565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140612e3b818401612d0c565b90820152610160612e4d838201612d1b565b90820152610180828101356001600160401b03811115612e6c57600080fd5b612e7885828601612d2a565b82840152505092915050565b600060208284031215612e9657600080fd5b81356001600160401b03811115612eac57600080fd5b6119d684828501612d99565b600080600060608486031215612ecd57600080fd5b505081359360208301359350604090920135919050565b60006001600160401b03821115612efd57612efd612c9d565b5060051b60200190565b600082601f830112612f1857600080fd5b81356020612f2d612f2883612ee4565b612cdc565b82815260059290921b84018101918181019086841115612f4c57600080fd5b8286015b84811015612f675780358352918301918301612f50565b509695505050505050565b600080600080600060a08688031215612f8a57600080fd5b8535612f9581612c16565b94506020860135612fa581612c16565b935060408601356001600160401b0380821115612fc157600080fd5b612fcd89838a01612f07565b94506060880135915080821115612fe357600080fd5b612fef89838a01612f07565b9350608088013591508082111561300557600080fd5b5061301288828901612d2a565b9150509295509295909350565b600082601f83011261303057600080fd5b81356020613040612f2883612ee4565b82815260059290921b8401810191818101908684111561305f57600080fd5b8286015b84811015612f675780356001600160401b038111156130825760008081fd5b6130908986838b0101612d99565b845250918301918301613063565b600080604083850312156130b157600080fd5b82356001600160401b03808211156130c857600080fd5b6130d48683870161301f565b935060208501359150808211156130ea57600080fd5b506130f785828601612f07565b9150509250929050565b6000806040838503121561311457600080fd5b50508035926020909101359150565b6000806040838503121561313657600080fd5b8235915060208301356001600160401b0381111561315357600080fd5b6130f785828601612d99565b6000806000806080858703121561317557600080fd5b84356001600160401b038082111561318c57600080fd5b61319888838901612d99565b955060208701359150808211156131ae57600080fd5b6131ba8883890161301f565b94506040870135935060608701359150808211156131d757600080fd5b506131e487828801612f07565b91505092959194509250565b600080600080600060a0868803121561320857600080fd5b853561321381612c16565b9450602086013561322381612c16565b9350604086013592506060860135915060808601356001600160401b0381111561324c57600080fd5b61301288828901612d2a565b60006020828403121561326a57600080fd5b81356001600160401b0381111561328057600080fd5b6119d68482850161301f565b6000806040838503121561329f57600080fd5b82356001600160401b038111156132b557600080fd5b6132c185828601612d99565b95602094909401359450505050565b6000602082840312156132e257600080fd5b815161178f81612c16565b6020808252600a90820152695245454e5452414e435960b01b604082015260600190565b634e487b7160e01b600052602160045260246000fd5b6003811061333757613337613311565b9052565b8d8152602081018d90526001600160a01b038c811660408301528b811660608301528a16608082015260a0810189905260c0810188905260e081018790526101008101869052610120810185905261014081018490526101a08101600284106133a6576133a6613311565b836101608301526133bb610180830184613327565b9e9d5050505050505050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561340c5761340c6133e3565b500190565b600082821015613423576134236133e3565b500390565b60005b8381101561344357818101518382015260200161342b565b83811115611c115750506000910152565b60008351613466818460208801613428565b83519083019061347a818360208801613428565b01949350505050565b6001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60008160001904831182151516156134d6576134d66133e3565b500290565b6000826134f857634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561350f57600080fd5b5051919050565b6020815260008251806020840152613535816040850160208701613428565b601f01601f19169190910160400192915050565b6001600160a01b038616815260208082018690526040820185905260a06060830181905284519083018190526000918581019160c0850190845b8181101561359f57845183529383019391830191600101613583565b5050809350505050826080830152969550505050505056fe608060405234801561001057600080fd5b5060405161017138038061017183398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e7565b6000602082840312156100ca578081fd5b81516001600160a01b03811681146100e0578182fd5b9392505050565b607c806100f56000396000f3fe6080604052600080546001600160a01b0316813563530ca43760e11b1415602857808252602082f35b3682833781823684845af490503d82833e806041573d82fd5b503d81f3fea264697066735822122015938e3bf2c49f5df5c1b7f9569fa85cc5d6f3074bb258a2dc0c7e299bc9e33664736f6c63430008040033a2646970667358221220d93139e32bae530b273044d07d00326d19debeb5b49b08f172b04a7bc677797964736f6c634300080f00330000000000000000000000002e8dcfe708d44ae2e406a1c02dfe2fa13012f9610000000000000000000000007d8610e9567d2a6c9fbf66a5a13e9ba8bb120d43000000000000000000000000ab45c5a4b0c941a2f231c04c3f49182e1a254052000000000000000000000000aacfeea03eb1561c4e67d661e40682bd20e3541b", + "data": "0x6101a060405260016000556003805460ff191690553480156200002157600080fd5b506040516200473f3803806200473f8339810160408190526200004491620002d6565b604080518082018252601781527f506f6c796d61726b6574204354462045786368616e67650000000000000000006020808301918252835180850185526001808252603160f81b82840190815233600090815282855287812083905560028552879020919091558451909320815190932060e08490526101008190524660a081815287517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818a0188905260608201859052608082019390935230818301528851808203909201825260c0019097528651969093019590952087958795879587959194938d938d9387938793909291906080523060c05261012052505050506001600160a01b0382811661014081905290821661016081905260405163095ea7b360e01b81526004810191909152600019602482015263095ea7b3906044016020604051808303816000875af1158015620001a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cf919062000333565b50620001dd91505062000265565b610180525050600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055506200035e945050505050565b6040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b600060c0516001600160a01b0316306001600160a01b03161480156200028c575060a05146145b1562000299575060805190565b620002b46101205160e051610100516200021c60201b60201c565b905090565b80516001600160a01b0381168114620002d157600080fd5b919050565b60008060008060808587031215620002ed57600080fd5b620002f885620002b9565b93506200030860208601620002b9565b92506200031860408601620002b9565b91506200032860608601620002b9565b905092959194509250565b6000602082840312156200034657600080fd5b815180151581146200035757600080fd5b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516143386200040760003960006108970152600081816104c801528181612698015281816129450152818161355201526136820152600081816105eb015281816125e3015281816128ed0152818161358e01526136be01526000612258015260006122a701526000612282015260006121db015260006122050152600061222f01526143386000f3fe608060405234801561001057600080fd5b50600436106103365760003560e01c806370480275116101b2578063d798eff6116100f9578063e60f0c05116100a2578063f698da251161007c578063f698da2514610892578063fa950b48146108b9578063fbddd751146108cc578063fe729aaf146108df57600080fd5b8063e60f0c0514610834578063edef7d8e14610847578063f23a6e611461085a57600080fd5b8063e03ac3d0116100d3578063e03ac3d014610806578063e2eec4051461080e578063e50e4f971461082157600080fd5b8063d798eff6146107bd578063d7fb272f146107d0578063d82da838146107f357600080fd5b8063a287bdf11161015b578063b28c51c011610135578063b28c51c01461073b578063bc197c8114610759578063c10f1a751461079d57600080fd5b8063a287bdf114610702578063a6dfcf8614610715578063ac8a584a1461072857600080fd5b806383b8a5ae1161018c57806383b8a5ae146106d45780639870d7fe146106dc578063a10f3dce146106ef57600080fd5b8063704802751461068357806375d7370a146106965780637ecebe00146106b457600080fd5b8063429b62e5116102815780635893253c1161022a578063627cdcb911610204578063627cdcb91461061c578063654f0ce41461062457806368c7450f146106375780636d70f7ae1461064a57600080fd5b80635893253c146105ad5780635c1548fb146105e95780635c975abb1461060f57600080fd5b8063456068d21161025b578063456068d21461052f57806346423aa7146105375780634a2a11f5146105a557600080fd5b8063429b62e5146104f457806344bea37e146105145780634544f0551461051c57600080fd5b80631785f53c116102e357806334600901116102bd57806334600901146104b35780633b521d78146104c65780633d6d3598146104ec57600080fd5b80631785f53c1461042257806324d7806c146104355780632dff692d1461046f57600080fd5b80631031e36e116103145780631031e36e146103ca578063131e7e1c146103d457806313e7c9d8146103f457600080fd5b806301ffc9a71461033b5780630647ee201461036357806306b9d6911461039d575b600080fd5b61034e6103493660046136e2565b6108f2565b60405190151581526020015b60405180910390f35b61034e610371366004613756565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152600460205260409020541490565b6103a561098b565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161035a565b6103d2610a24565b005b6007546103a59073ffffffffffffffffffffffffffffffffffffffff1681565b610414610402366004613782565b60026020526000908152604090205481565b60405190815260200161035a565b6103d2610430366004613782565b610a78565b61034e610443366004613782565b73ffffffffffffffffffffffffffffffffffffffff166000908152600160208190526040909120541490565b61049c61047d36600461379f565b6008602052600090815260409020805460019091015460ff9091169082565b60408051921515835260208301919091520161035a565b6103d26104c136600461379f565b610b15565b7f00000000000000000000000000000000000000000000000000000000000000006103a5565b6103d2610b5f565b610414610502366004613782565b60016020526000908152604090205481565b610414600081565b6103d261052a366004613782565b610be3565b6103d2610c36565b61058861054536600461379f565b6040805180820190915260008082526020820152506000908152600860209081526040918290208251808401909352805460ff1615158352600101549082015290565b60408051825115158152602092830151928101929092520161035a565b6103e8610414565b6105d46105bb36600461379f565b6005602052600090815260409020805460019091015482565b6040805192835260208301919091520161035a565b7f00000000000000000000000000000000000000000000000000000000000000006103a5565b60035461034e9060ff1681565b6103d2610c88565b6103d26106323660046139f8565b610c92565b6103d2610645366004613a2d565b610cad565b61034e610658366004613782565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205460011490565b6103d2610691366004613782565b610d07565b60075473ffffffffffffffffffffffffffffffffffffffff166103a5565b6104146106c2366004613782565b60046020526000908152604090205481565b6103d2610da7565b6103d26106ea366004613782565b610e2c565b6104146106fd36600461379f565b610eca565b6103a5610710366004613782565b610ee8565b6103d26107233660046139f8565b610f14565b6103d2610736366004613782565b610f1d565b60065473ffffffffffffffffffffffffffffffffffffffff166103a5565b61076c610767366004613ae8565b610fba565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161035a565b6006546103a59073ffffffffffffffffffffffffffffffffffffffff1681565b6103d26107cb366004613c16565b610fe5565b6104146107de36600461379f565b60009081526005602052604090206001015490565b6103d2610801366004613c7a565b6110f5565b6103a5611136565b6103d261081c366004613c9c565b6111a6565b61041461082f3660046139f8565b6111fb565b6103d2610842366004613cd9565b611298565b6103a5610855366004613782565b6113a6565b61076c610868366004613d6b565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b6104147f000000000000000000000000000000000000000000000000000000000000000081565b6103d26108c7366004613dd4565b6113d2565b6103d26108da366004613782565b611409565b6103d26108ed366004613e09565b61145c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000148061098557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600654604080517faaf10f42000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163aaf10f429160048083019260209291908290030181865afa1580156109fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1f9190613e4e565b905090565b3360009081526001602081905260409091205414610a6e576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a7661155e565b565b3360009081526001602081905260409091205414610ac2576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020526040808220829055513392917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a350565b6000818152600560205260408120549003610b5c576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b33600090815260026020526040902054600114610ba8576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600260205260408082208290555182917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a3565b3360009081526001602081905260409091205414610c2d576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5c816115b6565b3360009081526001602081905260409091205414610c80576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a76611644565b610a766001611699565b6000610c9d826111fb565b9050610ca981836116c7565b5050565b3360009081526001602081905260409091205414610cf7576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d02838383611826565b505050565b3360009081526001602081905260409091205414610d51576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832091909155513392917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc91a350565b3360009081526001602081905260409091205414610df1576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600160205260408082208290555182917f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e91a3565b3360009081526001602081905260409091205414610e76576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822060019055513392917ff1e04d73c4304b5ff164f9d10c7473e2a1593b740674a6107975e2a7001c1e5c91a350565b6000610ed582610b15565b5060009081526005602052604090205490565b600061098582610ef6611136565b60075473ffffffffffffffffffffffffffffffffffffffff16611982565b610b5c81611a80565b3360009081526001602081905260409091205414610f67576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260026020526040808220829055513392917ff7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c91a350565b7fbc197c81000000000000000000000000000000000000000000000000000000005b95945050505050565b600054600203611056576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e43590000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6002600081815533815260209190915260409020546001146110a4576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff16156110e1576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110ec828233611b85565b50506001600055565b806110ff83610eca565b14610ca9576040517f66f8620a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600754604080517fa619486e000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163a619486e9160048083019260209291908290030181865afa1580156109fb573d6000803e3d6000fd5b6111c58160400151826020015184846101800151856101600151611bde565b610ca9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109857fa852566c4e14d00869b6db0220888a9090a13eccdaea03713ff0a3d27bf9767c836000015184602001518560400151866060015187608001518860a001518960c001518a60e001518b61010001518c61012001518d61014001518e610160015160405160200161127d9d9c9b9a99989796959493929190613eae565b60405160208183030381529060405280519060200120611c3c565b600054600203611304576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e435900000000000000000000000000000000000000000000604482015260640161104d565b600260008181553381526020919091526040902054600114611352576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff161561138f576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61139b84848484611ca5565b505060016000555050565b6000610985826113b461098b565b60065473ffffffffffffffffffffffffffffffffffffffff16611e5c565b805160005b81811015610d02576114018382815181106113f4576113f4613f4c565b6020026020010151611a80565b6001016113d7565b3360009081526001602081905260409091205414611453576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5c81611ebe565b6000546002036114c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e435900000000000000000000000000000000000000000000604482015260640161104d565b600260008181553381526020919091526040902054600114611516576040517f7c214f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460ff1615611553576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110ec828233611f4c565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560405133907f203c4bd3e526634f661575359ff30de3b0edaba6c2cb1eac60f730b6d2d9d53690600090a2565b60075460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f9726d7faf7429d6b059560dc858ed769377ccdf8b7541eabe12b22548719831f90600090a3600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905560405133907fa1e8a54850dbd7f520bcc09f47bff152294b77b2081da545a7adf531b7ea283b90600090a2565b336000908152600460205260409020546116b4908290613faa565b3360009081526004602052604090205550565b60008160e001511180156116de5750428160e00151105b15611715576040517fc56873ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61171f82826111a6565b6103e88161012001511115611760576040517fcd4e616700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61176d8160800151610b15565b60008281526008602052604090205460ff16156117b6576040517f7b38b76e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117f0816020015182610100015173ffffffffffffffffffffffffffffffffffffffff919091166000908152600460205260409020541490565b610ca9576040517f756688fe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8183148061183a575082158061183a575081155b15611871576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526005602052604090205415158061189a575060008281526005602052604090205415155b156118d1576040517f3a81d6fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820182528381526020808201848152600087815260058084528582209451855591516001948501558451808601865288815280840187815288835292909352848120925183559051919092015590518291849186917fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d91a48083837fbc9a2432e8aeb48327246cddd6e872ef452812b4243c04e6bfb786a2cd8faf0d60405160405180910390a4505050565b60008061198e8461205a565b8051906020012090506000856040516020016119c6919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815282825280516020918201207fff000000000000000000000000000000000000000000000000000000000000008285015260609790971b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166021840152603583019690965260558083019490945280518083039094018452607590910190525080519201919091209392505050565b602081015173ffffffffffffffffffffffffffffffffffffffff163314611ad3576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611ade826111fb565b600081815260086020526040902080549192509060ff1615611b2c576040517f7b38b76e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405182907f5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d90600090a2505050565b825160005b81811015611bd757611bcf858281518110611ba757611ba7613f4c565b6020026020010151858381518110611bc157611bc1613f4c565b602002602001015185611f4c565b600101611b8a565b5050505050565b600080826002811115611bf357611bf3613e6b565b03611c0b57611c04868686866120eb565b9050610fdc565b6002826002811115611c1f57611c1f613e6b565b03611c3057611c0486868686612139565b611c048686868661218d565b6000610985611c496121c1565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b81600080611cb387846122f5565b91509150600080611cc389612342565b91509150611cd78960200151308488612379565b611ce28989886123a3565b611cec84826123f5565b6101208a0151909450600090611d2e90828c61014001516001811115611d1457611d14613e6b565b14611d1f5787611d21565b865b88888e610140015161243d565b9050611d4b308b60200151848489611d469190613fc2565b612379565b611d573033848461252d565b6000611d6284612596565b90508015611d7a57611d7a308c602001518684612379565b60208b8101516040805187815292830186905282018990526060820188905260808201849052309173ffffffffffffffffffffffffffffffffffffffff9091169087907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a46020808c01516040805187815292830186905282018990526060820188905273ffffffffffffffffffffffffffffffffffffffff169086907f63bf4d16b7fa898ef4c4b2b6d90fd201e9c56313b65638af6088d149d2ce956c9060800160405180910390a35050505050505050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166020820152600090611eb49083908590603401604051602081830303815290604052805190602001206126c6565b90505b9392505050565b60065460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3053c6252a932554235c173caffc1913604dba3a41cee89516f631c4a1a50a3790600090a3600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b81600080611f5a86846122f5565b6101208801519193509150600090611fa790825b8961014001516001811115611f8557611f85613e6b565b14611f905785611f92565b845b8960a001518a60c001518b610140015161243d565b9050600080611fb589612342565b91509150611fcf338a60200151838689611d469190613fc2565b611fdf8960200151888489612379565b6020898101516040805185815292830184905282018890526060820187905260808201859052339173ffffffffffffffffffffffffffffffffffffffff9091169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a4505050505050505050565b6060604051806101a00160405280610171815260200161419261017191396040805173ffffffffffffffffffffffffffffffffffffffff8516602082015201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526120d59291602001614005565b6040516020818303038152906040529050919050565b60008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561212e575061212e858484612763565b90505b949350505050565b6000612146858484612763565b801561212e57508373ffffffffffffffffffffffffffffffffffffffff1661216d86610ee8565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b600061219a858484612763565b801561212e57508373ffffffffffffffffffffffffffffffffffffffff1661216d866113a6565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561222757507f000000000000000000000000000000000000000000000000000000000000000046145b1561225157507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b60008061230584606001516127a5565b61230e846111fb565b905061231a81856116c7565b61232d838560a001518660c00151612817565b915061233a81858561283e565b509250929050565b60008080836101400151600181111561235d5761235d613e6b565b0361236d57505060800151600091565b50506080015190600090565b816000036123915761238c8484836128eb565b61239d565b61239d84848484612940565b50505050565b815160005b81811015611bd7576123ed858583815181106123c6576123c6613f4c565b60200260200101518584815181106123e0576123e0613f4c565b602002602001015161296d565b6001016123a8565b60008061240183612596565b905083811015611eb7576040517fdf4d808000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008515610fdc576000612452858585612a52565b905060008111801561246c5750670de0b6b3a76400008111155b1561252357600083600181111561248557612485613e6b565b036124d75761249661271082614034565b866124b2836124ad81670de0b6b3a7640000613fc2565b612ac1565b6124bc908a614034565b6124c69190614034565b6124d09190614071565b9150612523565b6124eb670de0b6b3a7640000612710614034565b86612502836124ad81670de0b6b3a7640000613fc2565b61250c908a614034565b6125169190614034565b6125209190614071565b91505b5095945050505050565b801561239d5761253f84848484612379565b604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff8516917facffcc86834d0f1a64b0d5a675798deed6ff0bcfc2231edd3480e7288dba7ff4910160405180910390a250505050565b60008160000361264f576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561262b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098591906140ac565b6040517efdd58e0000000000000000000000000000000000000000000000000000000081523060048201526024810183905273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e9060440161260e565b6000806126d38585612ad7565b8051602091820120604080517fff000000000000000000000000000000000000000000000000000000000000008185015260609890981b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166021890152603588019590955260558088019190915284518088039091018152607590960190935250508251920191909120919050565b60008373ffffffffffffffffffffffffffffffffffffffff166127868484612c5a565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116158015906127e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610b5c576040517f5211a07900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008260000361282957506000611eb7565b826128348386614034565b611eb49190614071565b6000838152600860205260409020600181015490811561285e5781612864565b8360a001515b9150818311156128a0576040517fe2cc6ad600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128aa8383613fc2565b9150816000036128de5780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011781555b6001018190559392505050565b7f00000000000000000000000000000000000000000000000000000000000000003073ffffffffffffffffffffffffffffffffffffffff8516036129345761238c818484612c7e565b61239d81858585612c89565b61239d7f000000000000000000000000000000000000000000000000000000000000000085858585612c95565b60006129798484612d41565b9050612986848483612ddd565b8160008061299486846122f5565b61012088015191935091506000906129ac9082611f6e565b90506000806129ba89612342565b915091506129d186868b6020015185858c89612e89565b6020808b01518a820151604080518681529384018590528301899052606083018890526080830186905273ffffffffffffffffffffffffffffffffffffffff9182169291169086907fd0a08e8c493f9c94f29311604c9de1b4e8c8d4c06bd0c789af57f2d65bfec0f69060a00160405180910390a450505050505050505050565b600080826001811115612a6757612a67613e6b565b03612a9f5782600003612a7b576000612a98565b82612a8e670de0b6b3a764000086614034565b612a989190614071565b9050611eb7565b83600003612aae576000611eb4565b83612834670de0b6b3a764000085614034565b6000818310612ad05781611eb7565b5090919050565b6040805160008082526020820190925260609190612af890604481016140c5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f52e831dd000000000000000000000000000000000000000000000000000000001790528151606380825260a082019093529293506000929190820181803683370190505090507f3d3d606380380380913d393d73bebebebebebebebebebebebebebebebebebebe60208201526c010000000000000000000000008502602d8201527f5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73be60418201526c01000000000000000000000000840260608201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060748201528082604051602001612c41929190614005565b6040516020818303038152906040529250505092915050565b6000806000612c698585612f09565b91509150612c7681612f4e565b509392505050565b610d02838383613101565b61239d848484846131ba565b6040517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015286169063f242432a9060c401600060405180830381600087803b158015612d2257600080fd5b505af1158015612d36573d6000803e3d6000fd5b505050505050505050565b6000808361014001516001811115612d5b57612d5b613e6b565b148015612d7e575060008261014001516001811115612d7c57612d7c613e6b565b145b15612d8b57506001610985565b60018361014001516001811115612da457612da4613e6b565b148015612dc7575060018261014001516001811115612dc557612dc5613e6b565b145b15612dd457506002610985565b50600092915050565b612de78383613279565b612e1d576040517f7f9a6f4600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816002811115612e3157612e31613e6b565b03612e77578160800151836080015114610d02576040517fa0b9446500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d02836080015183608001516110f5565b612e958530868a612379565b612ea287878686866132c3565b85612eac84612596565b1015612ee4576040517fdf4d808000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ef4308685611d46858b613fc2565b612f003033858461252d565b50505050505050565b6000808251604103612f3f5760208301516040840151606085015160001a612f338782858561334b565b94509450505050612f47565b506000905060025b9250929050565b6000816004811115612f6257612f62613e6b565b03612f6a5750565b6001816004811115612f7e57612f7e613e6b565b03612fe5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161104d565b6002816004811115612ff957612ff9613e6b565b03613060576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161104d565b600381600481111561307457613074613e6b565b03610b5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161104d565b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d116001600051141617169150508061239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c45440000000000000000000000000000000000604482015260640161104d565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d1160016000511416171691505080611bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c4544000000000000000000000000604482015260640161104d565b60008260c0015160001480613290575060c0820151155b1561329d57506001610985565b611eb76132a98461343a565b6132b28461343a565b856101400151856101400151613454565b60008160028111156132d7576132d7613e6b565b14611bd75760018160028111156132f0576132f0613e6b565b036133165760008281526005602052604090206001015461331190856134ee565b611bd7565b600281600281111561332a5761332a613e6b565b03611bd757600083815260056020526040902060010154613311908661361e565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156133825750600090506003613431565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156133d6573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661342a57600060019250925050613431565b9150600090505b94509492505050565b60006109858260a001518360c00151846101400151612a52565b60008083600181111561346957613469613e6b565b036134ad57600082600181111561348257613482613e6b565b036134a357670de0b6b3a764000061349a8587613faa565b10159050612131565b5082841015612131565b60008260018111156134c1576134c1613e6b565b036134d0575083831015612131565b670de0b6b3a76400006134e38587613faa565b111595945050505050565b60408051600280825260608201835260009260208301908036833701905050905060018160008151811061352457613524613f4c565b60200260200101818152505060028160018151811061354557613545613f4c565b60209081029190910101527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166372ce42757f00000000000000000000000000000000000000000000000000000000000000005b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526135f09190600090889087908990600401614116565b600060405180830381600087803b15801561360a57600080fd5b505af1158015612f00573d6000803e3d6000fd5b60408051600280825260608201835260009260208301908036833701905050905060018160008151811061365457613654613f4c565b60200260200101818152505060028160018151811061367557613675613f4c565b60209081029190910101527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639e7212ad7f00000000000000000000000000000000000000000000000000000000000000006135ae565b6000602082840312156136f457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611eb757600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610b5c57600080fd5b803561375181613724565b919050565b6000806040838503121561376957600080fd5b823561377481613724565b946020939093013593505050565b60006020828403121561379457600080fd5b8135611eb781613724565b6000602082840312156137b157600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101a0810167ffffffffffffffff8111828210171561380b5761380b6137b8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613858576138586137b8565b604052919050565b80356002811061375157600080fd5b80356003811061375157600080fd5b600082601f83011261388f57600080fd5b813567ffffffffffffffff8111156138a9576138a96137b8565b6138da60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613811565b8181528460208386010111156138ef57600080fd5b816020850160208301376000918101602001919091529392505050565b60006101a0828403121561391f57600080fd5b6139276137e7565b90508135815261393960208301613746565b602082015261394a60408301613746565b604082015261395b60608301613746565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101406139ae818401613860565b908201526101606139c083820161386f565b908201526101808281013567ffffffffffffffff8111156139e057600080fd5b6139ec8582860161387e565b82840152505092915050565b600060208284031215613a0a57600080fd5b813567ffffffffffffffff811115613a2157600080fd5b6121318482850161390c565b600080600060608486031215613a4257600080fd5b505081359360208301359350604090920135919050565b600067ffffffffffffffff821115613a7357613a736137b8565b5060051b60200190565b600082601f830112613a8e57600080fd5b81356020613aa3613a9e83613a59565b613811565b82815260059290921b84018101918181019086841115613ac257600080fd5b8286015b84811015613add5780358352918301918301613ac6565b509695505050505050565b600080600080600060a08688031215613b0057600080fd5b8535613b0b81613724565b94506020860135613b1b81613724565b9350604086013567ffffffffffffffff80821115613b3857600080fd5b613b4489838a01613a7d565b94506060880135915080821115613b5a57600080fd5b613b6689838a01613a7d565b93506080880135915080821115613b7c57600080fd5b50613b898882890161387e565b9150509295509295909350565b600082601f830112613ba757600080fd5b81356020613bb7613a9e83613a59565b82815260059290921b84018101918181019086841115613bd657600080fd5b8286015b84811015613add57803567ffffffffffffffff811115613bfa5760008081fd5b613c088986838b010161390c565b845250918301918301613bda565b60008060408385031215613c2957600080fd5b823567ffffffffffffffff80821115613c4157600080fd5b613c4d86838701613b96565b93506020850135915080821115613c6357600080fd5b50613c7085828601613a7d565b9150509250929050565b60008060408385031215613c8d57600080fd5b50508035926020909101359150565b60008060408385031215613caf57600080fd5b82359150602083013567ffffffffffffffff811115613ccd57600080fd5b613c708582860161390c565b60008060008060808587031215613cef57600080fd5b843567ffffffffffffffff80821115613d0757600080fd5b613d138883890161390c565b95506020870135915080821115613d2957600080fd5b613d3588838901613b96565b9450604087013593506060870135915080821115613d5257600080fd5b50613d5f87828801613a7d565b91505092959194509250565b600080600080600060a08688031215613d8357600080fd5b8535613d8e81613724565b94506020860135613d9e81613724565b93506040860135925060608601359150608086013567ffffffffffffffff811115613dc857600080fd5b613b898882890161387e565b600060208284031215613de657600080fd5b813567ffffffffffffffff811115613dfd57600080fd5b61213184828501613b96565b60008060408385031215613e1c57600080fd5b823567ffffffffffffffff811115613e3357600080fd5b613e3f8582860161390c565b95602094909401359450505050565b600060208284031215613e6057600080fd5b8151611eb781613724565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110613eaa57613eaa613e6b565b9052565b60006101a0820190508e82528d602083015273ffffffffffffffffffffffffffffffffffffffff808e166040840152808d166060840152808c166080840152508960a08301528860c08301528760e083015286610100830152856101208301528461014083015260028410613f2557613f25613e6b565b83610160830152613f3a610180830184613e9a565b9e9d5050505050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115613fbd57613fbd613f7b565b500190565b600082821015613fd457613fd4613f7b565b500390565b60005b83811015613ff4578181015183820152602001613fdc565b8381111561239d5750506000910152565b60008351614017818460208801613fd9565b83519083019061402b818360208801613fd9565b01949350505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561406c5761406c613f7b565b500290565b6000826140a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000602082840312156140be57600080fd5b5051919050565b60208152600082518060208401526140e4816040850160208701613fd9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060a0820173ffffffffffffffffffffffffffffffffffffffff881683526020878185015286604085015260a0606085015281865180845260c086019150828801935060005b818110156141795784518352938301939183019160010161415d565b5050809350505050826080830152969550505050505056fe608060405234801561001057600080fd5b5060405161017138038061017183398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e7565b6000602082840312156100ca578081fd5b81516001600160a01b03811681146100e0578182fd5b9392505050565b607c806100f56000396000f3fe6080604052600080546001600160a01b0316813563530ca43760e11b1415602857808252602082f35b3682833781823684845af490503d82833e806041573d82fd5b503d81f3fea264697066735822122015938e3bf2c49f5df5c1b7f9569fa85cc5d6f3074bb258a2dc0c7e299bc9e33664736f6c63430008040033a264697066735822122056df26e165b5957191bd0ff149c07ae13f5a6b4252973fb3c07a4653cce0f3b164736f6c634300080f00330000000000000000000000002e8dcfe708d44ae2e406a1c02dfe2fa13012f9610000000000000000000000007d8610e9567d2a6c9fbf66a5a13e9ba8bb120d43000000000000000000000000ab45c5a4b0c941a2f231c04c3f49182e1a254052000000000000000000000000aacfeea03eb1561c4e67d661e40682bd20e3541b", "nonce": "0x0", "accessList": [] }, "additionalContracts": [] }, { - "hash": "0x9aaa83506c9b5ddb21f0eebb9c4f328e821c04aacef8b01a0d61c275c16ec50b", + "hash": null, "transactionType": "CALL", "contractName": "CTFExchange", - "contractAddress": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "function": "addAdmin(address)", "arguments": [ "0x665057d2bDc8F83722435712a98747EE4A7B8aEb" ], "transaction": { "type": "0x02", - "from": "0x09b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "to": "0xfffd6f0db1ec30a58884b23546b4f1bb333f818f", - "gas": "0x1107e", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x1107c", "value": "0x0", "data": "0x70480275000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", "nonce": "0x1", @@ -45,19 +45,19 @@ "additionalContracts": [] }, { - "hash": "0xdc92ff12528e1297d512077ef17014d7d11530801898a96c59bde64a959b5c0c", + "hash": null, "transactionType": "CALL", "contractName": "CTFExchange", - "contractAddress": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "function": "addOperator(address)", "arguments": [ "0x665057d2bDc8F83722435712a98747EE4A7B8aEb" ], "transaction": { "type": "0x02", - "from": "0x09b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "to": "0xfffd6f0db1ec30a58884b23546b4f1bb333f818f", - "gas": "0x110f1", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x10169", "value": "0x0", "data": "0x9870d7fe000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", "nonce": "0x2", @@ -66,17 +66,17 @@ "additionalContracts": [] }, { - "hash": "0x59508bd1f8541283b91f60a9f719223f95475648bc24139a53f37fcb667a7fad", + "hash": null, "transactionType": "CALL", "contractName": "CTFExchange", - "contractAddress": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "function": "renounceAdminRole()", "arguments": [], "transaction": { "type": "0x02", - "from": "0x09b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "to": "0xfffd6f0db1ec30a58884b23546b4f1bb333f818f", - "gas": "0x7d3c", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x7d00", "value": "0x0", "data": "0x83b8a5ae", "nonce": "0x3", @@ -85,17 +85,17 @@ "additionalContracts": [] }, { - "hash": "0xc923d61fbb2d7351d26e7045cb468ec6e0529d9aa7a8622668762bb4b0334b73", + "hash": null, "transactionType": "CALL", "contractName": "CTFExchange", - "contractAddress": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", + "contractAddress": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E", "function": "renounceOperatorRole()", "arguments": [], "transaction": { "type": "0x02", - "from": "0x09b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "to": "0xfffd6f0db1ec30a58884b23546b4f1bb333f818f", - "gas": "0x84d2", + "from": "0x81fd0e5e7372ed171f421a7c33a4b263ea9dcc25", + "to": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e", + "gas": "0x7d34", "value": "0x0", "data": "0x3d6d3598", "nonce": "0x4", @@ -104,257 +104,18 @@ "additionalContracts": [] } ], - "receipts": [ - { - "transactionHash": "0x999e01a7d4c213c0fa844f13f0c4d951d4337c1f33391b86b38f1fe55f74969d", - "transactionIndex": "0x3", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "from": "0x09b39caAd32c6C3999aA3f9248C6dfb01f7806d4", - "to": null, - "cumulativeGasUsed": "0x3c19b7", - "gasUsed": "0x31d71c", - "contractAddress": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", - "logs": [ - { - "address": "0x2E8DCfE708D44ae2e406a1c02DFE2Fa13012f961", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x000000000000000000000000fffd6f0db1ec30a58884b23546b4f1bb333f818f", - "0x0000000000000000000000007d8610e9567d2a6c9fbf66a5a13e9ba8bb120d43" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "transactionHash": "0x999e01a7d4c213c0fa844f13f0c4d951d4337c1f33391b86b38f1fe55f74969d", - "transactionIndex": "0x3", - "logIndex": "0x14", - "removed": false - }, - { - "address": "0x0000000000000000000000000000000000001010", - "topics": [ - "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", - "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "0x000000000000000000000000f903ba9e006193c1527bfbe65fe2123704ea3f99" - ], - "data": "0x0000000000000000000000000000000000000000000000000022d0228bbc4800000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000732edd19007eaca5164000000000000000000000000000000000000000000000000056a45beea6bb800000000000000000000000000000000000000000000000732edf4602a76869964", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "transactionHash": "0x999e01a7d4c213c0fa844f13f0c4d951d4337c1f33391b86b38f1fe55f74969d", - "transactionIndex": "0x3", - "logIndex": "0x15", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00008000000000000000000000000000000000000000000000000010000000000000000000000060004000000000008080008000000000000000000000600000000000000000000000000000000000800000000000000000000100000000000000000000000020000000008000000000000000000000000080000000000000000000000000000000000001000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000004000000000000000000041000400000000000000000000000000100000001000000010000000000000000000000000000000000000000000001000000000100000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e12" - }, - { - "transactionHash": "0x9aaa83506c9b5ddb21f0eebb9c4f328e821c04aacef8b01a0d61c275c16ec50b", - "transactionIndex": "0x4", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "from": "0x09b39caAd32c6C3999aA3f9248C6dfb01f7806d4", - "to": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", - "cumulativeGasUsed": "0x3cd409", - "gasUsed": "0xba52", - "contractAddress": null, - "logs": [ - { - "address": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", - "topics": [ - "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc", - "0x000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4" - ], - "data": "0x", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "transactionHash": "0x9aaa83506c9b5ddb21f0eebb9c4f328e821c04aacef8b01a0d61c275c16ec50b", - "transactionIndex": "0x4", - "logIndex": "0x16", - "removed": false - }, - { - "address": "0x0000000000000000000000000000000000001010", - "topics": [ - "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", - "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "0x000000000000000000000000f903ba9e006193c1527bfbe65fe2123704ea3f99" - ], - "data": "0x00000000000000000000000000000000000000000000000000008224ab0a1c00000000000000000000000000000000000000000000000000056a45bee6ea9808000000000000000000000000000000000000000000000732edf4602a768699640000000000000000000000000000000000000000000000000569c39a3be07c08000000000000000000000000000000000000000000000732edf4e24f2190b564", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "transactionHash": "0x9aaa83506c9b5ddb21f0eebb9c4f328e821c04aacef8b01a0d61c275c16ec50b", - "transactionIndex": "0x4", - "logIndex": "0x17", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000010000000000000000000000020000000000000008000008000000000010000000000400000010000000000000000000000000000800000000000000000000100000000000000000080000000000000000000200000000000000000000080000000000000000000000000000000000000000001000000000000000000000000000000000000200000000000000000000000000000000000080000000000000000000000004000000000000028000041000000000000000000000000000000100000001000000000000000000000000000000000000100000000000000000000000000100000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e12" - }, - { - "transactionHash": "0xdc92ff12528e1297d512077ef17014d7d11530801898a96c59bde64a959b5c0c", - "transactionIndex": "0x5", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "from": "0x09b39caAd32c6C3999aA3f9248C6dfb01f7806d4", - "to": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", - "cumulativeGasUsed": "0x3d8eaa", - "gasUsed": "0xbaa1", - "contractAddress": null, - "logs": [ - { - "address": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", - "topics": [ - "0xf1e04d73c4304b5ff164f9d10c7473e2a1593b740674a6107975e2a7001c1e5c", - "0x000000000000000000000000665057d2bdc8f83722435712a98747ee4a7b8aeb", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4" - ], - "data": "0x", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "transactionHash": "0xdc92ff12528e1297d512077ef17014d7d11530801898a96c59bde64a959b5c0c", - "transactionIndex": "0x5", - "logIndex": "0x18", - "removed": false - }, - { - "address": "0x0000000000000000000000000000000000001010", - "topics": [ - "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", - "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "0x000000000000000000000000f903ba9e006193c1527bfbe65fe2123704ea3f99" - ], - "data": "0x0000000000000000000000000000000000000000000000000000825bd9571e000000000000000000000000000000000000000000000000000569c39a3bd36244000000000000000000000000000000000000000000000732edf4e24f2190b5640000000000000000000000000000000000000000000000000569413e627c4444000000000000000000000000000000000000000000000732edf564aafae7d364", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "transactionHash": "0xdc92ff12528e1297d512077ef17014d7d11530801898a96c59bde64a959b5c0c", - "transactionIndex": "0x5", - "logIndex": "0x19", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000010000000000000000000000020000000000000008000008000000000010000000000400000010000000000000000000000000000800000000000000000000100000000000000000080000000000000000000000000000000000000000080000000000000000000000000000000000000000001000000000000000000000000000000002000200000000000000000100000000000000000000000000000000000000000004000000000000028000041000000000000000000000000000000100000001000000000000000000000000000000000000000800000000000000000000000100000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e12" - }, - { - "transactionHash": "0x59508bd1f8541283b91f60a9f719223f95475648bc24139a53f37fcb667a7fad", - "transactionIndex": "0x6", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "from": "0x09b39caAd32c6C3999aA3f9248C6dfb01f7806d4", - "to": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", - "cumulativeGasUsed": "0x3de956", - "gasUsed": "0x5aac", - "contractAddress": null, - "logs": [ - { - "address": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", - "topics": [ - "0x787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4" - ], - "data": "0x", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "transactionHash": "0x59508bd1f8541283b91f60a9f719223f95475648bc24139a53f37fcb667a7fad", - "transactionIndex": "0x6", - "logIndex": "0x1a", - "removed": false - }, - { - "address": "0x0000000000000000000000000000000000001010", - "topics": [ - "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", - "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "0x000000000000000000000000f903ba9e006193c1527bfbe65fe2123704ea3f99" - ], - "data": "0x00000000000000000000000000000000000000000000000000003f55650b28000000000000000000000000000000000000000000000000000569413e626f24f2000000000000000000000000000000000000000000000732edf564aafae7d364000000000000000000000000000000000000000000000000056901e8fd63fcf2000000000000000000000000000000000000000000000732edf5a4005ff2fb64", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "transactionHash": "0x59508bd1f8541283b91f60a9f719223f95475648bc24139a53f37fcb667a7fad", - "transactionIndex": "0x6", - "logIndex": "0x1b", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000002000000000000000000000010000000000000000000000020000000000000008000008000000000010000000000400000000000000000000000000000000000800000000000000000000100000000000000020080000000000000000000000000000000000000002080000000000000000000000000000000000000000001000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000041000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000100000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e12" - }, - { - "transactionHash": "0xc923d61fbb2d7351d26e7045cb468ec6e0529d9aa7a8622668762bb4b0334b73", - "transactionIndex": "0x7", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "from": "0x09b39caAd32c6C3999aA3f9248C6dfb01f7806d4", - "to": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", - "cumulativeGasUsed": "0x3e4428", - "gasUsed": "0x5ad2", - "contractAddress": null, - "logs": [ - { - "address": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f", - "topics": [ - "0xf7262ed0443cc211121ceb1a80d69004f319245615a7488f951f1437fd91642c", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4" - ], - "data": "0x", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "transactionHash": "0xc923d61fbb2d7351d26e7045cb468ec6e0529d9aa7a8622668762bb4b0334b73", - "transactionIndex": "0x7", - "logIndex": "0x1c", - "removed": false - }, - { - "address": "0x0000000000000000000000000000000000001010", - "topics": [ - "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", - "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x00000000000000000000000009b39caad32c6c3999aa3f9248c6dfb01f7806d4", - "0x000000000000000000000000f903ba9e006193c1527bfbe65fe2123704ea3f99" - ], - "data": "0x00000000000000000000000000000000000000000000000000003f6feff91c00000000000000000000000000000000000000000000000000056901e8fd5d9cda000000000000000000000000000000000000000000000732edf5a4005ff2fb640000000000000000000000000000000000000000000000000568c2790d6480da000000000000000000000000000000000000000000000732edf5e3704fec1764", - "blockHash": "0x5ba3fe70b82958f797ca9ecb042b5aab59dfa823e21f90afedc26de3d22d9d57", - "blockNumber": "0x1af2ce6", - "transactionHash": "0xc923d61fbb2d7351d26e7045cb468ec6e0529d9aa7a8622668762bb4b0334b73", - "transactionIndex": "0x7", - "logIndex": "0x1d", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000010000000000000000000000020000000000000008000008000000000010000000000400000000000000000000000000000000000800000000000000000000100000000000000000080000000000000100000000000000000000000000080000000000000000000000000000000000000000001000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004004000000000000800041000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000100000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e12" - } - ], + "receipts": [], "libraries": [], - "pending": [], + "pending": [ + "0x4cf5ff4362abb630398f45b0ed26787e7b2524c53c4cc006641764f5f8267609" + ], "path": "/home/jonathan/WorkSpace/polymarket/ctf-exchange/broadcast/ExchangeDeployment.s.sol/80001/deployExchange-latest.json", "returns": { "exchange": { "internal_type": "address", - "value": "0xfffd6f0dB1ec30A58884B23546B4F1bB333f818f" + "value": "0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E" } }, - "timestamp": 1663955831, - "commit": "ec7c23f" + "timestamp": 1664228139, + "commit": "af3ba7f" } \ No newline at end of file