@keep-network/tbtc-v2 0.1.1-dev.9 → 0.1.1-dev.92

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 (115) hide show
  1. package/README.adoc +12 -0
  2. package/artifacts/Bank.json +807 -0
  3. package/artifacts/Bridge.json +2300 -0
  4. package/artifacts/Deposit.json +117 -0
  5. package/artifacts/DepositSweep.json +77 -0
  6. package/artifacts/EcdsaDkgValidator.json +532 -0
  7. package/artifacts/EcdsaInactivity.json +156 -0
  8. package/artifacts/EcdsaSortitionPool.json +1004 -0
  9. package/artifacts/Fraud.json +164 -0
  10. package/artifacts/KeepRegistry.json +99 -0
  11. package/artifacts/KeepStake.json +286 -0
  12. package/artifacts/KeepToken.json +711 -0
  13. package/artifacts/KeepTokenStaking.json +483 -0
  14. package/artifacts/MovingFunds.json +249 -0
  15. package/artifacts/NuCypherStakingEscrow.json +256 -0
  16. package/artifacts/NuCypherToken.json +711 -0
  17. package/artifacts/RandomBeaconStub.json +141 -0
  18. package/artifacts/Redemption.json +174 -0
  19. package/artifacts/ReimbursementPool.json +509 -0
  20. package/artifacts/Relay.json +123 -0
  21. package/artifacts/T.json +1148 -0
  22. package/artifacts/TBTC.json +27 -26
  23. package/artifacts/TBTCToken.json +27 -26
  24. package/artifacts/TBTCVault.json +691 -0
  25. package/artifacts/TokenStaking.json +2288 -0
  26. package/artifacts/TokenholderGovernor.json +1795 -0
  27. package/artifacts/TokenholderTimelock.json +1058 -0
  28. package/artifacts/VendingMachine.json +31 -30
  29. package/artifacts/VendingMachineKeep.json +400 -0
  30. package/artifacts/VendingMachineNuCypher.json +400 -0
  31. package/artifacts/WalletRegistry.json +1843 -0
  32. package/artifacts/WalletRegistryGovernance.json +2754 -0
  33. package/artifacts/Wallets.json +186 -0
  34. package/artifacts/solcInputs/2522ad78efeee521d6cb3252a08f9f62.json +314 -0
  35. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  36. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.json +2 -2
  37. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  38. package/build/contracts/bank/Bank.sol/Bank.json +27 -4
  39. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +4 -0
  40. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.json +34 -0
  41. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  42. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +2 -2
  43. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  44. package/build/contracts/bridge/Bridge.sol/Bridge.json +2547 -196
  45. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +4 -0
  46. package/build/contracts/bridge/BridgeState.sol/BridgeState.json +226 -0
  47. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +4 -0
  48. package/build/contracts/bridge/Deposit.sol/Deposit.json +72 -0
  49. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +4 -0
  50. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.json +30 -0
  51. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +4 -0
  52. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.json +10 -0
  53. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +4 -0
  54. package/build/contracts/bridge/Fraud.sol/Fraud.json +86 -0
  55. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +4 -0
  56. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.json +10 -0
  57. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +4 -0
  58. package/build/contracts/bridge/IRelay.sol/IRelay.json +37 -0
  59. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +4 -0
  60. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +138 -0
  61. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +4 -0
  62. package/build/contracts/bridge/Redemption.sol/OutboundTx.json +10 -0
  63. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +4 -0
  64. package/build/contracts/bridge/Redemption.sol/Redemption.json +92 -0
  65. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  66. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.json +2 -2
  67. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +4 -0
  68. package/build/contracts/bridge/Wallets.sol/Wallets.json +112 -0
  69. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  70. package/build/contracts/token/TBTC.sol/TBTC.json +2 -2
  71. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +4 -0
  72. package/build/contracts/vault/DonationVault.sol/DonationVault.json +108 -0
  73. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  74. package/build/contracts/vault/IVault.sol/IVault.json +24 -1
  75. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  76. package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +295 -9
  77. package/contracts/GovernanceUtils.sol +4 -4
  78. package/contracts/bank/Bank.sol +119 -57
  79. package/contracts/bank/IReceiveBalanceApproval.sol +45 -0
  80. package/contracts/bridge/BitcoinTx.sol +232 -10
  81. package/contracts/bridge/Bridge.sol +1692 -244
  82. package/contracts/bridge/BridgeState.sol +739 -0
  83. package/contracts/bridge/Deposit.sol +269 -0
  84. package/contracts/bridge/DepositSweep.sol +571 -0
  85. package/contracts/bridge/EcdsaLib.sol +45 -0
  86. package/contracts/bridge/Fraud.sol +604 -0
  87. package/contracts/bridge/Heartbeat.sol +112 -0
  88. package/contracts/bridge/IRelay.sol +28 -0
  89. package/contracts/bridge/MovingFunds.sol +1089 -0
  90. package/contracts/bridge/Redemption.sol +1021 -0
  91. package/contracts/bridge/VendingMachine.sol +2 -2
  92. package/contracts/bridge/Wallets.sol +553 -0
  93. package/contracts/hardhat-dependency-compiler/.hardhat-dependency-compiler +1 -0
  94. package/contracts/hardhat-dependency-compiler/@keep-network/ecdsa/contracts/WalletRegistry.sol +3 -0
  95. package/contracts/hardhat-dependency-compiler/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol +3 -0
  96. package/contracts/hardhat-dependency-compiler/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +3 -0
  97. package/contracts/token/TBTC.sol +1 -1
  98. package/contracts/vault/DonationVault.sol +125 -0
  99. package/contracts/vault/IVault.sol +19 -13
  100. package/contracts/vault/TBTCVault.sol +200 -23
  101. package/deploy/00_resolve_relay.ts +28 -0
  102. package/deploy/{03_transfer_roles.ts → 03_transfer_vending_machine_roles.ts} +1 -1
  103. package/deploy/04_deploy_bank.ts +27 -0
  104. package/deploy/05_deploy_bridge.ts +80 -0
  105. package/deploy/06_deploy_tbtc_vault.ts +30 -0
  106. package/deploy/07_bank_update_bridge.ts +19 -0
  107. package/deploy/08_transfer_bank_ownership.ts +15 -0
  108. package/deploy/09_transfer_tbtc_vault_ownership.ts +15 -0
  109. package/deploy/10_transfer_bridge_governance.ts +20 -0
  110. package/deploy/11_initialize_wallet_owner.ts +18 -0
  111. package/deploy/11_transfer_proxy_admin_ownership.ts +30 -0
  112. package/deploy/12_deploy_proxy_admin_with_deputy.ts +33 -0
  113. package/export.json +15771 -443
  114. package/package.json +34 -26
  115. package/artifacts/solcInputs/58d5b3ee7688835879381470de985d6b.json +0 -128
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/403fd8e633def74564a38859b2f54294.json"
4
+ }
@@ -0,0 +1,226 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BridgeState",
4
+ "sourceName": "contracts/bridge/BridgeState.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "uint64",
12
+ "name": "depositDustThreshold",
13
+ "type": "uint64"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "uint64",
18
+ "name": "depositTreasuryFeeDivisor",
19
+ "type": "uint64"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "uint64",
24
+ "name": "depositTxMaxFee",
25
+ "type": "uint64"
26
+ }
27
+ ],
28
+ "name": "DepositParametersUpdated",
29
+ "type": "event"
30
+ },
31
+ {
32
+ "anonymous": false,
33
+ "inputs": [
34
+ {
35
+ "indexed": false,
36
+ "internalType": "uint256",
37
+ "name": "fraudChallengeDepositAmount",
38
+ "type": "uint256"
39
+ },
40
+ {
41
+ "indexed": false,
42
+ "internalType": "uint256",
43
+ "name": "fraudChallengeDefeatTimeout",
44
+ "type": "uint256"
45
+ },
46
+ {
47
+ "indexed": false,
48
+ "internalType": "uint96",
49
+ "name": "fraudSlashingAmount",
50
+ "type": "uint96"
51
+ },
52
+ {
53
+ "indexed": false,
54
+ "internalType": "uint256",
55
+ "name": "fraudNotifierRewardMultiplier",
56
+ "type": "uint256"
57
+ }
58
+ ],
59
+ "name": "FraudParametersUpdated",
60
+ "type": "event"
61
+ },
62
+ {
63
+ "anonymous": false,
64
+ "inputs": [
65
+ {
66
+ "indexed": false,
67
+ "internalType": "uint64",
68
+ "name": "movingFundsTxMaxTotalFee",
69
+ "type": "uint64"
70
+ },
71
+ {
72
+ "indexed": false,
73
+ "internalType": "uint64",
74
+ "name": "movingFundsDustThreshold",
75
+ "type": "uint64"
76
+ },
77
+ {
78
+ "indexed": false,
79
+ "internalType": "uint32",
80
+ "name": "movingFundsTimeoutResetDelay",
81
+ "type": "uint32"
82
+ },
83
+ {
84
+ "indexed": false,
85
+ "internalType": "uint32",
86
+ "name": "movingFundsTimeout",
87
+ "type": "uint32"
88
+ },
89
+ {
90
+ "indexed": false,
91
+ "internalType": "uint96",
92
+ "name": "movingFundsTimeoutSlashingAmount",
93
+ "type": "uint96"
94
+ },
95
+ {
96
+ "indexed": false,
97
+ "internalType": "uint256",
98
+ "name": "movingFundsTimeoutNotifierRewardMultiplier",
99
+ "type": "uint256"
100
+ },
101
+ {
102
+ "indexed": false,
103
+ "internalType": "uint64",
104
+ "name": "movedFundsSweepTxMaxTotalFee",
105
+ "type": "uint64"
106
+ },
107
+ {
108
+ "indexed": false,
109
+ "internalType": "uint32",
110
+ "name": "movedFundsSweepTimeout",
111
+ "type": "uint32"
112
+ },
113
+ {
114
+ "indexed": false,
115
+ "internalType": "uint96",
116
+ "name": "movedFundsSweepTimeoutSlashingAmount",
117
+ "type": "uint96"
118
+ },
119
+ {
120
+ "indexed": false,
121
+ "internalType": "uint256",
122
+ "name": "movedFundsSweepTimeoutNotifierRewardMultiplier",
123
+ "type": "uint256"
124
+ }
125
+ ],
126
+ "name": "MovingFundsParametersUpdated",
127
+ "type": "event"
128
+ },
129
+ {
130
+ "anonymous": false,
131
+ "inputs": [
132
+ {
133
+ "indexed": false,
134
+ "internalType": "uint64",
135
+ "name": "redemptionDustThreshold",
136
+ "type": "uint64"
137
+ },
138
+ {
139
+ "indexed": false,
140
+ "internalType": "uint64",
141
+ "name": "redemptionTreasuryFeeDivisor",
142
+ "type": "uint64"
143
+ },
144
+ {
145
+ "indexed": false,
146
+ "internalType": "uint64",
147
+ "name": "redemptionTxMaxFee",
148
+ "type": "uint64"
149
+ },
150
+ {
151
+ "indexed": false,
152
+ "internalType": "uint256",
153
+ "name": "redemptionTimeout",
154
+ "type": "uint256"
155
+ },
156
+ {
157
+ "indexed": false,
158
+ "internalType": "uint96",
159
+ "name": "redemptionTimeoutSlashingAmount",
160
+ "type": "uint96"
161
+ },
162
+ {
163
+ "indexed": false,
164
+ "internalType": "uint256",
165
+ "name": "redemptionTimeoutNotifierRewardMultiplier",
166
+ "type": "uint256"
167
+ }
168
+ ],
169
+ "name": "RedemptionParametersUpdated",
170
+ "type": "event"
171
+ },
172
+ {
173
+ "anonymous": false,
174
+ "inputs": [
175
+ {
176
+ "indexed": false,
177
+ "internalType": "uint32",
178
+ "name": "walletCreationPeriod",
179
+ "type": "uint32"
180
+ },
181
+ {
182
+ "indexed": false,
183
+ "internalType": "uint64",
184
+ "name": "walletCreationMinBtcBalance",
185
+ "type": "uint64"
186
+ },
187
+ {
188
+ "indexed": false,
189
+ "internalType": "uint64",
190
+ "name": "walletCreationMaxBtcBalance",
191
+ "type": "uint64"
192
+ },
193
+ {
194
+ "indexed": false,
195
+ "internalType": "uint64",
196
+ "name": "walletClosureMinBtcBalance",
197
+ "type": "uint64"
198
+ },
199
+ {
200
+ "indexed": false,
201
+ "internalType": "uint32",
202
+ "name": "walletMaxAge",
203
+ "type": "uint32"
204
+ },
205
+ {
206
+ "indexed": false,
207
+ "internalType": "uint64",
208
+ "name": "walletMaxBtcTransfer",
209
+ "type": "uint64"
210
+ },
211
+ {
212
+ "indexed": false,
213
+ "internalType": "uint32",
214
+ "name": "walletClosingPeriod",
215
+ "type": "uint32"
216
+ }
217
+ ],
218
+ "name": "WalletParametersUpdated",
219
+ "type": "event"
220
+ }
221
+ ],
222
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e5eb87b262612d0fb384b536ec7c0549780fc19cb7e2e90b765717fd3bb8888e64736f6c63430008090033",
223
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e5eb87b262612d0fb384b536ec7c0549780fc19cb7e2e90b765717fd3bb8888e64736f6c63430008090033",
224
+ "linkReferences": {},
225
+ "deployedLinkReferences": {}
226
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/403fd8e633def74564a38859b2f54294.json"
4
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Deposit",
4
+ "sourceName": "contracts/bridge/Deposit.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "bytes32",
12
+ "name": "fundingTxHash",
13
+ "type": "bytes32"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "uint32",
18
+ "name": "fundingOutputIndex",
19
+ "type": "uint32"
20
+ },
21
+ {
22
+ "indexed": true,
23
+ "internalType": "address",
24
+ "name": "depositor",
25
+ "type": "address"
26
+ },
27
+ {
28
+ "indexed": false,
29
+ "internalType": "uint64",
30
+ "name": "amount",
31
+ "type": "uint64"
32
+ },
33
+ {
34
+ "indexed": false,
35
+ "internalType": "bytes8",
36
+ "name": "blindingFactor",
37
+ "type": "bytes8"
38
+ },
39
+ {
40
+ "indexed": true,
41
+ "internalType": "bytes20",
42
+ "name": "walletPubKeyHash",
43
+ "type": "bytes20"
44
+ },
45
+ {
46
+ "indexed": false,
47
+ "internalType": "bytes20",
48
+ "name": "refundPubKeyHash",
49
+ "type": "bytes20"
50
+ },
51
+ {
52
+ "indexed": false,
53
+ "internalType": "bytes4",
54
+ "name": "refundLocktime",
55
+ "type": "bytes4"
56
+ },
57
+ {
58
+ "indexed": false,
59
+ "internalType": "address",
60
+ "name": "vault",
61
+ "type": "address"
62
+ }
63
+ ],
64
+ "name": "DepositRevealed",
65
+ "type": "event"
66
+ }
67
+ ],
68
+ "bytecode": "0x61177861003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063aea7fd0b1461003a575b600080fd5b81801561004657600080fd5b5061005a61005536600461117b565b61005c565b005b6001601d8401600061007460808501606086016111fa565b6bffffffffffffffffffffffff191681526020810191909152604001600020600201547801000000000000000000000000000000000000000000000000900460ff1660058111156100c7576100c76111e4565b146101195760405162461bcd60e51b815260206004820152601c60248201527f57616c6c6574206d75737420626520696e204c6976652073746174650000000060448201526064015b60405180910390fd5b600061012b60e0830160c08401611229565b6001600160a01b0316148061016f575060078301600061015160e0840160c08501611229565b6001600160a01b0316815260208101919091526040016000205460ff165b6101bb5760405162461bcd60e51b815260206004820152601460248201527f5661756c74206973206e6f7420747275737465640000000000000000000000006044820152606401610110565b60006101cd6040830160208401611229565b6101dd6060840160408501611252565b6101ed60808501606086016111fa565b6101fd60a08601608087016111fa565b61020d60c0870160a0880161128d565b6040516020016102219594939291906112b7565b60408051601f1981840301815291905290506000610295610245602085018561154c565b63ffffffff166102586040870187611572565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061084f9050565b905060006102a282610a37565b9050805160141415610332576102b783610cf8565b6bffffffffffffffffffffffff19166102d1826000610d1f565b6bffffffffffffffffffffffff19161461032d5760405162461bcd60e51b815260206004820152601960248201527f57726f6e672032302d62797465207363726970742068617368000000000000006044820152606401610110565b61042a565b8051602014156103e25760028360405161034c91906115b9565b602060405180830381855afa158015610369573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061038c91906115f4565b61039582610d35565b1461032d5760405162461bcd60e51b815260206004820152601960248201527f57726f6e672033322d62797465207363726970742068617368000000000000006044820152606401610110565b60405162461bcd60e51b815260206004820152601860248201527f57726f6e67207363726970742068617368206c656e67746800000000000000006044820152606401610110565b600061048f61043c602088018861128d565b6104496020890189611572565b61045660408b018b611572565b61046660808d0160608e0161128d565b60405160200161047b9695949392919061160d565b604051602081830303815290604052610d51565b905060006006880181836104a660208a018a61154c565b6040516020016104cd92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff16156105515760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c656400000000000000006044820152606401610110565b600061055c85610d78565b60048a015490915067ffffffffffffffff600160a01b909104811690821610156105c85760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616d6f756e7420746f6f20736d616c6c00000000000000006044820152606401610110565b81547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff16600160a01b67ffffffffffffffff8316021782556106106040880160208901611229565b82546001600160a01b03919091167bffffffffffffffff000000000000000000000000000000000000000090911617600160e01b4263ffffffff160217825561065f60e0880160c08901611229565b6001830180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055600589015467ffffffffffffffff166106b35760006106cc565b60058901546106cc9067ffffffffffffffff1682611665565b60018301805467ffffffffffffffff92909216600160a01b027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff90921691909117905561071f60808801606089016111fa565b6bffffffffffffffffffffffff191661073e6040890160208a01611229565b6001600160a01b03167fa7382159a693ed317a024daf0fd1ba30805cdf9928ee09550af517c516e2ef058561077660208c018c61154c565b8561078760608e0160408f01611252565b8d608001602081019061079a91906111fa565b8e60a00160208101906107ad919061128d565b8f60c00160208101906107c09190611229565b6040805197885263ffffffff96909616602088015267ffffffffffffffff949094168686015277ffffffffffffffffffffffffffffffffffffffffffffffff199290921660608601526bffffffffffffffffffffffff191660808501526001600160e01b03191660a08401526001600160a01b031660c0830152519081900360e00190a3505050505050505050565b606060008061085d85610def565b90925090506000198214156108da5760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e670000000000000000000000000000000000000000000000000000000000006064820152608401610110565b8084106109295760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610110565b60008061093784600161169a565b905060005b868110156109c05761094e8883610e06565b92506000198314156109a25760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610110565b6109ac838361169a565b9150806109b8816116b2565b91505061093c565b506109cb8782610e06565b9150600019821415610a1f5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610110565b610a2a878284610e75565b9450505050505b92915050565b6060600082600881518110610a4e57610a4e6116cd565b0160200151835160f89190911c9150610a688260096116e3565b60ff1614610a86575050604080516020810190915260008152919050565b82600981518110610a9957610a996116cd565b016020015160f81c610b3f5760028160ff161015610ac7575050604080516020810190915260008152919050565b600083600a81518110610adc57610adc6116cd565b016020015160f81c9050610af1600283611708565b60ff1681141580610b0f575080602014158015610b0f575080601414155b15610b2b57505060408051602081019091526000815292915050565b610b3784600b83610e75565b949350505050565b6000610b4c846008610d1f565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415610c445783600b81518110610bab57610bab6116cd565b60209101015160f81c6014141580610c1b5750610bd660028551610bcf919061172b565b8590610d1f565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b15610c3757505060408051602081019091526000815292915050565b610b3784600c6014610e75565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415610ce1578360018551610c9d919061172b565b81518110610cad57610cad6116cd565b60209101015160f81c608714610cd457505060408051602081019091526000815292915050565b610b3784600b6014610e75565b505050604080516020810190915260008152919050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6000610d2e8383016020015190565b9392505050565b6000815160001415610d4957506000919050565b506020015190565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b600080610d8483610f3f565b60c01c90506000610b378264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b600080610dfd836000610f4b565b91509150915091565b6000610e1382600961169a565b83511015610e245750600019610a31565b600080610e3b85610e3686600861169a565b610f4b565b9092509050600019821415610e565760001992505050610a31565b80610e6283600961169a565b610e6c919061169a565b95945050505050565b606081610e915750604080516020810190915260008152610d2e565b6000610e9d838561169a565b90508381118015610eaf575080855110155b610efb5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610110565b604051915082604083010160405282825283850182038460208701018481015b80821015610f3457815183830152602082019150610f1b565b505050509392505050565b6000610a318282610d1f565b6000806000610f5a85856110ef565b905060ff8116610f8c576000858581518110610f7857610f786116cd565b016020015190935060f81c91506110e89050565b83610f988260016116e3565b60ff16610fa5919061169a565b85511015610fbc57600019600092509250506110e8565b60008160ff166002141561100157610ff6610fe2610fdb87600161169a565b8890610d1f565b62ffff0060e882901c1660f89190911c1790565b61ffff1690506110de565b8160ff16600414156110515761104461101e610fdb87600161169a565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b63ffffffff1690506110de565b8160ff16600814156110de576110d161106e610fdb87600161169a565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b6000828281518110611103576111036116cd565b60209101015160f81c60ff141561111c57506008610a31565b82828151811061112e5761112e6116cd565b60209101015160f81c60fe141561114757506004610a31565b828281518110611159576111596116cd565b60209101015160f81c60fd141561117257506002610a31565b50600092915050565b600080600083850361012081121561119257600080fd5b84359350602085013567ffffffffffffffff8111156111b057600080fd5b8501608081880312156111c257600080fd5b925060e0603f19820112156111d657600080fd5b506040840190509250925092565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561120c57600080fd5b81356bffffffffffffffffffffffff1981168114610d2e57600080fd5b60006020828403121561123b57600080fd5b81356001600160a01b0381168114610d2e57600080fd5b60006020828403121561126457600080fd5b813577ffffffffffffffffffffffffffffffffffffffffffffffff1981168114610d2e57600080fd5b60006020828403121561129f57600080fd5b81356001600160e01b031981168114610d2e57600080fd5b600560fa1b8152606086901b6bffffffffffffffffffffffff19166001820152607560f81b60158201527f0800000000000000000000000000000000000000000000000000000000000000601682015277ffffffffffffffffffffffffffffffffffffffffffffffff1985166017820152607560f81b601f82015260006113a161139461136b602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6bffffffffffffffffffffffff19861681527f870000000000000000000000000000000000000000000000000000000000000060148201527f6300000000000000000000000000000000000000000000000000000000000000601582015261146561139461136b61134261143c601686015b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6bffffffffffffffffffffffff19861681527f880000000000000000000000000000000000000000000000000000000000000060148201527f040000000000000000000000000000000000000000000000000000000000000060158201529050601681016001600160e01b0319851681527fb1000000000000000000000000000000000000000000000000000000000000006004820152607560f81b6005820152905061154061151760068301611413565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b60006020828403121561155e57600080fd5b813563ffffffff81168114610d2e57600080fd5b6000808335601e1984360301811261158957600080fd5b83018035915067ffffffffffffffff8211156115a457600080fd5b6020019150368190038213156110e857600080fd5b6000825160005b818110156115da57602081860181015185830152016115c0565b818111156115e9576000828501525b509190910192915050565b60006020828403121561160657600080fd5b5051919050565b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff8084168061168e57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b600082198211156116ad576116ad61164f565b500190565b60006000198214156116c6576116c661164f565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff84168060ff038211156117005761170061164f565b019392505050565b600060ff821660ff8416808210156117225761172261164f565b90039392505050565b60008282101561173d5761173d61164f565b50039056fea2646970667358221220cb2cdb8cc7db24fc89d1bc5939b2de5e3bbae45900c4b2de35a31cef8dfb6eb364736f6c63430008090033",
69
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063aea7fd0b1461003a575b600080fd5b81801561004657600080fd5b5061005a61005536600461117b565b61005c565b005b6001601d8401600061007460808501606086016111fa565b6bffffffffffffffffffffffff191681526020810191909152604001600020600201547801000000000000000000000000000000000000000000000000900460ff1660058111156100c7576100c76111e4565b146101195760405162461bcd60e51b815260206004820152601c60248201527f57616c6c6574206d75737420626520696e204c6976652073746174650000000060448201526064015b60405180910390fd5b600061012b60e0830160c08401611229565b6001600160a01b0316148061016f575060078301600061015160e0840160c08501611229565b6001600160a01b0316815260208101919091526040016000205460ff165b6101bb5760405162461bcd60e51b815260206004820152601460248201527f5661756c74206973206e6f7420747275737465640000000000000000000000006044820152606401610110565b60006101cd6040830160208401611229565b6101dd6060840160408501611252565b6101ed60808501606086016111fa565b6101fd60a08601608087016111fa565b61020d60c0870160a0880161128d565b6040516020016102219594939291906112b7565b60408051601f1981840301815291905290506000610295610245602085018561154c565b63ffffffff166102586040870187611572565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061084f9050565b905060006102a282610a37565b9050805160141415610332576102b783610cf8565b6bffffffffffffffffffffffff19166102d1826000610d1f565b6bffffffffffffffffffffffff19161461032d5760405162461bcd60e51b815260206004820152601960248201527f57726f6e672032302d62797465207363726970742068617368000000000000006044820152606401610110565b61042a565b8051602014156103e25760028360405161034c91906115b9565b602060405180830381855afa158015610369573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061038c91906115f4565b61039582610d35565b1461032d5760405162461bcd60e51b815260206004820152601960248201527f57726f6e672033322d62797465207363726970742068617368000000000000006044820152606401610110565b60405162461bcd60e51b815260206004820152601860248201527f57726f6e67207363726970742068617368206c656e67746800000000000000006044820152606401610110565b600061048f61043c602088018861128d565b6104496020890189611572565b61045660408b018b611572565b61046660808d0160608e0161128d565b60405160200161047b9695949392919061160d565b604051602081830303815290604052610d51565b905060006006880181836104a660208a018a61154c565b6040516020016104cd92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff16156105515760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c656400000000000000006044820152606401610110565b600061055c85610d78565b60048a015490915067ffffffffffffffff600160a01b909104811690821610156105c85760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616d6f756e7420746f6f20736d616c6c00000000000000006044820152606401610110565b81547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff16600160a01b67ffffffffffffffff8316021782556106106040880160208901611229565b82546001600160a01b03919091167bffffffffffffffff000000000000000000000000000000000000000090911617600160e01b4263ffffffff160217825561065f60e0880160c08901611229565b6001830180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055600589015467ffffffffffffffff166106b35760006106cc565b60058901546106cc9067ffffffffffffffff1682611665565b60018301805467ffffffffffffffff92909216600160a01b027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff90921691909117905561071f60808801606089016111fa565b6bffffffffffffffffffffffff191661073e6040890160208a01611229565b6001600160a01b03167fa7382159a693ed317a024daf0fd1ba30805cdf9928ee09550af517c516e2ef058561077660208c018c61154c565b8561078760608e0160408f01611252565b8d608001602081019061079a91906111fa565b8e60a00160208101906107ad919061128d565b8f60c00160208101906107c09190611229565b6040805197885263ffffffff96909616602088015267ffffffffffffffff949094168686015277ffffffffffffffffffffffffffffffffffffffffffffffff199290921660608601526bffffffffffffffffffffffff191660808501526001600160e01b03191660a08401526001600160a01b031660c0830152519081900360e00190a3505050505050505050565b606060008061085d85610def565b90925090506000198214156108da5760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e670000000000000000000000000000000000000000000000000000000000006064820152608401610110565b8084106109295760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610110565b60008061093784600161169a565b905060005b868110156109c05761094e8883610e06565b92506000198314156109a25760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610110565b6109ac838361169a565b9150806109b8816116b2565b91505061093c565b506109cb8782610e06565b9150600019821415610a1f5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610110565b610a2a878284610e75565b9450505050505b92915050565b6060600082600881518110610a4e57610a4e6116cd565b0160200151835160f89190911c9150610a688260096116e3565b60ff1614610a86575050604080516020810190915260008152919050565b82600981518110610a9957610a996116cd565b016020015160f81c610b3f5760028160ff161015610ac7575050604080516020810190915260008152919050565b600083600a81518110610adc57610adc6116cd565b016020015160f81c9050610af1600283611708565b60ff1681141580610b0f575080602014158015610b0f575080601414155b15610b2b57505060408051602081019091526000815292915050565b610b3784600b83610e75565b949350505050565b6000610b4c846008610d1f565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415610c445783600b81518110610bab57610bab6116cd565b60209101015160f81c6014141580610c1b5750610bd660028551610bcf919061172b565b8590610d1f565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b15610c3757505060408051602081019091526000815292915050565b610b3784600c6014610e75565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415610ce1578360018551610c9d919061172b565b81518110610cad57610cad6116cd565b60209101015160f81c608714610cd457505060408051602081019091526000815292915050565b610b3784600b6014610e75565b505050604080516020810190915260008152919050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6000610d2e8383016020015190565b9392505050565b6000815160001415610d4957506000919050565b506020015190565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b600080610d8483610f3f565b60c01c90506000610b378264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b600080610dfd836000610f4b565b91509150915091565b6000610e1382600961169a565b83511015610e245750600019610a31565b600080610e3b85610e3686600861169a565b610f4b565b9092509050600019821415610e565760001992505050610a31565b80610e6283600961169a565b610e6c919061169a565b95945050505050565b606081610e915750604080516020810190915260008152610d2e565b6000610e9d838561169a565b90508381118015610eaf575080855110155b610efb5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610110565b604051915082604083010160405282825283850182038460208701018481015b80821015610f3457815183830152602082019150610f1b565b505050509392505050565b6000610a318282610d1f565b6000806000610f5a85856110ef565b905060ff8116610f8c576000858581518110610f7857610f786116cd565b016020015190935060f81c91506110e89050565b83610f988260016116e3565b60ff16610fa5919061169a565b85511015610fbc57600019600092509250506110e8565b60008160ff166002141561100157610ff6610fe2610fdb87600161169a565b8890610d1f565b62ffff0060e882901c1660f89190911c1790565b61ffff1690506110de565b8160ff16600414156110515761104461101e610fdb87600161169a565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b63ffffffff1690506110de565b8160ff16600814156110de576110d161106e610fdb87600161169a565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b6000828281518110611103576111036116cd565b60209101015160f81c60ff141561111c57506008610a31565b82828151811061112e5761112e6116cd565b60209101015160f81c60fe141561114757506004610a31565b828281518110611159576111596116cd565b60209101015160f81c60fd141561117257506002610a31565b50600092915050565b600080600083850361012081121561119257600080fd5b84359350602085013567ffffffffffffffff8111156111b057600080fd5b8501608081880312156111c257600080fd5b925060e0603f19820112156111d657600080fd5b506040840190509250925092565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561120c57600080fd5b81356bffffffffffffffffffffffff1981168114610d2e57600080fd5b60006020828403121561123b57600080fd5b81356001600160a01b0381168114610d2e57600080fd5b60006020828403121561126457600080fd5b813577ffffffffffffffffffffffffffffffffffffffffffffffff1981168114610d2e57600080fd5b60006020828403121561129f57600080fd5b81356001600160e01b031981168114610d2e57600080fd5b600560fa1b8152606086901b6bffffffffffffffffffffffff19166001820152607560f81b60158201527f0800000000000000000000000000000000000000000000000000000000000000601682015277ffffffffffffffffffffffffffffffffffffffffffffffff1985166017820152607560f81b601f82015260006113a161139461136b602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6bffffffffffffffffffffffff19861681527f870000000000000000000000000000000000000000000000000000000000000060148201527f6300000000000000000000000000000000000000000000000000000000000000601582015261146561139461136b61134261143c601686015b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6bffffffffffffffffffffffff19861681527f880000000000000000000000000000000000000000000000000000000000000060148201527f040000000000000000000000000000000000000000000000000000000000000060158201529050601681016001600160e01b0319851681527fb1000000000000000000000000000000000000000000000000000000000000006004820152607560f81b6005820152905061154061151760068301611413565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b60006020828403121561155e57600080fd5b813563ffffffff81168114610d2e57600080fd5b6000808335601e1984360301811261158957600080fd5b83018035915067ffffffffffffffff8211156115a457600080fd5b6020019150368190038213156110e857600080fd5b6000825160005b818110156115da57602081860181015185830152016115c0565b818111156115e9576000828501525b509190910192915050565b60006020828403121561160657600080fd5b5051919050565b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff8084168061168e57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b600082198211156116ad576116ad61164f565b500190565b60006000198214156116c6576116c661164f565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff84168060ff038211156117005761170061164f565b019392505050565b600060ff821660ff8416808210156117225761172261164f565b90039392505050565b60008282101561173d5761173d61164f565b50039056fea2646970667358221220cb2cdb8cc7db24fc89d1bc5939b2de5e3bbae45900c4b2de35a31cef8dfb6eb364736f6c63430008090033",
70
+ "linkReferences": {},
71
+ "deployedLinkReferences": {}
72
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/403fd8e633def74564a38859b2f54294.json"
4
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "DepositSweep",
4
+ "sourceName": "contracts/bridge/DepositSweep.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": "bytes32",
18
+ "name": "sweepTxHash",
19
+ "type": "bytes32"
20
+ }
21
+ ],
22
+ "name": "DepositsSwept",
23
+ "type": "event"
24
+ }
25
+ ],
26
+ "bytecode": "0x612d0a61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063d22cd45b1461003a575b600080fd5b81801561004657600080fd5b5061005a610055366004612782565b61005c565b005b6000610069868686610575565b90506000806100b98861007f60408a018a61282a565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061086592505050565b915091506000806100cb8a858961091b565b9150915060006101438b60405180606001604052808d80602001906100f0919061282a565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602081018690526001600160a01b038b16604090910152610b43565b90506000808061016784600001518867ffffffffffffffff168660400151516111ef565b915091508d60050160089054906101000a900467ffffffffffffffff1667ffffffffffffffff16818361019a9190612887565b11156101ed5760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064015b60405180910390fd5b60005b8460400151518110156102db5760006001866040015151610211919061289f565b821461021d5783610227565b6102278385612887565b90508086606001518381518110610240576102406128b6565b60200260200101518760400151848151811061025e5761025e6128b6565b6020026020010151610270919061289f565b61027a919061289f565b86604001518381518110610290576102906128b6565b602002602001018181525050856060015182815181106102b2576102b26128b6565b6020026020010151856102c59190612887565b94505080806102d3906128cc565b9150506101f0565b5060408051602081018b90526000918101919091527fffffffffffffffff00000000000000000000000000000000000000000000000060c089901b166044820152604c0160408051808303601f19018152828252805160209182012060018a01556bffffffffffffffffffffffff198b16835282018b90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a16001600160a01b038a16158015906103b057506001600160a01b038a16600090815260078f01602052604090205460ff165b1561043e578d54602085015160408087015190517fbb7e61bc0000000000000000000000000000000000000000000000000000000081526001600160a01b039093169263bb7e61bc92610407928f9260040161295b565b600060405180830381600087803b15801561042157600080fd5b505af1158015610435573d6000803e3d6000fd5b505050506104c3565b8d54602085015160408087015190517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b039093169263266a123a9261049092909160040161298f565b600060405180830381600087803b1580156104aa57600080fd5b505af11580156104be573d6000803e3d6000fd5b505050505b8d60000160009054906101000a90046001600160a01b03166001600160a01b0316635b86f5998f60040160009054906101000a90046001600160a01b0316856040518363ffffffff1660e01b81526004016105339291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b15801561054d57600080fd5b505af1158015610561573d6000803e3d6000fd5b505050505050505050505050505050505050565b60006105c1610587602085018561282a565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061122b92505050565b61060d5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420696e70757420766563746f722070726f766964656400000060448201526064016101e4565b61065761061d604085018561282a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112db92505050565b6106a35760405162461bcd60e51b815260206004820152601e60248201527f496e76616c6964206f757470757420766563746f722070726f7669646564000060448201526064016101e4565b6107066106b360208501856129b4565b6106c0602086018661282a565b6106cd604088018861282a565b6106dd60808a0160608b016129b4565b6040516020016106f2969594939291906129de565b60405160208183030381529060405261137e565b90506107a161075561071b604085018561282a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113a592505050565b61075f848061282a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508694939250505060208601356113b2565b6108135760405162461bcd60e51b815260206004820152603c60248201527f5478206d65726b6c652070726f6f66206973206e6f742076616c696420666f7260448201527f2070726f76696465642068656164657220616e6420747820686173680000000060648201526084016101e4565b61085e84610824604085018561282a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113f092505050565b9392505050565b60008060006108738461175f565b915050806001146108ec5760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f757470757400000000000000000000000000000000000000000060648201526084016101e4565b60006108f88582611776565b9050610904868261195c565b935061090f81611b21565b925050505b9250929050565b604080516060810182526000808252602082018190529181018290526bffffffffffffffffffffffff1984166000908152601d86016020526040902060028101549092507801000000000000000000000000000000000000000000000000900460ff16600181600581111561099257610992612a20565b14806109af575060028160058111156109ad576109ad612a20565b145b610a215760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e647320737461746500000000000000000000000000000000000000000060648201526084016101e4565b604080516060810182526000808252602082018190529181019190915260018401549092508015610b3957808535610a5f6040880160208901612a4f565b610a6f6060890160408a01612a82565b604051602001610ac49392919092835260e09190911b6001600160e01b031916602083015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166024820152602c0190565b6040516020818303038152906040528051906020012014610b275760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064016101e4565b610b3636869003860186612ab3565b92505b5050935093915050565b610b6e6040518060800160405280600081526020016060815260200160608152602001606081525090565b60208201515182519015159060009081908190610b8a9061175f565b90925090506000610b9c836001612887565b90508415610bb457610baf60018361289f565b610bb6565b815b67ffffffffffffffff811115610bce57610bce612a9d565b604051908082528060200260200182016040528015610bf7578160200160208202803683370190505b50602087018190525167ffffffffffffffff811115610c1857610c18612a9d565b604051908082528060200260200182016040528015610c41578160200160208202803683370190505b50604087015260208601515167ffffffffffffffff811115610c6557610c65612a9d565b604051908082528060200260200182016040528015610c8e578160200160208202803683370190505b5060608701526000805b838110156110f2576000806000610cb38c6000015187611b98565b92509250925060008d60060160008585604051602001610cea92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615610fb2576001810154600160e01b900463ffffffff1615610d855760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c7265616479207377657074000000000000000000000060448201526064016101e4565b60408d015160018201546001600160a01b03908116911614610e0f5760405162461bcd60e51b815260206004820152602960248201527f4465706f7369742073686f756c6420626520726f7574656420746f20616e6f7460448201527f686572207661756c74000000000000000000000000000000000000000000000060648201526084016101e4565b8b6020015151861415610e8a5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e7075747300000000000060648201526084016101e4565b6001810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055805460208d015180516001600160a01b039092169188908110610ee357610ee36128b6565b6001600160a01b039290921660209283029190910190910152805460408d01518051600160a01b90920467ffffffffffffffff169188908110610f2857610f286128b6565b6020026020010181815250508b604001518681518110610f4a57610f4a6128b6565b60200260200101518c600001818151610f639190612887565b905250600181015460608d01518051600160a01b90920467ffffffffffffffff169188908110610f9557610f956128b6565b602090810291909101015285610faa816128cc565b9650506110cf565b8915158b151514158015610fca575060208d01515184145b8015610fe957508263ffffffff168d602001516020015163ffffffff16145b15611087578c602001516040015167ffffffffffffffff168c6000018181516110129190612887565b915081815250506001995060018e6019016000868660405160200161104e92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff19169115159190911790556110cf565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e7075742074797065000000000000000000000000000060448201526064016101e4565b6110d98288612887565b96505050505080806110ea906128cc565b915050610c98565b50600081116111695760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f7369740000000000000000000000000060648201526084016101e4565b841515861515146111e25760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e7075747300000000000060648201526084016101e4565b5050505050505b92915050565b600080806111fd858761289f565b90506112098482612b3c565b915083611216838361289f565b6112209190612b50565b925050935093915050565b60008060006112398461175f565b909250905080158061124c575060001982145b1561125b575060009392505050565b6000611268836001612887565b905060005b828110156112ce57855182106112895750600095945050505050565b60006112958784611bf0565b90506000198114156112ae575060009695505050505050565b6112b88184612887565b92505080806112c6906128cc565b91505061126d565b5093519093149392505050565b60008060006112e98461175f565b90925090508015806112fc575060001982145b1561130b575060009392505050565b6000611318836001612887565b905060005b828110156112ce57855182106113395750600095945050505050565b60006113458784611c44565b905060001981141561135e575060009695505050505050565b6113688184612887565b9250508080611376906128cc565b91505061131d565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b60448101516000906111e9565b600083851480156113c1575081155b80156113cc57508251155b156113d9575060016113e8565b6113e585848685611caa565b90505b949350505050565b6001820154604080517f113764be00000000000000000000000000000000000000000000000000000000815290516001600160a01b0390921691600091839163113764be91600480820192602092909190829003018186803b15801561145557600080fd5b505afa158015611469573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148d9190612b64565b90506000826001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ca57600080fd5b505afa1580156114de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115029190612b64565b905060008061151861151387611d52565b611de7565b90508381141561152a578391506115a8565b8281141561153a578291506115a8565b60405162461bcd60e51b815260206004820152602560248201527f4e6f742061742063757272656e74206f722070726576696f757320646966666960448201527f63756c747900000000000000000000000000000000000000000000000000000060648201526084016101e4565b60006115b387611e0f565b905060001981141561162d5760405162461bcd60e51b815260206004820152602360248201527f496e76616c6964206c656e677468206f6620746865206865616465727320636860448201527f61696e000000000000000000000000000000000000000000000000000000000060648201526084016101e4565b60011981141561167f5760405162461bcd60e51b815260206004820152601560248201527f496e76616c6964206865616465727320636861696e000000000000000000000060448201526064016101e4565b6002198114156116d15760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420776f726b20696e20612068656164657200000060448201526064016101e4565b60038801546116e09084612b7d565b8110156117555760405162461bcd60e51b815260206004820152603360248201527f496e73756666696369656e7420616363756d756c61746564206469666669637560448201527f6c747920696e2068656164657220636861696e0000000000000000000000000060648201526084016101e4565b5050505050505050565b60008061176d836000612016565b91509150915091565b60606000806117848561175f565b90925090506000198214156118015760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e6700000000000000000000000000000000000000000000000000000000000060648201526084016101e4565b8084106118505760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016101e4565b60008061185e846001612887565b905060005b868110156118e7576118758883611c44565b92506000198314156118c95760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016101e4565b6118d38383612887565b9150806118df816128cc565b915050611863565b506118f28782611c44565b91506000198214156119465760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016101e4565b611951878284612193565b979650505050505050565b6000806119688361225d565b905080516014146119e15760405162461bcd60e51b815260206004820152602b60248201527f4f75747075742773207075626c6963206b65792068617368206d75737420686160448201527f766520323020627974657300000000000000000000000000000000000000000060648201526084016101e4565b6119ec8160006124fb565b91506000611a0a6008808651611a02919061289f565b869190612193565b8051602091820120604080517f1976a91400000000000000000000000000000000000000000000000000000000818501526bffffffffffffffffffffffff1987166024820181905261222b60f21b60388301528251601a818403018152603a830184528051908601207f1600140000000000000000000000000000000000000000000000000000000000605a840152605d830191909152825160518184030181526071909201909252805193019290922090925081831480611acb57508083145b611b175760405162461bcd60e51b815260206004820152601e60248201527f4f7574707574206d757374206265205032504b48206f7220503257504b48000060448201526064016101e4565b5050505092915050565b600080611b2d8361250a565b60c01c905060006113e88264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b60008080611ba685856124fb565b9250611bdb611bb58686612516565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9150611be78585611bf0565b90509250925092565b6000806000611bff858561252d565b9092509050600019821415611c1a57600019925050506111e9565b80611c26836025612887565b611c309190612887565b611c3b906004612887565b95945050505050565b6000611c51826009612887565b83511015611c6257506000196111e9565b600080611c7985611c74866008612887565b612016565b9092509050600019821415611c9457600019925050506111e9565b80611ca0836009612887565b611c3b9190612887565b600060208451611cba9190612b3c565b15611cc7575060006113e8565b8351611cd5575060006113e8565b818560005b8651811015611d4557611cee600284612b3c565b60011415611d1357611d0c611d068883016020015190565b8361256f565b9150611d2c565b611d2982611d248984016020015190565b61256f565b91505b60019290921c91611d3e602082612887565b9050611cda565b5090931495945050505050565b600080611d608360486124fb565b60e81c9050600083604b81518110611d7a57611d7a6128b6565b016020015160f81c90506000611dae83600060108262ffffff16901c8261ff001660108462ffffff16901b17179050919050565b62ffffff1690506000611dc2600384612b9c565b60ff169050611dd381610100612ca3565b611ddd9083612b7d565b9695505050505050565b60006111e97bffff00000000000000000000000000000000000000000000000000008361257b565b600060508251611e1f9190612b3c565b15611e2d5750600019919050565b506040805160808101909152605081526000908190815b845181101561200e57611e58858383612587565b8015611e7857611e68828461261c565b611e785750600119949350505050565b6000611e8383611d52565b9050611e8e8361137e565b935080611fd28560008190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b600882901c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff161790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b601082901c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff161790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b602082901c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1617905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b604082901c77ffffffffffffffff0000000000000000ffffffffffffffff16179050608081901b608082901c179050919050565b1115611fe5575060021995945050505050565b611ff8611ff182611de7565b8690612645565b94506120079050605082612887565b9050611e44565b505050919050565b600080600061202585856126a3565b905060ff8116612057576000858581518110612043576120436128b6565b016020015190935060f81c91506109149050565b83612063826001612caf565b60ff166120709190612887565b855110156120875760001960009250925050610914565b60008160ff16600214156120cc576120c16120ad6120a6876001612887565b88906124fb565b62ffff0060e882901c1660f89190911c1790565b61ffff169050612183565b8160ff16600414156120f6576120e9611bb56120a6876001612887565b63ffffffff169050612183565b8160ff1660081415612183576121766121136120a6876001612887565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090509250929050565b6060816121af575060408051602081019091526000815261085e565b60006121bb8385612887565b905083811180156121cd575080855110155b6122195760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016101e4565b604051915082604083010160405282825283850182038460208701018481015b8082101561225257815183830152602082019150612239565b505050509392505050565b6060600082600881518110612274576122746128b6565b0160200151835160f89190911c915061228e826009612caf565b60ff16146122ac575050604080516020810190915260008152919050565b826009815181106122bf576122bf6128b6565b016020015160f81c61235d5760028160ff1610156122ed575050604080516020810190915260008152919050565b600083600a81518110612302576123026128b6565b016020015160f81c9050612317600283612b9c565b60ff1681141580612335575080602014158015612335575080601414155b1561235157505060408051602081019091526000815292915050565b6113e884600b83612193565b600061236a8460086124fb565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156124475783600b815181106123c9576123c96128b6565b60209101015160f81c601414158061241e57506123f4600285516123ed919061289f565b85906124fb565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191661222b60f21b14155b1561243a57505060408051602081019091526000815292915050565b6113e884600c6014612193565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156124e45783600185516124a0919061289f565b815181106124b0576124b06128b6565b60209101015160f81c6087146124d757505060408051602081019091526000815292915050565b6113e884600b6014612193565b505050604080516020810190915260008152919050565b600061085e8383016020015190565b60006111e982826124fb565b600061085e612526836020612887565b84906124fb565b60008061253b836025612887565b84511015612550575060001990506000610914565b60008061256286611c74876024612887565b9097909650945050505050565b600061085e838361272f565b600061085e8284612b50565b815160006125958284612887565b905082811180156125a7575080855110155b6125f35760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016101e4565b826020860101602085018382015b80831015611755578251825260209283019290910190612601565b6000806126288461275d565b905082811461263b5760009150506111e9565b5060019392505050565b60006126518284612887565b9050828110156111e95760405162461bcd60e51b815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e0000000000000060448201526064016101e4565b60008282815181106126b7576126b76128b6565b60209101015160f81c60ff14156126d0575060086111e9565b8282815181106126e2576126e26128b6565b60209101015160f81c60fe14156126fb575060046111e9565b82828151811061270d5761270d6128b6565b60209101015160f81c60fd1415612726575060026111e9565b50600092915050565b60008260005281602052602060006040600060025afa50602060006020600060025afa505060005192915050565b60248101516000906111e9565b60006060828403121561277c57600080fd5b50919050565b600080600080600060e0868803121561279a57600080fd5b85359450602086013567ffffffffffffffff808211156127b957600080fd5b908701906080828a0312156127cd57600080fd5b909450604087013590808211156127e357600080fd5b506127f08882890161276a565b935050612800876060880161276a565b915060c08601356001600160a01b038116811461281c57600080fd5b809150509295509295909350565b6000808335601e1984360301811261284157600080fd5b83018035915067ffffffffffffffff82111561285c57600080fd5b60200191503681900382131561091457600080fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561289a5761289a612871565b500190565b6000828210156128b1576128b1612871565b500390565b634e487b7160e01b600052603260045260246000fd5b60006000198214156128e0576128e0612871565b5060010190565b600081518084526020808501945080840160005b838110156129205781516001600160a01b0316875295820195908201906001016128fb565b509495945050505050565b600081518084526020808501945080840160005b838110156129205781518752958201959082019060010161293f565b6001600160a01b038416815260606020820152600061297d60608301856128e7565b8281036040840152611ddd818561292b565b6040815260006129a260408301856128e7565b8281036020840152611c3b818561292b565b6000602082840312156129c657600080fd5b81356001600160e01b03198116811461085e57600080fd5b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b634e487b7160e01b600052602160045260246000fd5b803563ffffffff81168114612a4a57600080fd5b919050565b600060208284031215612a6157600080fd5b61085e82612a36565b803567ffffffffffffffff81168114612a4a57600080fd5b600060208284031215612a9457600080fd5b61085e82612a6a565b634e487b7160e01b600052604160045260246000fd5b600060608284031215612ac557600080fd5b6040516060810181811067ffffffffffffffff82111715612af657634e487b7160e01b600052604160045260246000fd5b60405282358152612b0960208401612a36565b6020820152612b1a60408401612a6a565b60408201529392505050565b634e487b7160e01b600052601260045260246000fd5b600082612b4b57612b4b612b26565b500690565b600082612b5f57612b5f612b26565b500490565b600060208284031215612b7657600080fd5b5051919050565b6000816000190483118215151615612b9757612b97612871565b500290565b600060ff821660ff841680821015612bb657612bb6612871565b90039392505050565b600181815b80851115612bfa578160001904821115612be057612be0612871565b80851615612bed57918102915b93841c9390800290612bc4565b509250929050565b600082612c11575060016111e9565b81612c1e575060006111e9565b8160018114612c345760028114612c3e57612c5a565b60019150506111e9565b60ff841115612c4f57612c4f612871565b50506001821b6111e9565b5060208310610133831016604e8410600b8410161715612c7d575081810a6111e9565b612c878383612bbf565b8060001904821115612c9b57612c9b612871565b029392505050565b600061085e8383612c02565b600060ff821660ff84168060ff03821115612ccc57612ccc612871565b01939250505056fea2646970667358221220bbd8be2ed828350c8115620e56bbd78c7ed80eb5487403b143e9edcb424ca1ca64736f6c63430008090033",
27
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063d22cd45b1461003a575b600080fd5b81801561004657600080fd5b5061005a610055366004612782565b61005c565b005b6000610069868686610575565b90506000806100b98861007f60408a018a61282a565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061086592505050565b915091506000806100cb8a858961091b565b9150915060006101438b60405180606001604052808d80602001906100f0919061282a565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602081018690526001600160a01b038b16604090910152610b43565b90506000808061016784600001518867ffffffffffffffff168660400151516111ef565b915091508d60050160089054906101000a900467ffffffffffffffff1667ffffffffffffffff16818361019a9190612887565b11156101ed5760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064015b60405180910390fd5b60005b8460400151518110156102db5760006001866040015151610211919061289f565b821461021d5783610227565b6102278385612887565b90508086606001518381518110610240576102406128b6565b60200260200101518760400151848151811061025e5761025e6128b6565b6020026020010151610270919061289f565b61027a919061289f565b86604001518381518110610290576102906128b6565b602002602001018181525050856060015182815181106102b2576102b26128b6565b6020026020010151856102c59190612887565b94505080806102d3906128cc565b9150506101f0565b5060408051602081018b90526000918101919091527fffffffffffffffff00000000000000000000000000000000000000000000000060c089901b166044820152604c0160408051808303601f19018152828252805160209182012060018a01556bffffffffffffffffffffffff198b16835282018b90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a16001600160a01b038a16158015906103b057506001600160a01b038a16600090815260078f01602052604090205460ff165b1561043e578d54602085015160408087015190517fbb7e61bc0000000000000000000000000000000000000000000000000000000081526001600160a01b039093169263bb7e61bc92610407928f9260040161295b565b600060405180830381600087803b15801561042157600080fd5b505af1158015610435573d6000803e3d6000fd5b505050506104c3565b8d54602085015160408087015190517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b039093169263266a123a9261049092909160040161298f565b600060405180830381600087803b1580156104aa57600080fd5b505af11580156104be573d6000803e3d6000fd5b505050505b8d60000160009054906101000a90046001600160a01b03166001600160a01b0316635b86f5998f60040160009054906101000a90046001600160a01b0316856040518363ffffffff1660e01b81526004016105339291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b15801561054d57600080fd5b505af1158015610561573d6000803e3d6000fd5b505050505050505050505050505050505050565b60006105c1610587602085018561282a565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061122b92505050565b61060d5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420696e70757420766563746f722070726f766964656400000060448201526064016101e4565b61065761061d604085018561282a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112db92505050565b6106a35760405162461bcd60e51b815260206004820152601e60248201527f496e76616c6964206f757470757420766563746f722070726f7669646564000060448201526064016101e4565b6107066106b360208501856129b4565b6106c0602086018661282a565b6106cd604088018861282a565b6106dd60808a0160608b016129b4565b6040516020016106f2969594939291906129de565b60405160208183030381529060405261137e565b90506107a161075561071b604085018561282a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113a592505050565b61075f848061282a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508694939250505060208601356113b2565b6108135760405162461bcd60e51b815260206004820152603c60248201527f5478206d65726b6c652070726f6f66206973206e6f742076616c696420666f7260448201527f2070726f76696465642068656164657220616e6420747820686173680000000060648201526084016101e4565b61085e84610824604085018561282a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113f092505050565b9392505050565b60008060006108738461175f565b915050806001146108ec5760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f757470757400000000000000000000000000000000000000000060648201526084016101e4565b60006108f88582611776565b9050610904868261195c565b935061090f81611b21565b925050505b9250929050565b604080516060810182526000808252602082018190529181018290526bffffffffffffffffffffffff1984166000908152601d86016020526040902060028101549092507801000000000000000000000000000000000000000000000000900460ff16600181600581111561099257610992612a20565b14806109af575060028160058111156109ad576109ad612a20565b145b610a215760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e647320737461746500000000000000000000000000000000000000000060648201526084016101e4565b604080516060810182526000808252602082018190529181019190915260018401549092508015610b3957808535610a5f6040880160208901612a4f565b610a6f6060890160408a01612a82565b604051602001610ac49392919092835260e09190911b6001600160e01b031916602083015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166024820152602c0190565b6040516020818303038152906040528051906020012014610b275760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064016101e4565b610b3636869003860186612ab3565b92505b5050935093915050565b610b6e6040518060800160405280600081526020016060815260200160608152602001606081525090565b60208201515182519015159060009081908190610b8a9061175f565b90925090506000610b9c836001612887565b90508415610bb457610baf60018361289f565b610bb6565b815b67ffffffffffffffff811115610bce57610bce612a9d565b604051908082528060200260200182016040528015610bf7578160200160208202803683370190505b50602087018190525167ffffffffffffffff811115610c1857610c18612a9d565b604051908082528060200260200182016040528015610c41578160200160208202803683370190505b50604087015260208601515167ffffffffffffffff811115610c6557610c65612a9d565b604051908082528060200260200182016040528015610c8e578160200160208202803683370190505b5060608701526000805b838110156110f2576000806000610cb38c6000015187611b98565b92509250925060008d60060160008585604051602001610cea92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615610fb2576001810154600160e01b900463ffffffff1615610d855760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c7265616479207377657074000000000000000000000060448201526064016101e4565b60408d015160018201546001600160a01b03908116911614610e0f5760405162461bcd60e51b815260206004820152602960248201527f4465706f7369742073686f756c6420626520726f7574656420746f20616e6f7460448201527f686572207661756c74000000000000000000000000000000000000000000000060648201526084016101e4565b8b6020015151861415610e8a5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e7075747300000000000060648201526084016101e4565b6001810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055805460208d015180516001600160a01b039092169188908110610ee357610ee36128b6565b6001600160a01b039290921660209283029190910190910152805460408d01518051600160a01b90920467ffffffffffffffff169188908110610f2857610f286128b6565b6020026020010181815250508b604001518681518110610f4a57610f4a6128b6565b60200260200101518c600001818151610f639190612887565b905250600181015460608d01518051600160a01b90920467ffffffffffffffff169188908110610f9557610f956128b6565b602090810291909101015285610faa816128cc565b9650506110cf565b8915158b151514158015610fca575060208d01515184145b8015610fe957508263ffffffff168d602001516020015163ffffffff16145b15611087578c602001516040015167ffffffffffffffff168c6000018181516110129190612887565b915081815250506001995060018e6019016000868660405160200161104e92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff19169115159190911790556110cf565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e7075742074797065000000000000000000000000000060448201526064016101e4565b6110d98288612887565b96505050505080806110ea906128cc565b915050610c98565b50600081116111695760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f7369740000000000000000000000000060648201526084016101e4565b841515861515146111e25760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e7075747300000000000060648201526084016101e4565b5050505050505b92915050565b600080806111fd858761289f565b90506112098482612b3c565b915083611216838361289f565b6112209190612b50565b925050935093915050565b60008060006112398461175f565b909250905080158061124c575060001982145b1561125b575060009392505050565b6000611268836001612887565b905060005b828110156112ce57855182106112895750600095945050505050565b60006112958784611bf0565b90506000198114156112ae575060009695505050505050565b6112b88184612887565b92505080806112c6906128cc565b91505061126d565b5093519093149392505050565b60008060006112e98461175f565b90925090508015806112fc575060001982145b1561130b575060009392505050565b6000611318836001612887565b905060005b828110156112ce57855182106113395750600095945050505050565b60006113458784611c44565b905060001981141561135e575060009695505050505050565b6113688184612887565b9250508080611376906128cc565b91505061131d565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b60448101516000906111e9565b600083851480156113c1575081155b80156113cc57508251155b156113d9575060016113e8565b6113e585848685611caa565b90505b949350505050565b6001820154604080517f113764be00000000000000000000000000000000000000000000000000000000815290516001600160a01b0390921691600091839163113764be91600480820192602092909190829003018186803b15801561145557600080fd5b505afa158015611469573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148d9190612b64565b90506000826001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ca57600080fd5b505afa1580156114de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115029190612b64565b905060008061151861151387611d52565b611de7565b90508381141561152a578391506115a8565b8281141561153a578291506115a8565b60405162461bcd60e51b815260206004820152602560248201527f4e6f742061742063757272656e74206f722070726576696f757320646966666960448201527f63756c747900000000000000000000000000000000000000000000000000000060648201526084016101e4565b60006115b387611e0f565b905060001981141561162d5760405162461bcd60e51b815260206004820152602360248201527f496e76616c6964206c656e677468206f6620746865206865616465727320636860448201527f61696e000000000000000000000000000000000000000000000000000000000060648201526084016101e4565b60011981141561167f5760405162461bcd60e51b815260206004820152601560248201527f496e76616c6964206865616465727320636861696e000000000000000000000060448201526064016101e4565b6002198114156116d15760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420776f726b20696e20612068656164657200000060448201526064016101e4565b60038801546116e09084612b7d565b8110156117555760405162461bcd60e51b815260206004820152603360248201527f496e73756666696369656e7420616363756d756c61746564206469666669637560448201527f6c747920696e2068656164657220636861696e0000000000000000000000000060648201526084016101e4565b5050505050505050565b60008061176d836000612016565b91509150915091565b60606000806117848561175f565b90925090506000198214156118015760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e6700000000000000000000000000000000000000000000000000000000000060648201526084016101e4565b8084106118505760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016101e4565b60008061185e846001612887565b905060005b868110156118e7576118758883611c44565b92506000198314156118c95760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016101e4565b6118d38383612887565b9150806118df816128cc565b915050611863565b506118f28782611c44565b91506000198214156119465760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016101e4565b611951878284612193565b979650505050505050565b6000806119688361225d565b905080516014146119e15760405162461bcd60e51b815260206004820152602b60248201527f4f75747075742773207075626c6963206b65792068617368206d75737420686160448201527f766520323020627974657300000000000000000000000000000000000000000060648201526084016101e4565b6119ec8160006124fb565b91506000611a0a6008808651611a02919061289f565b869190612193565b8051602091820120604080517f1976a91400000000000000000000000000000000000000000000000000000000818501526bffffffffffffffffffffffff1987166024820181905261222b60f21b60388301528251601a818403018152603a830184528051908601207f1600140000000000000000000000000000000000000000000000000000000000605a840152605d830191909152825160518184030181526071909201909252805193019290922090925081831480611acb57508083145b611b175760405162461bcd60e51b815260206004820152601e60248201527f4f7574707574206d757374206265205032504b48206f7220503257504b48000060448201526064016101e4565b5050505092915050565b600080611b2d8361250a565b60c01c905060006113e88264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b60008080611ba685856124fb565b9250611bdb611bb58686612516565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9150611be78585611bf0565b90509250925092565b6000806000611bff858561252d565b9092509050600019821415611c1a57600019925050506111e9565b80611c26836025612887565b611c309190612887565b611c3b906004612887565b95945050505050565b6000611c51826009612887565b83511015611c6257506000196111e9565b600080611c7985611c74866008612887565b612016565b9092509050600019821415611c9457600019925050506111e9565b80611ca0836009612887565b611c3b9190612887565b600060208451611cba9190612b3c565b15611cc7575060006113e8565b8351611cd5575060006113e8565b818560005b8651811015611d4557611cee600284612b3c565b60011415611d1357611d0c611d068883016020015190565b8361256f565b9150611d2c565b611d2982611d248984016020015190565b61256f565b91505b60019290921c91611d3e602082612887565b9050611cda565b5090931495945050505050565b600080611d608360486124fb565b60e81c9050600083604b81518110611d7a57611d7a6128b6565b016020015160f81c90506000611dae83600060108262ffffff16901c8261ff001660108462ffffff16901b17179050919050565b62ffffff1690506000611dc2600384612b9c565b60ff169050611dd381610100612ca3565b611ddd9083612b7d565b9695505050505050565b60006111e97bffff00000000000000000000000000000000000000000000000000008361257b565b600060508251611e1f9190612b3c565b15611e2d5750600019919050565b506040805160808101909152605081526000908190815b845181101561200e57611e58858383612587565b8015611e7857611e68828461261c565b611e785750600119949350505050565b6000611e8383611d52565b9050611e8e8361137e565b935080611fd28560008190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b600882901c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff161790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b601082901c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff161790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b602082901c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1617905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b604082901c77ffffffffffffffff0000000000000000ffffffffffffffff16179050608081901b608082901c179050919050565b1115611fe5575060021995945050505050565b611ff8611ff182611de7565b8690612645565b94506120079050605082612887565b9050611e44565b505050919050565b600080600061202585856126a3565b905060ff8116612057576000858581518110612043576120436128b6565b016020015190935060f81c91506109149050565b83612063826001612caf565b60ff166120709190612887565b855110156120875760001960009250925050610914565b60008160ff16600214156120cc576120c16120ad6120a6876001612887565b88906124fb565b62ffff0060e882901c1660f89190911c1790565b61ffff169050612183565b8160ff16600414156120f6576120e9611bb56120a6876001612887565b63ffffffff169050612183565b8160ff1660081415612183576121766121136120a6876001612887565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090509250929050565b6060816121af575060408051602081019091526000815261085e565b60006121bb8385612887565b905083811180156121cd575080855110155b6122195760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016101e4565b604051915082604083010160405282825283850182038460208701018481015b8082101561225257815183830152602082019150612239565b505050509392505050565b6060600082600881518110612274576122746128b6565b0160200151835160f89190911c915061228e826009612caf565b60ff16146122ac575050604080516020810190915260008152919050565b826009815181106122bf576122bf6128b6565b016020015160f81c61235d5760028160ff1610156122ed575050604080516020810190915260008152919050565b600083600a81518110612302576123026128b6565b016020015160f81c9050612317600283612b9c565b60ff1681141580612335575080602014158015612335575080601414155b1561235157505060408051602081019091526000815292915050565b6113e884600b83612193565b600061236a8460086124fb565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156124475783600b815181106123c9576123c96128b6565b60209101015160f81c601414158061241e57506123f4600285516123ed919061289f565b85906124fb565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191661222b60f21b14155b1561243a57505060408051602081019091526000815292915050565b6113e884600c6014612193565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156124e45783600185516124a0919061289f565b815181106124b0576124b06128b6565b60209101015160f81c6087146124d757505060408051602081019091526000815292915050565b6113e884600b6014612193565b505050604080516020810190915260008152919050565b600061085e8383016020015190565b60006111e982826124fb565b600061085e612526836020612887565b84906124fb565b60008061253b836025612887565b84511015612550575060001990506000610914565b60008061256286611c74876024612887565b9097909650945050505050565b600061085e838361272f565b600061085e8284612b50565b815160006125958284612887565b905082811180156125a7575080855110155b6125f35760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016101e4565b826020860101602085018382015b80831015611755578251825260209283019290910190612601565b6000806126288461275d565b905082811461263b5760009150506111e9565b5060019392505050565b60006126518284612887565b9050828110156111e95760405162461bcd60e51b815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e0000000000000060448201526064016101e4565b60008282815181106126b7576126b76128b6565b60209101015160f81c60ff14156126d0575060086111e9565b8282815181106126e2576126e26128b6565b60209101015160f81c60fe14156126fb575060046111e9565b82828151811061270d5761270d6128b6565b60209101015160f81c60fd1415612726575060026111e9565b50600092915050565b60008260005281602052602060006040600060025afa50602060006020600060025afa505060005192915050565b60248101516000906111e9565b60006060828403121561277c57600080fd5b50919050565b600080600080600060e0868803121561279a57600080fd5b85359450602086013567ffffffffffffffff808211156127b957600080fd5b908701906080828a0312156127cd57600080fd5b909450604087013590808211156127e357600080fd5b506127f08882890161276a565b935050612800876060880161276a565b915060c08601356001600160a01b038116811461281c57600080fd5b809150509295509295909350565b6000808335601e1984360301811261284157600080fd5b83018035915067ffffffffffffffff82111561285c57600080fd5b60200191503681900382131561091457600080fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561289a5761289a612871565b500190565b6000828210156128b1576128b1612871565b500390565b634e487b7160e01b600052603260045260246000fd5b60006000198214156128e0576128e0612871565b5060010190565b600081518084526020808501945080840160005b838110156129205781516001600160a01b0316875295820195908201906001016128fb565b509495945050505050565b600081518084526020808501945080840160005b838110156129205781518752958201959082019060010161293f565b6001600160a01b038416815260606020820152600061297d60608301856128e7565b8281036040840152611ddd818561292b565b6040815260006129a260408301856128e7565b8281036020840152611c3b818561292b565b6000602082840312156129c657600080fd5b81356001600160e01b03198116811461085e57600080fd5b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b634e487b7160e01b600052602160045260246000fd5b803563ffffffff81168114612a4a57600080fd5b919050565b600060208284031215612a6157600080fd5b61085e82612a36565b803567ffffffffffffffff81168114612a4a57600080fd5b600060208284031215612a9457600080fd5b61085e82612a6a565b634e487b7160e01b600052604160045260246000fd5b600060608284031215612ac557600080fd5b6040516060810181811067ffffffffffffffff82111715612af657634e487b7160e01b600052604160045260246000fd5b60405282358152612b0960208401612a36565b6020820152612b1a60408401612a6a565b60408201529392505050565b634e487b7160e01b600052601260045260246000fd5b600082612b4b57612b4b612b26565b500690565b600082612b5f57612b5f612b26565b500490565b600060208284031215612b7657600080fd5b5051919050565b6000816000190483118215151615612b9757612b97612871565b500290565b600060ff821660ff841680821015612bb657612bb6612871565b90039392505050565b600181815b80851115612bfa578160001904821115612be057612be0612871565b80851615612bed57918102915b93841c9390800290612bc4565b509250929050565b600082612c11575060016111e9565b81612c1e575060006111e9565b8160018114612c345760028114612c3e57612c5a565b60019150506111e9565b60ff841115612c4f57612c4f612871565b50506001821b6111e9565b5060208310610133831016604e8410600b8410161715612c7d575081810a6111e9565b612c878383612bbf565b8060001904821115612c9b57612c9b612871565b029392505050565b600061085e8383612c02565b600060ff821660ff84168060ff03821115612ccc57612ccc612871565b01939250505056fea2646970667358221220bbd8be2ed828350c8115620e56bbd78c7ed80eb5487403b143e9edcb424ca1ca64736f6c63430008090033",
28
+ "linkReferences": {},
29
+ "deployedLinkReferences": {}
30
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/403fd8e633def74564a38859b2f54294.json"
4
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "EcdsaLib",
4
+ "sourceName": "contracts/bridge/EcdsaLib.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ca195355c84436696dc3f238a241cc6de24ecbe8a81d9838ef2333c6cb38470964736f6c63430008090033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ca195355c84436696dc3f238a241cc6de24ecbe8a81d9838ef2333c6cb38470964736f6c63430008090033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/403fd8e633def74564a38859b2f54294.json"
4
+ }