@keep-network/tbtc-v2 0.1.1-dev.3 → 0.1.1-dev.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/TBTC.json +3 -3
- package/artifacts/TBTCToken.json +3 -3
- package/artifacts/VendingMachine.json +10 -10
- package/artifacts/solcInputs/{cebfa5efa019cb9c8c5e23e38703b883.json → d71966212a658480bad5748ad85b1396.json} +6 -3
- package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
- package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
- package/build/contracts/bank/Bank.sol/Bank.json +25 -2
- package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
- package/build/contracts/bridge/Bridge.sol/Bridge.json +2 -2
- package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
- package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
- package/build/contracts/vault/IVault.sol/IVault.dbg.json +4 -0
- package/build/contracts/vault/IVault.sol/IVault.json +29 -0
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +20 -2
- package/contracts/bank/Bank.sol +36 -1
- package/contracts/bridge/Bridge.sol +15 -0
- package/contracts/vault/IVault.sol +38 -0
- package/contracts/vault/TBTCVault.sol +31 -7
- package/package.json +1 -1
|
@@ -321,6 +321,29 @@
|
|
|
321
321
|
"stateMutability": "nonpayable",
|
|
322
322
|
"type": "function"
|
|
323
323
|
},
|
|
324
|
+
{
|
|
325
|
+
"inputs": [
|
|
326
|
+
{
|
|
327
|
+
"internalType": "address",
|
|
328
|
+
"name": "vault",
|
|
329
|
+
"type": "address"
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"internalType": "address[]",
|
|
333
|
+
"name": "depositors",
|
|
334
|
+
"type": "address[]"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"internalType": "uint256[]",
|
|
338
|
+
"name": "depositedAmounts",
|
|
339
|
+
"type": "uint256[]"
|
|
340
|
+
}
|
|
341
|
+
],
|
|
342
|
+
"name": "increaseBalanceAndCall",
|
|
343
|
+
"outputs": [],
|
|
344
|
+
"stateMutability": "nonpayable",
|
|
345
|
+
"type": "function"
|
|
346
|
+
},
|
|
324
347
|
{
|
|
325
348
|
"inputs": [
|
|
326
349
|
{
|
|
@@ -489,8 +512,8 @@
|
|
|
489
512
|
"type": "function"
|
|
490
513
|
}
|
|
491
514
|
],
|
|
492
|
-
"bytecode": "0x60c06040523480156200001157600080fd5b5062000032620000266200005760201b60201c565b6200005f60201b60201c565b46608081815250506200004a6200012360201b60201c565b60a08181525050620002cb565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600981526020017f544254432042616e6b0000000000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001204630604051602001620001d895949392919062000226565b60405160208183030381529060405280519060200120905090565b620001fe8162000283565b82525050565b6200020f8162000297565b82525050565b6200022081620002c1565b82525050565b600060a0820190506200023d600083018862000204565b6200024c602083018762000204565b6200025b604083018662000204565b6200026a606083018562000215565b620002796080830184620001f3565b9695505050505050565b60006200029082620002a1565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60805160a0516125ec620002ff6000396000818161067a0152610c1f0152600081816106520152610ac801526125ec6000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b85780638da5cb5b1161007c5780638da5cb5b146102fc578063b4f94b2e1461031a578063d505accf14610338578063dd62ed3e14610354578063e78cea9214610384578063f2fde38b146103a257610137565b806370a082311461025857806370ae92d214610288578063715018a6146102b8578063771da5c5146102c25780637c6db49c146102e057610137565b806346b05e09116100ff57806346b05e09146101cc57806356a6d9ef146101e85780635b86f599146102045780635bfd99b9146102205780636eb382121461023c57610137565b80630b6d324c1461013c578063266a123a1461015857806330adf81f146101745780633644e51514610192578063392aee43146101b0575b600080fd5b6101566004803603810190610151919061191b565b6103be565b005b610172600480360381019061016d9190611957565b610494565b005b61017c61062a565b6040516101899190611ced565b60405180910390f35b61019a61064e565b6040516101a79190611ced565b60405180910390f35b6101ca60048036038101906101c591906119cc565b6106ae565b005b6101e660048036038101906101e1919061191b565b610755565b005b61020260048036038101906101fd919061191b565b610764565b005b61021e6004803603810190610219919061191b565b610773565b005b61023a6004803603810190610235919061191b565b610811565b005b610256600480360381019061025191906117c9565b6108a7565b005b610272600480360381019061026d91906117c9565b610a0e565b60405161027f9190612001565b60405180910390f35b6102a2600480360381019061029d91906117c9565b610a26565b6040516102af9190612001565b60405180910390f35b6102c0610a3e565b005b6102ca610ac6565b6040516102d79190612001565b60405180910390f35b6102fa60048036038101906102f5919061182e565b610aea565b005b610304610bf4565b6040516103119190611cd2565b60405180910390f35b610322610c1d565b60405161032f9190611ced565b60405180910390f35b610352600480360381019061034d919061187d565b610c41565b005b61036e600480360381019061036991906117f2565b610f25565b60405161037b9190612001565b60405180910390f35b61038c610f4a565b6040516103999190611cd2565b60405180910390f35b6103bc60048036038101906103b791906117c9565b610f70565b005b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610482576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047990611fe1565b60405180910390fd5b61048f3384848403611068565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051b90611fa1565b60405180910390fd5b81819050848490501461056c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056390611e01565b60405180910390fd5b60005b84849050811015610623576106108585838181106105b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906105cb91906117c9565b848484818110610604577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356111c3565b808061061b90612115565b91505061056f565b5050505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60007f00000000000000000000000000000000000000000000000000000000000000004614156106a0577f000000000000000000000000000000000000000000000000000000000000000090506106ab565b6106a86112da565b90505b90565b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106fd919061208e565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f9c6be7c4260e52ea2e41d7f17932147ab78756f1bb2247a2554796d969741aff8260405161074a9190612001565b60405180910390a250565b610760338383611068565b5050565b61076f3383836113a8565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610803576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fa90611fa1565b60405180910390fd5b61080d82826111c3565b5050565b6108a3338383600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461089e9190612038565b611068565b5050565b6108af611615565b73ffffffffffffffffffffffffffffffffffffffff166108cd610bf4565b73ffffffffffffffffffffffffffffffffffffffff1614610923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091a90611f01565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098a90611f21565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a81604051610a039190611cd2565b60405180910390a150565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b610a46611615565b73ffffffffffffffffffffffffffffffffffffffff16610a64610bf4565b73ffffffffffffffffffffffffffffffffffffffff1614610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190611f01565b60405180910390fd5b610ac4600061161d565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610be35781811015610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcc90611e41565b60405180910390fd5b610be28433848403611068565b5b610bee8484846113a8565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b42841015610c84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7b90611f61565b60405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08160001c1115610cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce190611f81565b60405180910390fd5b601b8360ff161480610cff5750601c8360ff16145b610d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3590611e61565b60405180910390fd5b6000610d4861064e565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9898989600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190610dbc90612115565b919050558a604051602001610dd696959493929190611d08565b60405160208183030381529060405280519060200120604051602001610dfd929190611c9b565b604051602081830303815290604052805190602001209050600060018286868660405160008152602001604052604051610e3a9493929190611dbc565b6020604051602081039080840390855afa158015610e5c573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610ed057508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610f0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0690611ea1565b60405180910390fd5b610f1a898989611068565b505050505050505050565b6003602052816000526040600020602052806000526040600020600091509150505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f78611615565b73ffffffffffffffffffffffffffffffffffffffff16610f96610bf4565b73ffffffffffffffffffffffffffffffffffffffff1614610fec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe390611f01565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561105c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105390611e21565b60405180910390fd5b6110658161161d565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cf90611ec1565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f2fe5e8e7796010737e636f63b35a0383dc160b68483984f2df987c78e842b405836040516111b69190612001565b60405180910390a3505050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611232576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122990611fc1565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112819190612038565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f7a702e80a9c183a6ce9d6732991df2e914555ba35a364a70aed2433984e7544b826040516112ce9190612001565b60405180910390a25050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600981526020017f544254432042616e6b0000000000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525080519060200120463060405160200161138d959493929190611d69565b60405160208183030381529060405280519060200120905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140f90611f41565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147e90611e81565b60405180910390fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561150e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150590611ee1565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115a39190612038565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4163d0b06696468b3d7903f482bcd0097bd38a9a9086157479fd6c6561d24261846040516116079190612001565b60405180910390a350505050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000813590506116f08161255a565b92915050565b60008083601f84011261170857600080fd5b8235905067ffffffffffffffff81111561172157600080fd5b60208301915083602082028301111561173957600080fd5b9250929050565b60008083601f84011261175257600080fd5b8235905067ffffffffffffffff81111561176b57600080fd5b60208301915083602082028301111561178357600080fd5b9250929050565b60008135905061179981612571565b92915050565b6000813590506117ae81612588565b92915050565b6000813590506117c38161259f565b92915050565b6000602082840312156117db57600080fd5b60006117e9848285016116e1565b91505092915050565b6000806040838503121561180557600080fd5b6000611813858286016116e1565b9250506020611824858286016116e1565b9150509250929050565b60008060006060848603121561184357600080fd5b6000611851868287016116e1565b9350506020611862868287016116e1565b92505060406118738682870161179f565b9150509250925092565b600080600080600080600060e0888a03121561189857600080fd5b60006118a68a828b016116e1565b97505060206118b78a828b016116e1565b96505060406118c88a828b0161179f565b95505060606118d98a828b0161179f565b94505060806118ea8a828b016117b4565b93505060a06118fb8a828b0161178a565b92505060c061190c8a828b0161178a565b91505092959891949750929550565b6000806040838503121561192e57600080fd5b600061193c858286016116e1565b925050602061194d8582860161179f565b9150509250929050565b6000806000806040858703121561196d57600080fd5b600085013567ffffffffffffffff81111561198757600080fd5b611993878288016116f6565b9450945050602085013567ffffffffffffffff8111156119b257600080fd5b6119be87828801611740565b925092505092959194509250565b6000602082840312156119de57600080fd5b60006119ec8482850161179f565b91505092915050565b6119fe816120c2565b82525050565b611a0d816120d4565b82525050565b611a24611a1f826120d4565b61215e565b82525050565b6000611a3760208361201c565b9150611a4282612197565b602082019050919050565b6000611a5a60268361201c565b9150611a65826121c0565b604082019050919050565b6000611a7d60218361201c565b9150611a888261220f565b604082019050919050565b6000611aa060028361202d565b9150611aab8261225e565b600282019050919050565b6000611ac3601b8361201c565b9150611ace82612287565b602082019050919050565b6000611ae660248361201c565b9150611af1826122b0565b604082019050919050565b6000611b0960118361201c565b9150611b14826122ff565b602082019050919050565b6000611b2c60238361201c565b9150611b3782612328565b604082019050919050565b6000611b4f601f8361201c565b9150611b5a82612377565b602082019050919050565b6000611b7260208361201c565b9150611b7d826123a0565b602082019050919050565b6000611b95601e8361201c565b9150611ba0826123c9565b602082019050919050565b6000611bb860248361201c565b9150611bc3826123f2565b604082019050919050565b6000611bdb60128361201c565b9150611be682612441565b602082019050919050565b6000611bfe601b8361201c565b9150611c098261246a565b602082019050919050565b6000611c2160188361201c565b9150611c2c82612493565b602082019050919050565b6000611c4460218361201c565b9150611c4f826124bc565b604082019050919050565b6000611c67602d8361201c565b9150611c728261250b565b604082019050919050565b611c86816120fe565b82525050565b611c9581612108565b82525050565b6000611ca682611a93565b9150611cb28285611a13565b602082019150611cc28284611a13565b6020820191508190509392505050565b6000602082019050611ce760008301846119f5565b92915050565b6000602082019050611d026000830184611a04565b92915050565b600060c082019050611d1d6000830189611a04565b611d2a60208301886119f5565b611d3760408301876119f5565b611d446060830186611c7d565b611d516080830185611c7d565b611d5e60a0830184611c7d565b979650505050505050565b600060a082019050611d7e6000830188611a04565b611d8b6020830187611a04565b611d986040830186611a04565b611da56060830185611c7d565b611db260808301846119f5565b9695505050505050565b6000608082019050611dd16000830187611a04565b611dde6020830186611c8c565b611deb6040830185611a04565b611df86060830184611a04565b95945050505050565b60006020820190508181036000830152611e1a81611a2a565b9050919050565b60006020820190508181036000830152611e3a81611a4d565b9050919050565b60006020820190508181036000830152611e5a81611a70565b9050919050565b60006020820190508181036000830152611e7a81611ab6565b9050919050565b60006020820190508181036000830152611e9a81611ad9565b9050919050565b60006020820190508181036000830152611eba81611afc565b9050919050565b60006020820190508181036000830152611eda81611b1f565b9050919050565b60006020820190508181036000830152611efa81611b42565b9050919050565b60006020820190508181036000830152611f1a81611b65565b9050919050565b60006020820190508181036000830152611f3a81611b88565b9050919050565b60006020820190508181036000830152611f5a81611bab565b9050919050565b60006020820190508181036000830152611f7a81611bce565b9050919050565b60006020820190508181036000830152611f9a81611bf1565b9050919050565b60006020820190508181036000830152611fba81611c14565b9050919050565b60006020820190508181036000830152611fda81611c37565b9050919050565b60006020820190508181036000830152611ffa81611c5a565b9050919050565b60006020820190506120166000830184611c7d565b92915050565b600082825260208201905092915050565b600081905092915050565b6000612043826120fe565b915061204e836120fe565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561208357612082612168565b5b828201905092915050565b6000612099826120fe565b91506120a4836120fe565b9250828210156120b7576120b6612168565b5b828203905092915050565b60006120cd826120de565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612120826120fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561215357612152612168565b5b600182019050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f417272617973206d7573742068617665207468652073616d65206c656e677468600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202776272076616c75650000000000600082015250565b7f43616e206e6f74207472616e7366657220746f207468652042616e6b2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b7f43616e206e6f7420617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e7420657863656564732062616c616e636500600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4272696467652061646472657373206d757374206e6f74206265203078300000600082015250565b7f43616e206e6f74207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f5065726d697373696f6e20657870697265640000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202773272076616c75650000000000600082015250565b7f43616c6c6572206973206e6f7420746865206272696467650000000000000000600082015250565b7f43616e206e6f7420696e6372656173652062616c616e636520666f722042616e60008201527f6b00000000000000000000000000000000000000000000000000000000000000602082015250565b7f43616e206e6f742064656372656173652062616c616e636520616c6c6f77616e60008201527f63652062656c6f77207a65726f00000000000000000000000000000000000000602082015250565b612563816120c2565b811461256e57600080fd5b50565b61257a816120d4565b811461258557600080fd5b50565b612591816120fe565b811461259c57600080fd5b50565b6125a881612108565b81146125b357600080fd5b5056fea2646970667358221220fca3107c371e45c65fe6a7a44602d781f6a5e3650ff49462df38c125e34a7c3e64736f6c63430008040033",
|
|
493
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b85780638da5cb5b1161007c5780638da5cb5b146102fc578063b4f94b2e1461031a578063d505accf14610338578063dd62ed3e14610354578063e78cea9214610384578063f2fde38b146103a257610137565b806370a082311461025857806370ae92d214610288578063715018a6146102b8578063771da5c5146102c25780637c6db49c146102e057610137565b806346b05e09116100ff57806346b05e09146101cc57806356a6d9ef146101e85780635b86f599146102045780635bfd99b9146102205780636eb382121461023c57610137565b80630b6d324c1461013c578063266a123a1461015857806330adf81f146101745780633644e51514610192578063392aee43146101b0575b600080fd5b6101566004803603810190610151919061191b565b6103be565b005b610172600480360381019061016d9190611957565b610494565b005b61017c61062a565b6040516101899190611ced565b60405180910390f35b61019a61064e565b6040516101a79190611ced565b60405180910390f35b6101ca60048036038101906101c591906119cc565b6106ae565b005b6101e660048036038101906101e1919061191b565b610755565b005b61020260048036038101906101fd919061191b565b610764565b005b61021e6004803603810190610219919061191b565b610773565b005b61023a6004803603810190610235919061191b565b610811565b005b610256600480360381019061025191906117c9565b6108a7565b005b610272600480360381019061026d91906117c9565b610a0e565b60405161027f9190612001565b60405180910390f35b6102a2600480360381019061029d91906117c9565b610a26565b6040516102af9190612001565b60405180910390f35b6102c0610a3e565b005b6102ca610ac6565b6040516102d79190612001565b60405180910390f35b6102fa60048036038101906102f5919061182e565b610aea565b005b610304610bf4565b6040516103119190611cd2565b60405180910390f35b610322610c1d565b60405161032f9190611ced565b60405180910390f35b610352600480360381019061034d919061187d565b610c41565b005b61036e600480360381019061036991906117f2565b610f25565b60405161037b9190612001565b60405180910390f35b61038c610f4a565b6040516103999190611cd2565b60405180910390f35b6103bc60048036038101906103b791906117c9565b610f70565b005b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610482576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047990611fe1565b60405180910390fd5b61048f3384848403611068565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051b90611fa1565b60405180910390fd5b81819050848490501461056c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056390611e01565b60405180910390fd5b60005b84849050811015610623576106108585838181106105b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906105cb91906117c9565b848484818110610604577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356111c3565b808061061b90612115565b91505061056f565b5050505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60007f00000000000000000000000000000000000000000000000000000000000000004614156106a0577f000000000000000000000000000000000000000000000000000000000000000090506106ab565b6106a86112da565b90505b90565b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106fd919061208e565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f9c6be7c4260e52ea2e41d7f17932147ab78756f1bb2247a2554796d969741aff8260405161074a9190612001565b60405180910390a250565b610760338383611068565b5050565b61076f3383836113a8565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610803576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fa90611fa1565b60405180910390fd5b61080d82826111c3565b5050565b6108a3338383600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461089e9190612038565b611068565b5050565b6108af611615565b73ffffffffffffffffffffffffffffffffffffffff166108cd610bf4565b73ffffffffffffffffffffffffffffffffffffffff1614610923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091a90611f01565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098a90611f21565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a81604051610a039190611cd2565b60405180910390a150565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b610a46611615565b73ffffffffffffffffffffffffffffffffffffffff16610a64610bf4565b73ffffffffffffffffffffffffffffffffffffffff1614610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190611f01565b60405180910390fd5b610ac4600061161d565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610be35781811015610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcc90611e41565b60405180910390fd5b610be28433848403611068565b5b610bee8484846113a8565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b42841015610c84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7b90611f61565b60405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08160001c1115610cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce190611f81565b60405180910390fd5b601b8360ff161480610cff5750601c8360ff16145b610d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3590611e61565b60405180910390fd5b6000610d4861064e565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9898989600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190610dbc90612115565b919050558a604051602001610dd696959493929190611d08565b60405160208183030381529060405280519060200120604051602001610dfd929190611c9b565b604051602081830303815290604052805190602001209050600060018286868660405160008152602001604052604051610e3a9493929190611dbc565b6020604051602081039080840390855afa158015610e5c573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610ed057508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610f0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0690611ea1565b60405180910390fd5b610f1a898989611068565b505050505050505050565b6003602052816000526040600020602052806000526040600020600091509150505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f78611615565b73ffffffffffffffffffffffffffffffffffffffff16610f96610bf4565b73ffffffffffffffffffffffffffffffffffffffff1614610fec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe390611f01565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561105c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105390611e21565b60405180910390fd5b6110658161161d565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cf90611ec1565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f2fe5e8e7796010737e636f63b35a0383dc160b68483984f2df987c78e842b405836040516111b69190612001565b60405180910390a3505050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611232576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122990611fc1565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112819190612038565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f7a702e80a9c183a6ce9d6732991df2e914555ba35a364a70aed2433984e7544b826040516112ce9190612001565b60405180910390a25050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600981526020017f544254432042616e6b0000000000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525080519060200120463060405160200161138d959493929190611d69565b60405160208183030381529060405280519060200120905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140f90611f41565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147e90611e81565b60405180910390fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561150e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150590611ee1565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115a39190612038565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4163d0b06696468b3d7903f482bcd0097bd38a9a9086157479fd6c6561d24261846040516116079190612001565b60405180910390a350505050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000813590506116f08161255a565b92915050565b60008083601f84011261170857600080fd5b8235905067ffffffffffffffff81111561172157600080fd5b60208301915083602082028301111561173957600080fd5b9250929050565b60008083601f84011261175257600080fd5b8235905067ffffffffffffffff81111561176b57600080fd5b60208301915083602082028301111561178357600080fd5b9250929050565b60008135905061179981612571565b92915050565b6000813590506117ae81612588565b92915050565b6000813590506117c38161259f565b92915050565b6000602082840312156117db57600080fd5b60006117e9848285016116e1565b91505092915050565b6000806040838503121561180557600080fd5b6000611813858286016116e1565b9250506020611824858286016116e1565b9150509250929050565b60008060006060848603121561184357600080fd5b6000611851868287016116e1565b9350506020611862868287016116e1565b92505060406118738682870161179f565b9150509250925092565b600080600080600080600060e0888a03121561189857600080fd5b60006118a68a828b016116e1565b97505060206118b78a828b016116e1565b96505060406118c88a828b0161179f565b95505060606118d98a828b0161179f565b94505060806118ea8a828b016117b4565b93505060a06118fb8a828b0161178a565b92505060c061190c8a828b0161178a565b91505092959891949750929550565b6000806040838503121561192e57600080fd5b600061193c858286016116e1565b925050602061194d8582860161179f565b9150509250929050565b6000806000806040858703121561196d57600080fd5b600085013567ffffffffffffffff81111561198757600080fd5b611993878288016116f6565b9450945050602085013567ffffffffffffffff8111156119b257600080fd5b6119be87828801611740565b925092505092959194509250565b6000602082840312156119de57600080fd5b60006119ec8482850161179f565b91505092915050565b6119fe816120c2565b82525050565b611a0d816120d4565b82525050565b611a24611a1f826120d4565b61215e565b82525050565b6000611a3760208361201c565b9150611a4282612197565b602082019050919050565b6000611a5a60268361201c565b9150611a65826121c0565b604082019050919050565b6000611a7d60218361201c565b9150611a888261220f565b604082019050919050565b6000611aa060028361202d565b9150611aab8261225e565b600282019050919050565b6000611ac3601b8361201c565b9150611ace82612287565b602082019050919050565b6000611ae660248361201c565b9150611af1826122b0565b604082019050919050565b6000611b0960118361201c565b9150611b14826122ff565b602082019050919050565b6000611b2c60238361201c565b9150611b3782612328565b604082019050919050565b6000611b4f601f8361201c565b9150611b5a82612377565b602082019050919050565b6000611b7260208361201c565b9150611b7d826123a0565b602082019050919050565b6000611b95601e8361201c565b9150611ba0826123c9565b602082019050919050565b6000611bb860248361201c565b9150611bc3826123f2565b604082019050919050565b6000611bdb60128361201c565b9150611be682612441565b602082019050919050565b6000611bfe601b8361201c565b9150611c098261246a565b602082019050919050565b6000611c2160188361201c565b9150611c2c82612493565b602082019050919050565b6000611c4460218361201c565b9150611c4f826124bc565b604082019050919050565b6000611c67602d8361201c565b9150611c728261250b565b604082019050919050565b611c86816120fe565b82525050565b611c9581612108565b82525050565b6000611ca682611a93565b9150611cb28285611a13565b602082019150611cc28284611a13565b6020820191508190509392505050565b6000602082019050611ce760008301846119f5565b92915050565b6000602082019050611d026000830184611a04565b92915050565b600060c082019050611d1d6000830189611a04565b611d2a60208301886119f5565b611d3760408301876119f5565b611d446060830186611c7d565b611d516080830185611c7d565b611d5e60a0830184611c7d565b979650505050505050565b600060a082019050611d7e6000830188611a04565b611d8b6020830187611a04565b611d986040830186611a04565b611da56060830185611c7d565b611db260808301846119f5565b9695505050505050565b6000608082019050611dd16000830187611a04565b611dde6020830186611c8c565b611deb6040830185611a04565b611df86060830184611a04565b95945050505050565b60006020820190508181036000830152611e1a81611a2a565b9050919050565b60006020820190508181036000830152611e3a81611a4d565b9050919050565b60006020820190508181036000830152611e5a81611a70565b9050919050565b60006020820190508181036000830152611e7a81611ab6565b9050919050565b60006020820190508181036000830152611e9a81611ad9565b9050919050565b60006020820190508181036000830152611eba81611afc565b9050919050565b60006020820190508181036000830152611eda81611b1f565b9050919050565b60006020820190508181036000830152611efa81611b42565b9050919050565b60006020820190508181036000830152611f1a81611b65565b9050919050565b60006020820190508181036000830152611f3a81611b88565b9050919050565b60006020820190508181036000830152611f5a81611bab565b9050919050565b60006020820190508181036000830152611f7a81611bce565b9050919050565b60006020820190508181036000830152611f9a81611bf1565b9050919050565b60006020820190508181036000830152611fba81611c14565b9050919050565b60006020820190508181036000830152611fda81611c37565b9050919050565b60006020820190508181036000830152611ffa81611c5a565b9050919050565b60006020820190506120166000830184611c7d565b92915050565b600082825260208201905092915050565b600081905092915050565b6000612043826120fe565b915061204e836120fe565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561208357612082612168565b5b828201905092915050565b6000612099826120fe565b91506120a4836120fe565b9250828210156120b7576120b6612168565b5b828203905092915050565b60006120cd826120de565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612120826120fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561215357612152612168565b5b600182019050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f417272617973206d7573742068617665207468652073616d65206c656e677468600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202776272076616c75650000000000600082015250565b7f43616e206e6f74207472616e7366657220746f207468652042616e6b2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b7f43616e206e6f7420617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e7420657863656564732062616c616e636500600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4272696467652061646472657373206d757374206e6f74206265203078300000600082015250565b7f43616e206e6f74207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f5065726d697373696f6e20657870697265640000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202773272076616c75650000000000600082015250565b7f43616c6c6572206973206e6f7420746865206272696467650000000000000000600082015250565b7f43616e206e6f7420696e6372656173652062616c616e636520666f722042616e60008201527f6b00000000000000000000000000000000000000000000000000000000000000602082015250565b7f43616e206e6f742064656372656173652062616c616e636520616c6c6f77616e60008201527f63652062656c6f77207a65726f00000000000000000000000000000000000000602082015250565b612563816120c2565b811461256e57600080fd5b50565b61257a816120d4565b811461258557600080fd5b50565b612591816120fe565b811461259c57600080fd5b50565b6125a881612108565b81146125b357600080fd5b5056fea2646970667358221220fca3107c371e45c65fe6a7a44602d781f6a5e3650ff49462df38c125e34a7c3e64736f6c63430008040033",
|
|
515
|
+
"bytecode": "0x60c06040523480156200001157600080fd5b5062000032620000266200005760201b60201c565b6200005f60201b60201c565b46608081815250506200004a6200012360201b60201c565b60a08181525050620002cb565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600981526020017f544254432042616e6b0000000000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001204630604051602001620001d895949392919062000226565b60405160208183030381529060405280519060200120905090565b620001fe8162000283565b82525050565b6200020f8162000297565b82525050565b6200022081620002c1565b82525050565b600060a0820190506200023d600083018862000204565b6200024c602083018762000204565b6200025b604083018662000204565b6200026a606083018562000215565b620002796080830184620001f3565b9695505050505050565b60006200029082620002a1565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60805160a0516129dd620002ff600039600081816106a10152610c460152600081816106790152610aef01526129dd6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806370ae92d2116100b8578063b4f94b2e1161007c578063b4f94b2e14610325578063bb7e61bc14610343578063d505accf1461035f578063dd62ed3e1461037b578063e78cea92146103ab578063f2fde38b146103c957610142565b806370ae92d214610293578063715018a6146102c3578063771da5c5146102cd5780637c6db49c146102eb5780638da5cb5b1461030757610142565b806346b05e091161010a57806346b05e09146101d757806356a6d9ef146101f35780635b86f5991461020f5780635bfd99b91461022b5780636eb382121461024757806370a082311461026357610142565b80630b6d324c14610147578063266a123a1461016357806330adf81f1461017f5780633644e5151461019d578063392aee43146101bb575b600080fd5b610161600480360381019061015c9190611b96565b6103e5565b005b61017d60048036038101906101789190611bd2565b6104bb565b005b610187610651565b604051610194919061207f565b60405180910390f35b6101a5610675565b6040516101b2919061207f565b60405180910390f35b6101d560048036038101906101d09190611c47565b6106d5565b005b6101f160048036038101906101ec9190611b96565b61077c565b005b61020d60048036038101906102089190611b96565b61078b565b005b61022960048036038101906102249190611b96565b61079a565b005b61024560048036038101906102409190611b96565b610838565b005b610261600480360381019061025c91906119bb565b6108ce565b005b61027d600480360381019061027891906119bb565b610a35565b60405161028a9190612393565b60405180910390f35b6102ad60048036038101906102a891906119bb565b610a4d565b6040516102ba9190612393565b60405180910390f35b6102cb610a65565b005b6102d5610aed565b6040516102e29190612393565b60405180910390f35b61030560048036038101906103009190611a20565b610b11565b005b61030f610c1b565b60405161031c9190612029565b60405180910390f35b61032d610c44565b60405161033a919061207f565b60405180910390f35b61035d60048036038101906103589190611b0d565b610c68565b005b61037960048036038101906103749190611a6f565b610e33565b005b610395600480360381019061039091906119e4565b611117565b6040516103a29190612393565b60405180910390f35b6103b361113c565b6040516103c09190612029565b60405180910390f35b6103e360048036038101906103de91906119bb565b611162565b005b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156104a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a090612373565b60405180910390fd5b6104b6338484840361125a565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054290612333565b60405180910390fd5b818190508484905014610593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058a90612193565b60405180910390fd5b60005b8484905081101561064a576106378585838181106105dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906105f291906119bb565b84848481811061062b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356113b5565b808061064290612506565b915050610596565b5050505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60007f00000000000000000000000000000000000000000000000000000000000000004614156106c7577f000000000000000000000000000000000000000000000000000000000000000090506106d2565b6106cf6114cc565b90505b90565b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107249190612470565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f9c6be7c4260e52ea2e41d7f17932147ab78756f1bb2247a2554796d969741aff826040516107719190612393565b60405180910390a250565b61078733838361125a565b5050565b61079633838361159a565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461082a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082190612333565b60405180910390fd5b61083482826113b5565b5050565b6108ca338383600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108c5919061241a565b61125a565b5050565b6108d6611807565b73ffffffffffffffffffffffffffffffffffffffff166108f4610c1b565b73ffffffffffffffffffffffffffffffffffffffff161461094a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094190612293565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b1906122b3565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a81604051610a2a9190612029565b60405180910390a150565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b610a6d611807565b73ffffffffffffffffffffffffffffffffffffffff16610a8b610c1b565b73ffffffffffffffffffffffffffffffffffffffff1614610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad890612293565b60405180910390fd5b610aeb600061180f565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c0a5781811015610bfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf3906121d3565b60405180910390fd5b610c09843384840361125a565b5b610c1584848461159a565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cef90612333565b60405180910390fd5b818190508484905014610d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3790612193565b60405180910390fd5b6000805b83839050811015610daf57838382818110610d88577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002013582610d9a919061241a565b91508080610da790612506565b915050610d44565b50610dba86826113b5565b8573ffffffffffffffffffffffffffffffffffffffff1663ad7581e1868686866040518563ffffffff1660e01b8152600401610df99493929190612044565b600060405180830381600087803b158015610e1357600080fd5b505af1158015610e27573d6000803e3d6000fd5b50505050505050505050565b42841015610e76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6d906122f3565b60405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08160001c1115610edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed390612313565b60405180910390fd5b601b8360ff161480610ef15750601c8360ff16145b610f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f27906121f3565b60405180910390fd5b6000610f3a610675565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9898989600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190610fae90612506565b919050558a604051602001610fc89695949392919061209a565b60405160208183030381529060405280519060200120604051602001610fef929190611ff2565b60405160208183030381529060405280519060200120905060006001828686866040516000815260200160405260405161102c949392919061214e565b6020604051602081039080840390855afa15801561104e573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156110c257508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f890612233565b60405180910390fd5b61110c89898961125a565b505050505050505050565b6003602052816000526040600020602052806000526040600020600091509150505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61116a611807565b73ffffffffffffffffffffffffffffffffffffffff16611188610c1b565b73ffffffffffffffffffffffffffffffffffffffff16146111de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d590612293565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561124e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611245906121b3565b60405180910390fd5b6112578161180f565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c190612253565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f2fe5e8e7796010737e636f63b35a0383dc160b68483984f2df987c78e842b405836040516113a89190612393565b60405180910390a3505050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141b90612353565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611473919061241a565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f7a702e80a9c183a6ce9d6732991df2e914555ba35a364a70aed2433984e7544b826040516114c09190612393565b60405180910390a25050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600981526020017f544254432042616e6b0000000000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525080519060200120463060405160200161157f9594939291906120fb565b60405160208183030381529060405280519060200120905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561160a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611601906122d3565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611679576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167090612213565b60405180910390fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f790612273565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611795919061241a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4163d0b06696468b3d7903f482bcd0097bd38a9a9086157479fd6c6561d24261846040516117f99190612393565b60405180910390a350505050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000813590506118e28161294b565b92915050565b60008083601f8401126118fa57600080fd5b8235905067ffffffffffffffff81111561191357600080fd5b60208301915083602082028301111561192b57600080fd5b9250929050565b60008083601f84011261194457600080fd5b8235905067ffffffffffffffff81111561195d57600080fd5b60208301915083602082028301111561197557600080fd5b9250929050565b60008135905061198b81612962565b92915050565b6000813590506119a081612979565b92915050565b6000813590506119b581612990565b92915050565b6000602082840312156119cd57600080fd5b60006119db848285016118d3565b91505092915050565b600080604083850312156119f757600080fd5b6000611a05858286016118d3565b9250506020611a16858286016118d3565b9150509250929050565b600080600060608486031215611a3557600080fd5b6000611a43868287016118d3565b9350506020611a54868287016118d3565b9250506040611a6586828701611991565b9150509250925092565b600080600080600080600060e0888a031215611a8a57600080fd5b6000611a988a828b016118d3565b9750506020611aa98a828b016118d3565b9650506040611aba8a828b01611991565b9550506060611acb8a828b01611991565b9450506080611adc8a828b016119a6565b93505060a0611aed8a828b0161197c565b92505060c0611afe8a828b0161197c565b91505092959891949750929550565b600080600080600060608688031215611b2557600080fd5b6000611b33888289016118d3565b955050602086013567ffffffffffffffff811115611b5057600080fd5b611b5c888289016118e8565b9450945050604086013567ffffffffffffffff811115611b7b57600080fd5b611b8788828901611932565b92509250509295509295909350565b60008060408385031215611ba957600080fd5b6000611bb7858286016118d3565b9250506020611bc885828601611991565b9150509250929050565b60008060008060408587031215611be857600080fd5b600085013567ffffffffffffffff811115611c0257600080fd5b611c0e878288016118e8565b9450945050602085013567ffffffffffffffff811115611c2d57600080fd5b611c3987828801611932565b925092505092959194509250565b600060208284031215611c5957600080fd5b6000611c6784828501611991565b91505092915050565b6000611c7c8383611c88565b60208301905092915050565b611c91816124a4565b82525050565b611ca0816124a4565b82525050565b6000611cb283856123c5565b9350611cbd826123ae565b8060005b85811015611cf657611cd38284612403565b611cdd8882611c70565b9750611ce8836123b8565b925050600181019050611cc1565b5085925050509392505050565b6000611d0f83856123d6565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115611d3e57600080fd5b602083029250611d4f8385846124f7565b82840190509392505050565b611d64816124b6565b82525050565b611d7b611d76826124b6565b61254f565b82525050565b6000611d8e6020836123e7565b9150611d9982612588565b602082019050919050565b6000611db16026836123e7565b9150611dbc826125b1565b604082019050919050565b6000611dd46021836123e7565b9150611ddf82612600565b604082019050919050565b6000611df76002836123f8565b9150611e028261264f565b600282019050919050565b6000611e1a601b836123e7565b9150611e2582612678565b602082019050919050565b6000611e3d6024836123e7565b9150611e48826126a1565b604082019050919050565b6000611e606011836123e7565b9150611e6b826126f0565b602082019050919050565b6000611e836023836123e7565b9150611e8e82612719565b604082019050919050565b6000611ea6601f836123e7565b9150611eb182612768565b602082019050919050565b6000611ec96020836123e7565b9150611ed482612791565b602082019050919050565b6000611eec601e836123e7565b9150611ef7826127ba565b602082019050919050565b6000611f0f6024836123e7565b9150611f1a826127e3565b604082019050919050565b6000611f326012836123e7565b9150611f3d82612832565b602082019050919050565b6000611f55601b836123e7565b9150611f608261285b565b602082019050919050565b6000611f786018836123e7565b9150611f8382612884565b602082019050919050565b6000611f9b6021836123e7565b9150611fa6826128ad565b604082019050919050565b6000611fbe602d836123e7565b9150611fc9826128fc565b604082019050919050565b611fdd816124e0565b82525050565b611fec816124ea565b82525050565b6000611ffd82611dea565b91506120098285611d6a565b6020820191506120198284611d6a565b6020820191508190509392505050565b600060208201905061203e6000830184611c97565b92915050565b6000604082019050818103600083015261205f818688611ca6565b90508181036020830152612074818486611d03565b905095945050505050565b60006020820190506120946000830184611d5b565b92915050565b600060c0820190506120af6000830189611d5b565b6120bc6020830188611c97565b6120c96040830187611c97565b6120d66060830186611fd4565b6120e36080830185611fd4565b6120f060a0830184611fd4565b979650505050505050565b600060a0820190506121106000830188611d5b565b61211d6020830187611d5b565b61212a6040830186611d5b565b6121376060830185611fd4565b6121446080830184611c97565b9695505050505050565b60006080820190506121636000830187611d5b565b6121706020830186611fe3565b61217d6040830185611d5b565b61218a6060830184611d5b565b95945050505050565b600060208201905081810360008301526121ac81611d81565b9050919050565b600060208201905081810360008301526121cc81611da4565b9050919050565b600060208201905081810360008301526121ec81611dc7565b9050919050565b6000602082019050818103600083015261220c81611e0d565b9050919050565b6000602082019050818103600083015261222c81611e30565b9050919050565b6000602082019050818103600083015261224c81611e53565b9050919050565b6000602082019050818103600083015261226c81611e76565b9050919050565b6000602082019050818103600083015261228c81611e99565b9050919050565b600060208201905081810360008301526122ac81611ebc565b9050919050565b600060208201905081810360008301526122cc81611edf565b9050919050565b600060208201905081810360008301526122ec81611f02565b9050919050565b6000602082019050818103600083015261230c81611f25565b9050919050565b6000602082019050818103600083015261232c81611f48565b9050919050565b6000602082019050818103600083015261234c81611f6b565b9050919050565b6000602082019050818103600083015261236c81611f8e565b9050919050565b6000602082019050818103600083015261238c81611fb1565b9050919050565b60006020820190506123a86000830184611fd4565b92915050565b6000819050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061241260208401846118d3565b905092915050565b6000612425826124e0565b9150612430836124e0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561246557612464612559565b5b828201905092915050565b600061247b826124e0565b9150612486836124e0565b92508282101561249957612498612559565b5b828203905092915050565b60006124af826124c0565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b6000612511826124e0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561254457612543612559565b5b600182019050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f417272617973206d7573742068617665207468652073616d65206c656e677468600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202776272076616c75650000000000600082015250565b7f43616e206e6f74207472616e7366657220746f207468652042616e6b2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b7f43616e206e6f7420617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e7420657863656564732062616c616e636500600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4272696467652061646472657373206d757374206e6f74206265203078300000600082015250565b7f43616e206e6f74207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f5065726d697373696f6e20657870697265640000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202773272076616c75650000000000600082015250565b7f43616c6c6572206973206e6f7420746865206272696467650000000000000000600082015250565b7f43616e206e6f7420696e6372656173652062616c616e636520666f722042616e60008201527f6b00000000000000000000000000000000000000000000000000000000000000602082015250565b7f43616e206e6f742064656372656173652062616c616e636520616c6c6f77616e60008201527f63652062656c6f77207a65726f00000000000000000000000000000000000000602082015250565b612954816124a4565b811461295f57600080fd5b50565b61296b816124b6565b811461297657600080fd5b50565b612982816124e0565b811461298d57600080fd5b50565b612999816124ea565b81146129a457600080fd5b5056fea2646970667358221220baf5bd5d450e14e6fee5dfaadcbc5446a3ffa000154043c1bb6a663d2b2860c164736f6c63430008040033",
|
|
516
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c806370ae92d2116100b8578063b4f94b2e1161007c578063b4f94b2e14610325578063bb7e61bc14610343578063d505accf1461035f578063dd62ed3e1461037b578063e78cea92146103ab578063f2fde38b146103c957610142565b806370ae92d214610293578063715018a6146102c3578063771da5c5146102cd5780637c6db49c146102eb5780638da5cb5b1461030757610142565b806346b05e091161010a57806346b05e09146101d757806356a6d9ef146101f35780635b86f5991461020f5780635bfd99b91461022b5780636eb382121461024757806370a082311461026357610142565b80630b6d324c14610147578063266a123a1461016357806330adf81f1461017f5780633644e5151461019d578063392aee43146101bb575b600080fd5b610161600480360381019061015c9190611b96565b6103e5565b005b61017d60048036038101906101789190611bd2565b6104bb565b005b610187610651565b604051610194919061207f565b60405180910390f35b6101a5610675565b6040516101b2919061207f565b60405180910390f35b6101d560048036038101906101d09190611c47565b6106d5565b005b6101f160048036038101906101ec9190611b96565b61077c565b005b61020d60048036038101906102089190611b96565b61078b565b005b61022960048036038101906102249190611b96565b61079a565b005b61024560048036038101906102409190611b96565b610838565b005b610261600480360381019061025c91906119bb565b6108ce565b005b61027d600480360381019061027891906119bb565b610a35565b60405161028a9190612393565b60405180910390f35b6102ad60048036038101906102a891906119bb565b610a4d565b6040516102ba9190612393565b60405180910390f35b6102cb610a65565b005b6102d5610aed565b6040516102e29190612393565b60405180910390f35b61030560048036038101906103009190611a20565b610b11565b005b61030f610c1b565b60405161031c9190612029565b60405180910390f35b61032d610c44565b60405161033a919061207f565b60405180910390f35b61035d60048036038101906103589190611b0d565b610c68565b005b61037960048036038101906103749190611a6f565b610e33565b005b610395600480360381019061039091906119e4565b611117565b6040516103a29190612393565b60405180910390f35b6103b361113c565b6040516103c09190612029565b60405180910390f35b6103e360048036038101906103de91906119bb565b611162565b005b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156104a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a090612373565b60405180910390fd5b6104b6338484840361125a565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054290612333565b60405180910390fd5b818190508484905014610593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058a90612193565b60405180910390fd5b60005b8484905081101561064a576106378585838181106105dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906105f291906119bb565b84848481811061062b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356113b5565b808061064290612506565b915050610596565b5050505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60007f00000000000000000000000000000000000000000000000000000000000000004614156106c7577f000000000000000000000000000000000000000000000000000000000000000090506106d2565b6106cf6114cc565b90505b90565b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107249190612470565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f9c6be7c4260e52ea2e41d7f17932147ab78756f1bb2247a2554796d969741aff826040516107719190612393565b60405180910390a250565b61078733838361125a565b5050565b61079633838361159a565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461082a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082190612333565b60405180910390fd5b61083482826113b5565b5050565b6108ca338383600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108c5919061241a565b61125a565b5050565b6108d6611807565b73ffffffffffffffffffffffffffffffffffffffff166108f4610c1b565b73ffffffffffffffffffffffffffffffffffffffff161461094a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094190612293565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b1906122b3565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a81604051610a2a9190612029565b60405180910390a150565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b610a6d611807565b73ffffffffffffffffffffffffffffffffffffffff16610a8b610c1b565b73ffffffffffffffffffffffffffffffffffffffff1614610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad890612293565b60405180910390fd5b610aeb600061180f565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c0a5781811015610bfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf3906121d3565b60405180910390fd5b610c09843384840361125a565b5b610c1584848461159a565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cef90612333565b60405180910390fd5b818190508484905014610d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3790612193565b60405180910390fd5b6000805b83839050811015610daf57838382818110610d88577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002013582610d9a919061241a565b91508080610da790612506565b915050610d44565b50610dba86826113b5565b8573ffffffffffffffffffffffffffffffffffffffff1663ad7581e1868686866040518563ffffffff1660e01b8152600401610df99493929190612044565b600060405180830381600087803b158015610e1357600080fd5b505af1158015610e27573d6000803e3d6000fd5b50505050505050505050565b42841015610e76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6d906122f3565b60405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08160001c1115610edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed390612313565b60405180910390fd5b601b8360ff161480610ef15750601c8360ff16145b610f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f27906121f3565b60405180910390fd5b6000610f3a610675565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9898989600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190610fae90612506565b919050558a604051602001610fc89695949392919061209a565b60405160208183030381529060405280519060200120604051602001610fef929190611ff2565b60405160208183030381529060405280519060200120905060006001828686866040516000815260200160405260405161102c949392919061214e565b6020604051602081039080840390855afa15801561104e573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156110c257508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f890612233565b60405180910390fd5b61110c89898961125a565b505050505050505050565b6003602052816000526040600020602052806000526040600020600091509150505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61116a611807565b73ffffffffffffffffffffffffffffffffffffffff16611188610c1b565b73ffffffffffffffffffffffffffffffffffffffff16146111de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d590612293565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561124e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611245906121b3565b60405180910390fd5b6112578161180f565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c190612253565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f2fe5e8e7796010737e636f63b35a0383dc160b68483984f2df987c78e842b405836040516113a89190612393565b60405180910390a3505050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141b90612353565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611473919061241a565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f7a702e80a9c183a6ce9d6732991df2e914555ba35a364a70aed2433984e7544b826040516114c09190612393565b60405180910390a25050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600981526020017f544254432042616e6b0000000000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525080519060200120463060405160200161157f9594939291906120fb565b60405160208183030381529060405280519060200120905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561160a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611601906122d3565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611679576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167090612213565b60405180910390fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f790612273565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611795919061241a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4163d0b06696468b3d7903f482bcd0097bd38a9a9086157479fd6c6561d24261846040516117f99190612393565b60405180910390a350505050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000813590506118e28161294b565b92915050565b60008083601f8401126118fa57600080fd5b8235905067ffffffffffffffff81111561191357600080fd5b60208301915083602082028301111561192b57600080fd5b9250929050565b60008083601f84011261194457600080fd5b8235905067ffffffffffffffff81111561195d57600080fd5b60208301915083602082028301111561197557600080fd5b9250929050565b60008135905061198b81612962565b92915050565b6000813590506119a081612979565b92915050565b6000813590506119b581612990565b92915050565b6000602082840312156119cd57600080fd5b60006119db848285016118d3565b91505092915050565b600080604083850312156119f757600080fd5b6000611a05858286016118d3565b9250506020611a16858286016118d3565b9150509250929050565b600080600060608486031215611a3557600080fd5b6000611a43868287016118d3565b9350506020611a54868287016118d3565b9250506040611a6586828701611991565b9150509250925092565b600080600080600080600060e0888a031215611a8a57600080fd5b6000611a988a828b016118d3565b9750506020611aa98a828b016118d3565b9650506040611aba8a828b01611991565b9550506060611acb8a828b01611991565b9450506080611adc8a828b016119a6565b93505060a0611aed8a828b0161197c565b92505060c0611afe8a828b0161197c565b91505092959891949750929550565b600080600080600060608688031215611b2557600080fd5b6000611b33888289016118d3565b955050602086013567ffffffffffffffff811115611b5057600080fd5b611b5c888289016118e8565b9450945050604086013567ffffffffffffffff811115611b7b57600080fd5b611b8788828901611932565b92509250509295509295909350565b60008060408385031215611ba957600080fd5b6000611bb7858286016118d3565b9250506020611bc885828601611991565b9150509250929050565b60008060008060408587031215611be857600080fd5b600085013567ffffffffffffffff811115611c0257600080fd5b611c0e878288016118e8565b9450945050602085013567ffffffffffffffff811115611c2d57600080fd5b611c3987828801611932565b925092505092959194509250565b600060208284031215611c5957600080fd5b6000611c6784828501611991565b91505092915050565b6000611c7c8383611c88565b60208301905092915050565b611c91816124a4565b82525050565b611ca0816124a4565b82525050565b6000611cb283856123c5565b9350611cbd826123ae565b8060005b85811015611cf657611cd38284612403565b611cdd8882611c70565b9750611ce8836123b8565b925050600181019050611cc1565b5085925050509392505050565b6000611d0f83856123d6565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115611d3e57600080fd5b602083029250611d4f8385846124f7565b82840190509392505050565b611d64816124b6565b82525050565b611d7b611d76826124b6565b61254f565b82525050565b6000611d8e6020836123e7565b9150611d9982612588565b602082019050919050565b6000611db16026836123e7565b9150611dbc826125b1565b604082019050919050565b6000611dd46021836123e7565b9150611ddf82612600565b604082019050919050565b6000611df76002836123f8565b9150611e028261264f565b600282019050919050565b6000611e1a601b836123e7565b9150611e2582612678565b602082019050919050565b6000611e3d6024836123e7565b9150611e48826126a1565b604082019050919050565b6000611e606011836123e7565b9150611e6b826126f0565b602082019050919050565b6000611e836023836123e7565b9150611e8e82612719565b604082019050919050565b6000611ea6601f836123e7565b9150611eb182612768565b602082019050919050565b6000611ec96020836123e7565b9150611ed482612791565b602082019050919050565b6000611eec601e836123e7565b9150611ef7826127ba565b602082019050919050565b6000611f0f6024836123e7565b9150611f1a826127e3565b604082019050919050565b6000611f326012836123e7565b9150611f3d82612832565b602082019050919050565b6000611f55601b836123e7565b9150611f608261285b565b602082019050919050565b6000611f786018836123e7565b9150611f8382612884565b602082019050919050565b6000611f9b6021836123e7565b9150611fa6826128ad565b604082019050919050565b6000611fbe602d836123e7565b9150611fc9826128fc565b604082019050919050565b611fdd816124e0565b82525050565b611fec816124ea565b82525050565b6000611ffd82611dea565b91506120098285611d6a565b6020820191506120198284611d6a565b6020820191508190509392505050565b600060208201905061203e6000830184611c97565b92915050565b6000604082019050818103600083015261205f818688611ca6565b90508181036020830152612074818486611d03565b905095945050505050565b60006020820190506120946000830184611d5b565b92915050565b600060c0820190506120af6000830189611d5b565b6120bc6020830188611c97565b6120c96040830187611c97565b6120d66060830186611fd4565b6120e36080830185611fd4565b6120f060a0830184611fd4565b979650505050505050565b600060a0820190506121106000830188611d5b565b61211d6020830187611d5b565b61212a6040830186611d5b565b6121376060830185611fd4565b6121446080830184611c97565b9695505050505050565b60006080820190506121636000830187611d5b565b6121706020830186611fe3565b61217d6040830185611d5b565b61218a6060830184611d5b565b95945050505050565b600060208201905081810360008301526121ac81611d81565b9050919050565b600060208201905081810360008301526121cc81611da4565b9050919050565b600060208201905081810360008301526121ec81611dc7565b9050919050565b6000602082019050818103600083015261220c81611e0d565b9050919050565b6000602082019050818103600083015261222c81611e30565b9050919050565b6000602082019050818103600083015261224c81611e53565b9050919050565b6000602082019050818103600083015261226c81611e76565b9050919050565b6000602082019050818103600083015261228c81611e99565b9050919050565b600060208201905081810360008301526122ac81611ebc565b9050919050565b600060208201905081810360008301526122cc81611edf565b9050919050565b600060208201905081810360008301526122ec81611f02565b9050919050565b6000602082019050818103600083015261230c81611f25565b9050919050565b6000602082019050818103600083015261232c81611f48565b9050919050565b6000602082019050818103600083015261234c81611f6b565b9050919050565b6000602082019050818103600083015261236c81611f8e565b9050919050565b6000602082019050818103600083015261238c81611fb1565b9050919050565b60006020820190506123a86000830184611fd4565b92915050565b6000819050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061241260208401846118d3565b905092915050565b6000612425826124e0565b9150612430836124e0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561246557612464612559565b5b828201905092915050565b600061247b826124e0565b9150612486836124e0565b92508282101561249957612498612559565b5b828203905092915050565b60006124af826124c0565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b6000612511826124e0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561254457612543612559565b5b600182019050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f417272617973206d7573742068617665207468652073616d65206c656e677468600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202776272076616c75650000000000600082015250565b7f43616e206e6f74207472616e7366657220746f207468652042616e6b2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b7f43616e206e6f7420617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e7420657863656564732062616c616e636500600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4272696467652061646472657373206d757374206e6f74206265203078300000600082015250565b7f43616e206e6f74207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f5065726d697373696f6e20657870697265640000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202773272076616c75650000000000600082015250565b7f43616c6c6572206973206e6f7420746865206272696467650000000000000000600082015250565b7f43616e206e6f7420696e6372656173652062616c616e636520666f722042616e60008201527f6b00000000000000000000000000000000000000000000000000000000000000602082015250565b7f43616e206e6f742064656372656173652062616c616e636520616c6c6f77616e60008201527f63652062656c6f77207a65726f00000000000000000000000000000000000000602082015250565b612954816124a4565b811461295f57600080fd5b50565b61296b816124b6565b811461297657600080fd5b50565b612982816124e0565b811461298d57600080fd5b50565b612999816124ea565b81146129a457600080fd5b5056fea2646970667358221220baf5bd5d450e14e6fee5dfaadcbc5446a3ffa000154043c1bb6a663d2b2860c164736f6c63430008040033",
|
|
494
517
|
"linkReferences": {},
|
|
495
518
|
"deployedLinkReferences": {}
|
|
496
519
|
}
|
|
@@ -169,8 +169,8 @@
|
|
|
169
169
|
"type": "function"
|
|
170
170
|
}
|
|
171
171
|
],
|
|
172
|
-
"bytecode": "
|
|
173
|
-
"deployedBytecode": "
|
|
172
|
+
"bytecode": "0x608060405234801561001057600080fd5b506109f0806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632c3e1d121461004657806342b1f1a41461006257806343c6de291461007e575b600080fd5b610060600480360381019061005b91906103df565b6100b0565b005b61007c60048036038101906100779190610486565b610238565b005b61009860048036038101906100939190610584565b610241565b6040516100a793929190610735565b60405180910390f35b60008787336040516020016100c793929190610657565b6040516020818303038152906040528051906020012060001c905060008060008381526020019081526020016000209050600081600001601c9054906101000a900463ffffffff1663ffffffff1614610155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014c9061068e565b60405180910390fd5b838160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550828160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504281600001601c6101000a81548163ffffffff021916908363ffffffff1602179055507fed7e2a3180a53ccf8540bf67f1679359557837b4c2350f3c7f1d1409eaac3739828a8a338b8b8b8b8b604051610225999897969594939291906106ae565b60405180910390a1505050505050505050565b50505050505050565b60006020528060005260406000206000915090508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600001601c9054906101000a900463ffffffff16905083565b60006102c26102bd84610791565b61076c565b9050828152602081018484840111156102da57600080fd5b6102e5848285610887565b509392505050565b6000813590506102fc81610930565b92915050565b60008135905061031181610947565b92915050565b6000813590506103268161095e565b92915050565b60008083601f84011261033e57600080fd5b8235905067ffffffffffffffff81111561035757600080fd5b60208301915083600182028301111561036f57600080fd5b9250929050565b600082601f83011261038757600080fd5b81356103978482602086016102af565b91505092915050565b6000813590506103af81610975565b92915050565b6000813590506103c48161098c565b92915050565b6000813590506103d9816109a3565b92915050565b600080600080600080600060c0888a0312156103fa57600080fd5b60006104088a828b01610302565b97505060206104198a828b016103ca565b965050604061042a8a828b016103b5565b955050606088013567ffffffffffffffff81111561044757600080fd5b6104538a828b0161032c565b945094505060806104668a828b016103b5565b92505060a06104778a828b016102ed565b91505092959891949750929550565b600080600080600080600060e0888a0312156104a157600080fd5b60006104af8a828b01610317565b975050602088013567ffffffffffffffff8111156104cc57600080fd5b6104d88a828b01610376565b965050604088013567ffffffffffffffff8111156104f557600080fd5b6105018a828b01610376565b95505060606105128a828b01610317565b945050608088013567ffffffffffffffff81111561052f57600080fd5b61053b8a828b01610376565b93505060a061054c8a828b016103a0565b92505060c088013567ffffffffffffffff81111561056957600080fd5b6105758a828b01610376565b91505092959891949750929550565b60006020828403121561059657600080fd5b60006105a4848285016103a0565b91505092915050565b6105b6816107e4565b82525050565b6105c5816107f6565b82525050565b60006105d783856107c2565b93506105e4838584610887565b6105ed836108f6565b840190509392505050565b60006106056018836107d3565b915061061082610907565b602082019050919050565b6106248161084c565b82525050565b61063381610856565b82525050565b61064281610866565b82525050565b6106518161087a565b82525050565b600060608201905061066c60008301866105bc565b6106796020830185610648565b61068660408301846105ad565b949350505050565b600060208201905081810360008301526106a7816105f8565b9050919050565b6000610100820190506106c4600083018c61061b565b6106d1602083018b6105bc565b6106de604083018a610648565b6106eb60608301896105ad565b6106f86080830188610639565b81810360a083015261070b8186886105cb565b905061071a60c0830185610639565b61072760e08301846105ad565b9a9950505050505050505050565b600060608201905061074a6000830186610639565b61075760208301856105ad565b610764604083018461062a565b949350505050565b6000610776610787565b90506107828282610896565b919050565b6000604051905090565b600067ffffffffffffffff8211156107ac576107ab6108c7565b5b6107b5826108f6565b9050602081019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006107ef8261082c565b9050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b82818337600083830152505050565b61089f826108f6565b810181811067ffffffffffffffff821117156108be576108bd6108c7565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4465706f73697420616c72656164792072657665616c65640000000000000000600082015250565b610939816107e4565b811461094457600080fd5b50565b610950816107f6565b811461095b57600080fd5b50565b61096781610800565b811461097257600080fd5b50565b61097e8161084c565b811461098957600080fd5b50565b61099581610866565b81146109a057600080fd5b50565b6109ac8161087a565b81146109b757600080fd5b5056fea26469706673582212207d1e61f37f8d0f4d2e819ea92984d0f23b9d069fd850451fb407141395ccff2864736f6c63430008040033",
|
|
173
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80632c3e1d121461004657806342b1f1a41461006257806343c6de291461007e575b600080fd5b610060600480360381019061005b91906103df565b6100b0565b005b61007c60048036038101906100779190610486565b610238565b005b61009860048036038101906100939190610584565b610241565b6040516100a793929190610735565b60405180910390f35b60008787336040516020016100c793929190610657565b6040516020818303038152906040528051906020012060001c905060008060008381526020019081526020016000209050600081600001601c9054906101000a900463ffffffff1663ffffffff1614610155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014c9061068e565b60405180910390fd5b838160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550828160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504281600001601c6101000a81548163ffffffff021916908363ffffffff1602179055507fed7e2a3180a53ccf8540bf67f1679359557837b4c2350f3c7f1d1409eaac3739828a8a338b8b8b8b8b604051610225999897969594939291906106ae565b60405180910390a1505050505050505050565b50505050505050565b60006020528060005260406000206000915090508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600001601c9054906101000a900463ffffffff16905083565b60006102c26102bd84610791565b61076c565b9050828152602081018484840111156102da57600080fd5b6102e5848285610887565b509392505050565b6000813590506102fc81610930565b92915050565b60008135905061031181610947565b92915050565b6000813590506103268161095e565b92915050565b60008083601f84011261033e57600080fd5b8235905067ffffffffffffffff81111561035757600080fd5b60208301915083600182028301111561036f57600080fd5b9250929050565b600082601f83011261038757600080fd5b81356103978482602086016102af565b91505092915050565b6000813590506103af81610975565b92915050565b6000813590506103c48161098c565b92915050565b6000813590506103d9816109a3565b92915050565b600080600080600080600060c0888a0312156103fa57600080fd5b60006104088a828b01610302565b97505060206104198a828b016103ca565b965050604061042a8a828b016103b5565b955050606088013567ffffffffffffffff81111561044757600080fd5b6104538a828b0161032c565b945094505060806104668a828b016103b5565b92505060a06104778a828b016102ed565b91505092959891949750929550565b600080600080600080600060e0888a0312156104a157600080fd5b60006104af8a828b01610317565b975050602088013567ffffffffffffffff8111156104cc57600080fd5b6104d88a828b01610376565b965050604088013567ffffffffffffffff8111156104f557600080fd5b6105018a828b01610376565b95505060606105128a828b01610317565b945050608088013567ffffffffffffffff81111561052f57600080fd5b61053b8a828b01610376565b93505060a061054c8a828b016103a0565b92505060c088013567ffffffffffffffff81111561056957600080fd5b6105758a828b01610376565b91505092959891949750929550565b60006020828403121561059657600080fd5b60006105a4848285016103a0565b91505092915050565b6105b6816107e4565b82525050565b6105c5816107f6565b82525050565b60006105d783856107c2565b93506105e4838584610887565b6105ed836108f6565b840190509392505050565b60006106056018836107d3565b915061061082610907565b602082019050919050565b6106248161084c565b82525050565b61063381610856565b82525050565b61064281610866565b82525050565b6106518161087a565b82525050565b600060608201905061066c60008301866105bc565b6106796020830185610648565b61068660408301846105ad565b949350505050565b600060208201905081810360008301526106a7816105f8565b9050919050565b6000610100820190506106c4600083018c61061b565b6106d1602083018b6105bc565b6106de604083018a610648565b6106eb60608301896105ad565b6106f86080830188610639565b81810360a083015261070b8186886105cb565b905061071a60c0830185610639565b61072760e08301846105ad565b9a9950505050505050505050565b600060608201905061074a6000830186610639565b61075760208301856105ad565b610764604083018461062a565b949350505050565b6000610776610787565b90506107828282610896565b919050565b6000604051905090565b600067ffffffffffffffff8211156107ac576107ab6108c7565b5b6107b5826108f6565b9050602081019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006107ef8261082c565b9050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b82818337600083830152505050565b61089f826108f6565b810181811067ffffffffffffffff821117156108be576108bd6108c7565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4465706f73697420616c72656164792072657665616c65640000000000000000600082015250565b610939816107e4565b811461094457600080fd5b50565b610950816107f6565b811461095b57600080fd5b50565b61096781610800565b811461097257600080fd5b50565b61097e8161084c565b811461098957600080fd5b50565b61099581610866565b81146109a057600080fd5b50565b6109ac8161087a565b81146109b757600080fd5b5056fea26469706673582212207d1e61f37f8d0f4d2e819ea92984d0f23b9d069fd850451fb407141395ccff2864736f6c63430008040033",
|
|
174
174
|
"linkReferences": {},
|
|
175
175
|
"deployedLinkReferences": {}
|
|
176
176
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "IVault",
|
|
4
|
+
"sourceName": "contracts/vault/IVault.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "address[]",
|
|
10
|
+
"name": "depositors",
|
|
11
|
+
"type": "address[]"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"internalType": "uint256[]",
|
|
15
|
+
"name": "depositedAmounts",
|
|
16
|
+
"type": "uint256[]"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"name": "onBalanceIncreased",
|
|
20
|
+
"outputs": [],
|
|
21
|
+
"stateMutability": "nonpayable",
|
|
22
|
+
"type": "function"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"bytecode": "0x",
|
|
26
|
+
"deployedBytecode": "0x",
|
|
27
|
+
"linkReferences": {},
|
|
28
|
+
"deployedLinkReferences": {}
|
|
29
|
+
}
|
|
@@ -83,6 +83,24 @@
|
|
|
83
83
|
"stateMutability": "nonpayable",
|
|
84
84
|
"type": "function"
|
|
85
85
|
},
|
|
86
|
+
{
|
|
87
|
+
"inputs": [
|
|
88
|
+
{
|
|
89
|
+
"internalType": "address[]",
|
|
90
|
+
"name": "depositors",
|
|
91
|
+
"type": "address[]"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"internalType": "uint256[]",
|
|
95
|
+
"name": "depositedAmounts",
|
|
96
|
+
"type": "uint256[]"
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
"name": "onBalanceIncreased",
|
|
100
|
+
"outputs": [],
|
|
101
|
+
"stateMutability": "nonpayable",
|
|
102
|
+
"type": "function"
|
|
103
|
+
},
|
|
86
104
|
{
|
|
87
105
|
"inputs": [
|
|
88
106
|
{
|
|
@@ -138,8 +156,8 @@
|
|
|
138
156
|
"type": "function"
|
|
139
157
|
}
|
|
140
158
|
],
|
|
141
|
-
"bytecode": "
|
|
142
|
-
"deployedBytecode": "
|
|
159
|
+
"bytecode": "0x60806040523480156200001157600080fd5b5060405162001300380380620013008339818101604052810190620000379190620001d4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620000aa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a19062000285565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156200011d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001149062000263565b60405180910390fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620003c0565b600081519050620001b7816200038c565b92915050565b600081519050620001ce81620003a6565b92915050565b60008060408385031215620001e857600080fd5b6000620001f885828601620001a6565b92505060206200020b85828601620001bd565b9150509250929050565b600062000224602683620002a7565b9150620002318262000314565b604082019050919050565b60006200024b602083620002a7565b9150620002588262000363565b602082019050919050565b600060208201905081810360008301526200027e8162000215565b9050919050565b60006020820190508181036000830152620002a0816200023c565b9050919050565b600082825260208201905092915050565b6000620002c582620002f4565b9050919050565b6000620002d982620002b8565b9050919050565b6000620002ed82620002b8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b7f5442544320746f6b656e2063616e206e6f7420626520746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f42616e6b2063616e206e6f7420626520746865207a65726f2061646472657373600082015250565b6200039781620002cc565b8114620003a357600080fd5b50565b620003b181620002e0565b8114620003bd57600080fd5b50565b610f3080620003d06000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806376cdb03b146100675780638f4ffcb114610085578063a0712d68146100a1578063ad7581e1146100bd578063db006a75146100d9578063e5d3d714146100f5575b600080fd5b61006f610113565b60405161007c9190610bdb565b60405180910390f35b61009f600480360381019061009a919061092e565b610137565b005b6100bb60048036038101906100b69190610a23565b610246565b005b6100d760048036038101906100d291906109ae565b6103d3565b005b6100f360048036038101906100ee9190610a23565b610566565b005b6100fd610573565b60405161010a9190610bf6565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146101c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101be90610c31565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161022c90610c11565b60405180910390fd5b61023f8585610599565b5050505050565b60003390508160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b81526004016102a59190610b60565b60206040518083038186803b1580156102bd57600080fd5b505afa1580156102d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f59190610a4c565b1015610336576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032d90610c91565b60405180910390fd5b6103408183610707565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637c6db49c8230856040518463ffffffff1660e01b815260040161039d93929190610b7b565b600060405180830381600087803b1580156103b757600080fd5b505af11580156103cb573d6000803e3d6000fd5b505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610461576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045890610c51565b60405180910390fd5b60008484905014156104a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049f90610c71565b60405180910390fd5b60005b8484905081101561055f5761054c8585838181106104f2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906105079190610905565b848484818110610540577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020135610707565b808061055790610d61565b9150506104ab565b5050505050565b6105703382610599565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8173ffffffffffffffffffffffffffffffffffffffff167f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b9369826040516105df9190610cb1565b60405180910390a2600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166379cc679083836040518363ffffffff1660e01b8152600401610644929190610bb2565b600060405180830381600087803b15801561065e57600080fd5b505af1158015610672573d6000803e3d6000fd5b5050505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166356a6d9ef83836040518363ffffffff1660e01b81526004016106d1929190610bb2565b600060405180830381600087803b1580156106eb57600080fd5b505af11580156106ff573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff167f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe8260405161074d9190610cb1565b60405180910390a2600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1983836040518363ffffffff1660e01b81526004016107b2929190610bb2565b600060405180830381600087803b1580156107cc57600080fd5b505af11580156107e0573d6000803e3d6000fd5b505050505050565b6000813590506107f781610ecc565b92915050565b60008083601f84011261080f57600080fd5b8235905067ffffffffffffffff81111561082857600080fd5b60208301915083602082028301111561084057600080fd5b9250929050565b60008083601f84011261085957600080fd5b8235905067ffffffffffffffff81111561087257600080fd5b60208301915083602082028301111561088a57600080fd5b9250929050565b60008083601f8401126108a357600080fd5b8235905067ffffffffffffffff8111156108bc57600080fd5b6020830191508360018202830111156108d457600080fd5b9250929050565b6000813590506108ea81610ee3565b92915050565b6000815190506108ff81610ee3565b92915050565b60006020828403121561091757600080fd5b6000610925848285016107e8565b91505092915050565b60008060008060006080868803121561094657600080fd5b6000610954888289016107e8565b9550506020610965888289016108db565b9450506040610976888289016107e8565b935050606086013567ffffffffffffffff81111561099357600080fd5b61099f88828901610891565b92509250509295509295909350565b600080600080604085870312156109c457600080fd5b600085013567ffffffffffffffff8111156109de57600080fd5b6109ea878288016107fd565b9450945050602085013567ffffffffffffffff811115610a0957600080fd5b610a1587828801610847565b925092505092959194509250565b600060208284031215610a3557600080fd5b6000610a43848285016108db565b91505092915050565b600060208284031215610a5e57600080fd5b6000610a6c848285016108f0565b91505092915050565b610a7e81610cdd565b82525050565b610a8d81610d19565b82525050565b610a9c81610d3d565b82525050565b6000610aaf601883610ccc565b9150610aba82610dd9565b602082019050919050565b6000610ad2601183610ccc565b9150610add82610e02565b602082019050919050565b6000610af5601683610ccc565b9150610b0082610e2b565b602082019050919050565b6000610b18601783610ccc565b9150610b2382610e54565b602082019050919050565b6000610b3b602283610ccc565b9150610b4682610e7d565b604082019050919050565b610b5a81610d0f565b82525050565b6000602082019050610b756000830184610a75565b92915050565b6000606082019050610b906000830186610a75565b610b9d6020830185610a75565b610baa6040830184610b51565b949350505050565b6000604082019050610bc76000830185610a75565b610bd46020830184610b51565b9392505050565b6000602082019050610bf06000830184610a84565b92915050565b6000602082019050610c0b6000830184610a93565b92915050565b60006020820190508181036000830152610c2a81610aa2565b9050919050565b60006020820190508181036000830152610c4a81610ac5565b9050919050565b60006020820190508181036000830152610c6a81610ae8565b9050919050565b60006020820190508181036000830152610c8a81610b0b565b9050919050565b60006020820190508181036000830152610caa81610b2e565b9050919050565b6000602082019050610cc66000830184610b51565b92915050565b600082825260208201905092915050565b6000610ce882610cef565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610d2482610d2b565b9050919050565b6000610d3682610cef565b9050919050565b6000610d4882610d4f565b9050919050565b6000610d5a82610cef565b9050919050565b6000610d6c82610d0f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610d9f57610d9e610daa565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4f6e6c7920544254432063616c6c657220616c6c6f7765640000000000000000600082015250565b7f546f6b656e206973206e6f742054425443000000000000000000000000000000600082015250565b7f43616c6c6572206973206e6f74207468652042616e6b00000000000000000000600082015250565b7f4e6f206465706f7369746f727320737065636966696564000000000000000000600082015250565b7f416d6f756e7420657863656564732062616c616e636520696e2074686520626160008201527f6e6b000000000000000000000000000000000000000000000000000000000000602082015250565b610ed581610cdd565b8114610ee057600080fd5b50565b610eec81610d0f565b8114610ef757600080fd5b5056fea26469706673582212202f0a068f7e8f74337505a425a28fbdc0bb82990dea78c1d1172b110d2c5e937464736f6c63430008040033",
|
|
160
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806376cdb03b146100675780638f4ffcb114610085578063a0712d68146100a1578063ad7581e1146100bd578063db006a75146100d9578063e5d3d714146100f5575b600080fd5b61006f610113565b60405161007c9190610bdb565b60405180910390f35b61009f600480360381019061009a919061092e565b610137565b005b6100bb60048036038101906100b69190610a23565b610246565b005b6100d760048036038101906100d291906109ae565b6103d3565b005b6100f360048036038101906100ee9190610a23565b610566565b005b6100fd610573565b60405161010a9190610bf6565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146101c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101be90610c31565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161022c90610c11565b60405180910390fd5b61023f8585610599565b5050505050565b60003390508160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b81526004016102a59190610b60565b60206040518083038186803b1580156102bd57600080fd5b505afa1580156102d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f59190610a4c565b1015610336576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032d90610c91565b60405180910390fd5b6103408183610707565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637c6db49c8230856040518463ffffffff1660e01b815260040161039d93929190610b7b565b600060405180830381600087803b1580156103b757600080fd5b505af11580156103cb573d6000803e3d6000fd5b505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610461576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045890610c51565b60405180910390fd5b60008484905014156104a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049f90610c71565b60405180910390fd5b60005b8484905081101561055f5761054c8585838181106104f2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906105079190610905565b848484818110610540577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020135610707565b808061055790610d61565b9150506104ab565b5050505050565b6105703382610599565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8173ffffffffffffffffffffffffffffffffffffffff167f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b9369826040516105df9190610cb1565b60405180910390a2600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166379cc679083836040518363ffffffff1660e01b8152600401610644929190610bb2565b600060405180830381600087803b15801561065e57600080fd5b505af1158015610672573d6000803e3d6000fd5b5050505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166356a6d9ef83836040518363ffffffff1660e01b81526004016106d1929190610bb2565b600060405180830381600087803b1580156106eb57600080fd5b505af11580156106ff573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff167f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe8260405161074d9190610cb1565b60405180910390a2600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1983836040518363ffffffff1660e01b81526004016107b2929190610bb2565b600060405180830381600087803b1580156107cc57600080fd5b505af11580156107e0573d6000803e3d6000fd5b505050505050565b6000813590506107f781610ecc565b92915050565b60008083601f84011261080f57600080fd5b8235905067ffffffffffffffff81111561082857600080fd5b60208301915083602082028301111561084057600080fd5b9250929050565b60008083601f84011261085957600080fd5b8235905067ffffffffffffffff81111561087257600080fd5b60208301915083602082028301111561088a57600080fd5b9250929050565b60008083601f8401126108a357600080fd5b8235905067ffffffffffffffff8111156108bc57600080fd5b6020830191508360018202830111156108d457600080fd5b9250929050565b6000813590506108ea81610ee3565b92915050565b6000815190506108ff81610ee3565b92915050565b60006020828403121561091757600080fd5b6000610925848285016107e8565b91505092915050565b60008060008060006080868803121561094657600080fd5b6000610954888289016107e8565b9550506020610965888289016108db565b9450506040610976888289016107e8565b935050606086013567ffffffffffffffff81111561099357600080fd5b61099f88828901610891565b92509250509295509295909350565b600080600080604085870312156109c457600080fd5b600085013567ffffffffffffffff8111156109de57600080fd5b6109ea878288016107fd565b9450945050602085013567ffffffffffffffff811115610a0957600080fd5b610a1587828801610847565b925092505092959194509250565b600060208284031215610a3557600080fd5b6000610a43848285016108db565b91505092915050565b600060208284031215610a5e57600080fd5b6000610a6c848285016108f0565b91505092915050565b610a7e81610cdd565b82525050565b610a8d81610d19565b82525050565b610a9c81610d3d565b82525050565b6000610aaf601883610ccc565b9150610aba82610dd9565b602082019050919050565b6000610ad2601183610ccc565b9150610add82610e02565b602082019050919050565b6000610af5601683610ccc565b9150610b0082610e2b565b602082019050919050565b6000610b18601783610ccc565b9150610b2382610e54565b602082019050919050565b6000610b3b602283610ccc565b9150610b4682610e7d565b604082019050919050565b610b5a81610d0f565b82525050565b6000602082019050610b756000830184610a75565b92915050565b6000606082019050610b906000830186610a75565b610b9d6020830185610a75565b610baa6040830184610b51565b949350505050565b6000604082019050610bc76000830185610a75565b610bd46020830184610b51565b9392505050565b6000602082019050610bf06000830184610a84565b92915050565b6000602082019050610c0b6000830184610a93565b92915050565b60006020820190508181036000830152610c2a81610aa2565b9050919050565b60006020820190508181036000830152610c4a81610ac5565b9050919050565b60006020820190508181036000830152610c6a81610ae8565b9050919050565b60006020820190508181036000830152610c8a81610b0b565b9050919050565b60006020820190508181036000830152610caa81610b2e565b9050919050565b6000602082019050610cc66000830184610b51565b92915050565b600082825260208201905092915050565b6000610ce882610cef565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610d2482610d2b565b9050919050565b6000610d3682610cef565b9050919050565b6000610d4882610d4f565b9050919050565b6000610d5a82610cef565b9050919050565b6000610d6c82610d0f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610d9f57610d9e610daa565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4f6e6c7920544254432063616c6c657220616c6c6f7765640000000000000000600082015250565b7f546f6b656e206973206e6f742054425443000000000000000000000000000000600082015250565b7f43616c6c6572206973206e6f74207468652042616e6b00000000000000000000600082015250565b7f4e6f206465706f7369746f727320737065636966696564000000000000000000600082015250565b7f416d6f756e7420657863656564732062616c616e636520696e2074686520626160008201527f6e6b000000000000000000000000000000000000000000000000000000000000602082015250565b610ed581610cdd565b8114610ee057600080fd5b50565b610eec81610d0f565b8114610ef757600080fd5b5056fea26469706673582212202f0a068f7e8f74337505a425a28fbdc0bb82990dea78c1d1172b110d2c5e937464736f6c63430008040033",
|
|
143
161
|
"linkReferences": {},
|
|
144
162
|
"deployedLinkReferences": {}
|
|
145
163
|
}
|
package/contracts/bank/Bank.sol
CHANGED
|
@@ -12,10 +12,13 @@
|
|
|
12
12
|
// ▐████▌ ▐████▌
|
|
13
13
|
// ▐████▌ ▐████▌
|
|
14
14
|
// ▐████▌ ▐████▌
|
|
15
|
+
|
|
15
16
|
pragma solidity 0.8.4;
|
|
16
17
|
|
|
17
18
|
import "@openzeppelin/contracts/access/Ownable.sol";
|
|
18
19
|
|
|
20
|
+
import "../vault/IVault.sol";
|
|
21
|
+
|
|
19
22
|
/// @title Bitcoin Bank
|
|
20
23
|
/// @notice Bank is a central component tracking Bitcoin balances. Balances can
|
|
21
24
|
/// be transferred between holders and holders can approve their
|
|
@@ -231,7 +234,8 @@ contract Bank is Ownable {
|
|
|
231
234
|
|
|
232
235
|
/// @notice Increases balances of the provided `recipients` by the provided
|
|
233
236
|
/// `amounts`. Can only be called by the Bridge.
|
|
234
|
-
/// @dev
|
|
237
|
+
/// @dev Requirements:
|
|
238
|
+
/// - length of `recipients` and `amounts` must be the same.
|
|
235
239
|
function increaseBalances(
|
|
236
240
|
address[] calldata recipients,
|
|
237
241
|
uint256[] calldata amounts
|
|
@@ -254,6 +258,37 @@ contract Bank is Ownable {
|
|
|
254
258
|
_increaseBalance(recipient, amount);
|
|
255
259
|
}
|
|
256
260
|
|
|
261
|
+
/// @notice Increases the given smart contract `vault`'s balance and
|
|
262
|
+
/// notifies the `vault` contract. Called by the Bridge after
|
|
263
|
+
/// the deposits routed by depositors to that `vault` have been
|
|
264
|
+
/// swept by the Bridge. This way, the depositor does not have to
|
|
265
|
+
/// issue a separate transaction to the `vault` contract.
|
|
266
|
+
/// Can be called only by the Bridge.
|
|
267
|
+
/// @dev Requirements:
|
|
268
|
+
/// - `vault` must implement `IVault` interface,
|
|
269
|
+
/// - length of `depositors` and `depositedAmounts` must be the same.
|
|
270
|
+
/// @param vault Address of `IVault` recipient contract
|
|
271
|
+
/// @param depositors Addresses of depositors whose deposits have been swept
|
|
272
|
+
/// @param depositedAmounts Amounts deposited by individual depositors and
|
|
273
|
+
/// swept. The `vault`'s balance in the Bank will be increased by the
|
|
274
|
+
/// sum of all elements in this array.
|
|
275
|
+
function increaseBalanceAndCall(
|
|
276
|
+
address vault,
|
|
277
|
+
address[] calldata depositors,
|
|
278
|
+
uint256[] calldata depositedAmounts
|
|
279
|
+
) external onlyBridge {
|
|
280
|
+
require(
|
|
281
|
+
depositors.length == depositedAmounts.length,
|
|
282
|
+
"Arrays must have the same length"
|
|
283
|
+
);
|
|
284
|
+
uint256 totalAmount = 0;
|
|
285
|
+
for (uint256 i = 0; i < depositedAmounts.length; i++) {
|
|
286
|
+
totalAmount += depositedAmounts[i];
|
|
287
|
+
}
|
|
288
|
+
_increaseBalance(vault, totalAmount);
|
|
289
|
+
IVault(vault).onBalanceIncreased(depositors, depositedAmounts);
|
|
290
|
+
}
|
|
291
|
+
|
|
257
292
|
/// @notice Decreases caller's balance by the provided `amount`. There is no
|
|
258
293
|
/// way to restore the balance so do not call this function unless
|
|
259
294
|
/// you really know what you are doing!
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
|
|
3
|
+
// ██████████████ ▐████▌ ██████████████
|
|
4
|
+
// ██████████████ ▐████▌ ██████████████
|
|
5
|
+
// ▐████▌ ▐████▌
|
|
6
|
+
// ▐████▌ ▐████▌
|
|
7
|
+
// ██████████████ ▐████▌ ██████████████
|
|
8
|
+
// ██████████████ ▐████▌ ██████████████
|
|
9
|
+
// ▐████▌ ▐████▌
|
|
10
|
+
// ▐████▌ ▐████▌
|
|
11
|
+
// ▐████▌ ▐████▌
|
|
12
|
+
// ▐████▌ ▐████▌
|
|
13
|
+
// ▐████▌ ▐████▌
|
|
14
|
+
// ▐████▌ ▐████▌
|
|
15
|
+
|
|
1
16
|
pragma solidity 0.8.4;
|
|
2
17
|
|
|
3
18
|
/// @title BTC Bridge
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
|
|
3
|
+
// ██████████████ ▐████▌ ██████████████
|
|
4
|
+
// ██████████████ ▐████▌ ██████████████
|
|
5
|
+
// ▐████▌ ▐████▌
|
|
6
|
+
// ▐████▌ ▐████▌
|
|
7
|
+
// ██████████████ ▐████▌ ██████████████
|
|
8
|
+
// ██████████████ ▐████▌ ██████████████
|
|
9
|
+
// ▐████▌ ▐████▌
|
|
10
|
+
// ▐████▌ ▐████▌
|
|
11
|
+
// ▐████▌ ▐████▌
|
|
12
|
+
// ▐████▌ ▐████▌
|
|
13
|
+
// ▐████▌ ▐████▌
|
|
14
|
+
// ▐████▌ ▐████▌
|
|
15
|
+
|
|
16
|
+
pragma solidity 0.8.4;
|
|
17
|
+
|
|
18
|
+
/// @title Bank Vault interface
|
|
19
|
+
/// @notice `IVault` is an interface for a smart contract consuming Bank
|
|
20
|
+
/// balances allowing the smart contract to receive Bank balances right
|
|
21
|
+
/// after sweeping the deposit by the Bridge. This method allows the
|
|
22
|
+
/// depositor to route their deposit revealed to the Bridge to the
|
|
23
|
+
/// particular smart contract in the same transaction the deposit is
|
|
24
|
+
/// revealed. This way, the depositor does not have to execute
|
|
25
|
+
/// additional transaction after the deposit gets swept by the Bridge.
|
|
26
|
+
interface IVault {
|
|
27
|
+
/// @notice Called by the Bank in `increaseBalanceAndCall` function after
|
|
28
|
+
/// increasing the balance in the Bank for the vault.
|
|
29
|
+
/// @param depositors Addresses of depositors whose deposits have been swept
|
|
30
|
+
/// @param depositedAmounts Amounts deposited by individual depositors and
|
|
31
|
+
/// swept
|
|
32
|
+
/// @dev The implementation must ensure this function can only be called
|
|
33
|
+
/// by the Bank.
|
|
34
|
+
function onBalanceIncreased(
|
|
35
|
+
address[] calldata depositors,
|
|
36
|
+
uint256[] calldata depositedAmounts
|
|
37
|
+
) external;
|
|
38
|
+
}
|