@keep-network/tbtc-v2 0.1.1-dev.40 → 0.1.1-dev.43

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 (49) 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/{f1a50b67569d88ee54efa3e22c6b484e.json → f2c15d3cf1bd9566483f595c5ed30ccc.json} +25 -25
  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/BitcoinTx.sol/BitcoinTx.json +2 -2
  9. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  10. package/build/contracts/bridge/Bridge.sol/Bridge.json +191 -331
  11. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  12. package/build/contracts/bridge/BridgeState.sol/BridgeState.json +35 -3
  13. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  14. package/build/contracts/bridge/Deposit.sol/Deposit.json +2 -2
  15. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  16. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.json +2 -2
  17. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +4 -0
  18. package/build/contracts/bridge/Fraud.sol/Fraud.json +86 -0
  19. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  20. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
  21. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +4 -22
  22. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +4 -0
  23. package/build/contracts/bridge/{Redeem.sol → Redemption.sol}/OutboundTx.json +3 -3
  24. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +4 -0
  25. package/build/contracts/bridge/Redemption.sol/Redemption.json +92 -0
  26. package/build/contracts/bridge/Sweep.sol/Sweep.dbg.json +1 -1
  27. package/build/contracts/bridge/Sweep.sol/Sweep.json +2 -2
  28. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  29. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  30. package/build/contracts/bridge/Wallets.sol/Wallets.json +2 -47
  31. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  32. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  33. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  34. package/contracts/bridge/BitcoinTx.sol +19 -26
  35. package/contracts/bridge/Bridge.sol +476 -534
  36. package/contracts/bridge/BridgeState.sol +190 -129
  37. package/contracts/bridge/Deposit.sol +23 -4
  38. package/contracts/bridge/EcdsaLib.sol +15 -0
  39. package/contracts/bridge/{Frauds.sol → Fraud.sol} +75 -146
  40. package/contracts/bridge/MovingFunds.sol +15 -9
  41. package/contracts/bridge/{Redeem.sol → Redemption.sol} +19 -17
  42. package/contracts/bridge/Sweep.sol +16 -9
  43. package/contracts/bridge/Wallets.sol +40 -121
  44. package/package.json +1 -1
  45. package/build/contracts/bridge/Frauds.sol/Frauds.dbg.json +0 -4
  46. package/build/contracts/bridge/Frauds.sol/Frauds.json +0 -138
  47. package/build/contracts/bridge/Redeem.sol/OutboundTx.dbg.json +0 -4
  48. package/build/contracts/bridge/Redeem.sol/Redeem.dbg.json +0 -4
  49. package/build/contracts/bridge/Redeem.sol/Redeem.json +0 -110
@@ -1,110 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "Redeem",
4
- "sourceName": "contracts/bridge/Redeem.sol",
5
- "abi": [
6
- {
7
- "anonymous": false,
8
- "inputs": [
9
- {
10
- "indexed": false,
11
- "internalType": "bytes20",
12
- "name": "walletPubKeyHash",
13
- "type": "bytes20"
14
- },
15
- {
16
- "indexed": false,
17
- "internalType": "bytes",
18
- "name": "redeemerOutputScript",
19
- "type": "bytes"
20
- },
21
- {
22
- "indexed": false,
23
- "internalType": "address",
24
- "name": "redeemer",
25
- "type": "address"
26
- },
27
- {
28
- "indexed": false,
29
- "internalType": "uint64",
30
- "name": "requestedAmount",
31
- "type": "uint64"
32
- },
33
- {
34
- "indexed": false,
35
- "internalType": "uint64",
36
- "name": "treasuryFee",
37
- "type": "uint64"
38
- },
39
- {
40
- "indexed": false,
41
- "internalType": "uint64",
42
- "name": "txMaxFee",
43
- "type": "uint64"
44
- }
45
- ],
46
- "name": "RedemptionRequested",
47
- "type": "event"
48
- },
49
- {
50
- "anonymous": false,
51
- "inputs": [
52
- {
53
- "indexed": false,
54
- "internalType": "bytes20",
55
- "name": "walletPubKeyHash",
56
- "type": "bytes20"
57
- },
58
- {
59
- "indexed": false,
60
- "internalType": "bytes",
61
- "name": "redeemerOutputScript",
62
- "type": "bytes"
63
- }
64
- ],
65
- "name": "RedemptionTimedOut",
66
- "type": "event"
67
- },
68
- {
69
- "anonymous": false,
70
- "inputs": [
71
- {
72
- "indexed": false,
73
- "internalType": "bytes20",
74
- "name": "walletPubKeyHash",
75
- "type": "bytes20"
76
- },
77
- {
78
- "indexed": false,
79
- "internalType": "bytes32",
80
- "name": "redemptionTxHash",
81
- "type": "bytes32"
82
- }
83
- ],
84
- "name": "RedemptionsCompleted",
85
- "type": "event"
86
- }
87
- ],
88
- "bytecode": "0x6139a161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80630b68d1d5146100505780636b905490146100725780637797c5dd14610092575b600080fd5b81801561005c57600080fd5b5061007061006b3660046132d3565b6100b2565b005b81801561007e57600080fd5b5061007061008d36600461335e565b610878565b81801561009e57600080fd5b506100706100ad3660046133c6565b610e10565b6bffffffffffffffffffffffff1985166000908152600287016020526040902060016002820154600160801b900460ff1660048111156100f4576100f4613467565b146101465760405162461bcd60e51b815260206004820152601c60248201527f57616c6c6574206d75737420626520696e204c6976652073746174650000000060448201526064015b60405180910390fd5b6001810154806101a25760405162461bcd60e51b815260206004820152602160248201527f4e6f206d61696e205554584f20666f722074686520676976656e2077616c6c656044820152601d60fa1b606482015260840161013d565b8086356101b56040890160208a0161347d565b6101c560608a0160408b016134a3565b6040516020016102029392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146102655760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f206461746100000000000000000000604482015260640161013d565b6000610297600060c01b8787604051602001610283939291906134be565b6040516020818303038152906040526111c7565b905060008151116103105760405162461bcd60e51b815260206004820152602e60248201527f52656465656d6572206f757470757420736372697074206d757374206265206160448201527f207374616e646172642074797065000000000000000000000000000000000000606482015260840161013d565b80805190602001208860405160200161033e91906bffffffffffffffffffffffff1991909116815260140190565b6040516020818303038152906040528051906020012014156103c85760405162461bcd60e51b815260206004820152603760248201527f52656465656d6572206f757470757420736372697074206d757374206e6f742060448201527f706f696e7420746f207468652077616c6c657420504b48000000000000000000606482015260840161013d565b60078a015467ffffffffffffffff68010000000000000000909104811690851610156104365760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20616d6f756e7420746f6f20736d616c6c0000000000604482015260640161013d565b600088878760405160200161044d939291906134e2565b60408051808303601f190181529181528151602092830120600081815260098f01909352912060010154909150600160801b900463ffffffff16156105205760405162461bcd60e51b815260206004820152604a60248201527f546865726520697320612070656e64696e6720726564656d7074696f6e20726560448201527f71756573742066726f6d20746869732077616c6c657420746f2074686520736160648201527f6d65206164647265737300000000000000000000000000000000000000000000608482015260a40161013d565b60078b0154600090600160801b900467ffffffffffffffff16610544576000610564565b60078c015461056490600160801b900467ffffffffffffffff1687613537565b60078d01549091507801000000000000000000000000000000000000000000000000900467ffffffffffffffff1661059c828861355e565b6002870180546000906105ba90849067ffffffffffffffff16613587565b82546101009290920a67ffffffffffffffff81810219909316918316021790915560028801541690506105f360608c0160408d016134a3565b67ffffffffffffffff16101561064b5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742077616c6c65742066756e647300000000000000604482015260640161013d565b6040518060a00160405280336001600160a01b031681526020018867ffffffffffffffff1681526020018367ffffffffffffffff1681526020018267ffffffffffffffff1681526020014263ffffffff168152508d600901600085815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060408201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201518160010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060808201518160010160106101000a81548163ffffffff021916908363ffffffff1602179055509050507f97a0199072f487232635d50ab75860891afe0b91c976ed2fc76502c4d82d0d958b8a8a338b87876040516107d397969594939291906135dc565b60405180910390a160018d01546040517f7c6db49c00000000000000000000000000000000000000000000000000000000815233600482015230602482015267ffffffffffffffff891660448201526001600160a01b0390911690637c6db49c90606401600060405180830381600087803b15801561085157600080fd5b505af1158015610865573d6000803e3d6000fd5b5050505050505050505050505050505050565b600083838360405160200161088f939291906134e2565b60408051808303601f190181528282528051602091820120600081815260098b01835283902060a08501845280546001600160a01b0381168652600160a01b900467ffffffffffffffff9081169386019390935260010154808316938501939093526801000000000000000083049091166060840152600160801b90910463ffffffff16608083018190529092506109735760405162461bcd60e51b815260206004820152602160248201527f526564656d7074696f6e207265717565737420646f6573206e6f7420657869736044820152601d60fa1b606482015260840161013d565b428760080154826080015163ffffffff1661098e9190613640565b10610a005760405162461bcd60e51b8152602060048201526024808201527f526564656d7074696f6e207265717565737420686173206e6f742074696d656460448201527f206f757400000000000000000000000000000000000000000000000000000000606482015260840161013d565b6bffffffffffffffffffffffff19851660009081526002870160209081526040918290209183015190830151610a36919061355e565b600282018054600090610a5490849067ffffffffffffffff1661355e565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060016004811115610a8d57610a8d613467565b6002820154600160801b900460ff166004811115610aad57610aad613467565b1480610ad75750600280820154600160801b900460ff166004811115610ad557610ad5613467565b145b80610b01575060046002820154600160801b900460ff166004811115610aff57610aff613467565b145b610b735760405162461bcd60e51b815260206004820152603b60248201527f5468652077616c6c6574206d75737420626520696e204c6976652c204d6f766960448201527f6e6746756e6473206f72205465726d696e617465642073746174650000000000606482015260840161013d565b6000838152600a89016020908152604080832085518154878501516001600160a01b039092166001600160e01b031991821617600160a01b67ffffffffffffffff93841602178355878401516001938401805460608b015160808c01519386167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117680100000000000000009190951602939093177fffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffff16600160801b63ffffffff909216919091021790915560098d019093529220805490911681558101805473ffffffffffffffffffffffffffffffffffffffff191690556002820154600160801b900460ff166004811115610c9257610c92613467565b1480610cbc5750600280820154600160801b900460ff166004811115610cba57610cba613467565b145b15610d53576040517f65951fcf000000000000000000000000000000000000000000000000000000008152600481018890526bffffffffffffffffffffffff198716602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__906365951fcf9060440160006040518083038186803b158015610d3a57600080fd5b505af4158015610d4e573d6000803e3d6000fd5b505050505b7f013dddc8debc4730cd01232fdcea9ae6013689837732356c187fe5edb9a8a8d5868686604051610d8693929190613658565b60405180910390a16001880154825160208401516040516356a6d9ef60e01b81526001600160a01b03928316600482015267ffffffffffffffff90911660248201529116906356a6d9ef90604401600060405180830381600087803b158015610dee57600080fd5b505af1158015610e02573d6000803e3d6000fd5b505050505050505050505050565b6000610e258585610e208a61146d565b6115b4565b9050610e778787610e396020890189613681565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508992508891506118a59050565b6bffffffffffffffffffffffff19821660009081526002878101602052604090912090810154600160801b900460ff166001816004811115610ebb57610ebb613467565b1480610ed857506002816004811115610ed657610ed6613467565b145b610f4a5760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e6473207374617465000000000000000000000000000000000000000000606482015260840161013d565b6000610f998a610f5d60408b018b613681565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611b05915050565b606081015190915067ffffffffffffffff161561101a578381604001518260600151604051602001610ff89392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60408051601f1981840301815291905280516020909101206001840155611022565b600060018401555b805160028401805460009061104290849067ffffffffffffffff1661355e565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507fa45596c10f758d32ec8cca64a0fbfe776052b08fdb3f026e0a87f52118bf8fbe85856040516110b39291906bffffffffffffffffffffffff19929092168252602082015260400190565b60405180910390a160018a015481516040517f392aee4300000000000000000000000000000000000000000000000000000000815267ffffffffffffffff90911660048201526001600160a01b039091169063392aee4390602401600060405180830381600087803b15801561112857600080fd5b505af115801561113c573d6000803e3d6000fd5b5050505060018a015460038b015460208301516040516356a6d9ef60e01b81526001600160a01b03928316600482015267ffffffffffffffff90911660248201529116906356a6d9ef90604401600060405180830381600087803b1580156111a357600080fd5b505af11580156111b7573d6000803e3d6000fd5b5050505050505050505050505050565b60606000826008815181106111de576111de6136c8565b0160200151835160f89190911c91506111f88260096136de565b60ff1614611216575050604080516020810190915260008152919050565b82600981518110611229576112296136c8565b016020015160f81c6112cf5760028160ff161015611257575050604080516020810190915260008152919050565b600083600a8151811061126c5761126c6136c8565b016020015160f81c9050611281600283613703565b60ff168114158061129f57508060201415801561129f575080601414155b156112bb57505060408051602081019091526000815292915050565b6112c784600b83611c46565b949350505050565b60006112dc846008611d10565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156113b95783600b8151811061133b5761133b6136c8565b60209101015160f81c601414158061139057506113666002855161135f9190613726565b8590611d10565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191661222b60f21b14155b156113ac57505060408051602081019091526000815292915050565b6112c784600c6014611c46565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156114565783600185516114129190613726565b81518110611422576114226136c8565b60209101015160f81c60871461144957505060408051602081019091526000815292915050565b6112c784600b6014611c46565b505050604080516020810190915260008152919050565b61149160405180606001604052806000815260200160008152602001600081525090565b6002820154604080517f113764be00000000000000000000000000000000000000000000000000000000815290516001600160a01b0390921691829163113764be916004808301926020929190829003018186803b1580156114f257600080fd5b505afa158015611506573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152a919061373d565b826000018181525050806001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b15801561156c57600080fd5b505afa158015611580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a4919061373d565b6020830152509054604082015290565b60006116006115c66020860186613681565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d2892505050565b61164c5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420696e70757420766563746f722070726f7669646564000000604482015260640161013d565b61169661165c6040860186613681565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611dd892505050565b6116e25760405162461bcd60e51b815260206004820152601e60248201527f496e76616c6964206f757470757420766563746f722070726f76696465640000604482015260640161013d565b6117456116f26020860186613756565b6116ff6020870187613681565b61170c6040890189613681565b61171c60808b0160608c01613756565b60405160200161173196959493929190613780565b604051602081830303815290604052611e7b565b90506117e061179461175a6040860186613681565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ea292505050565b61179e8580613681565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869493925050506020870135611eaf565b6118525760405162461bcd60e51b815260206004820152603c60248201527f5478206d65726b6c652070726f6f66206973206e6f742076616c696420666f7260448201527f2070726f76696465642068656164657220616e64207478206861736800000000606482015260840161013d565b61189e6118626040850185613681565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869250611eeb915050565b9392505050565b6bffffffffffffffffffffffff1981166000908152600285016020526040902060010154806119165760405162461bcd60e51b815260206004820152601d60248201527f4e6f206d61696e205554584f20666f7220676976656e2077616c6c6574000000604482015260640161013d565b808335611929604086016020870161347d565b61193960608701604088016134a3565b6040516020016119769392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146119d95760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f206461746100000000000000000000604482015260640161013d565b6000806119e58661214e565b9092509050843582148015611a14575063ffffffff8116611a0c604087016020880161347d565b63ffffffff16145b611a865760405162461bcd60e51b815260206004820152603f60248201527f4f7574626f756e64207472616e73616374696f6e20696e707574206d7573742060448201527f706f696e7420746f207468652077616c6c65742773206d61696e205554584f00606482015260840161013d565b6001600b890160008735611aa060408a0160208b0161347d565b604051602001611ac792919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff19169115159190911790555050505050505050565b60408051608081018252600080825260208201819052918101829052606081018290529080611b3385612229565b90925090506000611b45836001613640565b6040517f1976a9140000000000000000000000000000000000000000000000000000000060208201526bffffffffffffffffffffffff198716602482015261222b60f21b6038820152909150600090603a0160408051601f198184030181529082905280516020918201207f1600140000000000000000000000000000000000000000000000000000000000918301919091526bffffffffffffffffffffffff19881660238301529150600090603701604051602081830303815290604052805190602001209050611c39898989604051806080016040528088815260200189815260200187815260200186815250612240565b9998505050505050505050565b606081611c62575060408051602081019091526000815261189e565b6000611c6e8385613640565b90508381118015611c80575080855110155b611ccc5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e647300000000000000000000000000604482015260640161013d565b604051915082604083010160405282825283850182038460208701018481015b80821015611d0557815183830152602082019150611cec565b505050509392505050565b6000611d1f8383016020015190565b90505b92915050565b6000806000611d3684612229565b9092509050801580611d49575060001982145b15611d58575060009392505050565b6000611d65836001613640565b905060005b82811015611dcb5785518210611d865750600095945050505050565b6000611d92878461244b565b9050600019811415611dab575060009695505050505050565b611db58184613640565b9250508080611dc3906137c2565b915050611d6a565b5093519093149392505050565b6000806000611de684612229565b9092509050801580611df9575060001982145b15611e08575060009392505050565b6000611e15836001613640565b905060005b82811015611dcb5785518210611e365750600095945050505050565b6000611e428784612496565b9050600019811415611e5b575060009695505050505050565b611e658184613640565b9250508080611e73906137c2565b915050611e1a565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b6044810151600090611d22565b60008385148015611ebe575081155b8015611ec957508251155b15611ed6575060016112c7565b611ee2858486856124fc565b95945050505050565b600080611eff611efa856125a4565b612639565b8351909150811415611f145782519150611f9a565b8260200151811415611f2c5782602001519150611f9a565b60405162461bcd60e51b815260206004820152602560248201527f4e6f742061742063757272656e74206f722070726576696f757320646966666960448201527f63756c7479000000000000000000000000000000000000000000000000000000606482015260840161013d565b6000611fa585612661565b905060001981141561201f5760405162461bcd60e51b815260206004820152602360248201527f496e76616c6964206c656e677468206f6620746865206865616465727320636860448201527f61696e0000000000000000000000000000000000000000000000000000000000606482015260840161013d565b6001198114156120715760405162461bcd60e51b815260206004820152601560248201527f496e76616c6964206865616465727320636861696e0000000000000000000000604482015260640161013d565b6002198114156120c35760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420776f726b20696e206120686561646572000000604482015260640161013d565b60408401516120d290846137dd565b8110156121475760405162461bcd60e51b815260206004820152603360248201527f496e73756666696369656e7420616363756d756c61746564206469666669637560448201527f6c747920696e2068656164657220636861696e00000000000000000000000000606482015260840161013d565b5050505050565b600080600061215c84612229565b915050806001146121d55760405162461bcd60e51b815260206004820152602d60248201527f4f7574626f756e64207472616e73616374696f6e206d7573742068617665206160448201527f2073696e676c6520696e70757400000000000000000000000000000000000000606482015260840161013d565b60006121e18582612868565b90506121ec81612a4e565b93506122206121fa82612a5b565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b92505050915091565b600080612237836000612a68565b91509150915091565b604080516080810182526000808252602082018190529181018290526060810182905290805b83602001518110156123cb578351600090612282908890612496565b855190915060009061229690899084611c46565b905060006122a382612be6565b905060006122c160088085516122b99190613726565b859190611c46565b9050866060015167ffffffffffffffff1660001480156122fd575060408801518151602083012014806122fd5750606088015181516020830120145b8015612313575060008267ffffffffffffffff16115b156123395763ffffffff8516604088015267ffffffffffffffff8216606088015261239c565b6000806123488d8c8587612c5d565b91509150818960000181815161235e9190613587565b67ffffffffffffffff1690525060208901805182919061237f908390613587565b67ffffffffffffffff1690525087612396816137c2565b98505050505b83886000018181516123ae9190613640565b9052508493506123c392508391506137c29050565b915050612266565b50600081116124425760405162461bcd60e51b815260206004820152603b60248201527f526564656d7074696f6e207472616e73616374696f6e206d7573742070726f6360448201527f657373206174206c65617374206f6e6520726564656d7074696f6e0000000000606482015260840161013d565b50949350505050565b600080600061245a8585612fec565b90925090506000198214156124755760001992505050611d22565b80612481836025613640565b61248b9190613640565b611ee2906004613640565b60006124a3826009613640565b835110156124b45750600019611d22565b6000806124cb856124c6866008613640565b612a68565b90925090506000198214156124e65760001992505050611d22565b806124f2836009613640565b611ee29190613640565b60006020845161250c91906137fc565b15612519575060006112c7565b8351612527575060006112c7565b818560005b8651811015612597576125406002846137fc565b600114156125655761255e6125588883016020015190565b8361302e565b915061257e565b61257b826125768984016020015190565b61302e565b91505b60019290921c91612590602082613640565b905061252c565b5090931495945050505050565b6000806125b2836048611d10565b60e81c9050600083604b815181106125cc576125cc6136c8565b016020015160f81c9050600061260083600060108262ffffff16901c8261ff001660108462ffffff16901b17179050919050565b62ffffff1690506000612614600384613703565b60ff169050612625816101006138f4565b61262f90836137dd565b9695505050505050565b6000611d227bffff00000000000000000000000000000000000000000000000000008361303a565b60006050825161267191906137fc565b1561267f5750600019919050565b506040805160808101909152605081526000908190815b8451811015612860576126aa858383613046565b80156126ca576126ba82846130e5565b6126ca5750600119949350505050565b60006126d5836125a4565b90506126e083611e7b565b9350806128248560008190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b600882901c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff161790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b601082901c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff161790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b602082901c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1617905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b604082901c77ffffffffffffffff0000000000000000ffffffffffffffff16179050608081901b608082901c179050919050565b1115612837575060021995945050505050565b61284a61284382612639565b869061310e565b94506128599050605082613640565b9050612696565b505050919050565b606060008061287685612229565b90925090506000198214156128f35760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e67000000000000000000000000000000000000000000000000000000000000606482015260840161013d565b8084106129425760405162461bcd60e51b815260206004820152601060248201527f56696e2072656164206f76657272756e00000000000000000000000000000000604482015260640161013d565b600080612950846001613640565b905060005b868110156129d957612967888361244b565b92506000198314156129bb5760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e20736372697074536967000000000000000000604482015260640161013d565b6129c58383613640565b9150806129d1816137c2565b915050612955565b506129e4878261244b565b9150600019821415612a385760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e20736372697074536967000000000000000000604482015260640161013d565b612a43878284611c46565b979650505050505050565b6020810151600090611d22565b6000611d22826020611d10565b6000806000612a77858561316c565b905060ff8116612aa9576000858581518110612a9557612a956136c8565b016020015190935060f81c9150612bdf9050565b83612ab58260016136de565b60ff16612ac29190613640565b85511015612ad95760001960009250925050612bdf565b60008160ff1660021415612b1e57612b13612aff612af8876001613640565b8890611d10565b62ffff0060e882901c1660f89190911c1790565b61ffff169050612bd5565b8160ff1660041415612b4857612b3b6121fa612af8876001613640565b63ffffffff169050612bd5565b8160ff1660081415612bd557612bc8612b65612af8876001613640565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b600080612bf2836131f8565b60c01c905060006112c78264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b60008060008585604051602001612c75929190613900565b60408051808303601f190181529181528151602092830120600081815260098b01909352912060010154909150600160801b900463ffffffff1615612e32576000818152600988016020526040812060018101548154919291612cec9167ffffffffffffffff90811691600160a01b90041661355e565b600183015490915067ffffffffffffffff80881691612d199168010000000000000000909104168361355e565b67ffffffffffffffff1611158015612d4557508067ffffffffffffffff168667ffffffffffffffff1611155b612ddd5760405162461bcd60e51b815260206004820152604660248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652070656e64696e67207260648201527f6571756573740000000000000000000000000000000000000000000000000000608482015260a40161013d565b600191820154600084815260098b016020526040902080546001600160e01b0319168155909201805473ffffffffffffffffffffffffffffffffffffffff19169055935067ffffffffffffffff169150612fe2565b6000818152600a8801602052604090206001810154600160801b900463ffffffff16612ec55760405162461bcd60e51b8152602060048201526024808201527f4f75747075742069732061206e6f6e2d72657175657374656420726564656d7060448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015260840161013d565b60018101548154600091612eee9167ffffffffffffffff91821691600160a01b9091041661355e565b600183015490915067ffffffffffffffff80881691612f1b9168010000000000000000909104168361355e565b67ffffffffffffffff1611158015612f4757508067ffffffffffffffff168667ffffffffffffffff1611155b612fdf5760405162461bcd60e51b815260206004820152604860248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652074696d6564206f757460648201527f2072657175657374000000000000000000000000000000000000000000000000608482015260a40161013d565b50505b5094509492505050565b600080612ffa836025613640565b8451101561300f575060001990506000612bdf565b600080613021866124c6876024613640565b9097909650945050505050565b6000611d1f8383613204565b6000611d1f8284613957565b815160006130548284613640565b90508281118015613066575080855110155b6130b25760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e647300000000000000000000000000604482015260640161013d565b826020860101602085018382015b808310156130db5782518252602092830192909101906130c0565b5050505050505050565b6000806130f184613232565b9050828114613104576000915050611d22565b5060019392505050565b600061311a8284613640565b905082811015611d225760405162461bcd60e51b815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015260640161013d565b6000828281518110613180576131806136c8565b60209101015160f81c60ff141561319957506008611d22565b8282815181106131ab576131ab6136c8565b60209101015160f81c60fe14156131c457506004611d22565b8282815181106131d6576131d66136c8565b60209101015160f81c60fd14156131ef57506002611d22565b50600092915050565b6000611d228282611d10565b60008260005281602052602060006040600060025afa50602060006020600060025afa505060005192915050565b6024810151600090611d22565b80356bffffffffffffffffffffffff198116811461325c57600080fd5b919050565b60006060828403121561327357600080fd5b50919050565b60008083601f84011261328b57600080fd5b50813567ffffffffffffffff8111156132a357600080fd5b602083019150836020828501011115612bdf57600080fd5b803567ffffffffffffffff8116811461325c57600080fd5b6000806000806000806000610100888a0312156132ef57600080fd5b87359650602088013595506133066040890161323f565b94506133158960608a01613261565b935060c088013567ffffffffffffffff81111561333157600080fd5b61333d8a828b01613279565b9094509250613350905060e089016132bb565b905092959891949750929550565b60008060008060006080868803121561337657600080fd5b853594506020860135935061338d6040870161323f565b9250606086013567ffffffffffffffff8111156133a957600080fd5b6133b588828901613279565b969995985093965092949392505050565b60008060008060008061010087890312156133e057600080fd5b8635955060208701359450604087013567ffffffffffffffff8082111561340657600080fd5b908801906080828b03121561341a57600080fd5b9094506060880135908082111561343057600080fd5b5061343d89828a01613261565b93505061344d8860808901613261565b915061345b60e0880161323f565b90509295509295509295565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561348f57600080fd5b813563ffffffff8116811461189e57600080fd5b6000602082840312156134b557600080fd5b611d1f826132bb565b6001600160c01b031984168152818360088301376000910160080190815292915050565b6bffffffffffffffffffffffff1984168152818360148301376000910160140190815292915050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff808416806135525761355261350b565b92169190910492915050565b600067ffffffffffffffff8381169083168181101561357f5761357f613521565b039392505050565b600067ffffffffffffffff8083168185168083038211156135aa576135aa613521565b01949350505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6bffffffffffffffffffffffff198816815260c06020820152600061360560c08301888a6135b3565b6001600160a01b039690961660408301525067ffffffffffffffff9384166060820152918316608083015290911660a0909101529392505050565b6000821982111561365357613653613521565b500190565b6bffffffffffffffffffffffff1984168152604060208201526000611ee26040830184866135b3565b6000808335601e1984360301811261369857600080fd5b83018035915067ffffffffffffffff8211156136b357600080fd5b602001915036819003821315612bdf57600080fd5b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff84168060ff038211156136fb576136fb613521565b019392505050565b600060ff821660ff84168082101561371d5761371d613521565b90039392505050565b60008282101561373857613738613521565b500390565b60006020828403121561374f57600080fd5b5051919050565b60006020828403121561376857600080fd5b81356001600160e01b03198116811461189e57600080fd5b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b60006000198214156137d6576137d6613521565b5060010190565b60008160001904831182151516156137f7576137f7613521565b500290565b60008261380b5761380b61350b565b500690565b600181815b8085111561384b57816000190482111561383157613831613521565b8085161561383e57918102915b93841c9390800290613815565b509250929050565b60008261386257506001611d22565b8161386f57506000611d22565b8160018114613885576002811461388f576138ab565b6001915050611d22565b60ff8411156138a0576138a0613521565b50506001821b611d22565b5060208310610133831016604e8410600b84101617156138ce575081810a611d22565b6138d88383613810565b80600019048211156138ec576138ec613521565b029392505050565b6000611d1f8383613853565b6bffffffffffffffffffffffff19831681526000825160005b818110156139365760208186018101516014868401015201613919565b81811115613948576000601483860101525b50919091016014019392505050565b6000826139665761396661350b565b50049056fea26469706673582212200056289fd6ca9441f321685e53d01ba3bcca44e0b06a17ab5465dfef929b7a2364736f6c63430008090033",
89
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80630b68d1d5146100505780636b905490146100725780637797c5dd14610092575b600080fd5b81801561005c57600080fd5b5061007061006b3660046132d3565b6100b2565b005b81801561007e57600080fd5b5061007061008d36600461335e565b610878565b81801561009e57600080fd5b506100706100ad3660046133c6565b610e10565b6bffffffffffffffffffffffff1985166000908152600287016020526040902060016002820154600160801b900460ff1660048111156100f4576100f4613467565b146101465760405162461bcd60e51b815260206004820152601c60248201527f57616c6c6574206d75737420626520696e204c6976652073746174650000000060448201526064015b60405180910390fd5b6001810154806101a25760405162461bcd60e51b815260206004820152602160248201527f4e6f206d61696e205554584f20666f722074686520676976656e2077616c6c656044820152601d60fa1b606482015260840161013d565b8086356101b56040890160208a0161347d565b6101c560608a0160408b016134a3565b6040516020016102029392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146102655760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f206461746100000000000000000000604482015260640161013d565b6000610297600060c01b8787604051602001610283939291906134be565b6040516020818303038152906040526111c7565b905060008151116103105760405162461bcd60e51b815260206004820152602e60248201527f52656465656d6572206f757470757420736372697074206d757374206265206160448201527f207374616e646172642074797065000000000000000000000000000000000000606482015260840161013d565b80805190602001208860405160200161033e91906bffffffffffffffffffffffff1991909116815260140190565b6040516020818303038152906040528051906020012014156103c85760405162461bcd60e51b815260206004820152603760248201527f52656465656d6572206f757470757420736372697074206d757374206e6f742060448201527f706f696e7420746f207468652077616c6c657420504b48000000000000000000606482015260840161013d565b60078a015467ffffffffffffffff68010000000000000000909104811690851610156104365760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20616d6f756e7420746f6f20736d616c6c0000000000604482015260640161013d565b600088878760405160200161044d939291906134e2565b60408051808303601f190181529181528151602092830120600081815260098f01909352912060010154909150600160801b900463ffffffff16156105205760405162461bcd60e51b815260206004820152604a60248201527f546865726520697320612070656e64696e6720726564656d7074696f6e20726560448201527f71756573742066726f6d20746869732077616c6c657420746f2074686520736160648201527f6d65206164647265737300000000000000000000000000000000000000000000608482015260a40161013d565b60078b0154600090600160801b900467ffffffffffffffff16610544576000610564565b60078c015461056490600160801b900467ffffffffffffffff1687613537565b60078d01549091507801000000000000000000000000000000000000000000000000900467ffffffffffffffff1661059c828861355e565b6002870180546000906105ba90849067ffffffffffffffff16613587565b82546101009290920a67ffffffffffffffff81810219909316918316021790915560028801541690506105f360608c0160408d016134a3565b67ffffffffffffffff16101561064b5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742077616c6c65742066756e647300000000000000604482015260640161013d565b6040518060a00160405280336001600160a01b031681526020018867ffffffffffffffff1681526020018367ffffffffffffffff1681526020018267ffffffffffffffff1681526020014263ffffffff168152508d600901600085815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060408201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201518160010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060808201518160010160106101000a81548163ffffffff021916908363ffffffff1602179055509050507f97a0199072f487232635d50ab75860891afe0b91c976ed2fc76502c4d82d0d958b8a8a338b87876040516107d397969594939291906135dc565b60405180910390a160018d01546040517f7c6db49c00000000000000000000000000000000000000000000000000000000815233600482015230602482015267ffffffffffffffff891660448201526001600160a01b0390911690637c6db49c90606401600060405180830381600087803b15801561085157600080fd5b505af1158015610865573d6000803e3d6000fd5b5050505050505050505050505050505050565b600083838360405160200161088f939291906134e2565b60408051808303601f190181528282528051602091820120600081815260098b01835283902060a08501845280546001600160a01b0381168652600160a01b900467ffffffffffffffff9081169386019390935260010154808316938501939093526801000000000000000083049091166060840152600160801b90910463ffffffff16608083018190529092506109735760405162461bcd60e51b815260206004820152602160248201527f526564656d7074696f6e207265717565737420646f6573206e6f7420657869736044820152601d60fa1b606482015260840161013d565b428760080154826080015163ffffffff1661098e9190613640565b10610a005760405162461bcd60e51b8152602060048201526024808201527f526564656d7074696f6e207265717565737420686173206e6f742074696d656460448201527f206f757400000000000000000000000000000000000000000000000000000000606482015260840161013d565b6bffffffffffffffffffffffff19851660009081526002870160209081526040918290209183015190830151610a36919061355e565b600282018054600090610a5490849067ffffffffffffffff1661355e565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060016004811115610a8d57610a8d613467565b6002820154600160801b900460ff166004811115610aad57610aad613467565b1480610ad75750600280820154600160801b900460ff166004811115610ad557610ad5613467565b145b80610b01575060046002820154600160801b900460ff166004811115610aff57610aff613467565b145b610b735760405162461bcd60e51b815260206004820152603b60248201527f5468652077616c6c6574206d75737420626520696e204c6976652c204d6f766960448201527f6e6746756e6473206f72205465726d696e617465642073746174650000000000606482015260840161013d565b6000838152600a89016020908152604080832085518154878501516001600160a01b039092166001600160e01b031991821617600160a01b67ffffffffffffffff93841602178355878401516001938401805460608b015160808c01519386167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117680100000000000000009190951602939093177fffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffff16600160801b63ffffffff909216919091021790915560098d019093529220805490911681558101805473ffffffffffffffffffffffffffffffffffffffff191690556002820154600160801b900460ff166004811115610c9257610c92613467565b1480610cbc5750600280820154600160801b900460ff166004811115610cba57610cba613467565b145b15610d53576040517f65951fcf000000000000000000000000000000000000000000000000000000008152600481018890526bffffffffffffffffffffffff198716602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__906365951fcf9060440160006040518083038186803b158015610d3a57600080fd5b505af4158015610d4e573d6000803e3d6000fd5b505050505b7f013dddc8debc4730cd01232fdcea9ae6013689837732356c187fe5edb9a8a8d5868686604051610d8693929190613658565b60405180910390a16001880154825160208401516040516356a6d9ef60e01b81526001600160a01b03928316600482015267ffffffffffffffff90911660248201529116906356a6d9ef90604401600060405180830381600087803b158015610dee57600080fd5b505af1158015610e02573d6000803e3d6000fd5b505050505050505050505050565b6000610e258585610e208a61146d565b6115b4565b9050610e778787610e396020890189613681565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508992508891506118a59050565b6bffffffffffffffffffffffff19821660009081526002878101602052604090912090810154600160801b900460ff166001816004811115610ebb57610ebb613467565b1480610ed857506002816004811115610ed657610ed6613467565b145b610f4a5760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e6473207374617465000000000000000000000000000000000000000000606482015260840161013d565b6000610f998a610f5d60408b018b613681565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611b05915050565b606081015190915067ffffffffffffffff161561101a578381604001518260600151604051602001610ff89392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60408051601f1981840301815291905280516020909101206001840155611022565b600060018401555b805160028401805460009061104290849067ffffffffffffffff1661355e565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507fa45596c10f758d32ec8cca64a0fbfe776052b08fdb3f026e0a87f52118bf8fbe85856040516110b39291906bffffffffffffffffffffffff19929092168252602082015260400190565b60405180910390a160018a015481516040517f392aee4300000000000000000000000000000000000000000000000000000000815267ffffffffffffffff90911660048201526001600160a01b039091169063392aee4390602401600060405180830381600087803b15801561112857600080fd5b505af115801561113c573d6000803e3d6000fd5b5050505060018a015460038b015460208301516040516356a6d9ef60e01b81526001600160a01b03928316600482015267ffffffffffffffff90911660248201529116906356a6d9ef90604401600060405180830381600087803b1580156111a357600080fd5b505af11580156111b7573d6000803e3d6000fd5b5050505050505050505050505050565b60606000826008815181106111de576111de6136c8565b0160200151835160f89190911c91506111f88260096136de565b60ff1614611216575050604080516020810190915260008152919050565b82600981518110611229576112296136c8565b016020015160f81c6112cf5760028160ff161015611257575050604080516020810190915260008152919050565b600083600a8151811061126c5761126c6136c8565b016020015160f81c9050611281600283613703565b60ff168114158061129f57508060201415801561129f575080601414155b156112bb57505060408051602081019091526000815292915050565b6112c784600b83611c46565b949350505050565b60006112dc846008611d10565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156113b95783600b8151811061133b5761133b6136c8565b60209101015160f81c601414158061139057506113666002855161135f9190613726565b8590611d10565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191661222b60f21b14155b156113ac57505060408051602081019091526000815292915050565b6112c784600c6014611c46565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156114565783600185516114129190613726565b81518110611422576114226136c8565b60209101015160f81c60871461144957505060408051602081019091526000815292915050565b6112c784600b6014611c46565b505050604080516020810190915260008152919050565b61149160405180606001604052806000815260200160008152602001600081525090565b6002820154604080517f113764be00000000000000000000000000000000000000000000000000000000815290516001600160a01b0390921691829163113764be916004808301926020929190829003018186803b1580156114f257600080fd5b505afa158015611506573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152a919061373d565b826000018181525050806001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b15801561156c57600080fd5b505afa158015611580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a4919061373d565b6020830152509054604082015290565b60006116006115c66020860186613681565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d2892505050565b61164c5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420696e70757420766563746f722070726f7669646564000000604482015260640161013d565b61169661165c6040860186613681565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611dd892505050565b6116e25760405162461bcd60e51b815260206004820152601e60248201527f496e76616c6964206f757470757420766563746f722070726f76696465640000604482015260640161013d565b6117456116f26020860186613756565b6116ff6020870187613681565b61170c6040890189613681565b61171c60808b0160608c01613756565b60405160200161173196959493929190613780565b604051602081830303815290604052611e7b565b90506117e061179461175a6040860186613681565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ea292505050565b61179e8580613681565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869493925050506020870135611eaf565b6118525760405162461bcd60e51b815260206004820152603c60248201527f5478206d65726b6c652070726f6f66206973206e6f742076616c696420666f7260448201527f2070726f76696465642068656164657220616e64207478206861736800000000606482015260840161013d565b61189e6118626040850185613681565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869250611eeb915050565b9392505050565b6bffffffffffffffffffffffff1981166000908152600285016020526040902060010154806119165760405162461bcd60e51b815260206004820152601d60248201527f4e6f206d61696e205554584f20666f7220676976656e2077616c6c6574000000604482015260640161013d565b808335611929604086016020870161347d565b61193960608701604088016134a3565b6040516020016119769392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146119d95760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f206461746100000000000000000000604482015260640161013d565b6000806119e58661214e565b9092509050843582148015611a14575063ffffffff8116611a0c604087016020880161347d565b63ffffffff16145b611a865760405162461bcd60e51b815260206004820152603f60248201527f4f7574626f756e64207472616e73616374696f6e20696e707574206d7573742060448201527f706f696e7420746f207468652077616c6c65742773206d61696e205554584f00606482015260840161013d565b6001600b890160008735611aa060408a0160208b0161347d565b604051602001611ac792919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff19169115159190911790555050505050505050565b60408051608081018252600080825260208201819052918101829052606081018290529080611b3385612229565b90925090506000611b45836001613640565b6040517f1976a9140000000000000000000000000000000000000000000000000000000060208201526bffffffffffffffffffffffff198716602482015261222b60f21b6038820152909150600090603a0160408051601f198184030181529082905280516020918201207f1600140000000000000000000000000000000000000000000000000000000000918301919091526bffffffffffffffffffffffff19881660238301529150600090603701604051602081830303815290604052805190602001209050611c39898989604051806080016040528088815260200189815260200187815260200186815250612240565b9998505050505050505050565b606081611c62575060408051602081019091526000815261189e565b6000611c6e8385613640565b90508381118015611c80575080855110155b611ccc5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e647300000000000000000000000000604482015260640161013d565b604051915082604083010160405282825283850182038460208701018481015b80821015611d0557815183830152602082019150611cec565b505050509392505050565b6000611d1f8383016020015190565b90505b92915050565b6000806000611d3684612229565b9092509050801580611d49575060001982145b15611d58575060009392505050565b6000611d65836001613640565b905060005b82811015611dcb5785518210611d865750600095945050505050565b6000611d92878461244b565b9050600019811415611dab575060009695505050505050565b611db58184613640565b9250508080611dc3906137c2565b915050611d6a565b5093519093149392505050565b6000806000611de684612229565b9092509050801580611df9575060001982145b15611e08575060009392505050565b6000611e15836001613640565b905060005b82811015611dcb5785518210611e365750600095945050505050565b6000611e428784612496565b9050600019811415611e5b575060009695505050505050565b611e658184613640565b9250508080611e73906137c2565b915050611e1a565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b6044810151600090611d22565b60008385148015611ebe575081155b8015611ec957508251155b15611ed6575060016112c7565b611ee2858486856124fc565b95945050505050565b600080611eff611efa856125a4565b612639565b8351909150811415611f145782519150611f9a565b8260200151811415611f2c5782602001519150611f9a565b60405162461bcd60e51b815260206004820152602560248201527f4e6f742061742063757272656e74206f722070726576696f757320646966666960448201527f63756c7479000000000000000000000000000000000000000000000000000000606482015260840161013d565b6000611fa585612661565b905060001981141561201f5760405162461bcd60e51b815260206004820152602360248201527f496e76616c6964206c656e677468206f6620746865206865616465727320636860448201527f61696e0000000000000000000000000000000000000000000000000000000000606482015260840161013d565b6001198114156120715760405162461bcd60e51b815260206004820152601560248201527f496e76616c6964206865616465727320636861696e0000000000000000000000604482015260640161013d565b6002198114156120c35760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420776f726b20696e206120686561646572000000604482015260640161013d565b60408401516120d290846137dd565b8110156121475760405162461bcd60e51b815260206004820152603360248201527f496e73756666696369656e7420616363756d756c61746564206469666669637560448201527f6c747920696e2068656164657220636861696e00000000000000000000000000606482015260840161013d565b5050505050565b600080600061215c84612229565b915050806001146121d55760405162461bcd60e51b815260206004820152602d60248201527f4f7574626f756e64207472616e73616374696f6e206d7573742068617665206160448201527f2073696e676c6520696e70757400000000000000000000000000000000000000606482015260840161013d565b60006121e18582612868565b90506121ec81612a4e565b93506122206121fa82612a5b565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b92505050915091565b600080612237836000612a68565b91509150915091565b604080516080810182526000808252602082018190529181018290526060810182905290805b83602001518110156123cb578351600090612282908890612496565b855190915060009061229690899084611c46565b905060006122a382612be6565b905060006122c160088085516122b99190613726565b859190611c46565b9050866060015167ffffffffffffffff1660001480156122fd575060408801518151602083012014806122fd5750606088015181516020830120145b8015612313575060008267ffffffffffffffff16115b156123395763ffffffff8516604088015267ffffffffffffffff8216606088015261239c565b6000806123488d8c8587612c5d565b91509150818960000181815161235e9190613587565b67ffffffffffffffff1690525060208901805182919061237f908390613587565b67ffffffffffffffff1690525087612396816137c2565b98505050505b83886000018181516123ae9190613640565b9052508493506123c392508391506137c29050565b915050612266565b50600081116124425760405162461bcd60e51b815260206004820152603b60248201527f526564656d7074696f6e207472616e73616374696f6e206d7573742070726f6360448201527f657373206174206c65617374206f6e6520726564656d7074696f6e0000000000606482015260840161013d565b50949350505050565b600080600061245a8585612fec565b90925090506000198214156124755760001992505050611d22565b80612481836025613640565b61248b9190613640565b611ee2906004613640565b60006124a3826009613640565b835110156124b45750600019611d22565b6000806124cb856124c6866008613640565b612a68565b90925090506000198214156124e65760001992505050611d22565b806124f2836009613640565b611ee29190613640565b60006020845161250c91906137fc565b15612519575060006112c7565b8351612527575060006112c7565b818560005b8651811015612597576125406002846137fc565b600114156125655761255e6125588883016020015190565b8361302e565b915061257e565b61257b826125768984016020015190565b61302e565b91505b60019290921c91612590602082613640565b905061252c565b5090931495945050505050565b6000806125b2836048611d10565b60e81c9050600083604b815181106125cc576125cc6136c8565b016020015160f81c9050600061260083600060108262ffffff16901c8261ff001660108462ffffff16901b17179050919050565b62ffffff1690506000612614600384613703565b60ff169050612625816101006138f4565b61262f90836137dd565b9695505050505050565b6000611d227bffff00000000000000000000000000000000000000000000000000008361303a565b60006050825161267191906137fc565b1561267f5750600019919050565b506040805160808101909152605081526000908190815b8451811015612860576126aa858383613046565b80156126ca576126ba82846130e5565b6126ca5750600119949350505050565b60006126d5836125a4565b90506126e083611e7b565b9350806128248560008190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b600882901c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff161790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b601082901c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff161790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b602082901c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1617905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b604082901c77ffffffffffffffff0000000000000000ffffffffffffffff16179050608081901b608082901c179050919050565b1115612837575060021995945050505050565b61284a61284382612639565b869061310e565b94506128599050605082613640565b9050612696565b505050919050565b606060008061287685612229565b90925090506000198214156128f35760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e67000000000000000000000000000000000000000000000000000000000000606482015260840161013d565b8084106129425760405162461bcd60e51b815260206004820152601060248201527f56696e2072656164206f76657272756e00000000000000000000000000000000604482015260640161013d565b600080612950846001613640565b905060005b868110156129d957612967888361244b565b92506000198314156129bb5760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e20736372697074536967000000000000000000604482015260640161013d565b6129c58383613640565b9150806129d1816137c2565b915050612955565b506129e4878261244b565b9150600019821415612a385760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e20736372697074536967000000000000000000604482015260640161013d565b612a43878284611c46565b979650505050505050565b6020810151600090611d22565b6000611d22826020611d10565b6000806000612a77858561316c565b905060ff8116612aa9576000858581518110612a9557612a956136c8565b016020015190935060f81c9150612bdf9050565b83612ab58260016136de565b60ff16612ac29190613640565b85511015612ad95760001960009250925050612bdf565b60008160ff1660021415612b1e57612b13612aff612af8876001613640565b8890611d10565b62ffff0060e882901c1660f89190911c1790565b61ffff169050612bd5565b8160ff1660041415612b4857612b3b6121fa612af8876001613640565b63ffffffff169050612bd5565b8160ff1660081415612bd557612bc8612b65612af8876001613640565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b600080612bf2836131f8565b60c01c905060006112c78264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b60008060008585604051602001612c75929190613900565b60408051808303601f190181529181528151602092830120600081815260098b01909352912060010154909150600160801b900463ffffffff1615612e32576000818152600988016020526040812060018101548154919291612cec9167ffffffffffffffff90811691600160a01b90041661355e565b600183015490915067ffffffffffffffff80881691612d199168010000000000000000909104168361355e565b67ffffffffffffffff1611158015612d4557508067ffffffffffffffff168667ffffffffffffffff1611155b612ddd5760405162461bcd60e51b815260206004820152604660248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652070656e64696e67207260648201527f6571756573740000000000000000000000000000000000000000000000000000608482015260a40161013d565b600191820154600084815260098b016020526040902080546001600160e01b0319168155909201805473ffffffffffffffffffffffffffffffffffffffff19169055935067ffffffffffffffff169150612fe2565b6000818152600a8801602052604090206001810154600160801b900463ffffffff16612ec55760405162461bcd60e51b8152602060048201526024808201527f4f75747075742069732061206e6f6e2d72657175657374656420726564656d7060448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015260840161013d565b60018101548154600091612eee9167ffffffffffffffff91821691600160a01b9091041661355e565b600183015490915067ffffffffffffffff80881691612f1b9168010000000000000000909104168361355e565b67ffffffffffffffff1611158015612f4757508067ffffffffffffffff168667ffffffffffffffff1611155b612fdf5760405162461bcd60e51b815260206004820152604860248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652074696d6564206f757460648201527f2072657175657374000000000000000000000000000000000000000000000000608482015260a40161013d565b50505b5094509492505050565b600080612ffa836025613640565b8451101561300f575060001990506000612bdf565b600080613021866124c6876024613640565b9097909650945050505050565b6000611d1f8383613204565b6000611d1f8284613957565b815160006130548284613640565b90508281118015613066575080855110155b6130b25760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e647300000000000000000000000000604482015260640161013d565b826020860101602085018382015b808310156130db5782518252602092830192909101906130c0565b5050505050505050565b6000806130f184613232565b9050828114613104576000915050611d22565b5060019392505050565b600061311a8284613640565b905082811015611d225760405162461bcd60e51b815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015260640161013d565b6000828281518110613180576131806136c8565b60209101015160f81c60ff141561319957506008611d22565b8282815181106131ab576131ab6136c8565b60209101015160f81c60fe14156131c457506004611d22565b8282815181106131d6576131d66136c8565b60209101015160f81c60fd14156131ef57506002611d22565b50600092915050565b6000611d228282611d10565b60008260005281602052602060006040600060025afa50602060006020600060025afa505060005192915050565b6024810151600090611d22565b80356bffffffffffffffffffffffff198116811461325c57600080fd5b919050565b60006060828403121561327357600080fd5b50919050565b60008083601f84011261328b57600080fd5b50813567ffffffffffffffff8111156132a357600080fd5b602083019150836020828501011115612bdf57600080fd5b803567ffffffffffffffff8116811461325c57600080fd5b6000806000806000806000610100888a0312156132ef57600080fd5b87359650602088013595506133066040890161323f565b94506133158960608a01613261565b935060c088013567ffffffffffffffff81111561333157600080fd5b61333d8a828b01613279565b9094509250613350905060e089016132bb565b905092959891949750929550565b60008060008060006080868803121561337657600080fd5b853594506020860135935061338d6040870161323f565b9250606086013567ffffffffffffffff8111156133a957600080fd5b6133b588828901613279565b969995985093965092949392505050565b60008060008060008061010087890312156133e057600080fd5b8635955060208701359450604087013567ffffffffffffffff8082111561340657600080fd5b908801906080828b03121561341a57600080fd5b9094506060880135908082111561343057600080fd5b5061343d89828a01613261565b93505061344d8860808901613261565b915061345b60e0880161323f565b90509295509295509295565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561348f57600080fd5b813563ffffffff8116811461189e57600080fd5b6000602082840312156134b557600080fd5b611d1f826132bb565b6001600160c01b031984168152818360088301376000910160080190815292915050565b6bffffffffffffffffffffffff1984168152818360148301376000910160140190815292915050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff808416806135525761355261350b565b92169190910492915050565b600067ffffffffffffffff8381169083168181101561357f5761357f613521565b039392505050565b600067ffffffffffffffff8083168185168083038211156135aa576135aa613521565b01949350505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6bffffffffffffffffffffffff198816815260c06020820152600061360560c08301888a6135b3565b6001600160a01b039690961660408301525067ffffffffffffffff9384166060820152918316608083015290911660a0909101529392505050565b6000821982111561365357613653613521565b500190565b6bffffffffffffffffffffffff1984168152604060208201526000611ee26040830184866135b3565b6000808335601e1984360301811261369857600080fd5b83018035915067ffffffffffffffff8211156136b357600080fd5b602001915036819003821315612bdf57600080fd5b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff84168060ff038211156136fb576136fb613521565b019392505050565b600060ff821660ff84168082101561371d5761371d613521565b90039392505050565b60008282101561373857613738613521565b500390565b60006020828403121561374f57600080fd5b5051919050565b60006020828403121561376857600080fd5b81356001600160e01b03198116811461189e57600080fd5b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b60006000198214156137d6576137d6613521565b5060010190565b60008160001904831182151516156137f7576137f7613521565b500290565b60008261380b5761380b61350b565b500690565b600181815b8085111561384b57816000190482111561383157613831613521565b8085161561383e57918102915b93841c9390800290613815565b509250929050565b60008261386257506001611d22565b8161386f57506000611d22565b8160018114613885576002811461388f576138ab565b6001915050611d22565b60ff8411156138a0576138a0613521565b50506001821b611d22565b5060208310610133831016604e8410600b84101617156138ce575081810a611d22565b6138d88383613810565b80600019048211156138ec576138ec613521565b029392505050565b6000611d1f8383613853565b6bffffffffffffffffffffffff19831681526000825160005b818110156139365760208186018101516014868401015201613919565b81811115613948576000601483860101525b50919091016014019392505050565b6000826139665761396661350b565b50049056fea26469706673582212200056289fd6ca9441f321685e53d01ba3bcca44e0b06a17ab5465dfef929b7a2364736f6c63430008090033",
90
- "linkReferences": {
91
- "contracts/bridge/Wallets.sol": {
92
- "Wallets": [
93
- {
94
- "length": 20,
95
- "start": 3391
96
- }
97
- ]
98
- }
99
- },
100
- "deployedLinkReferences": {
101
- "contracts/bridge/Wallets.sol": {
102
- "Wallets": [
103
- {
104
- "length": 20,
105
- "start": 3333
106
- }
107
- ]
108
- }
109
- }
110
- }