@keep-network/tbtc-v2 0.1.1-dev.36 → 0.1.1-dev.37

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.
Files changed (32) hide show
  1. package/artifacts/TBTC.json +3 -3
  2. package/artifacts/TBTCToken.json +3 -3
  3. package/artifacts/VendingMachine.json +10 -10
  4. package/artifacts/solcInputs/{4718d6e944ad9d1fc247efda870cf51a.json → e22260bedca047fea8676977de0ef137.json} +6 -3
  5. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  6. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  7. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  8. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  9. package/build/contracts/bridge/Bridge.sol/Bridge.json +147 -131
  10. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  11. package/build/contracts/bridge/BridgeState.sol/BridgeState.json +2 -2
  12. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  13. package/build/contracts/bridge/Deposit.sol/Deposit.json +2 -2
  14. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  15. package/build/contracts/bridge/Frauds.sol/Frauds.dbg.json +1 -1
  16. package/build/contracts/bridge/Frauds.sol/Frauds.json +2 -2
  17. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  18. package/build/contracts/bridge/Redeem.sol/OutboundTx.dbg.json +4 -0
  19. package/build/contracts/bridge/Redeem.sol/OutboundTx.json +10 -0
  20. package/build/contracts/bridge/Redeem.sol/Redeem.dbg.json +4 -0
  21. package/build/contracts/bridge/Redeem.sol/Redeem.json +126 -0
  22. package/build/contracts/bridge/Sweep.sol/Sweep.dbg.json +1 -1
  23. package/build/contracts/bridge/Sweep.sol/Sweep.json +2 -2
  24. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  25. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  26. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  27. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  28. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  29. package/contracts/bridge/Bridge.sol +114 -719
  30. package/contracts/bridge/BridgeState.sol +60 -0
  31. package/contracts/bridge/Redeem.sol +849 -0
  32. package/package.json +1 -1
@@ -23,8 +23,8 @@
23
23
  "type": "event"
24
24
  }
25
25
  ],
26
- "bytecode": "0x611eab61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80637464f9271461003a575b600080fd5b81801561004657600080fd5b5061005a61005536600461197c565b61005c565b005b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae13485856100838a61051a565b6040518463ffffffff1660e01b81526004016100a193929190611a99565b60206040518083038186803b1580156100b957600080fd5b505af41580156100cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f19190611b94565b90506000806101406101066040880188611bad565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061066192505050565b91509150600080610152898588610794565b909250905060006101a68b61016a60208c018c611bad565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506109ae915050565b9050600080806101ca84600001518867ffffffffffffffff16866040015151610f9b565b915091508d60040160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1681836101fd9190611c0a565b11156102505760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064015b60405180910390fd5b60005b84604001515181101561033e57600060018660400151516102749190611c22565b8214610280578361028a565b61028a8385611c0a565b905080866060015183815181106102a3576102a3611c39565b6020026020010151876040015184815181106102c1576102c1611c39565b60200260200101516102d39190611c22565b6102dd9190611c22565b866040015183815181106102f3576102f3611c39565b6020026020010181815250508560600151828151811061031557610315611c39565b6020026020010151856103289190611c0a565b945050808061033690611c4f565b915050610253565b5060408051602081018b90526000918101919091527fffffffffffffffff00000000000000000000000000000000000000000000000060c089901b166044820152604c0160408051808303601f19018152828252805160209182012060018a01556bffffffffffffffffffffffff198b16835282018b90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a160018e0154602085015160408087015190517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b039093169263266a123a92610436929091600401611c6a565b600060405180830381600087803b15801561045057600080fd5b505af1158015610464573d6000803e3d6000fd5b505050508d60010160009054906101000a90046001600160a01b03166001600160a01b0316635b86f5998f60030160009054906101000a90046001600160a01b0316856040518363ffffffff1660e01b81526004016104d89291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156104f257600080fd5b505af1158015610506573d6000803e3d6000fd5b505050505050505050505050505050505050565b61053e60405180606001604052806000815260200160008152602001600081525090565b6002820154604080517f113764be00000000000000000000000000000000000000000000000000000000815290516001600160a01b0390921691829163113764be916004808301926020929190829003018186803b15801561059f57600080fd5b505afa1580156105b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d79190611b94565b826000018181525050806001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b15801561061957600080fd5b505afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106519190611b94565b6020830152509054604082015290565b600080600061066f84610fd7565b915050806001146106e85760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f75747075740000000000000000000000000000000000000000006064820152608401610247565b60006106f48582610fee565b90506106ff816111d6565b9250600061070c82611255565b905080516014146107855760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574207075626c6963206b657920686173682073686f756c6420686160448201527f76652032302062797465730000000000000000000000000000000000000000006064820152608401610247565b60208101519450505050915091565b60408051606081018252600080825260208083018290528284018290526bffffffffffffffffffffffff1986168252600287810190915292902091820154700100000000000000000000000000000000900460ff1660018160048111156107fd576107fd611cee565b148061081a5750600281600481111561081857610818611cee565b145b61088c5760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e64732073746174650000000000000000000000000000000000000000006064820152608401610247565b6040805160608101825260008082526020820181905291810191909152600184015490925080156109a4578085356108ca6040880160208901611d18565b6108da6060890160408a01611d4b565b60405160200161092f9392919092835260e09190911b6001600160e01b031916602083015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166024820152602c0190565b60405160208183030381529060405280519060200120146109925760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f2064617461000000000000000000006044820152606401610247565b6109a136869003860186611d7c565b92505b5050935093915050565b6109d96040518060800160405280600081526020016060815260200160608152602001606081525090565b81511515600080806109ea87610fd7565b909250905060006109fc836001611c0a565b90508415610a1457610a0f600183611c22565b610a16565b815b67ffffffffffffffff811115610a2e57610a2e611d66565b604051908082528060200260200182016040528015610a57578160200160208202803683370190505b50602087018190525167ffffffffffffffff811115610a7857610a78611d66565b604051908082528060200260200182016040528015610aa1578160200160208202803683370190505b50604087015260208601515167ffffffffffffffff811115610ac557610ac5611d66565b604051908082528060200260200182016040528015610aee578160200160208202803683370190505b5060608701526000805b83811015610e9d576000806000610b0f8d8761150e565b92509250925060008e60050160008585604051602001610b4692919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615610d84576001810154600160e01b900463ffffffff1615610be15760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c726561647920737765707400000000000000000000006044820152606401610247565b8b6020015151861415610c5c5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610247565b6001810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055805460208d015180516001600160a01b039092169188908110610cb557610cb5611c39565b6001600160a01b039290921660209283029190910190910152805460408d01518051600160a01b90920467ffffffffffffffff169188908110610cfa57610cfa611c39565b6020026020010181815250508b604001518681518110610d1c57610d1c611c39565b60200260200101518c600001818151610d359190611c0a565b905250600181015460608d01518051600160a01b90920467ffffffffffffffff169188908110610d6757610d67611c39565b602090810291909101015285610d7c81611c4f565b965050610e7a565b8915158b151514158015610d9857508c5184145b15610e32578c6040015167ffffffffffffffff168c600001818151610dbd9190611c0a565b915081815250506001995060018f60070160008686604051602001610df992919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055610e7a565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e707574207479706500000000000000000000000000006044820152606401610247565b610e848288611c0a565b9650505050508080610e9590611c4f565b915050610af8565b5060008111610f145760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f736974000000000000000000000000006064820152608401610247565b84151586151514610f8d5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610247565b5050505050505b9392505050565b60008080610fa98587611c22565b9050610fb58482611e05565b915083610fc28383611c22565b610fcc9190611e19565b925050935093915050565b600080610fe5836000611566565b91509150915091565b6060600080610ffc85610fd7565b90925090506000198214156110795760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e670000000000000000000000000000000000000000000000000000000000006064820152608401610247565b8084106110c85760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610247565b6000806110d6846001611c0a565b905060005b8681101561115f576110ed88836116e4565b92506000198314156111415760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610247565b61114b8383611c0a565b91508061115781611c4f565b9150506110db565b5061116a87826116e4565b91506000198214156111be5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610247565b6111c9878284611753565b9450505050505b92915050565b6000806111e28361181d565b60c01c9050600061124d8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b949350505050565b606060008260088151811061126c5761126c611c39565b0160200151835160f89190911c9150611286826009611e2d565b60ff16146112a4575050604080516020810190915260008152919050565b826009815181106112b7576112b7611c39565b016020015160f81c6113555760028160ff1610156112e5575050604080516020810190915260008152919050565b600083600a815181106112fa576112fa611c39565b016020015160f81c905061130f600283611e52565b60ff168114158061132d57508060201415801561132d575080601414155b1561134957505060408051602081019091526000815292915050565b61124d84600b83611753565b6000611362846008611825565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008216141561145a5783600b815181106113c1576113c1611c39565b60209101015160f81c601414158061143157506113ec600285516113e59190611c22565b8590611825565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b1561144d57505060408051602081019091526000815292915050565b61124d84600c6014611753565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156114f75783600185516114b39190611c22565b815181106114c3576114c3611c39565b60209101015160f81c6087146114ea57505060408051602081019091526000815292915050565b61124d84600b6014611753565b505050604080516020810190915260008152919050565b6000808061151c8585611825565b925061155161152b8686611834565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b915061155d858561184b565b90509250925092565b60008060006115758585611896565b905060ff81166115a757600085858151811061159357611593611c39565b016020015190935060f81c91506116dd9050565b836115b3826001611e2d565b60ff166115c09190611c0a565b855110156115d757600019600092509250506116dd565b60008160ff166002141561161c576116116115fd6115f6876001611c0a565b8890611825565b62ffff0060e882901c1660f89190911c1790565b61ffff1690506116d3565b8160ff16600414156116465761163961152b6115f6876001611c0a565b63ffffffff1690506116d3565b8160ff16600814156116d3576116c66116636115f6876001611c0a565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b60006116f1826009611c0a565b8351101561170257506000196111d0565b60008061171985611714866008611c0a565b611566565b909250905060001982141561173457600019925050506111d0565b80611740836009611c0a565b61174a9190611c0a565b95945050505050565b60608161176f5750604080516020810190915260008152610f94565b600061177b8385611c0a565b9050838111801561178d575080855110155b6117d95760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610247565b604051915082604083010160405282825283850182038460208701018481015b80821015611812578151838301526020820191506117f9565b505050509392505050565b60006111d082825b6000610f948383016020015190565b6000610f94611844836020611c0a565b8490611825565b600080600061185a8585611922565b909250905060001982141561187557600019925050506111d0565b80611881836025611c0a565b61188b9190611c0a565b61174a906004611c0a565b60008282815181106118aa576118aa611c39565b60209101015160f81c60ff14156118c3575060086111d0565b8282815181106118d5576118d5611c39565b60209101015160f81c60fe14156118ee575060046111d0565b82828151811061190057611900611c39565b60209101015160f81c60fd1415611919575060026111d0565b50600092915050565b600080611930836025611c0a565b845110156119455750600019905060006116dd565b60008061195786611714876024611c0a565b9097909650945050505050565b60006060828403121561197657600080fd5b50919050565b600080600080600060e0868803121561199457600080fd5b8535945060208601359350604086013567ffffffffffffffff808211156119ba57600080fd5b908701906080828a0312156119ce57600080fd5b909350606087013590808211156119e457600080fd5b506119f188828901611964565b925050611a018760808801611964565b90509295509295909350565b80356001600160e01b031981168114611a2557600080fd5b919050565b6000808335601e19843603018112611a4157600080fd5b830160208101925035905067ffffffffffffffff811115611a6157600080fd5b8036038313156116dd57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60a0815260006001600160e01b031980611ab287611a0d565b1660a0840152611ac56020870187611a2a565b608060c0860152611adb61012086018284611a70565b915050611aeb6040880188611a2a565b858303609f190160e0870152611b02838284611a70565b9250505081611b1360608901611a0d565b166101008501528381036020850152611b2c8687611a2a565b925060608252611b40606083018483611a70565b92505060208601356020820152611b5a6040870187611a2a565b8284036040840152611b6d848284611a70565b94505050505061124d60408301848051825260208082015190830152604090810151910152565b600060208284031215611ba657600080fd5b5051919050565b6000808335601e19843603018112611bc457600080fd5b83018035915067ffffffffffffffff821115611bdf57600080fd5b6020019150368190038213156116dd57600080fd5b634e487b7160e01b600052601160045260246000fd5b60008219821115611c1d57611c1d611bf4565b500190565b600082821015611c3457611c34611bf4565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611c6357611c63611bf4565b5060010190565b604080825283519082018190526000906020906060840190828701845b82811015611cac5781516001600160a01b031684529284019290840190600101611c87565b5050508381038285015284518082528583019183019060005b81811015611ce157835183529284019291840191600101611cc5565b5090979650505050505050565b634e487b7160e01b600052602160045260246000fd5b803563ffffffff81168114611a2557600080fd5b600060208284031215611d2a57600080fd5b610f9482611d04565b803567ffffffffffffffff81168114611a2557600080fd5b600060208284031215611d5d57600080fd5b610f9482611d33565b634e487b7160e01b600052604160045260246000fd5b600060608284031215611d8e57600080fd5b6040516060810181811067ffffffffffffffff82111715611dbf57634e487b7160e01b600052604160045260246000fd5b60405282358152611dd260208401611d04565b6020820152611de360408401611d33565b60408201529392505050565b634e487b7160e01b600052601260045260246000fd5b600082611e1457611e14611def565b500690565b600082611e2857611e28611def565b500490565b600060ff821660ff84168060ff03821115611e4a57611e4a611bf4565b019392505050565b600060ff821660ff841680821015611e6c57611e6c611bf4565b9003939250505056fea264697066735822122027cfa404aa136539ca3769dc61d39681b54fd0db89748b5c028ffab2f135816764736f6c63430008090033",
27
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80637464f9271461003a575b600080fd5b81801561004657600080fd5b5061005a61005536600461197c565b61005c565b005b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae13485856100838a61051a565b6040518463ffffffff1660e01b81526004016100a193929190611a99565b60206040518083038186803b1580156100b957600080fd5b505af41580156100cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f19190611b94565b90506000806101406101066040880188611bad565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061066192505050565b91509150600080610152898588610794565b909250905060006101a68b61016a60208c018c611bad565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506109ae915050565b9050600080806101ca84600001518867ffffffffffffffff16866040015151610f9b565b915091508d60040160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1681836101fd9190611c0a565b11156102505760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064015b60405180910390fd5b60005b84604001515181101561033e57600060018660400151516102749190611c22565b8214610280578361028a565b61028a8385611c0a565b905080866060015183815181106102a3576102a3611c39565b6020026020010151876040015184815181106102c1576102c1611c39565b60200260200101516102d39190611c22565b6102dd9190611c22565b866040015183815181106102f3576102f3611c39565b6020026020010181815250508560600151828151811061031557610315611c39565b6020026020010151856103289190611c0a565b945050808061033690611c4f565b915050610253565b5060408051602081018b90526000918101919091527fffffffffffffffff00000000000000000000000000000000000000000000000060c089901b166044820152604c0160408051808303601f19018152828252805160209182012060018a01556bffffffffffffffffffffffff198b16835282018b90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a160018e0154602085015160408087015190517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b039093169263266a123a92610436929091600401611c6a565b600060405180830381600087803b15801561045057600080fd5b505af1158015610464573d6000803e3d6000fd5b505050508d60010160009054906101000a90046001600160a01b03166001600160a01b0316635b86f5998f60030160009054906101000a90046001600160a01b0316856040518363ffffffff1660e01b81526004016104d89291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156104f257600080fd5b505af1158015610506573d6000803e3d6000fd5b505050505050505050505050505050505050565b61053e60405180606001604052806000815260200160008152602001600081525090565b6002820154604080517f113764be00000000000000000000000000000000000000000000000000000000815290516001600160a01b0390921691829163113764be916004808301926020929190829003018186803b15801561059f57600080fd5b505afa1580156105b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d79190611b94565b826000018181525050806001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b15801561061957600080fd5b505afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106519190611b94565b6020830152509054604082015290565b600080600061066f84610fd7565b915050806001146106e85760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f75747075740000000000000000000000000000000000000000006064820152608401610247565b60006106f48582610fee565b90506106ff816111d6565b9250600061070c82611255565b905080516014146107855760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574207075626c6963206b657920686173682073686f756c6420686160448201527f76652032302062797465730000000000000000000000000000000000000000006064820152608401610247565b60208101519450505050915091565b60408051606081018252600080825260208083018290528284018290526bffffffffffffffffffffffff1986168252600287810190915292902091820154700100000000000000000000000000000000900460ff1660018160048111156107fd576107fd611cee565b148061081a5750600281600481111561081857610818611cee565b145b61088c5760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e64732073746174650000000000000000000000000000000000000000006064820152608401610247565b6040805160608101825260008082526020820181905291810191909152600184015490925080156109a4578085356108ca6040880160208901611d18565b6108da6060890160408a01611d4b565b60405160200161092f9392919092835260e09190911b6001600160e01b031916602083015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166024820152602c0190565b60405160208183030381529060405280519060200120146109925760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f2064617461000000000000000000006044820152606401610247565b6109a136869003860186611d7c565b92505b5050935093915050565b6109d96040518060800160405280600081526020016060815260200160608152602001606081525090565b81511515600080806109ea87610fd7565b909250905060006109fc836001611c0a565b90508415610a1457610a0f600183611c22565b610a16565b815b67ffffffffffffffff811115610a2e57610a2e611d66565b604051908082528060200260200182016040528015610a57578160200160208202803683370190505b50602087018190525167ffffffffffffffff811115610a7857610a78611d66565b604051908082528060200260200182016040528015610aa1578160200160208202803683370190505b50604087015260208601515167ffffffffffffffff811115610ac557610ac5611d66565b604051908082528060200260200182016040528015610aee578160200160208202803683370190505b5060608701526000805b83811015610e9d576000806000610b0f8d8761150e565b92509250925060008e60050160008585604051602001610b4692919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615610d84576001810154600160e01b900463ffffffff1615610be15760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c726561647920737765707400000000000000000000006044820152606401610247565b8b6020015151861415610c5c5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610247565b6001810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055805460208d015180516001600160a01b039092169188908110610cb557610cb5611c39565b6001600160a01b039290921660209283029190910190910152805460408d01518051600160a01b90920467ffffffffffffffff169188908110610cfa57610cfa611c39565b6020026020010181815250508b604001518681518110610d1c57610d1c611c39565b60200260200101518c600001818151610d359190611c0a565b905250600181015460608d01518051600160a01b90920467ffffffffffffffff169188908110610d6757610d67611c39565b602090810291909101015285610d7c81611c4f565b965050610e7a565b8915158b151514158015610d9857508c5184145b15610e32578c6040015167ffffffffffffffff168c600001818151610dbd9190611c0a565b915081815250506001995060018f60070160008686604051602001610df992919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055610e7a565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e707574207479706500000000000000000000000000006044820152606401610247565b610e848288611c0a565b9650505050508080610e9590611c4f565b915050610af8565b5060008111610f145760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f736974000000000000000000000000006064820152608401610247565b84151586151514610f8d5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610247565b5050505050505b9392505050565b60008080610fa98587611c22565b9050610fb58482611e05565b915083610fc28383611c22565b610fcc9190611e19565b925050935093915050565b600080610fe5836000611566565b91509150915091565b6060600080610ffc85610fd7565b90925090506000198214156110795760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e670000000000000000000000000000000000000000000000000000000000006064820152608401610247565b8084106110c85760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610247565b6000806110d6846001611c0a565b905060005b8681101561115f576110ed88836116e4565b92506000198314156111415760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610247565b61114b8383611c0a565b91508061115781611c4f565b9150506110db565b5061116a87826116e4565b91506000198214156111be5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610247565b6111c9878284611753565b9450505050505b92915050565b6000806111e28361181d565b60c01c9050600061124d8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b949350505050565b606060008260088151811061126c5761126c611c39565b0160200151835160f89190911c9150611286826009611e2d565b60ff16146112a4575050604080516020810190915260008152919050565b826009815181106112b7576112b7611c39565b016020015160f81c6113555760028160ff1610156112e5575050604080516020810190915260008152919050565b600083600a815181106112fa576112fa611c39565b016020015160f81c905061130f600283611e52565b60ff168114158061132d57508060201415801561132d575080601414155b1561134957505060408051602081019091526000815292915050565b61124d84600b83611753565b6000611362846008611825565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008216141561145a5783600b815181106113c1576113c1611c39565b60209101015160f81c601414158061143157506113ec600285516113e59190611c22565b8590611825565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b1561144d57505060408051602081019091526000815292915050565b61124d84600c6014611753565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156114f75783600185516114b39190611c22565b815181106114c3576114c3611c39565b60209101015160f81c6087146114ea57505060408051602081019091526000815292915050565b61124d84600b6014611753565b505050604080516020810190915260008152919050565b6000808061151c8585611825565b925061155161152b8686611834565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b915061155d858561184b565b90509250925092565b60008060006115758585611896565b905060ff81166115a757600085858151811061159357611593611c39565b016020015190935060f81c91506116dd9050565b836115b3826001611e2d565b60ff166115c09190611c0a565b855110156115d757600019600092509250506116dd565b60008160ff166002141561161c576116116115fd6115f6876001611c0a565b8890611825565b62ffff0060e882901c1660f89190911c1790565b61ffff1690506116d3565b8160ff16600414156116465761163961152b6115f6876001611c0a565b63ffffffff1690506116d3565b8160ff16600814156116d3576116c66116636115f6876001611c0a565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b60006116f1826009611c0a565b8351101561170257506000196111d0565b60008061171985611714866008611c0a565b611566565b909250905060001982141561173457600019925050506111d0565b80611740836009611c0a565b61174a9190611c0a565b95945050505050565b60608161176f5750604080516020810190915260008152610f94565b600061177b8385611c0a565b9050838111801561178d575080855110155b6117d95760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610247565b604051915082604083010160405282825283850182038460208701018481015b80821015611812578151838301526020820191506117f9565b505050509392505050565b60006111d082825b6000610f948383016020015190565b6000610f94611844836020611c0a565b8490611825565b600080600061185a8585611922565b909250905060001982141561187557600019925050506111d0565b80611881836025611c0a565b61188b9190611c0a565b61174a906004611c0a565b60008282815181106118aa576118aa611c39565b60209101015160f81c60ff14156118c3575060086111d0565b8282815181106118d5576118d5611c39565b60209101015160f81c60fe14156118ee575060046111d0565b82828151811061190057611900611c39565b60209101015160f81c60fd1415611919575060026111d0565b50600092915050565b600080611930836025611c0a565b845110156119455750600019905060006116dd565b60008061195786611714876024611c0a565b9097909650945050505050565b60006060828403121561197657600080fd5b50919050565b600080600080600060e0868803121561199457600080fd5b8535945060208601359350604086013567ffffffffffffffff808211156119ba57600080fd5b908701906080828a0312156119ce57600080fd5b909350606087013590808211156119e457600080fd5b506119f188828901611964565b925050611a018760808801611964565b90509295509295909350565b80356001600160e01b031981168114611a2557600080fd5b919050565b6000808335601e19843603018112611a4157600080fd5b830160208101925035905067ffffffffffffffff811115611a6157600080fd5b8036038313156116dd57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60a0815260006001600160e01b031980611ab287611a0d565b1660a0840152611ac56020870187611a2a565b608060c0860152611adb61012086018284611a70565b915050611aeb6040880188611a2a565b858303609f190160e0870152611b02838284611a70565b9250505081611b1360608901611a0d565b166101008501528381036020850152611b2c8687611a2a565b925060608252611b40606083018483611a70565b92505060208601356020820152611b5a6040870187611a2a565b8284036040840152611b6d848284611a70565b94505050505061124d60408301848051825260208082015190830152604090810151910152565b600060208284031215611ba657600080fd5b5051919050565b6000808335601e19843603018112611bc457600080fd5b83018035915067ffffffffffffffff821115611bdf57600080fd5b6020019150368190038213156116dd57600080fd5b634e487b7160e01b600052601160045260246000fd5b60008219821115611c1d57611c1d611bf4565b500190565b600082821015611c3457611c34611bf4565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611c6357611c63611bf4565b5060010190565b604080825283519082018190526000906020906060840190828701845b82811015611cac5781516001600160a01b031684529284019290840190600101611c87565b5050508381038285015284518082528583019183019060005b81811015611ce157835183529284019291840191600101611cc5565b5090979650505050505050565b634e487b7160e01b600052602160045260246000fd5b803563ffffffff81168114611a2557600080fd5b600060208284031215611d2a57600080fd5b610f9482611d04565b803567ffffffffffffffff81168114611a2557600080fd5b600060208284031215611d5d57600080fd5b610f9482611d33565b634e487b7160e01b600052604160045260246000fd5b600060608284031215611d8e57600080fd5b6040516060810181811067ffffffffffffffff82111715611dbf57634e487b7160e01b600052604160045260246000fd5b60405282358152611dd260208401611d04565b6020820152611de360408401611d33565b60408201529392505050565b634e487b7160e01b600052601260045260246000fd5b600082611e1457611e14611def565b500690565b600082611e2857611e28611def565b500490565b600060ff821660ff84168060ff03821115611e4a57611e4a611bf4565b019392505050565b600060ff821660ff841680821015611e6c57611e6c611bf4565b9003939250505056fea264697066735822122027cfa404aa136539ca3769dc61d39681b54fd0db89748b5c028ffab2f135816764736f6c63430008090033",
26
+ "bytecode": "0x611eab61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80637464f9271461003a575b600080fd5b81801561004657600080fd5b5061005a61005536600461197c565b61005c565b005b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae13485856100838a61051a565b6040518463ffffffff1660e01b81526004016100a193929190611a99565b60206040518083038186803b1580156100b957600080fd5b505af41580156100cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f19190611b94565b90506000806101406101066040880188611bad565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061066192505050565b91509150600080610152898588610794565b909250905060006101a68b61016a60208c018c611bad565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506109ae915050565b9050600080806101ca84600001518867ffffffffffffffff16866040015151610f9b565b915091508d60040160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1681836101fd9190611c0a565b11156102505760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064015b60405180910390fd5b60005b84604001515181101561033e57600060018660400151516102749190611c22565b8214610280578361028a565b61028a8385611c0a565b905080866060015183815181106102a3576102a3611c39565b6020026020010151876040015184815181106102c1576102c1611c39565b60200260200101516102d39190611c22565b6102dd9190611c22565b866040015183815181106102f3576102f3611c39565b6020026020010181815250508560600151828151811061031557610315611c39565b6020026020010151856103289190611c0a565b945050808061033690611c4f565b915050610253565b5060408051602081018b90526000918101919091527fffffffffffffffff00000000000000000000000000000000000000000000000060c089901b166044820152604c0160408051808303601f19018152828252805160209182012060018a01556bffffffffffffffffffffffff198b16835282018b90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a160018e0154602085015160408087015190517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b039093169263266a123a92610436929091600401611c6a565b600060405180830381600087803b15801561045057600080fd5b505af1158015610464573d6000803e3d6000fd5b505050508d60010160009054906101000a90046001600160a01b03166001600160a01b0316635b86f5998f60030160009054906101000a90046001600160a01b0316856040518363ffffffff1660e01b81526004016104d89291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156104f257600080fd5b505af1158015610506573d6000803e3d6000fd5b505050505050505050505050505050505050565b61053e60405180606001604052806000815260200160008152602001600081525090565b6002820154604080517f113764be00000000000000000000000000000000000000000000000000000000815290516001600160a01b0390921691829163113764be916004808301926020929190829003018186803b15801561059f57600080fd5b505afa1580156105b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d79190611b94565b826000018181525050806001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b15801561061957600080fd5b505afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106519190611b94565b6020830152509054604082015290565b600080600061066f84610fd7565b915050806001146106e85760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f75747075740000000000000000000000000000000000000000006064820152608401610247565b60006106f48582610fee565b90506106ff816111d6565b9250600061070c82611255565b905080516014146107855760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574207075626c6963206b657920686173682073686f756c6420686160448201527f76652032302062797465730000000000000000000000000000000000000000006064820152608401610247565b60208101519450505050915091565b60408051606081018252600080825260208083018290528284018290526bffffffffffffffffffffffff1986168252600287810190915292902091820154700100000000000000000000000000000000900460ff1660018160048111156107fd576107fd611cee565b148061081a5750600281600481111561081857610818611cee565b145b61088c5760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e64732073746174650000000000000000000000000000000000000000006064820152608401610247565b6040805160608101825260008082526020820181905291810191909152600184015490925080156109a4578085356108ca6040880160208901611d18565b6108da6060890160408a01611d4b565b60405160200161092f9392919092835260e09190911b6001600160e01b031916602083015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166024820152602c0190565b60405160208183030381529060405280519060200120146109925760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f2064617461000000000000000000006044820152606401610247565b6109a136869003860186611d7c565b92505b5050935093915050565b6109d96040518060800160405280600081526020016060815260200160608152602001606081525090565b81511515600080806109ea87610fd7565b909250905060006109fc836001611c0a565b90508415610a1457610a0f600183611c22565b610a16565b815b67ffffffffffffffff811115610a2e57610a2e611d66565b604051908082528060200260200182016040528015610a57578160200160208202803683370190505b50602087018190525167ffffffffffffffff811115610a7857610a78611d66565b604051908082528060200260200182016040528015610aa1578160200160208202803683370190505b50604087015260208601515167ffffffffffffffff811115610ac557610ac5611d66565b604051908082528060200260200182016040528015610aee578160200160208202803683370190505b5060608701526000805b83811015610e9d576000806000610b0f8d8761150e565b92509250925060008e60050160008585604051602001610b4692919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615610d84576001810154600160e01b900463ffffffff1615610be15760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c726561647920737765707400000000000000000000006044820152606401610247565b8b6020015151861415610c5c5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610247565b6001810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055805460208d015180516001600160a01b039092169188908110610cb557610cb5611c39565b6001600160a01b039290921660209283029190910190910152805460408d01518051600160a01b90920467ffffffffffffffff169188908110610cfa57610cfa611c39565b6020026020010181815250508b604001518681518110610d1c57610d1c611c39565b60200260200101518c600001818151610d359190611c0a565b905250600181015460608d01518051600160a01b90920467ffffffffffffffff169188908110610d6757610d67611c39565b602090810291909101015285610d7c81611c4f565b965050610e7a565b8915158b151514158015610d9857508c5184145b15610e32578c6040015167ffffffffffffffff168c600001818151610dbd9190611c0a565b915081815250506001995060018f600b0160008686604051602001610df992919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055610e7a565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e707574207479706500000000000000000000000000006044820152606401610247565b610e848288611c0a565b9650505050508080610e9590611c4f565b915050610af8565b5060008111610f145760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f736974000000000000000000000000006064820152608401610247565b84151586151514610f8d5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610247565b5050505050505b9392505050565b60008080610fa98587611c22565b9050610fb58482611e05565b915083610fc28383611c22565b610fcc9190611e19565b925050935093915050565b600080610fe5836000611566565b91509150915091565b6060600080610ffc85610fd7565b90925090506000198214156110795760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e670000000000000000000000000000000000000000000000000000000000006064820152608401610247565b8084106110c85760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610247565b6000806110d6846001611c0a565b905060005b8681101561115f576110ed88836116e4565b92506000198314156111415760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610247565b61114b8383611c0a565b91508061115781611c4f565b9150506110db565b5061116a87826116e4565b91506000198214156111be5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610247565b6111c9878284611753565b9450505050505b92915050565b6000806111e28361181d565b60c01c9050600061124d8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b949350505050565b606060008260088151811061126c5761126c611c39565b0160200151835160f89190911c9150611286826009611e2d565b60ff16146112a4575050604080516020810190915260008152919050565b826009815181106112b7576112b7611c39565b016020015160f81c6113555760028160ff1610156112e5575050604080516020810190915260008152919050565b600083600a815181106112fa576112fa611c39565b016020015160f81c905061130f600283611e52565b60ff168114158061132d57508060201415801561132d575080601414155b1561134957505060408051602081019091526000815292915050565b61124d84600b83611753565b6000611362846008611825565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008216141561145a5783600b815181106113c1576113c1611c39565b60209101015160f81c601414158061143157506113ec600285516113e59190611c22565b8590611825565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b1561144d57505060408051602081019091526000815292915050565b61124d84600c6014611753565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156114f75783600185516114b39190611c22565b815181106114c3576114c3611c39565b60209101015160f81c6087146114ea57505060408051602081019091526000815292915050565b61124d84600b6014611753565b505050604080516020810190915260008152919050565b6000808061151c8585611825565b925061155161152b8686611834565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b915061155d858561184b565b90509250925092565b60008060006115758585611896565b905060ff81166115a757600085858151811061159357611593611c39565b016020015190935060f81c91506116dd9050565b836115b3826001611e2d565b60ff166115c09190611c0a565b855110156115d757600019600092509250506116dd565b60008160ff166002141561161c576116116115fd6115f6876001611c0a565b8890611825565b62ffff0060e882901c1660f89190911c1790565b61ffff1690506116d3565b8160ff16600414156116465761163961152b6115f6876001611c0a565b63ffffffff1690506116d3565b8160ff16600814156116d3576116c66116636115f6876001611c0a565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b60006116f1826009611c0a565b8351101561170257506000196111d0565b60008061171985611714866008611c0a565b611566565b909250905060001982141561173457600019925050506111d0565b80611740836009611c0a565b61174a9190611c0a565b95945050505050565b60608161176f5750604080516020810190915260008152610f94565b600061177b8385611c0a565b9050838111801561178d575080855110155b6117d95760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610247565b604051915082604083010160405282825283850182038460208701018481015b80821015611812578151838301526020820191506117f9565b505050509392505050565b60006111d082825b6000610f948383016020015190565b6000610f94611844836020611c0a565b8490611825565b600080600061185a8585611922565b909250905060001982141561187557600019925050506111d0565b80611881836025611c0a565b61188b9190611c0a565b61174a906004611c0a565b60008282815181106118aa576118aa611c39565b60209101015160f81c60ff14156118c3575060086111d0565b8282815181106118d5576118d5611c39565b60209101015160f81c60fe14156118ee575060046111d0565b82828151811061190057611900611c39565b60209101015160f81c60fd1415611919575060026111d0565b50600092915050565b600080611930836025611c0a565b845110156119455750600019905060006116dd565b60008061195786611714876024611c0a565b9097909650945050505050565b60006060828403121561197657600080fd5b50919050565b600080600080600060e0868803121561199457600080fd5b8535945060208601359350604086013567ffffffffffffffff808211156119ba57600080fd5b908701906080828a0312156119ce57600080fd5b909350606087013590808211156119e457600080fd5b506119f188828901611964565b925050611a018760808801611964565b90509295509295909350565b80356001600160e01b031981168114611a2557600080fd5b919050565b6000808335601e19843603018112611a4157600080fd5b830160208101925035905067ffffffffffffffff811115611a6157600080fd5b8036038313156116dd57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60a0815260006001600160e01b031980611ab287611a0d565b1660a0840152611ac56020870187611a2a565b608060c0860152611adb61012086018284611a70565b915050611aeb6040880188611a2a565b858303609f190160e0870152611b02838284611a70565b9250505081611b1360608901611a0d565b166101008501528381036020850152611b2c8687611a2a565b925060608252611b40606083018483611a70565b92505060208601356020820152611b5a6040870187611a2a565b8284036040840152611b6d848284611a70565b94505050505061124d60408301848051825260208082015190830152604090810151910152565b600060208284031215611ba657600080fd5b5051919050565b6000808335601e19843603018112611bc457600080fd5b83018035915067ffffffffffffffff821115611bdf57600080fd5b6020019150368190038213156116dd57600080fd5b634e487b7160e01b600052601160045260246000fd5b60008219821115611c1d57611c1d611bf4565b500190565b600082821015611c3457611c34611bf4565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611c6357611c63611bf4565b5060010190565b604080825283519082018190526000906020906060840190828701845b82811015611cac5781516001600160a01b031684529284019290840190600101611c87565b5050508381038285015284518082528583019183019060005b81811015611ce157835183529284019291840191600101611cc5565b5090979650505050505050565b634e487b7160e01b600052602160045260246000fd5b803563ffffffff81168114611a2557600080fd5b600060208284031215611d2a57600080fd5b610f9482611d04565b803567ffffffffffffffff81168114611a2557600080fd5b600060208284031215611d5d57600080fd5b610f9482611d33565b634e487b7160e01b600052604160045260246000fd5b600060608284031215611d8e57600080fd5b6040516060810181811067ffffffffffffffff82111715611dbf57634e487b7160e01b600052604160045260246000fd5b60405282358152611dd260208401611d04565b6020820152611de360408401611d33565b60408201529392505050565b634e487b7160e01b600052601260045260246000fd5b600082611e1457611e14611def565b500690565b600082611e2857611e28611def565b500490565b600060ff821660ff84168060ff03821115611e4a57611e4a611bf4565b019392505050565b600060ff821660ff841680821015611e6c57611e6c611bf4565b9003939250505056fea2646970667358221220426b4928c7997b238723ab7aa55161568174eb35533266f397a4d6535cb6b31064736f6c63430008090033",
27
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80637464f9271461003a575b600080fd5b81801561004657600080fd5b5061005a61005536600461197c565b61005c565b005b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae13485856100838a61051a565b6040518463ffffffff1660e01b81526004016100a193929190611a99565b60206040518083038186803b1580156100b957600080fd5b505af41580156100cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f19190611b94565b90506000806101406101066040880188611bad565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061066192505050565b91509150600080610152898588610794565b909250905060006101a68b61016a60208c018c611bad565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506109ae915050565b9050600080806101ca84600001518867ffffffffffffffff16866040015151610f9b565b915091508d60040160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1681836101fd9190611c0a565b11156102505760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064015b60405180910390fd5b60005b84604001515181101561033e57600060018660400151516102749190611c22565b8214610280578361028a565b61028a8385611c0a565b905080866060015183815181106102a3576102a3611c39565b6020026020010151876040015184815181106102c1576102c1611c39565b60200260200101516102d39190611c22565b6102dd9190611c22565b866040015183815181106102f3576102f3611c39565b6020026020010181815250508560600151828151811061031557610315611c39565b6020026020010151856103289190611c0a565b945050808061033690611c4f565b915050610253565b5060408051602081018b90526000918101919091527fffffffffffffffff00000000000000000000000000000000000000000000000060c089901b166044820152604c0160408051808303601f19018152828252805160209182012060018a01556bffffffffffffffffffffffff198b16835282018b90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a160018e0154602085015160408087015190517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b039093169263266a123a92610436929091600401611c6a565b600060405180830381600087803b15801561045057600080fd5b505af1158015610464573d6000803e3d6000fd5b505050508d60010160009054906101000a90046001600160a01b03166001600160a01b0316635b86f5998f60030160009054906101000a90046001600160a01b0316856040518363ffffffff1660e01b81526004016104d89291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156104f257600080fd5b505af1158015610506573d6000803e3d6000fd5b505050505050505050505050505050505050565b61053e60405180606001604052806000815260200160008152602001600081525090565b6002820154604080517f113764be00000000000000000000000000000000000000000000000000000000815290516001600160a01b0390921691829163113764be916004808301926020929190829003018186803b15801561059f57600080fd5b505afa1580156105b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d79190611b94565b826000018181525050806001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b15801561061957600080fd5b505afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106519190611b94565b6020830152509054604082015290565b600080600061066f84610fd7565b915050806001146106e85760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f75747075740000000000000000000000000000000000000000006064820152608401610247565b60006106f48582610fee565b90506106ff816111d6565b9250600061070c82611255565b905080516014146107855760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574207075626c6963206b657920686173682073686f756c6420686160448201527f76652032302062797465730000000000000000000000000000000000000000006064820152608401610247565b60208101519450505050915091565b60408051606081018252600080825260208083018290528284018290526bffffffffffffffffffffffff1986168252600287810190915292902091820154700100000000000000000000000000000000900460ff1660018160048111156107fd576107fd611cee565b148061081a5750600281600481111561081857610818611cee565b145b61088c5760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e64732073746174650000000000000000000000000000000000000000006064820152608401610247565b6040805160608101825260008082526020820181905291810191909152600184015490925080156109a4578085356108ca6040880160208901611d18565b6108da6060890160408a01611d4b565b60405160200161092f9392919092835260e09190911b6001600160e01b031916602083015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166024820152602c0190565b60405160208183030381529060405280519060200120146109925760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f2064617461000000000000000000006044820152606401610247565b6109a136869003860186611d7c565b92505b5050935093915050565b6109d96040518060800160405280600081526020016060815260200160608152602001606081525090565b81511515600080806109ea87610fd7565b909250905060006109fc836001611c0a565b90508415610a1457610a0f600183611c22565b610a16565b815b67ffffffffffffffff811115610a2e57610a2e611d66565b604051908082528060200260200182016040528015610a57578160200160208202803683370190505b50602087018190525167ffffffffffffffff811115610a7857610a78611d66565b604051908082528060200260200182016040528015610aa1578160200160208202803683370190505b50604087015260208601515167ffffffffffffffff811115610ac557610ac5611d66565b604051908082528060200260200182016040528015610aee578160200160208202803683370190505b5060608701526000805b83811015610e9d576000806000610b0f8d8761150e565b92509250925060008e60050160008585604051602001610b4692919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615610d84576001810154600160e01b900463ffffffff1615610be15760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c726561647920737765707400000000000000000000006044820152606401610247565b8b6020015151861415610c5c5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610247565b6001810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055805460208d015180516001600160a01b039092169188908110610cb557610cb5611c39565b6001600160a01b039290921660209283029190910190910152805460408d01518051600160a01b90920467ffffffffffffffff169188908110610cfa57610cfa611c39565b6020026020010181815250508b604001518681518110610d1c57610d1c611c39565b60200260200101518c600001818151610d359190611c0a565b905250600181015460608d01518051600160a01b90920467ffffffffffffffff169188908110610d6757610d67611c39565b602090810291909101015285610d7c81611c4f565b965050610e7a565b8915158b151514158015610d9857508c5184145b15610e32578c6040015167ffffffffffffffff168c600001818151610dbd9190611c0a565b915081815250506001995060018f600b0160008686604051602001610df992919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055610e7a565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e707574207479706500000000000000000000000000006044820152606401610247565b610e848288611c0a565b9650505050508080610e9590611c4f565b915050610af8565b5060008111610f145760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f736974000000000000000000000000006064820152608401610247565b84151586151514610f8d5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610247565b5050505050505b9392505050565b60008080610fa98587611c22565b9050610fb58482611e05565b915083610fc28383611c22565b610fcc9190611e19565b925050935093915050565b600080610fe5836000611566565b91509150915091565b6060600080610ffc85610fd7565b90925090506000198214156110795760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e670000000000000000000000000000000000000000000000000000000000006064820152608401610247565b8084106110c85760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610247565b6000806110d6846001611c0a565b905060005b8681101561115f576110ed88836116e4565b92506000198314156111415760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610247565b61114b8383611c0a565b91508061115781611c4f565b9150506110db565b5061116a87826116e4565b91506000198214156111be5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610247565b6111c9878284611753565b9450505050505b92915050565b6000806111e28361181d565b60c01c9050600061124d8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b949350505050565b606060008260088151811061126c5761126c611c39565b0160200151835160f89190911c9150611286826009611e2d565b60ff16146112a4575050604080516020810190915260008152919050565b826009815181106112b7576112b7611c39565b016020015160f81c6113555760028160ff1610156112e5575050604080516020810190915260008152919050565b600083600a815181106112fa576112fa611c39565b016020015160f81c905061130f600283611e52565b60ff168114158061132d57508060201415801561132d575080601414155b1561134957505060408051602081019091526000815292915050565b61124d84600b83611753565b6000611362846008611825565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008216141561145a5783600b815181106113c1576113c1611c39565b60209101015160f81c601414158061143157506113ec600285516113e59190611c22565b8590611825565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b1561144d57505060408051602081019091526000815292915050565b61124d84600c6014611753565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156114f75783600185516114b39190611c22565b815181106114c3576114c3611c39565b60209101015160f81c6087146114ea57505060408051602081019091526000815292915050565b61124d84600b6014611753565b505050604080516020810190915260008152919050565b6000808061151c8585611825565b925061155161152b8686611834565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b915061155d858561184b565b90509250925092565b60008060006115758585611896565b905060ff81166115a757600085858151811061159357611593611c39565b016020015190935060f81c91506116dd9050565b836115b3826001611e2d565b60ff166115c09190611c0a565b855110156115d757600019600092509250506116dd565b60008160ff166002141561161c576116116115fd6115f6876001611c0a565b8890611825565b62ffff0060e882901c1660f89190911c1790565b61ffff1690506116d3565b8160ff16600414156116465761163961152b6115f6876001611c0a565b63ffffffff1690506116d3565b8160ff16600814156116d3576116c66116636115f6876001611c0a565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b60006116f1826009611c0a565b8351101561170257506000196111d0565b60008061171985611714866008611c0a565b611566565b909250905060001982141561173457600019925050506111d0565b80611740836009611c0a565b61174a9190611c0a565b95945050505050565b60608161176f5750604080516020810190915260008152610f94565b600061177b8385611c0a565b9050838111801561178d575080855110155b6117d95760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610247565b604051915082604083010160405282825283850182038460208701018481015b80821015611812578151838301526020820191506117f9565b505050509392505050565b60006111d082825b6000610f948383016020015190565b6000610f94611844836020611c0a565b8490611825565b600080600061185a8585611922565b909250905060001982141561187557600019925050506111d0565b80611881836025611c0a565b61188b9190611c0a565b61174a906004611c0a565b60008282815181106118aa576118aa611c39565b60209101015160f81c60ff14156118c3575060086111d0565b8282815181106118d5576118d5611c39565b60209101015160f81c60fe14156118ee575060046111d0565b82828151811061190057611900611c39565b60209101015160f81c60fd1415611919575060026111d0565b50600092915050565b600080611930836025611c0a565b845110156119455750600019905060006116dd565b60008061195786611714876024611c0a565b9097909650945050505050565b60006060828403121561197657600080fd5b50919050565b600080600080600060e0868803121561199457600080fd5b8535945060208601359350604086013567ffffffffffffffff808211156119ba57600080fd5b908701906080828a0312156119ce57600080fd5b909350606087013590808211156119e457600080fd5b506119f188828901611964565b925050611a018760808801611964565b90509295509295909350565b80356001600160e01b031981168114611a2557600080fd5b919050565b6000808335601e19843603018112611a4157600080fd5b830160208101925035905067ffffffffffffffff811115611a6157600080fd5b8036038313156116dd57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60a0815260006001600160e01b031980611ab287611a0d565b1660a0840152611ac56020870187611a2a565b608060c0860152611adb61012086018284611a70565b915050611aeb6040880188611a2a565b858303609f190160e0870152611b02838284611a70565b9250505081611b1360608901611a0d565b166101008501528381036020850152611b2c8687611a2a565b925060608252611b40606083018483611a70565b92505060208601356020820152611b5a6040870187611a2a565b8284036040840152611b6d848284611a70565b94505050505061124d60408301848051825260208082015190830152604090810151910152565b600060208284031215611ba657600080fd5b5051919050565b6000808335601e19843603018112611bc457600080fd5b83018035915067ffffffffffffffff821115611bdf57600080fd5b6020019150368190038213156116dd57600080fd5b634e487b7160e01b600052601160045260246000fd5b60008219821115611c1d57611c1d611bf4565b500190565b600082821015611c3457611c34611bf4565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611c6357611c63611bf4565b5060010190565b604080825283519082018190526000906020906060840190828701845b82811015611cac5781516001600160a01b031684529284019290840190600101611c87565b5050508381038285015284518082528583019183019060005b81811015611ce157835183529284019291840191600101611cc5565b5090979650505050505050565b634e487b7160e01b600052602160045260246000fd5b803563ffffffff81168114611a2557600080fd5b600060208284031215611d2a57600080fd5b610f9482611d04565b803567ffffffffffffffff81168114611a2557600080fd5b600060208284031215611d5d57600080fd5b610f9482611d33565b634e487b7160e01b600052604160045260246000fd5b600060608284031215611d8e57600080fd5b6040516060810181811067ffffffffffffffff82111715611dbf57634e487b7160e01b600052604160045260246000fd5b60405282358152611dd260208401611d04565b6020820152611de360408401611d33565b60408201529392505050565b634e487b7160e01b600052601260045260246000fd5b600082611e1457611e14611def565b500690565b600082611e2857611e28611def565b500490565b600060ff821660ff84168060ff03821115611e4a57611e4a611bf4565b019392505050565b600060ff821660ff841680821015611e6c57611e6c611bf4565b9003939250505056fea2646970667358221220426b4928c7997b238723ab7aa55161568174eb35533266f397a4d6535cb6b31064736f6c63430008090033",
28
28
  "linkReferences": {
29
29
  "contracts/bridge/BitcoinTx.sol": {
30
30
  "BitcoinTx": [
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/a040597365d9af2d676169853eb58709.json"
3
+ "buildInfo": "../../../build-info/646d6b0bd949de0abe43fa6ca8aca817.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/a040597365d9af2d676169853eb58709.json"
3
+ "buildInfo": "../../../build-info/646d6b0bd949de0abe43fa6ca8aca817.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/a040597365d9af2d676169853eb58709.json"
3
+ "buildInfo": "../../../build-info/646d6b0bd949de0abe43fa6ca8aca817.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/a040597365d9af2d676169853eb58709.json"
3
+ "buildInfo": "../../../build-info/646d6b0bd949de0abe43fa6ca8aca817.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/a040597365d9af2d676169853eb58709.json"
3
+ "buildInfo": "../../../build-info/646d6b0bd949de0abe43fa6ca8aca817.json"
4
4
  }