diff --git a/pkg/contracts/testdappv2/TestDAppV2.bin b/pkg/contracts/testdappv2/TestDAppV2.bin index df743e37ee..0c6fb2ee6f 100644 --- a/pkg/contracts/testdappv2/TestDAppV2.bin +++ b/pkg/contracts/testdappv2/TestDAppV2.bin @@ -1 +1 @@ -6080604052348015600f57600080fd5b50611c818061001f6000396000f3fe6080604052600436106100e15760003560e01c8063ad23b28b1161007f578063c9028a3611610059578063c9028a36146102c1578063e2842ed7146102ea578063f592cbfb14610327578063f936ae8514610364576100e8565b8063ad23b28b14610230578063c7a339a91461026d578063c85f843414610296576100e8565b80635bcfd616116100bb5780635bcfd6161461017e578063676cc054146101a75780639291fe26146101d7578063a799911f14610214576100e8565b806316ba7197146100ed57806336e980a0146101185780634297a26314610141576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b506101026103a1565b60405161010f9190610ee1565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a919061104c565b6103da565b005b34801561014d57600080fd5b50610168600480360381019061016391906110cb565b610404565b6040516101759190611111565b60405180910390f35b34801561018a57600080fd5b506101a560048036038101906101a0919061123a565b61041c565b005b6101c160048036038101906101bc91906112fd565b61081b565b6040516101ce91906113b2565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f9919061104c565b61092d565b60405161020b9190611111565b60405180910390f35b61022e6004803603810190610229919061104c565b610970565b005b34801561023c57600080fd5b50610257600480360381019061025291906113d4565b610999565b6040516102649190610ee1565b60405180910390f35b34801561027957600080fd5b50610294600480360381019061028f919061143f565b6109f9565b005b3480156102a257600080fd5b506102ab610aad565b6040516102b89190610ee1565b60405180910390f35b3480156102cd57600080fd5b506102e860048036038101906102e391906114cd565b610ae6565b005b3480156102f657600080fd5b50610311600480360381019061030c91906110cb565b610c20565b60405161031e9190611531565b60405180910390f35b34801561033357600080fd5b5061034e6004803603810190610349919061104c565b610c40565b60405161035b9190611531565b60405180910390f35b34801561037057600080fd5b5061038b600480360381019061038691906115ed565b610c8f565b6040516103989190611645565b60405180910390f35b6040518060400160405280600881526020017f776974686472617700000000000000000000000000000000000000000000000081525081565b6103e381610cd8565b156103ed57600080fd5b6103f681610d2e565b610401816000610d82565b50565b60026020528060005260406000206000915090505481565b61046982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610cd8565b1561047357600080fd5b6104c082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610dc4565b1561078b576000808573ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b81526004016040805180830381865afa158015610512573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610536919061168a565b915091508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146105a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059f90611716565b60405180910390fd5b848111156105eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e2906117a8565b60405180910390fd5b600081866105f991906117f7565b90508673ffffffffffffffffffffffffffffffffffffffff1663095ea7b333886040518363ffffffff1660e01b815260040161063692919061182b565b6020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190611880565b503373ffffffffffffffffffffffffffffffffffffffff16637c0dcb5f8960200160208101906106a991906113d4565b6040516020016106b99190611645565b604051602081830303815290604052838a6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052806000815250815260200160008152506040518563ffffffff1660e01b8152600401610751949392919061199a565b600060405180830381600087803b15801561076b57600080fd5b505af115801561077f573d6000803e3d6000fd5b50505050505050610814565b60008083839050146107e15782828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506107fd565b6107fc8660200160208101906107f791906113d4565b610999565b5b905061080881610d2e565b6108128185610d82565b505b5050505050565b606060008084849050146108735783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061088f565b61088e85600001602081019061088991906113d4565b610999565b5b905061089a81610d2e565b6108a48134610d82565b8460000160208101906108b791906113d4565b6001826040516108c79190611a29565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051806020016040528060008152509150509392505050565b600060026000836040516020016109449190611a7c565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b61097981610cd8565b1561098357600080fd5b61098c81610d2e565b6109968134610d82565b50565b60606040518060400160405280601681526020017f63616c6c65642077697468206e6f206d65737361676500000000000000000000815250826040516020016109e3929190611adb565b6040516020818303038152906040529050919050565b610a0281610cd8565b15610a0c57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401610a4993929190611b03565b6020604051808303816000875af1158015610a68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8c9190611880565b610a9557600080fd5b610a9e81610d2e565b610aa88183610d82565b505050565b6040518060400160405280601681526020017f63616c6c65642077697468206e6f206d6573736167650000000000000000000081525081565b610b41818060600190610af99190611b49565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610d2e565b610b9e818060600190610b549190611b49565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610d82565b806000016020810190610bb191906113d4565b6001828060600190610bc39190611b49565b604051610bd1929190611bd1565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006020528060005260406000206000915054906101000a900460ff1681565b600080600083604051602001610c569190611a7c565b60405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900460ff169050919050565b6001818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051602001610ce990611c36565b6040516020818303038152906040528051906020012082604051602001610d109190611a7c565b60405160208183030381529060405280519060200120149050919050565b600160008083604051602001610d449190611a7c565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b806002600084604051602001610d989190611a7c565b604051602081830303815290604052805190602001208152602001908152602001600020819055505050565b60006040518060400160405280600881526020017f7769746864726177000000000000000000000000000000000000000000000000815250604051602001610e0c9190611a7c565b6040516020818303038152906040528051906020012082604051602001610e339190611a7c565b60405160208183030381529060405280519060200120149050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e8b578082015181840152602081019050610e70565b60008484015250505050565b6000601f19601f8301169050919050565b6000610eb382610e51565b610ebd8185610e5c565b9350610ecd818560208601610e6d565b610ed681610e97565b840191505092915050565b60006020820190508181036000830152610efb8184610ea8565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610f5982610e97565b810181811067ffffffffffffffff82111715610f7857610f77610f21565b5b80604052505050565b6000610f8b610f03565b9050610f978282610f50565b919050565b600067ffffffffffffffff821115610fb757610fb6610f21565b5b610fc082610e97565b9050602081019050919050565b82818337600083830152505050565b6000610fef610fea84610f9c565b610f81565b90508281526020810184848401111561100b5761100a610f1c565b5b611016848285610fcd565b509392505050565b600082601f83011261103357611032610f17565b5b8135611043848260208601610fdc565b91505092915050565b60006020828403121561106257611061610f0d565b5b600082013567ffffffffffffffff8111156110805761107f610f12565b5b61108c8482850161101e565b91505092915050565b6000819050919050565b6110a881611095565b81146110b357600080fd5b50565b6000813590506110c58161109f565b92915050565b6000602082840312156110e1576110e0610f0d565b5b60006110ef848285016110b6565b91505092915050565b6000819050919050565b61110b816110f8565b82525050565b60006020820190506111266000830184611102565b92915050565b600080fd5b6000606082840312156111475761114661112c565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117b82611150565b9050919050565b61118b81611170565b811461119657600080fd5b50565b6000813590506111a881611182565b92915050565b6111b7816110f8565b81146111c257600080fd5b50565b6000813590506111d4816111ae565b92915050565b600080fd5b600080fd5b60008083601f8401126111fa576111f9610f17565b5b8235905067ffffffffffffffff811115611217576112166111da565b5b602083019150836001820283011115611233576112326111df565b5b9250929050565b60008060008060006080868803121561125657611255610f0d565b5b600086013567ffffffffffffffff81111561127457611273610f12565b5b61128088828901611131565b955050602061129188828901611199565b94505060406112a2888289016111c5565b935050606086013567ffffffffffffffff8111156112c3576112c2610f12565b5b6112cf888289016111e4565b92509250509295509295909350565b6000602082840312156112f4576112f361112c565b5b81905092915050565b60008060006040848603121561131657611315610f0d565b5b6000611324868287016112de565b935050602084013567ffffffffffffffff81111561134557611344610f12565b5b611351868287016111e4565b92509250509250925092565b600081519050919050565b600082825260208201905092915050565b60006113848261135d565b61138e8185611368565b935061139e818560208601610e6d565b6113a781610e97565b840191505092915050565b600060208201905081810360008301526113cc8184611379565b905092915050565b6000602082840312156113ea576113e9610f0d565b5b60006113f884828501611199565b91505092915050565b600061140c82611170565b9050919050565b61141c81611401565b811461142757600080fd5b50565b60008135905061143981611413565b92915050565b60008060006060848603121561145857611457610f0d565b5b60006114668682870161142a565b9350506020611477868287016111c5565b925050604084013567ffffffffffffffff81111561149857611497610f12565b5b6114a48682870161101e565b9150509250925092565b6000608082840312156114c4576114c361112c565b5b81905092915050565b6000602082840312156114e3576114e2610f0d565b5b600082013567ffffffffffffffff81111561150157611500610f12565b5b61150d848285016114ae565b91505092915050565b60008115159050919050565b61152b81611516565b82525050565b60006020820190506115466000830184611522565b92915050565b600067ffffffffffffffff82111561156757611566610f21565b5b61157082610e97565b9050602081019050919050565b600061159061158b8461154c565b610f81565b9050828152602081018484840111156115ac576115ab610f1c565b5b6115b7848285610fcd565b509392505050565b600082601f8301126115d4576115d3610f17565b5b81356115e484826020860161157d565b91505092915050565b60006020828403121561160357611602610f0d565b5b600082013567ffffffffffffffff81111561162157611620610f12565b5b61162d848285016115bf565b91505092915050565b61163f81611170565b82525050565b600060208201905061165a6000830184611636565b92915050565b60008151905061166f81611182565b92915050565b600081519050611684816111ae565b92915050565b600080604083850312156116a1576116a0610f0d565b5b60006116af85828601611660565b92505060206116c085828601611675565b9150509250929050565b7f7a72633230206973206e6f742067617320746f6b656e00000000000000000000600082015250565b6000611700601683610e5c565b915061170b826116ca565b602082019050919050565b6000602082019050818103600083015261172f816116f3565b9050919050565b7f66656520616d6f756e7420697320686967686572207468616e2074686520616d60008201527f6f756e7400000000000000000000000000000000000000000000000000000000602082015250565b6000611792602483610e5c565b915061179d82611736565b604082019050919050565b600060208201905081810360008301526117c181611785565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611802826110f8565b915061180d836110f8565b9250828203905081811115611825576118246117c8565b5b92915050565b60006040820190506118406000830185611636565b61184d6020830184611102565b9392505050565b61185d81611516565b811461186857600080fd5b50565b60008151905061187a81611854565b92915050565b60006020828403121561189657611895610f0d565b5b60006118a48482850161186b565b91505092915050565b6118b681611170565b82525050565b6118c581611516565b82525050565b600082825260208201905092915050565b60006118e78261135d565b6118f181856118cb565b9350611901818560208601610e6d565b61190a81610e97565b840191505092915050565b61191e816110f8565b82525050565b600060a08301600083015161193c60008601826118ad565b50602083015161194f60208601826118bc565b50604083015161196260408601826118ad565b506060830151848203606086015261197a82826118dc565b915050608083015161198f6080860182611915565b508091505092915050565b600060808201905081810360008301526119b48187611379565b90506119c36020830186611102565b6119d06040830185611636565b81810360608301526119e28184611924565b905095945050505050565b600081905092915050565b6000611a038261135d565b611a0d81856119ed565b9350611a1d818560208601610e6d565b80840191505092915050565b6000611a3582846119f8565b915081905092915050565b600081905092915050565b6000611a5682610e51565b611a608185611a40565b9350611a70818560208601610e6d565b80840191505092915050565b6000611a888284611a4b565b915081905092915050565b60008160601b9050919050565b6000611aab82611a93565b9050919050565b6000611abd82611aa0565b9050919050565b611ad5611ad082611170565b611ab2565b82525050565b6000611ae78285611a4b565b9150611af38284611ac4565b6014820191508190509392505050565b6000606082019050611b186000830186611636565b611b256020830185611636565b611b326040830184611102565b949350505050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611b6657611b65611b3a565b5b80840192508235915067ffffffffffffffff821115611b8857611b87611b3f565b5b602083019250600182023603831315611ba457611ba3611b44565b5b509250929050565b6000611bb883856119ed565b9350611bc5838584610fcd565b82840190509392505050565b6000611bde828486611bac565b91508190509392505050565b7f7265766572740000000000000000000000000000000000000000000000000000600082015250565b6000611c20600683611a40565b9150611c2b82611bea565b600682019050919050565b6000611c4182611c13565b915081905091905056fea26469706673582212203d852113b7067028da94605feb847f25ee189262a1faa07f6908ea00403f802664736f6c634300081a0033 +6080604052348015600f57600080fd5b50611d9b8061001f6000396000f3fe6080604052600436106100e15760003560e01c8063ad23b28b1161007f578063c9028a3611610059578063c9028a36146102c1578063e2842ed7146102ea578063f592cbfb14610327578063f936ae8514610364576100e8565b8063ad23b28b14610230578063c7a339a91461026d578063c85f843414610296576100e8565b80635bcfd616116100bb5780635bcfd6161461017e578063676cc054146101a75780639291fe26146101d7578063a799911f14610214576100e8565b806316ba7197146100ed57806336e980a0146101185780634297a26314610141576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b506101026103a1565b60405161010f9190610f9b565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611106565b6103da565b005b34801561014d57600080fd5b5061016860048036038101906101639190611185565b610404565b60405161017591906111cb565b60405180910390f35b34801561018a57600080fd5b506101a560048036038101906101a091906112f4565b61041c565b005b6101c160048036038101906101bc91906113b7565b610823565b6040516101ce919061146c565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190611106565b610935565b60405161020b91906111cb565b60405180910390f35b61022e60048036038101906102299190611106565b610978565b005b34801561023c57600080fd5b506102576004803603810190610252919061148e565b6109a1565b6040516102649190610f9b565b60405180910390f35b34801561027957600080fd5b50610294600480360381019061028f91906114f9565b610a01565b005b3480156102a257600080fd5b506102ab610ab5565b6040516102b89190610f9b565b60405180910390f35b3480156102cd57600080fd5b506102e860048036038101906102e39190611587565b610aee565b005b3480156102f657600080fd5b50610311600480360381019061030c9190611185565b610c28565b60405161031e91906115eb565b60405180910390f35b34801561033357600080fd5b5061034e60048036038101906103499190611106565b610c48565b60405161035b91906115eb565b60405180910390f35b34801561037057600080fd5b5061038b600480360381019061038691906116a7565b610c98565b60405161039891906116ff565b60405180910390f35b6040518060400160405280600881526020017f776974686472617700000000000000000000000000000000000000000000000081525081565b6103e381610ce1565b156103ed57600080fd5b6103f681610d37565b610401816000610d8b565b50565b60036020528060005260406000206000915090505481565b61046982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610ce1565b1561047357600080fd5b6104c082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610dcd565b15610793576000808573ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b81526004016040805180830381865afa158015610512573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105369190611744565b915091508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146105a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059f906117d0565b60405180910390fd5b848111156105eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e290611862565b60405180910390fd5b600081866105f991906118b1565b9050610603610e5a565b8673ffffffffffffffffffffffffffffffffffffffff1663095ea7b333886040518363ffffffff1660e01b815260040161063e9291906118e5565b6020604051808303816000875af115801561065d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610681919061193a565b503373ffffffffffffffffffffffffffffffffffffffff16637c0dcb5f8960200160208101906106b1919061148e565b6040516020016106c191906116ff565b604051602081830303815290604052838a6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052806000815250815260200160008152506040518563ffffffff1660e01b81526004016107599493929190611a54565b600060405180830381600087803b15801561077357600080fd5b505af1158015610787573d6000803e3d6000fd5b5050505050505061081c565b60008083839050146107e95782828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610805565b6108048660200160208101906107ff919061148e565b6109a1565b5b905061081081610d37565b61081a8185610d8b565b505b5050505050565b6060600080848490501461087b5783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610897565b610896856000016020810190610891919061148e565b6109a1565b5b90506108a281610d37565b6108ac8134610d8b565b8460000160208101906108bf919061148e565b6002826040516108cf9190611ae3565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051806020016040528060008152509150509392505050565b6000600360008360405160200161094c9190611b36565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b61098181610ce1565b1561098b57600080fd5b61099481610d37565b61099e8134610d8b565b50565b60606040518060400160405280601681526020017f63616c6c65642077697468206e6f206d65737361676500000000000000000000815250826040516020016109eb929190611b95565b6040516020818303038152906040529050919050565b610a0a81610ce1565b15610a1457600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401610a5193929190611bbd565b6020604051808303816000875af1158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a94919061193a565b610a9d57600080fd5b610aa681610d37565b610ab08183610d8b565b505050565b6040518060400160405280601681526020017f63616c6c65642077697468206e6f206d6573736167650000000000000000000081525081565b610b49818060600190610b019190611c03565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610d37565b610ba6818060600190610b5c9190611c03565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610d8b565b806000016020810190610bb9919061148e565b6002828060600190610bcb9190611c03565b604051610bd9929190611c8b565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60016020528060005260406000206000915054906101000a900460ff1681565b60006001600083604051602001610c5f9190611b36565b60405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900460ff169050919050565b6002818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051602001610cf290611cf0565b6040516020818303038152906040528051906020012082604051602001610d199190611b36565b60405160208183030381529060405280519060200120149050919050565b600180600083604051602001610d4d9190611b36565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b806003600084604051602001610da19190611b36565b604051602081830303815290604052805190602001208152602001908152602001600020819055505050565b60006040518060400160405280600881526020017f7769746864726177000000000000000000000000000000000000000000000000815250604051602001610e159190611b36565b6040516020818303038152906040528051906020012082604051602001610e3c9190611b36565b60405160208183030381529060405280519060200120149050919050565b60006207a12090506000614e20905060008183610e779190611d34565b905060005b81811015610eba5760008190806001815401808255809150506001900390600052602060002001600090919091909150558080600101915050610e7c565b50600080610ec89190610ecd565b505050565b5080546000825590600052602060002090810190610eeb9190610eee565b50565b5b80821115610f07576000816000905550600101610eef565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015610f45578082015181840152602081019050610f2a565b60008484015250505050565b6000601f19601f8301169050919050565b6000610f6d82610f0b565b610f778185610f16565b9350610f87818560208601610f27565b610f9081610f51565b840191505092915050565b60006020820190508181036000830152610fb58184610f62565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61101382610f51565b810181811067ffffffffffffffff8211171561103257611031610fdb565b5b80604052505050565b6000611045610fbd565b9050611051828261100a565b919050565b600067ffffffffffffffff82111561107157611070610fdb565b5b61107a82610f51565b9050602081019050919050565b82818337600083830152505050565b60006110a96110a484611056565b61103b565b9050828152602081018484840111156110c5576110c4610fd6565b5b6110d0848285611087565b509392505050565b600082601f8301126110ed576110ec610fd1565b5b81356110fd848260208601611096565b91505092915050565b60006020828403121561111c5761111b610fc7565b5b600082013567ffffffffffffffff81111561113a57611139610fcc565b5b611146848285016110d8565b91505092915050565b6000819050919050565b6111628161114f565b811461116d57600080fd5b50565b60008135905061117f81611159565b92915050565b60006020828403121561119b5761119a610fc7565b5b60006111a984828501611170565b91505092915050565b6000819050919050565b6111c5816111b2565b82525050565b60006020820190506111e060008301846111bc565b92915050565b600080fd5b600060608284031215611201576112006111e6565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006112358261120a565b9050919050565b6112458161122a565b811461125057600080fd5b50565b6000813590506112628161123c565b92915050565b611271816111b2565b811461127c57600080fd5b50565b60008135905061128e81611268565b92915050565b600080fd5b600080fd5b60008083601f8401126112b4576112b3610fd1565b5b8235905067ffffffffffffffff8111156112d1576112d0611294565b5b6020830191508360018202830111156112ed576112ec611299565b5b9250929050565b6000806000806000608086880312156113105761130f610fc7565b5b600086013567ffffffffffffffff81111561132e5761132d610fcc565b5b61133a888289016111eb565b955050602061134b88828901611253565b945050604061135c8882890161127f565b935050606086013567ffffffffffffffff81111561137d5761137c610fcc565b5b6113898882890161129e565b92509250509295509295909350565b6000602082840312156113ae576113ad6111e6565b5b81905092915050565b6000806000604084860312156113d0576113cf610fc7565b5b60006113de86828701611398565b935050602084013567ffffffffffffffff8111156113ff576113fe610fcc565b5b61140b8682870161129e565b92509250509250925092565b600081519050919050565b600082825260208201905092915050565b600061143e82611417565b6114488185611422565b9350611458818560208601610f27565b61146181610f51565b840191505092915050565b600060208201905081810360008301526114868184611433565b905092915050565b6000602082840312156114a4576114a3610fc7565b5b60006114b284828501611253565b91505092915050565b60006114c68261122a565b9050919050565b6114d6816114bb565b81146114e157600080fd5b50565b6000813590506114f3816114cd565b92915050565b60008060006060848603121561151257611511610fc7565b5b6000611520868287016114e4565b93505060206115318682870161127f565b925050604084013567ffffffffffffffff81111561155257611551610fcc565b5b61155e868287016110d8565b9150509250925092565b60006080828403121561157e5761157d6111e6565b5b81905092915050565b60006020828403121561159d5761159c610fc7565b5b600082013567ffffffffffffffff8111156115bb576115ba610fcc565b5b6115c784828501611568565b91505092915050565b60008115159050919050565b6115e5816115d0565b82525050565b600060208201905061160060008301846115dc565b92915050565b600067ffffffffffffffff82111561162157611620610fdb565b5b61162a82610f51565b9050602081019050919050565b600061164a61164584611606565b61103b565b90508281526020810184848401111561166657611665610fd6565b5b611671848285611087565b509392505050565b600082601f83011261168e5761168d610fd1565b5b813561169e848260208601611637565b91505092915050565b6000602082840312156116bd576116bc610fc7565b5b600082013567ffffffffffffffff8111156116db576116da610fcc565b5b6116e784828501611679565b91505092915050565b6116f98161122a565b82525050565b600060208201905061171460008301846116f0565b92915050565b6000815190506117298161123c565b92915050565b60008151905061173e81611268565b92915050565b6000806040838503121561175b5761175a610fc7565b5b60006117698582860161171a565b925050602061177a8582860161172f565b9150509250929050565b7f7a72633230206973206e6f742067617320746f6b656e00000000000000000000600082015250565b60006117ba601683610f16565b91506117c582611784565b602082019050919050565b600060208201905081810360008301526117e9816117ad565b9050919050565b7f66656520616d6f756e7420697320686967686572207468616e2074686520616d60008201527f6f756e7400000000000000000000000000000000000000000000000000000000602082015250565b600061184c602483610f16565b9150611857826117f0565b604082019050919050565b6000602082019050818103600083015261187b8161183f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118bc826111b2565b91506118c7836111b2565b92508282039050818111156118df576118de611882565b5b92915050565b60006040820190506118fa60008301856116f0565b61190760208301846111bc565b9392505050565b611917816115d0565b811461192257600080fd5b50565b6000815190506119348161190e565b92915050565b6000602082840312156119505761194f610fc7565b5b600061195e84828501611925565b91505092915050565b6119708161122a565b82525050565b61197f816115d0565b82525050565b600082825260208201905092915050565b60006119a182611417565b6119ab8185611985565b93506119bb818560208601610f27565b6119c481610f51565b840191505092915050565b6119d8816111b2565b82525050565b600060a0830160008301516119f66000860182611967565b506020830151611a096020860182611976565b506040830151611a1c6040860182611967565b5060608301518482036060860152611a348282611996565b9150506080830151611a4960808601826119cf565b508091505092915050565b60006080820190508181036000830152611a6e8187611433565b9050611a7d60208301866111bc565b611a8a60408301856116f0565b8181036060830152611a9c81846119de565b905095945050505050565b600081905092915050565b6000611abd82611417565b611ac78185611aa7565b9350611ad7818560208601610f27565b80840191505092915050565b6000611aef8284611ab2565b915081905092915050565b600081905092915050565b6000611b1082610f0b565b611b1a8185611afa565b9350611b2a818560208601610f27565b80840191505092915050565b6000611b428284611b05565b915081905092915050565b60008160601b9050919050565b6000611b6582611b4d565b9050919050565b6000611b7782611b5a565b9050919050565b611b8f611b8a8261122a565b611b6c565b82525050565b6000611ba18285611b05565b9150611bad8284611b7e565b6014820191508190509392505050565b6000606082019050611bd260008301866116f0565b611bdf60208301856116f0565b611bec60408301846111bc565b949350505050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611c2057611c1f611bf4565b5b80840192508235915067ffffffffffffffff821115611c4257611c41611bf9565b5b602083019250600182023603831315611c5e57611c5d611bfe565b5b509250929050565b6000611c728385611aa7565b9350611c7f838584611087565b82840190509392505050565b6000611c98828486611c66565b91508190509392505050565b7f7265766572740000000000000000000000000000000000000000000000000000600082015250565b6000611cda600683611afa565b9150611ce582611ca4565b600682019050919050565b6000611cfb82611ccd565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611d3f826111b2565b9150611d4a836111b2565b925082611d5a57611d59611d05565b5b82820490509291505056fea2646970667358221220ebabbc071095d7f86d535b6849ab42de0bd3e54880f77f8c0545d39c187697db64736f6c634300081a0033 diff --git a/pkg/contracts/testdappv2/TestDAppV2.go b/pkg/contracts/testdappv2/TestDAppV2.go index f86b1c326b..2c1e818a79 100644 --- a/pkg/contracts/testdappv2/TestDAppV2.go +++ b/pkg/contracts/testdappv2/TestDAppV2.go @@ -52,7 +52,7 @@ type ZContext struct { // TestDAppV2MetaData contains all meta data concerning the TestDAppV2 contract. var TestDAppV2MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"name\":\"NO_MESSAGE_CALL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WITHDRAW\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"amountWithMessage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"calledWithMessage\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"erc20\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"name\":\"erc20Call\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"name\":\"gasCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"name\":\"getAmountWithMessage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"name\":\"getCalledWithMessage\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"getNoMessageIndex\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"origin\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"chainID\",\"type\":\"uint256\"}],\"internalType\":\"structzContext\",\"name\":\"context\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"zrc20\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"onCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"internalType\":\"structMessageContext\",\"name\":\"messageContext\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"onCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"revertMessage\",\"type\":\"bytes\"}],\"internalType\":\"structRevertContext\",\"name\":\"revertContext\",\"type\":\"tuple\"}],\"name\":\"onRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"senderWithMessage\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"name\":\"simpleCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", - Bin: "0x6080604052348015600f57600080fd5b50611c818061001f6000396000f3fe6080604052600436106100e15760003560e01c8063ad23b28b1161007f578063c9028a3611610059578063c9028a36146102c1578063e2842ed7146102ea578063f592cbfb14610327578063f936ae8514610364576100e8565b8063ad23b28b14610230578063c7a339a91461026d578063c85f843414610296576100e8565b80635bcfd616116100bb5780635bcfd6161461017e578063676cc054146101a75780639291fe26146101d7578063a799911f14610214576100e8565b806316ba7197146100ed57806336e980a0146101185780634297a26314610141576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b506101026103a1565b60405161010f9190610ee1565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a919061104c565b6103da565b005b34801561014d57600080fd5b50610168600480360381019061016391906110cb565b610404565b6040516101759190611111565b60405180910390f35b34801561018a57600080fd5b506101a560048036038101906101a0919061123a565b61041c565b005b6101c160048036038101906101bc91906112fd565b61081b565b6040516101ce91906113b2565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f9919061104c565b61092d565b60405161020b9190611111565b60405180910390f35b61022e6004803603810190610229919061104c565b610970565b005b34801561023c57600080fd5b50610257600480360381019061025291906113d4565b610999565b6040516102649190610ee1565b60405180910390f35b34801561027957600080fd5b50610294600480360381019061028f919061143f565b6109f9565b005b3480156102a257600080fd5b506102ab610aad565b6040516102b89190610ee1565b60405180910390f35b3480156102cd57600080fd5b506102e860048036038101906102e391906114cd565b610ae6565b005b3480156102f657600080fd5b50610311600480360381019061030c91906110cb565b610c20565b60405161031e9190611531565b60405180910390f35b34801561033357600080fd5b5061034e6004803603810190610349919061104c565b610c40565b60405161035b9190611531565b60405180910390f35b34801561037057600080fd5b5061038b600480360381019061038691906115ed565b610c8f565b6040516103989190611645565b60405180910390f35b6040518060400160405280600881526020017f776974686472617700000000000000000000000000000000000000000000000081525081565b6103e381610cd8565b156103ed57600080fd5b6103f681610d2e565b610401816000610d82565b50565b60026020528060005260406000206000915090505481565b61046982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610cd8565b1561047357600080fd5b6104c082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610dc4565b1561078b576000808573ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b81526004016040805180830381865afa158015610512573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610536919061168a565b915091508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146105a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059f90611716565b60405180910390fd5b848111156105eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e2906117a8565b60405180910390fd5b600081866105f991906117f7565b90508673ffffffffffffffffffffffffffffffffffffffff1663095ea7b333886040518363ffffffff1660e01b815260040161063692919061182b565b6020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190611880565b503373ffffffffffffffffffffffffffffffffffffffff16637c0dcb5f8960200160208101906106a991906113d4565b6040516020016106b99190611645565b604051602081830303815290604052838a6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052806000815250815260200160008152506040518563ffffffff1660e01b8152600401610751949392919061199a565b600060405180830381600087803b15801561076b57600080fd5b505af115801561077f573d6000803e3d6000fd5b50505050505050610814565b60008083839050146107e15782828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506107fd565b6107fc8660200160208101906107f791906113d4565b610999565b5b905061080881610d2e565b6108128185610d82565b505b5050505050565b606060008084849050146108735783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061088f565b61088e85600001602081019061088991906113d4565b610999565b5b905061089a81610d2e565b6108a48134610d82565b8460000160208101906108b791906113d4565b6001826040516108c79190611a29565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051806020016040528060008152509150509392505050565b600060026000836040516020016109449190611a7c565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b61097981610cd8565b1561098357600080fd5b61098c81610d2e565b6109968134610d82565b50565b60606040518060400160405280601681526020017f63616c6c65642077697468206e6f206d65737361676500000000000000000000815250826040516020016109e3929190611adb565b6040516020818303038152906040529050919050565b610a0281610cd8565b15610a0c57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401610a4993929190611b03565b6020604051808303816000875af1158015610a68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8c9190611880565b610a9557600080fd5b610a9e81610d2e565b610aa88183610d82565b505050565b6040518060400160405280601681526020017f63616c6c65642077697468206e6f206d6573736167650000000000000000000081525081565b610b41818060600190610af99190611b49565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610d2e565b610b9e818060600190610b549190611b49565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610d82565b806000016020810190610bb191906113d4565b6001828060600190610bc39190611b49565b604051610bd1929190611bd1565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006020528060005260406000206000915054906101000a900460ff1681565b600080600083604051602001610c569190611a7c565b60405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900460ff169050919050565b6001818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051602001610ce990611c36565b6040516020818303038152906040528051906020012082604051602001610d109190611a7c565b60405160208183030381529060405280519060200120149050919050565b600160008083604051602001610d449190611a7c565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b806002600084604051602001610d989190611a7c565b604051602081830303815290604052805190602001208152602001908152602001600020819055505050565b60006040518060400160405280600881526020017f7769746864726177000000000000000000000000000000000000000000000000815250604051602001610e0c9190611a7c565b6040516020818303038152906040528051906020012082604051602001610e339190611a7c565b60405160208183030381529060405280519060200120149050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e8b578082015181840152602081019050610e70565b60008484015250505050565b6000601f19601f8301169050919050565b6000610eb382610e51565b610ebd8185610e5c565b9350610ecd818560208601610e6d565b610ed681610e97565b840191505092915050565b60006020820190508181036000830152610efb8184610ea8565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610f5982610e97565b810181811067ffffffffffffffff82111715610f7857610f77610f21565b5b80604052505050565b6000610f8b610f03565b9050610f978282610f50565b919050565b600067ffffffffffffffff821115610fb757610fb6610f21565b5b610fc082610e97565b9050602081019050919050565b82818337600083830152505050565b6000610fef610fea84610f9c565b610f81565b90508281526020810184848401111561100b5761100a610f1c565b5b611016848285610fcd565b509392505050565b600082601f83011261103357611032610f17565b5b8135611043848260208601610fdc565b91505092915050565b60006020828403121561106257611061610f0d565b5b600082013567ffffffffffffffff8111156110805761107f610f12565b5b61108c8482850161101e565b91505092915050565b6000819050919050565b6110a881611095565b81146110b357600080fd5b50565b6000813590506110c58161109f565b92915050565b6000602082840312156110e1576110e0610f0d565b5b60006110ef848285016110b6565b91505092915050565b6000819050919050565b61110b816110f8565b82525050565b60006020820190506111266000830184611102565b92915050565b600080fd5b6000606082840312156111475761114661112c565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117b82611150565b9050919050565b61118b81611170565b811461119657600080fd5b50565b6000813590506111a881611182565b92915050565b6111b7816110f8565b81146111c257600080fd5b50565b6000813590506111d4816111ae565b92915050565b600080fd5b600080fd5b60008083601f8401126111fa576111f9610f17565b5b8235905067ffffffffffffffff811115611217576112166111da565b5b602083019150836001820283011115611233576112326111df565b5b9250929050565b60008060008060006080868803121561125657611255610f0d565b5b600086013567ffffffffffffffff81111561127457611273610f12565b5b61128088828901611131565b955050602061129188828901611199565b94505060406112a2888289016111c5565b935050606086013567ffffffffffffffff8111156112c3576112c2610f12565b5b6112cf888289016111e4565b92509250509295509295909350565b6000602082840312156112f4576112f361112c565b5b81905092915050565b60008060006040848603121561131657611315610f0d565b5b6000611324868287016112de565b935050602084013567ffffffffffffffff81111561134557611344610f12565b5b611351868287016111e4565b92509250509250925092565b600081519050919050565b600082825260208201905092915050565b60006113848261135d565b61138e8185611368565b935061139e818560208601610e6d565b6113a781610e97565b840191505092915050565b600060208201905081810360008301526113cc8184611379565b905092915050565b6000602082840312156113ea576113e9610f0d565b5b60006113f884828501611199565b91505092915050565b600061140c82611170565b9050919050565b61141c81611401565b811461142757600080fd5b50565b60008135905061143981611413565b92915050565b60008060006060848603121561145857611457610f0d565b5b60006114668682870161142a565b9350506020611477868287016111c5565b925050604084013567ffffffffffffffff81111561149857611497610f12565b5b6114a48682870161101e565b9150509250925092565b6000608082840312156114c4576114c361112c565b5b81905092915050565b6000602082840312156114e3576114e2610f0d565b5b600082013567ffffffffffffffff81111561150157611500610f12565b5b61150d848285016114ae565b91505092915050565b60008115159050919050565b61152b81611516565b82525050565b60006020820190506115466000830184611522565b92915050565b600067ffffffffffffffff82111561156757611566610f21565b5b61157082610e97565b9050602081019050919050565b600061159061158b8461154c565b610f81565b9050828152602081018484840111156115ac576115ab610f1c565b5b6115b7848285610fcd565b509392505050565b600082601f8301126115d4576115d3610f17565b5b81356115e484826020860161157d565b91505092915050565b60006020828403121561160357611602610f0d565b5b600082013567ffffffffffffffff81111561162157611620610f12565b5b61162d848285016115bf565b91505092915050565b61163f81611170565b82525050565b600060208201905061165a6000830184611636565b92915050565b60008151905061166f81611182565b92915050565b600081519050611684816111ae565b92915050565b600080604083850312156116a1576116a0610f0d565b5b60006116af85828601611660565b92505060206116c085828601611675565b9150509250929050565b7f7a72633230206973206e6f742067617320746f6b656e00000000000000000000600082015250565b6000611700601683610e5c565b915061170b826116ca565b602082019050919050565b6000602082019050818103600083015261172f816116f3565b9050919050565b7f66656520616d6f756e7420697320686967686572207468616e2074686520616d60008201527f6f756e7400000000000000000000000000000000000000000000000000000000602082015250565b6000611792602483610e5c565b915061179d82611736565b604082019050919050565b600060208201905081810360008301526117c181611785565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611802826110f8565b915061180d836110f8565b9250828203905081811115611825576118246117c8565b5b92915050565b60006040820190506118406000830185611636565b61184d6020830184611102565b9392505050565b61185d81611516565b811461186857600080fd5b50565b60008151905061187a81611854565b92915050565b60006020828403121561189657611895610f0d565b5b60006118a48482850161186b565b91505092915050565b6118b681611170565b82525050565b6118c581611516565b82525050565b600082825260208201905092915050565b60006118e78261135d565b6118f181856118cb565b9350611901818560208601610e6d565b61190a81610e97565b840191505092915050565b61191e816110f8565b82525050565b600060a08301600083015161193c60008601826118ad565b50602083015161194f60208601826118bc565b50604083015161196260408601826118ad565b506060830151848203606086015261197a82826118dc565b915050608083015161198f6080860182611915565b508091505092915050565b600060808201905081810360008301526119b48187611379565b90506119c36020830186611102565b6119d06040830185611636565b81810360608301526119e28184611924565b905095945050505050565b600081905092915050565b6000611a038261135d565b611a0d81856119ed565b9350611a1d818560208601610e6d565b80840191505092915050565b6000611a3582846119f8565b915081905092915050565b600081905092915050565b6000611a5682610e51565b611a608185611a40565b9350611a70818560208601610e6d565b80840191505092915050565b6000611a888284611a4b565b915081905092915050565b60008160601b9050919050565b6000611aab82611a93565b9050919050565b6000611abd82611aa0565b9050919050565b611ad5611ad082611170565b611ab2565b82525050565b6000611ae78285611a4b565b9150611af38284611ac4565b6014820191508190509392505050565b6000606082019050611b186000830186611636565b611b256020830185611636565b611b326040830184611102565b949350505050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611b6657611b65611b3a565b5b80840192508235915067ffffffffffffffff821115611b8857611b87611b3f565b5b602083019250600182023603831315611ba457611ba3611b44565b5b509250929050565b6000611bb883856119ed565b9350611bc5838584610fcd565b82840190509392505050565b6000611bde828486611bac565b91508190509392505050565b7f7265766572740000000000000000000000000000000000000000000000000000600082015250565b6000611c20600683611a40565b9150611c2b82611bea565b600682019050919050565b6000611c4182611c13565b915081905091905056fea26469706673582212203d852113b7067028da94605feb847f25ee189262a1faa07f6908ea00403f802664736f6c634300081a0033", + Bin: "0x6080604052348015600f57600080fd5b50611d9b8061001f6000396000f3fe6080604052600436106100e15760003560e01c8063ad23b28b1161007f578063c9028a3611610059578063c9028a36146102c1578063e2842ed7146102ea578063f592cbfb14610327578063f936ae8514610364576100e8565b8063ad23b28b14610230578063c7a339a91461026d578063c85f843414610296576100e8565b80635bcfd616116100bb5780635bcfd6161461017e578063676cc054146101a75780639291fe26146101d7578063a799911f14610214576100e8565b806316ba7197146100ed57806336e980a0146101185780634297a26314610141576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b506101026103a1565b60405161010f9190610f9b565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611106565b6103da565b005b34801561014d57600080fd5b5061016860048036038101906101639190611185565b610404565b60405161017591906111cb565b60405180910390f35b34801561018a57600080fd5b506101a560048036038101906101a091906112f4565b61041c565b005b6101c160048036038101906101bc91906113b7565b610823565b6040516101ce919061146c565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190611106565b610935565b60405161020b91906111cb565b60405180910390f35b61022e60048036038101906102299190611106565b610978565b005b34801561023c57600080fd5b506102576004803603810190610252919061148e565b6109a1565b6040516102649190610f9b565b60405180910390f35b34801561027957600080fd5b50610294600480360381019061028f91906114f9565b610a01565b005b3480156102a257600080fd5b506102ab610ab5565b6040516102b89190610f9b565b60405180910390f35b3480156102cd57600080fd5b506102e860048036038101906102e39190611587565b610aee565b005b3480156102f657600080fd5b50610311600480360381019061030c9190611185565b610c28565b60405161031e91906115eb565b60405180910390f35b34801561033357600080fd5b5061034e60048036038101906103499190611106565b610c48565b60405161035b91906115eb565b60405180910390f35b34801561037057600080fd5b5061038b600480360381019061038691906116a7565b610c98565b60405161039891906116ff565b60405180910390f35b6040518060400160405280600881526020017f776974686472617700000000000000000000000000000000000000000000000081525081565b6103e381610ce1565b156103ed57600080fd5b6103f681610d37565b610401816000610d8b565b50565b60036020528060005260406000206000915090505481565b61046982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610ce1565b1561047357600080fd5b6104c082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610dcd565b15610793576000808573ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b81526004016040805180830381865afa158015610512573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105369190611744565b915091508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146105a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059f906117d0565b60405180910390fd5b848111156105eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e290611862565b60405180910390fd5b600081866105f991906118b1565b9050610603610e5a565b8673ffffffffffffffffffffffffffffffffffffffff1663095ea7b333886040518363ffffffff1660e01b815260040161063e9291906118e5565b6020604051808303816000875af115801561065d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610681919061193a565b503373ffffffffffffffffffffffffffffffffffffffff16637c0dcb5f8960200160208101906106b1919061148e565b6040516020016106c191906116ff565b604051602081830303815290604052838a6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052806000815250815260200160008152506040518563ffffffff1660e01b81526004016107599493929190611a54565b600060405180830381600087803b15801561077357600080fd5b505af1158015610787573d6000803e3d6000fd5b5050505050505061081c565b60008083839050146107e95782828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610805565b6108048660200160208101906107ff919061148e565b6109a1565b5b905061081081610d37565b61081a8185610d8b565b505b5050505050565b6060600080848490501461087b5783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610897565b610896856000016020810190610891919061148e565b6109a1565b5b90506108a281610d37565b6108ac8134610d8b565b8460000160208101906108bf919061148e565b6002826040516108cf9190611ae3565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051806020016040528060008152509150509392505050565b6000600360008360405160200161094c9190611b36565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b61098181610ce1565b1561098b57600080fd5b61099481610d37565b61099e8134610d8b565b50565b60606040518060400160405280601681526020017f63616c6c65642077697468206e6f206d65737361676500000000000000000000815250826040516020016109eb929190611b95565b6040516020818303038152906040529050919050565b610a0a81610ce1565b15610a1457600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401610a5193929190611bbd565b6020604051808303816000875af1158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a94919061193a565b610a9d57600080fd5b610aa681610d37565b610ab08183610d8b565b505050565b6040518060400160405280601681526020017f63616c6c65642077697468206e6f206d6573736167650000000000000000000081525081565b610b49818060600190610b019190611c03565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610d37565b610ba6818060600190610b5c9190611c03565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610d8b565b806000016020810190610bb9919061148e565b6002828060600190610bcb9190611c03565b604051610bd9929190611c8b565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60016020528060005260406000206000915054906101000a900460ff1681565b60006001600083604051602001610c5f9190611b36565b60405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900460ff169050919050565b6002818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051602001610cf290611cf0565b6040516020818303038152906040528051906020012082604051602001610d199190611b36565b60405160208183030381529060405280519060200120149050919050565b600180600083604051602001610d4d9190611b36565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b806003600084604051602001610da19190611b36565b604051602081830303815290604052805190602001208152602001908152602001600020819055505050565b60006040518060400160405280600881526020017f7769746864726177000000000000000000000000000000000000000000000000815250604051602001610e159190611b36565b6040516020818303038152906040528051906020012082604051602001610e3c9190611b36565b60405160208183030381529060405280519060200120149050919050565b60006207a12090506000614e20905060008183610e779190611d34565b905060005b81811015610eba5760008190806001815401808255809150506001900390600052602060002001600090919091909150558080600101915050610e7c565b50600080610ec89190610ecd565b505050565b5080546000825590600052602060002090810190610eeb9190610eee565b50565b5b80821115610f07576000816000905550600101610eef565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015610f45578082015181840152602081019050610f2a565b60008484015250505050565b6000601f19601f8301169050919050565b6000610f6d82610f0b565b610f778185610f16565b9350610f87818560208601610f27565b610f9081610f51565b840191505092915050565b60006020820190508181036000830152610fb58184610f62565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61101382610f51565b810181811067ffffffffffffffff8211171561103257611031610fdb565b5b80604052505050565b6000611045610fbd565b9050611051828261100a565b919050565b600067ffffffffffffffff82111561107157611070610fdb565b5b61107a82610f51565b9050602081019050919050565b82818337600083830152505050565b60006110a96110a484611056565b61103b565b9050828152602081018484840111156110c5576110c4610fd6565b5b6110d0848285611087565b509392505050565b600082601f8301126110ed576110ec610fd1565b5b81356110fd848260208601611096565b91505092915050565b60006020828403121561111c5761111b610fc7565b5b600082013567ffffffffffffffff81111561113a57611139610fcc565b5b611146848285016110d8565b91505092915050565b6000819050919050565b6111628161114f565b811461116d57600080fd5b50565b60008135905061117f81611159565b92915050565b60006020828403121561119b5761119a610fc7565b5b60006111a984828501611170565b91505092915050565b6000819050919050565b6111c5816111b2565b82525050565b60006020820190506111e060008301846111bc565b92915050565b600080fd5b600060608284031215611201576112006111e6565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006112358261120a565b9050919050565b6112458161122a565b811461125057600080fd5b50565b6000813590506112628161123c565b92915050565b611271816111b2565b811461127c57600080fd5b50565b60008135905061128e81611268565b92915050565b600080fd5b600080fd5b60008083601f8401126112b4576112b3610fd1565b5b8235905067ffffffffffffffff8111156112d1576112d0611294565b5b6020830191508360018202830111156112ed576112ec611299565b5b9250929050565b6000806000806000608086880312156113105761130f610fc7565b5b600086013567ffffffffffffffff81111561132e5761132d610fcc565b5b61133a888289016111eb565b955050602061134b88828901611253565b945050604061135c8882890161127f565b935050606086013567ffffffffffffffff81111561137d5761137c610fcc565b5b6113898882890161129e565b92509250509295509295909350565b6000602082840312156113ae576113ad6111e6565b5b81905092915050565b6000806000604084860312156113d0576113cf610fc7565b5b60006113de86828701611398565b935050602084013567ffffffffffffffff8111156113ff576113fe610fcc565b5b61140b8682870161129e565b92509250509250925092565b600081519050919050565b600082825260208201905092915050565b600061143e82611417565b6114488185611422565b9350611458818560208601610f27565b61146181610f51565b840191505092915050565b600060208201905081810360008301526114868184611433565b905092915050565b6000602082840312156114a4576114a3610fc7565b5b60006114b284828501611253565b91505092915050565b60006114c68261122a565b9050919050565b6114d6816114bb565b81146114e157600080fd5b50565b6000813590506114f3816114cd565b92915050565b60008060006060848603121561151257611511610fc7565b5b6000611520868287016114e4565b93505060206115318682870161127f565b925050604084013567ffffffffffffffff81111561155257611551610fcc565b5b61155e868287016110d8565b9150509250925092565b60006080828403121561157e5761157d6111e6565b5b81905092915050565b60006020828403121561159d5761159c610fc7565b5b600082013567ffffffffffffffff8111156115bb576115ba610fcc565b5b6115c784828501611568565b91505092915050565b60008115159050919050565b6115e5816115d0565b82525050565b600060208201905061160060008301846115dc565b92915050565b600067ffffffffffffffff82111561162157611620610fdb565b5b61162a82610f51565b9050602081019050919050565b600061164a61164584611606565b61103b565b90508281526020810184848401111561166657611665610fd6565b5b611671848285611087565b509392505050565b600082601f83011261168e5761168d610fd1565b5b813561169e848260208601611637565b91505092915050565b6000602082840312156116bd576116bc610fc7565b5b600082013567ffffffffffffffff8111156116db576116da610fcc565b5b6116e784828501611679565b91505092915050565b6116f98161122a565b82525050565b600060208201905061171460008301846116f0565b92915050565b6000815190506117298161123c565b92915050565b60008151905061173e81611268565b92915050565b6000806040838503121561175b5761175a610fc7565b5b60006117698582860161171a565b925050602061177a8582860161172f565b9150509250929050565b7f7a72633230206973206e6f742067617320746f6b656e00000000000000000000600082015250565b60006117ba601683610f16565b91506117c582611784565b602082019050919050565b600060208201905081810360008301526117e9816117ad565b9050919050565b7f66656520616d6f756e7420697320686967686572207468616e2074686520616d60008201527f6f756e7400000000000000000000000000000000000000000000000000000000602082015250565b600061184c602483610f16565b9150611857826117f0565b604082019050919050565b6000602082019050818103600083015261187b8161183f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118bc826111b2565b91506118c7836111b2565b92508282039050818111156118df576118de611882565b5b92915050565b60006040820190506118fa60008301856116f0565b61190760208301846111bc565b9392505050565b611917816115d0565b811461192257600080fd5b50565b6000815190506119348161190e565b92915050565b6000602082840312156119505761194f610fc7565b5b600061195e84828501611925565b91505092915050565b6119708161122a565b82525050565b61197f816115d0565b82525050565b600082825260208201905092915050565b60006119a182611417565b6119ab8185611985565b93506119bb818560208601610f27565b6119c481610f51565b840191505092915050565b6119d8816111b2565b82525050565b600060a0830160008301516119f66000860182611967565b506020830151611a096020860182611976565b506040830151611a1c6040860182611967565b5060608301518482036060860152611a348282611996565b9150506080830151611a4960808601826119cf565b508091505092915050565b60006080820190508181036000830152611a6e8187611433565b9050611a7d60208301866111bc565b611a8a60408301856116f0565b8181036060830152611a9c81846119de565b905095945050505050565b600081905092915050565b6000611abd82611417565b611ac78185611aa7565b9350611ad7818560208601610f27565b80840191505092915050565b6000611aef8284611ab2565b915081905092915050565b600081905092915050565b6000611b1082610f0b565b611b1a8185611afa565b9350611b2a818560208601610f27565b80840191505092915050565b6000611b428284611b05565b915081905092915050565b60008160601b9050919050565b6000611b6582611b4d565b9050919050565b6000611b7782611b5a565b9050919050565b611b8f611b8a8261122a565b611b6c565b82525050565b6000611ba18285611b05565b9150611bad8284611b7e565b6014820191508190509392505050565b6000606082019050611bd260008301866116f0565b611bdf60208301856116f0565b611bec60408301846111bc565b949350505050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611c2057611c1f611bf4565b5b80840192508235915067ffffffffffffffff821115611c4257611c41611bf9565b5b602083019250600182023603831315611c5e57611c5d611bfe565b5b509250929050565b6000611c728385611aa7565b9350611c7f838584611087565b82840190509392505050565b6000611c98828486611c66565b91508190509392505050565b7f7265766572740000000000000000000000000000000000000000000000000000600082015250565b6000611cda600683611afa565b9150611ce582611ca4565b600682019050919050565b6000611cfb82611ccd565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611d3f826111b2565b9150611d4a836111b2565b925082611d5a57611d59611d05565b5b82820490509291505056fea2646970667358221220ebabbc071095d7f86d535b6849ab42de0bd3e54880f77f8c0545d39c187697db64736f6c634300081a0033", } // TestDAppV2ABI is the input ABI used to generate the binding from. diff --git a/pkg/contracts/testdappv2/TestDAppV2.json b/pkg/contracts/testdappv2/TestDAppV2.json index 135ca386ce..8605423ece 100644 --- a/pkg/contracts/testdappv2/TestDAppV2.json +++ b/pkg/contracts/testdappv2/TestDAppV2.json @@ -305,5 +305,5 @@ "type": "receive" } ], - "bin": "6080604052348015600f57600080fd5b50611c818061001f6000396000f3fe6080604052600436106100e15760003560e01c8063ad23b28b1161007f578063c9028a3611610059578063c9028a36146102c1578063e2842ed7146102ea578063f592cbfb14610327578063f936ae8514610364576100e8565b8063ad23b28b14610230578063c7a339a91461026d578063c85f843414610296576100e8565b80635bcfd616116100bb5780635bcfd6161461017e578063676cc054146101a75780639291fe26146101d7578063a799911f14610214576100e8565b806316ba7197146100ed57806336e980a0146101185780634297a26314610141576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b506101026103a1565b60405161010f9190610ee1565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a919061104c565b6103da565b005b34801561014d57600080fd5b50610168600480360381019061016391906110cb565b610404565b6040516101759190611111565b60405180910390f35b34801561018a57600080fd5b506101a560048036038101906101a0919061123a565b61041c565b005b6101c160048036038101906101bc91906112fd565b61081b565b6040516101ce91906113b2565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f9919061104c565b61092d565b60405161020b9190611111565b60405180910390f35b61022e6004803603810190610229919061104c565b610970565b005b34801561023c57600080fd5b50610257600480360381019061025291906113d4565b610999565b6040516102649190610ee1565b60405180910390f35b34801561027957600080fd5b50610294600480360381019061028f919061143f565b6109f9565b005b3480156102a257600080fd5b506102ab610aad565b6040516102b89190610ee1565b60405180910390f35b3480156102cd57600080fd5b506102e860048036038101906102e391906114cd565b610ae6565b005b3480156102f657600080fd5b50610311600480360381019061030c91906110cb565b610c20565b60405161031e9190611531565b60405180910390f35b34801561033357600080fd5b5061034e6004803603810190610349919061104c565b610c40565b60405161035b9190611531565b60405180910390f35b34801561037057600080fd5b5061038b600480360381019061038691906115ed565b610c8f565b6040516103989190611645565b60405180910390f35b6040518060400160405280600881526020017f776974686472617700000000000000000000000000000000000000000000000081525081565b6103e381610cd8565b156103ed57600080fd5b6103f681610d2e565b610401816000610d82565b50565b60026020528060005260406000206000915090505481565b61046982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610cd8565b1561047357600080fd5b6104c082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610dc4565b1561078b576000808573ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b81526004016040805180830381865afa158015610512573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610536919061168a565b915091508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146105a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059f90611716565b60405180910390fd5b848111156105eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e2906117a8565b60405180910390fd5b600081866105f991906117f7565b90508673ffffffffffffffffffffffffffffffffffffffff1663095ea7b333886040518363ffffffff1660e01b815260040161063692919061182b565b6020604051808303816000875af1158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190611880565b503373ffffffffffffffffffffffffffffffffffffffff16637c0dcb5f8960200160208101906106a991906113d4565b6040516020016106b99190611645565b604051602081830303815290604052838a6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052806000815250815260200160008152506040518563ffffffff1660e01b8152600401610751949392919061199a565b600060405180830381600087803b15801561076b57600080fd5b505af115801561077f573d6000803e3d6000fd5b50505050505050610814565b60008083839050146107e15782828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506107fd565b6107fc8660200160208101906107f791906113d4565b610999565b5b905061080881610d2e565b6108128185610d82565b505b5050505050565b606060008084849050146108735783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061088f565b61088e85600001602081019061088991906113d4565b610999565b5b905061089a81610d2e565b6108a48134610d82565b8460000160208101906108b791906113d4565b6001826040516108c79190611a29565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051806020016040528060008152509150509392505050565b600060026000836040516020016109449190611a7c565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b61097981610cd8565b1561098357600080fd5b61098c81610d2e565b6109968134610d82565b50565b60606040518060400160405280601681526020017f63616c6c65642077697468206e6f206d65737361676500000000000000000000815250826040516020016109e3929190611adb565b6040516020818303038152906040529050919050565b610a0281610cd8565b15610a0c57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401610a4993929190611b03565b6020604051808303816000875af1158015610a68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8c9190611880565b610a9557600080fd5b610a9e81610d2e565b610aa88183610d82565b505050565b6040518060400160405280601681526020017f63616c6c65642077697468206e6f206d6573736167650000000000000000000081525081565b610b41818060600190610af99190611b49565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610d2e565b610b9e818060600190610b549190611b49565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610d82565b806000016020810190610bb191906113d4565b6001828060600190610bc39190611b49565b604051610bd1929190611bd1565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006020528060005260406000206000915054906101000a900460ff1681565b600080600083604051602001610c569190611a7c565b60405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900460ff169050919050565b6001818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051602001610ce990611c36565b6040516020818303038152906040528051906020012082604051602001610d109190611a7c565b60405160208183030381529060405280519060200120149050919050565b600160008083604051602001610d449190611a7c565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b806002600084604051602001610d989190611a7c565b604051602081830303815290604052805190602001208152602001908152602001600020819055505050565b60006040518060400160405280600881526020017f7769746864726177000000000000000000000000000000000000000000000000815250604051602001610e0c9190611a7c565b6040516020818303038152906040528051906020012082604051602001610e339190611a7c565b60405160208183030381529060405280519060200120149050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e8b578082015181840152602081019050610e70565b60008484015250505050565b6000601f19601f8301169050919050565b6000610eb382610e51565b610ebd8185610e5c565b9350610ecd818560208601610e6d565b610ed681610e97565b840191505092915050565b60006020820190508181036000830152610efb8184610ea8565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610f5982610e97565b810181811067ffffffffffffffff82111715610f7857610f77610f21565b5b80604052505050565b6000610f8b610f03565b9050610f978282610f50565b919050565b600067ffffffffffffffff821115610fb757610fb6610f21565b5b610fc082610e97565b9050602081019050919050565b82818337600083830152505050565b6000610fef610fea84610f9c565b610f81565b90508281526020810184848401111561100b5761100a610f1c565b5b611016848285610fcd565b509392505050565b600082601f83011261103357611032610f17565b5b8135611043848260208601610fdc565b91505092915050565b60006020828403121561106257611061610f0d565b5b600082013567ffffffffffffffff8111156110805761107f610f12565b5b61108c8482850161101e565b91505092915050565b6000819050919050565b6110a881611095565b81146110b357600080fd5b50565b6000813590506110c58161109f565b92915050565b6000602082840312156110e1576110e0610f0d565b5b60006110ef848285016110b6565b91505092915050565b6000819050919050565b61110b816110f8565b82525050565b60006020820190506111266000830184611102565b92915050565b600080fd5b6000606082840312156111475761114661112c565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117b82611150565b9050919050565b61118b81611170565b811461119657600080fd5b50565b6000813590506111a881611182565b92915050565b6111b7816110f8565b81146111c257600080fd5b50565b6000813590506111d4816111ae565b92915050565b600080fd5b600080fd5b60008083601f8401126111fa576111f9610f17565b5b8235905067ffffffffffffffff811115611217576112166111da565b5b602083019150836001820283011115611233576112326111df565b5b9250929050565b60008060008060006080868803121561125657611255610f0d565b5b600086013567ffffffffffffffff81111561127457611273610f12565b5b61128088828901611131565b955050602061129188828901611199565b94505060406112a2888289016111c5565b935050606086013567ffffffffffffffff8111156112c3576112c2610f12565b5b6112cf888289016111e4565b92509250509295509295909350565b6000602082840312156112f4576112f361112c565b5b81905092915050565b60008060006040848603121561131657611315610f0d565b5b6000611324868287016112de565b935050602084013567ffffffffffffffff81111561134557611344610f12565b5b611351868287016111e4565b92509250509250925092565b600081519050919050565b600082825260208201905092915050565b60006113848261135d565b61138e8185611368565b935061139e818560208601610e6d565b6113a781610e97565b840191505092915050565b600060208201905081810360008301526113cc8184611379565b905092915050565b6000602082840312156113ea576113e9610f0d565b5b60006113f884828501611199565b91505092915050565b600061140c82611170565b9050919050565b61141c81611401565b811461142757600080fd5b50565b60008135905061143981611413565b92915050565b60008060006060848603121561145857611457610f0d565b5b60006114668682870161142a565b9350506020611477868287016111c5565b925050604084013567ffffffffffffffff81111561149857611497610f12565b5b6114a48682870161101e565b9150509250925092565b6000608082840312156114c4576114c361112c565b5b81905092915050565b6000602082840312156114e3576114e2610f0d565b5b600082013567ffffffffffffffff81111561150157611500610f12565b5b61150d848285016114ae565b91505092915050565b60008115159050919050565b61152b81611516565b82525050565b60006020820190506115466000830184611522565b92915050565b600067ffffffffffffffff82111561156757611566610f21565b5b61157082610e97565b9050602081019050919050565b600061159061158b8461154c565b610f81565b9050828152602081018484840111156115ac576115ab610f1c565b5b6115b7848285610fcd565b509392505050565b600082601f8301126115d4576115d3610f17565b5b81356115e484826020860161157d565b91505092915050565b60006020828403121561160357611602610f0d565b5b600082013567ffffffffffffffff81111561162157611620610f12565b5b61162d848285016115bf565b91505092915050565b61163f81611170565b82525050565b600060208201905061165a6000830184611636565b92915050565b60008151905061166f81611182565b92915050565b600081519050611684816111ae565b92915050565b600080604083850312156116a1576116a0610f0d565b5b60006116af85828601611660565b92505060206116c085828601611675565b9150509250929050565b7f7a72633230206973206e6f742067617320746f6b656e00000000000000000000600082015250565b6000611700601683610e5c565b915061170b826116ca565b602082019050919050565b6000602082019050818103600083015261172f816116f3565b9050919050565b7f66656520616d6f756e7420697320686967686572207468616e2074686520616d60008201527f6f756e7400000000000000000000000000000000000000000000000000000000602082015250565b6000611792602483610e5c565b915061179d82611736565b604082019050919050565b600060208201905081810360008301526117c181611785565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611802826110f8565b915061180d836110f8565b9250828203905081811115611825576118246117c8565b5b92915050565b60006040820190506118406000830185611636565b61184d6020830184611102565b9392505050565b61185d81611516565b811461186857600080fd5b50565b60008151905061187a81611854565b92915050565b60006020828403121561189657611895610f0d565b5b60006118a48482850161186b565b91505092915050565b6118b681611170565b82525050565b6118c581611516565b82525050565b600082825260208201905092915050565b60006118e78261135d565b6118f181856118cb565b9350611901818560208601610e6d565b61190a81610e97565b840191505092915050565b61191e816110f8565b82525050565b600060a08301600083015161193c60008601826118ad565b50602083015161194f60208601826118bc565b50604083015161196260408601826118ad565b506060830151848203606086015261197a82826118dc565b915050608083015161198f6080860182611915565b508091505092915050565b600060808201905081810360008301526119b48187611379565b90506119c36020830186611102565b6119d06040830185611636565b81810360608301526119e28184611924565b905095945050505050565b600081905092915050565b6000611a038261135d565b611a0d81856119ed565b9350611a1d818560208601610e6d565b80840191505092915050565b6000611a3582846119f8565b915081905092915050565b600081905092915050565b6000611a5682610e51565b611a608185611a40565b9350611a70818560208601610e6d565b80840191505092915050565b6000611a888284611a4b565b915081905092915050565b60008160601b9050919050565b6000611aab82611a93565b9050919050565b6000611abd82611aa0565b9050919050565b611ad5611ad082611170565b611ab2565b82525050565b6000611ae78285611a4b565b9150611af38284611ac4565b6014820191508190509392505050565b6000606082019050611b186000830186611636565b611b256020830185611636565b611b326040830184611102565b949350505050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611b6657611b65611b3a565b5b80840192508235915067ffffffffffffffff821115611b8857611b87611b3f565b5b602083019250600182023603831315611ba457611ba3611b44565b5b509250929050565b6000611bb883856119ed565b9350611bc5838584610fcd565b82840190509392505050565b6000611bde828486611bac565b91508190509392505050565b7f7265766572740000000000000000000000000000000000000000000000000000600082015250565b6000611c20600683611a40565b9150611c2b82611bea565b600682019050919050565b6000611c4182611c13565b915081905091905056fea26469706673582212203d852113b7067028da94605feb847f25ee189262a1faa07f6908ea00403f802664736f6c634300081a0033" + "bin": "6080604052348015600f57600080fd5b50611d9b8061001f6000396000f3fe6080604052600436106100e15760003560e01c8063ad23b28b1161007f578063c9028a3611610059578063c9028a36146102c1578063e2842ed7146102ea578063f592cbfb14610327578063f936ae8514610364576100e8565b8063ad23b28b14610230578063c7a339a91461026d578063c85f843414610296576100e8565b80635bcfd616116100bb5780635bcfd6161461017e578063676cc054146101a75780639291fe26146101d7578063a799911f14610214576100e8565b806316ba7197146100ed57806336e980a0146101185780634297a26314610141576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b506101026103a1565b60405161010f9190610f9b565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611106565b6103da565b005b34801561014d57600080fd5b5061016860048036038101906101639190611185565b610404565b60405161017591906111cb565b60405180910390f35b34801561018a57600080fd5b506101a560048036038101906101a091906112f4565b61041c565b005b6101c160048036038101906101bc91906113b7565b610823565b6040516101ce919061146c565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190611106565b610935565b60405161020b91906111cb565b60405180910390f35b61022e60048036038101906102299190611106565b610978565b005b34801561023c57600080fd5b506102576004803603810190610252919061148e565b6109a1565b6040516102649190610f9b565b60405180910390f35b34801561027957600080fd5b50610294600480360381019061028f91906114f9565b610a01565b005b3480156102a257600080fd5b506102ab610ab5565b6040516102b89190610f9b565b60405180910390f35b3480156102cd57600080fd5b506102e860048036038101906102e39190611587565b610aee565b005b3480156102f657600080fd5b50610311600480360381019061030c9190611185565b610c28565b60405161031e91906115eb565b60405180910390f35b34801561033357600080fd5b5061034e60048036038101906103499190611106565b610c48565b60405161035b91906115eb565b60405180910390f35b34801561037057600080fd5b5061038b600480360381019061038691906116a7565b610c98565b60405161039891906116ff565b60405180910390f35b6040518060400160405280600881526020017f776974686472617700000000000000000000000000000000000000000000000081525081565b6103e381610ce1565b156103ed57600080fd5b6103f681610d37565b610401816000610d8b565b50565b60036020528060005260406000206000915090505481565b61046982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610ce1565b1561047357600080fd5b6104c082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610dcd565b15610793576000808573ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b81526004016040805180830381865afa158015610512573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105369190611744565b915091508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146105a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059f906117d0565b60405180910390fd5b848111156105eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e290611862565b60405180910390fd5b600081866105f991906118b1565b9050610603610e5a565b8673ffffffffffffffffffffffffffffffffffffffff1663095ea7b333886040518363ffffffff1660e01b815260040161063e9291906118e5565b6020604051808303816000875af115801561065d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610681919061193a565b503373ffffffffffffffffffffffffffffffffffffffff16637c0dcb5f8960200160208101906106b1919061148e565b6040516020016106c191906116ff565b604051602081830303815290604052838a6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052806000815250815260200160008152506040518563ffffffff1660e01b81526004016107599493929190611a54565b600060405180830381600087803b15801561077357600080fd5b505af1158015610787573d6000803e3d6000fd5b5050505050505061081c565b60008083839050146107e95782828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610805565b6108048660200160208101906107ff919061148e565b6109a1565b5b905061081081610d37565b61081a8185610d8b565b505b5050505050565b6060600080848490501461087b5783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610897565b610896856000016020810190610891919061148e565b6109a1565b5b90506108a281610d37565b6108ac8134610d8b565b8460000160208101906108bf919061148e565b6002826040516108cf9190611ae3565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051806020016040528060008152509150509392505050565b6000600360008360405160200161094c9190611b36565b604051602081830303815290604052805190602001208152602001908152602001600020549050919050565b61098181610ce1565b1561098b57600080fd5b61099481610d37565b61099e8134610d8b565b50565b60606040518060400160405280601681526020017f63616c6c65642077697468206e6f206d65737361676500000000000000000000815250826040516020016109eb929190611b95565b6040516020818303038152906040529050919050565b610a0a81610ce1565b15610a1457600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401610a5193929190611bbd565b6020604051808303816000875af1158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a94919061193a565b610a9d57600080fd5b610aa681610d37565b610ab08183610d8b565b505050565b6040518060400160405280601681526020017f63616c6c65642077697468206e6f206d6573736167650000000000000000000081525081565b610b49818060600190610b019190611c03565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610d37565b610ba6818060600190610b5c9190611c03565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610d8b565b806000016020810190610bb9919061148e565b6002828060600190610bcb9190611c03565b604051610bd9929190611c8b565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60016020528060005260406000206000915054906101000a900460ff1681565b60006001600083604051602001610c5f9190611b36565b60405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900460ff169050919050565b6002818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051602001610cf290611cf0565b6040516020818303038152906040528051906020012082604051602001610d199190611b36565b60405160208183030381529060405280519060200120149050919050565b600180600083604051602001610d4d9190611b36565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b806003600084604051602001610da19190611b36565b604051602081830303815290604052805190602001208152602001908152602001600020819055505050565b60006040518060400160405280600881526020017f7769746864726177000000000000000000000000000000000000000000000000815250604051602001610e159190611b36565b6040516020818303038152906040528051906020012082604051602001610e3c9190611b36565b60405160208183030381529060405280519060200120149050919050565b60006207a12090506000614e20905060008183610e779190611d34565b905060005b81811015610eba5760008190806001815401808255809150506001900390600052602060002001600090919091909150558080600101915050610e7c565b50600080610ec89190610ecd565b505050565b5080546000825590600052602060002090810190610eeb9190610eee565b50565b5b80821115610f07576000816000905550600101610eef565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015610f45578082015181840152602081019050610f2a565b60008484015250505050565b6000601f19601f8301169050919050565b6000610f6d82610f0b565b610f778185610f16565b9350610f87818560208601610f27565b610f9081610f51565b840191505092915050565b60006020820190508181036000830152610fb58184610f62565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61101382610f51565b810181811067ffffffffffffffff8211171561103257611031610fdb565b5b80604052505050565b6000611045610fbd565b9050611051828261100a565b919050565b600067ffffffffffffffff82111561107157611070610fdb565b5b61107a82610f51565b9050602081019050919050565b82818337600083830152505050565b60006110a96110a484611056565b61103b565b9050828152602081018484840111156110c5576110c4610fd6565b5b6110d0848285611087565b509392505050565b600082601f8301126110ed576110ec610fd1565b5b81356110fd848260208601611096565b91505092915050565b60006020828403121561111c5761111b610fc7565b5b600082013567ffffffffffffffff81111561113a57611139610fcc565b5b611146848285016110d8565b91505092915050565b6000819050919050565b6111628161114f565b811461116d57600080fd5b50565b60008135905061117f81611159565b92915050565b60006020828403121561119b5761119a610fc7565b5b60006111a984828501611170565b91505092915050565b6000819050919050565b6111c5816111b2565b82525050565b60006020820190506111e060008301846111bc565b92915050565b600080fd5b600060608284031215611201576112006111e6565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006112358261120a565b9050919050565b6112458161122a565b811461125057600080fd5b50565b6000813590506112628161123c565b92915050565b611271816111b2565b811461127c57600080fd5b50565b60008135905061128e81611268565b92915050565b600080fd5b600080fd5b60008083601f8401126112b4576112b3610fd1565b5b8235905067ffffffffffffffff8111156112d1576112d0611294565b5b6020830191508360018202830111156112ed576112ec611299565b5b9250929050565b6000806000806000608086880312156113105761130f610fc7565b5b600086013567ffffffffffffffff81111561132e5761132d610fcc565b5b61133a888289016111eb565b955050602061134b88828901611253565b945050604061135c8882890161127f565b935050606086013567ffffffffffffffff81111561137d5761137c610fcc565b5b6113898882890161129e565b92509250509295509295909350565b6000602082840312156113ae576113ad6111e6565b5b81905092915050565b6000806000604084860312156113d0576113cf610fc7565b5b60006113de86828701611398565b935050602084013567ffffffffffffffff8111156113ff576113fe610fcc565b5b61140b8682870161129e565b92509250509250925092565b600081519050919050565b600082825260208201905092915050565b600061143e82611417565b6114488185611422565b9350611458818560208601610f27565b61146181610f51565b840191505092915050565b600060208201905081810360008301526114868184611433565b905092915050565b6000602082840312156114a4576114a3610fc7565b5b60006114b284828501611253565b91505092915050565b60006114c68261122a565b9050919050565b6114d6816114bb565b81146114e157600080fd5b50565b6000813590506114f3816114cd565b92915050565b60008060006060848603121561151257611511610fc7565b5b6000611520868287016114e4565b93505060206115318682870161127f565b925050604084013567ffffffffffffffff81111561155257611551610fcc565b5b61155e868287016110d8565b9150509250925092565b60006080828403121561157e5761157d6111e6565b5b81905092915050565b60006020828403121561159d5761159c610fc7565b5b600082013567ffffffffffffffff8111156115bb576115ba610fcc565b5b6115c784828501611568565b91505092915050565b60008115159050919050565b6115e5816115d0565b82525050565b600060208201905061160060008301846115dc565b92915050565b600067ffffffffffffffff82111561162157611620610fdb565b5b61162a82610f51565b9050602081019050919050565b600061164a61164584611606565b61103b565b90508281526020810184848401111561166657611665610fd6565b5b611671848285611087565b509392505050565b600082601f83011261168e5761168d610fd1565b5b813561169e848260208601611637565b91505092915050565b6000602082840312156116bd576116bc610fc7565b5b600082013567ffffffffffffffff8111156116db576116da610fcc565b5b6116e784828501611679565b91505092915050565b6116f98161122a565b82525050565b600060208201905061171460008301846116f0565b92915050565b6000815190506117298161123c565b92915050565b60008151905061173e81611268565b92915050565b6000806040838503121561175b5761175a610fc7565b5b60006117698582860161171a565b925050602061177a8582860161172f565b9150509250929050565b7f7a72633230206973206e6f742067617320746f6b656e00000000000000000000600082015250565b60006117ba601683610f16565b91506117c582611784565b602082019050919050565b600060208201905081810360008301526117e9816117ad565b9050919050565b7f66656520616d6f756e7420697320686967686572207468616e2074686520616d60008201527f6f756e7400000000000000000000000000000000000000000000000000000000602082015250565b600061184c602483610f16565b9150611857826117f0565b604082019050919050565b6000602082019050818103600083015261187b8161183f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118bc826111b2565b91506118c7836111b2565b92508282039050818111156118df576118de611882565b5b92915050565b60006040820190506118fa60008301856116f0565b61190760208301846111bc565b9392505050565b611917816115d0565b811461192257600080fd5b50565b6000815190506119348161190e565b92915050565b6000602082840312156119505761194f610fc7565b5b600061195e84828501611925565b91505092915050565b6119708161122a565b82525050565b61197f816115d0565b82525050565b600082825260208201905092915050565b60006119a182611417565b6119ab8185611985565b93506119bb818560208601610f27565b6119c481610f51565b840191505092915050565b6119d8816111b2565b82525050565b600060a0830160008301516119f66000860182611967565b506020830151611a096020860182611976565b506040830151611a1c6040860182611967565b5060608301518482036060860152611a348282611996565b9150506080830151611a4960808601826119cf565b508091505092915050565b60006080820190508181036000830152611a6e8187611433565b9050611a7d60208301866111bc565b611a8a60408301856116f0565b8181036060830152611a9c81846119de565b905095945050505050565b600081905092915050565b6000611abd82611417565b611ac78185611aa7565b9350611ad7818560208601610f27565b80840191505092915050565b6000611aef8284611ab2565b915081905092915050565b600081905092915050565b6000611b1082610f0b565b611b1a8185611afa565b9350611b2a818560208601610f27565b80840191505092915050565b6000611b428284611b05565b915081905092915050565b60008160601b9050919050565b6000611b6582611b4d565b9050919050565b6000611b7782611b5a565b9050919050565b611b8f611b8a8261122a565b611b6c565b82525050565b6000611ba18285611b05565b9150611bad8284611b7e565b6014820191508190509392505050565b6000606082019050611bd260008301866116f0565b611bdf60208301856116f0565b611bec60408301846111bc565b949350505050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611c2057611c1f611bf4565b5b80840192508235915067ffffffffffffffff821115611c4257611c41611bf9565b5b602083019250600182023603831315611c5e57611c5d611bfe565b5b509250929050565b6000611c728385611aa7565b9350611c7f838584611087565b82840190509392505050565b6000611c98828486611c66565b91508190509392505050565b7f7265766572740000000000000000000000000000000000000000000000000000600082015250565b6000611cda600683611afa565b9150611ce582611ca4565b600682019050919050565b6000611cfb82611ccd565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611d3f826111b2565b9150611d4a836111b2565b925082611d5a57611d59611d05565b5b82820490509291505056fea2646970667358221220ebabbc071095d7f86d535b6849ab42de0bd3e54880f77f8c0545d39c187697db64736f6c634300081a0033" } diff --git a/pkg/contracts/testdappv2/TestDAppV2.sol b/pkg/contracts/testdappv2/TestDAppV2.sol index f6fd15a0b0..bd7f0d408a 100644 --- a/pkg/contracts/testdappv2/TestDAppV2.sol +++ b/pkg/contracts/testdappv2/TestDAppV2.sol @@ -69,6 +69,9 @@ struct MessageContext { } contract TestDAppV2 { + // used to simulate gas consumption + uint256[] private storageArray; + string public constant NO_MESSAGE_CALL = "called with no message"; string public constant WITHDRAW = "withdraw"; @@ -119,6 +122,10 @@ contract TestDAppV2 { require(feeAmount <= amount, "fee amount is higher than the amount"); uint256 withdrawAmount = amount - feeAmount; + // in the E2E test doing a withdraw, we want to test the gas usage for processing the outbound + // this function allow to represent more accurate use case where gas would be consumed in the onCall hook + consumeGas(); + IZRC20(zrc20).approve(msg.sender, amount); // caller is the gateway @@ -190,5 +197,21 @@ contract TestDAppV2 { return ""; } + function consumeGas() internal { + // Approximate target gas consumption + uint256 targetGas = 500000; + // Approximate gas cost for a single storage write + uint256 storageWriteGasCost = 20000; + uint256 iterations = targetGas / storageWriteGasCost; + + // Perform the storage writes + for (uint256 i = 0; i < iterations; i++) { + storageArray.push(i); + } + + // Reset the storage array to avoid accumulation of storage cost + delete storageArray; + } + receive() external payable {} } \ No newline at end of file