@keep-network/tbtc-v2 1.6.0-dev.5 → 1.6.0-dev.7

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 (160) hide show
  1. package/artifacts/BLS.json +6 -6
  2. package/artifacts/Bank.json +17 -17
  3. package/artifacts/BeaconAuthorization.json +6 -6
  4. package/artifacts/BeaconDkg.json +6 -6
  5. package/artifacts/BeaconDkgValidator.json +9 -9
  6. package/artifacts/BeaconInactivity.json +6 -6
  7. package/artifacts/BeaconSortitionPool.json +16 -16
  8. package/artifacts/Bridge.json +32 -32
  9. package/artifacts/BridgeGovernance.json +14 -14
  10. package/artifacts/BridgeGovernanceParameters.json +7 -7
  11. package/artifacts/Deposit.json +7 -7
  12. package/artifacts/DepositSweep.json +7 -7
  13. package/artifacts/DonationVault.json +11 -11
  14. package/artifacts/EcdsaDkgValidator.json +7 -7
  15. package/artifacts/EcdsaInactivity.json +6 -6
  16. package/artifacts/EcdsaSortitionPool.json +16 -16
  17. package/artifacts/Fraud.json +7 -7
  18. package/artifacts/LightRelay.json +28 -28
  19. package/artifacts/LightRelayMaintainerProxy.json +24 -24
  20. package/artifacts/MaintainerProxy.json +37 -37
  21. package/artifacts/MovingFunds.json +7 -7
  22. package/artifacts/NuCypherToken.json +11 -11
  23. package/artifacts/RandomBeacon.json +23 -23
  24. package/artifacts/RandomBeaconChaosnet.json +11 -11
  25. package/artifacts/RandomBeaconGovernance.json +12 -12
  26. package/artifacts/Redemption.json +7 -7
  27. package/artifacts/ReimbursementPool.json +11 -11
  28. package/artifacts/T.json +11 -11
  29. package/artifacts/TBTC.json +19 -19
  30. package/artifacts/TBTCToken.json +19 -19
  31. package/artifacts/TBTCVault.json +36 -36
  32. package/artifacts/TokenStaking.json +156 -308
  33. package/artifacts/TokenholderGovernor.json +47 -47
  34. package/artifacts/TokenholderTimelock.json +36 -36
  35. package/artifacts/VendingMachine.json +22 -22
  36. package/artifacts/VendingMachineNuCypher.json +9 -9
  37. package/artifacts/VendingMachineV2.json +15 -15
  38. package/artifacts/VendingMachineV3.json +15 -15
  39. package/artifacts/WalletProposalValidator.json +437 -0
  40. package/artifacts/WalletRegistry.json +31 -31
  41. package/artifacts/WalletRegistryGovernance.json +56 -56
  42. package/artifacts/Wallets.json +7 -7
  43. package/artifacts/solcInputs/{d2d7e276da75d7184610fe11a4a103b7.json → b4e1c442421284b256fcad9f86102ecc.json} +4 -4
  44. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  45. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  46. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +1 -1
  47. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  48. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  49. package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.dbg.json +1 -1
  50. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  51. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  52. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
  53. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  54. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
  55. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
  56. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  57. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
  58. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
  59. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
  60. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  61. package/build/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.dbg.json +1 -1
  62. package/build/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.dbg.json +1 -1
  63. package/build/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.dbg.json +4 -0
  64. package/build/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.json +323 -0
  65. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  66. package/build/contracts/l2/L2TBTC.sol/L2TBTC.dbg.json +1 -1
  67. package/build/contracts/l2/L2WormholeGateway.sol/IWormholeTokenBridge.dbg.json +1 -1
  68. package/build/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.dbg.json +1 -1
  69. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +1 -1
  70. package/build/contracts/relay/LightRelay.sol/ILightRelay.dbg.json +1 -1
  71. package/build/contracts/relay/LightRelay.sol/LightRelay.dbg.json +1 -1
  72. package/build/contracts/relay/LightRelay.sol/RelayUtils.dbg.json +1 -1
  73. package/build/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.dbg.json +1 -1
  74. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  75. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
  76. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  77. package/build/contracts/vault/TBTCOptimisticMinting.sol/TBTCOptimisticMinting.dbg.json +1 -1
  78. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  79. package/contracts/bridge/{WalletCoordinator.sol → WalletProposalValidator.sol} +129 -447
  80. package/deploy/39_deploy_wallet_proposal_validator.ts +33 -0
  81. package/export/artifacts/@keep-network/ecdsa/contracts/EcdsaDkgValidator.sol/EcdsaDkgValidator.json +24 -24
  82. package/export/artifacts/@keep-network/ecdsa/contracts/WalletRegistry.sol/WalletRegistry.json +4999 -4814
  83. package/export/artifacts/@keep-network/ecdsa/contracts/libraries/EcdsaDkg.sol/EcdsaDkg.json +2 -2
  84. package/export/artifacts/@keep-network/ecdsa/contracts/libraries/EcdsaInactivity.sol/EcdsaInactivity.json +23 -23
  85. package/export/artifacts/@keep-network/random-beacon/contracts/ReimbursementPool.sol/ReimbursementPool.json +53 -53
  86. package/export/artifacts/@keep-network/sortition-pools/contracts/Chaosnet.sol/Chaosnet.json +21 -21
  87. package/export/artifacts/@keep-network/sortition-pools/contracts/Rewards.sol/Rewards.json +16 -16
  88. package/export/artifacts/@keep-network/sortition-pools/contracts/SortitionPool.sol/SortitionPool.json +206 -206
  89. package/export/artifacts/@keep-network/sortition-pools/contracts/SortitionTree.sol/SortitionTree.json +26 -26
  90. package/export/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +46 -46
  91. package/export/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +36 -36
  92. package/export/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +78 -78
  93. package/export/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json +68 -68
  94. package/export/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.json +43 -43
  95. package/export/artifacts/@thesis/solidity-contracts/contracts/token/ERC20WithPermit.sol/ERC20WithPermit.json +79 -79
  96. package/export/artifacts/@thesis/solidity-contracts/contracts/token/MisfundRecovery.sol/MisfundRecovery.json +42 -42
  97. package/export/artifacts/contracts/bank/Bank.sol/Bank.json +77 -77
  98. package/export/artifacts/contracts/bridge/Bridge.sol/Bridge.json +320 -320
  99. package/export/artifacts/contracts/bridge/VendingMachine.sol/VendingMachine.json +108 -108
  100. package/export/artifacts/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.json +63 -63
  101. package/export/artifacts/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.json +65 -65
  102. package/export/artifacts/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.json +25381 -0
  103. package/export/artifacts/contracts/l2/L2TBTC.sol/L2TBTC.json +194 -194
  104. package/export/artifacts/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.json +98 -98
  105. package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +149 -149
  106. package/export/artifacts/contracts/relay/LightRelay.sol/LightRelay.json +76 -76
  107. package/export/artifacts/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.json +62 -62
  108. package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +79 -79
  109. package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +358 -358
  110. package/export/artifacts/contracts/test/GoerliLightRelay.sol/GoerliLightRelay.json +78 -78
  111. package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +4 -4
  112. package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +78 -78
  113. package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +7 -7
  114. package/export/artifacts/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.json +78 -78
  115. package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +14 -14
  116. package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +85 -85
  117. package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +78 -78
  118. package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +4 -4
  119. package/export/artifacts/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.json +37 -37
  120. package/export/artifacts/contracts/token/TBTC.sol/TBTC.json +104 -104
  121. package/export/artifacts/contracts/vault/DonationVault.sol/DonationVault.json +19 -19
  122. package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +184 -184
  123. package/export/deploy/39_deploy_wallet_proposal_validator.js +82 -0
  124. package/export/hardhat.config.js +0 -6
  125. package/export/typechain/factories/EcdsaAuthorization__factory.js +1 -1
  126. package/export/typechain/factories/IStaking__factory.js +24 -103
  127. package/export/typechain/factories/WalletProposalValidator__factory.js +402 -0
  128. package/export/typechain/factories/WalletRegistry__factory.js +1 -1
  129. package/export/typechain/index.js +3 -3
  130. package/package.json +2 -2
  131. package/artifacts/KeepRegistry.json +0 -99
  132. package/artifacts/KeepStake.json +0 -286
  133. package/artifacts/KeepToken.json +0 -711
  134. package/artifacts/KeepTokenStaking.json +0 -483
  135. package/artifacts/NuCypherStakingEscrow.json +0 -287
  136. package/artifacts/VendingMachineKeep.json +0 -400
  137. package/artifacts/WalletCoordinator.json +0 -1107
  138. package/build/contracts/bridge/WalletCoordinator.sol/WalletCoordinator.dbg.json +0 -4
  139. package/build/contracts/bridge/WalletCoordinator.sol/WalletCoordinator.json +0 -1042
  140. package/deploy/34_deploy_wallet_coordinator.ts +0 -43
  141. package/deploy/35_add_coordinator_address.ts +0 -20
  142. package/deploy/36_transfer_wallet_coordinator_ownership.ts +0 -19
  143. package/deploy/81_upgrade_wallet_coordinator_v2.ts +0 -99
  144. package/export/artifacts/contracts/bridge/WalletCoordinator.sol/WalletCoordinator.json +0 -33310
  145. package/export/deploy/34_deploy_wallet_coordinator.js +0 -115
  146. package/export/deploy/35_add_coordinator_address.js +0 -60
  147. package/export/deploy/36_transfer_wallet_coordinator_ownership.js +0 -60
  148. package/export/deploy/81_upgrade_wallet_coordinator_v2.js +0 -140
  149. package/export/typechain/factories/WalletCoordinator__factory.js +0 -1121
  150. /package/deploy/{37_deploy_light_relay_maintainer_proxy.ts → 34_deploy_light_relay_maintainer_proxy.ts} +0 -0
  151. /package/deploy/{38_authorize_maintainer_in_light_relay_maintainer_proxy.ts → 35_authorize_maintainer_in_light_relay_maintainer_proxy.ts} +0 -0
  152. /package/deploy/{39_transfer_light_relay_maintainer_proxy_ownership.ts → 36_transfer_light_relay_maintainer_proxy_ownership.ts} +0 -0
  153. /package/deploy/{40_authorize_light_relay_maintainer_proxy_in_reimbursement_pool.ts → 37_authorize_light_relay_maintainer_proxy_in_reimbursement_pool.ts} +0 -0
  154. /package/deploy/{41_authorize_light_relay_maintainer_proxy_in_light_relay.ts → 38_authorize_light_relay_maintainer_proxy_in_light_relay.ts} +0 -0
  155. /package/export/deploy/{37_deploy_light_relay_maintainer_proxy.js → 34_deploy_light_relay_maintainer_proxy.js} +0 -0
  156. /package/export/deploy/{38_authorize_maintainer_in_light_relay_maintainer_proxy.js → 35_authorize_maintainer_in_light_relay_maintainer_proxy.js} +0 -0
  157. /package/export/deploy/{39_transfer_light_relay_maintainer_proxy_ownership.js → 36_transfer_light_relay_maintainer_proxy_ownership.js} +0 -0
  158. /package/export/deploy/{40_authorize_light_relay_maintainer_proxy_in_reimbursement_pool.js → 37_authorize_light_relay_maintainer_proxy_in_reimbursement_pool.js} +0 -0
  159. /package/export/deploy/{41_authorize_light_relay_maintainer_proxy_in_light_relay.js → 38_authorize_light_relay_maintainer_proxy_in_light_relay.js} +0 -0
  160. /package/export/typechain/{WalletCoordinator.js → WalletProposalValidator.js} +0 -0
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
+ }
@@ -0,0 +1,323 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "WalletProposalValidator",
4
+ "sourceName": "contracts/bridge/WalletProposalValidator.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "contract Bridge",
10
+ "name": "_bridge",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "inputs": [],
19
+ "name": "DEPOSIT_MIN_AGE",
20
+ "outputs": [
21
+ {
22
+ "internalType": "uint32",
23
+ "name": "",
24
+ "type": "uint32"
25
+ }
26
+ ],
27
+ "stateMutability": "view",
28
+ "type": "function"
29
+ },
30
+ {
31
+ "inputs": [],
32
+ "name": "DEPOSIT_REFUND_SAFETY_MARGIN",
33
+ "outputs": [
34
+ {
35
+ "internalType": "uint32",
36
+ "name": "",
37
+ "type": "uint32"
38
+ }
39
+ ],
40
+ "stateMutability": "view",
41
+ "type": "function"
42
+ },
43
+ {
44
+ "inputs": [],
45
+ "name": "DEPOSIT_SWEEP_MAX_SIZE",
46
+ "outputs": [
47
+ {
48
+ "internalType": "uint16",
49
+ "name": "",
50
+ "type": "uint16"
51
+ }
52
+ ],
53
+ "stateMutability": "view",
54
+ "type": "function"
55
+ },
56
+ {
57
+ "inputs": [],
58
+ "name": "REDEMPTION_MAX_SIZE",
59
+ "outputs": [
60
+ {
61
+ "internalType": "uint16",
62
+ "name": "",
63
+ "type": "uint16"
64
+ }
65
+ ],
66
+ "stateMutability": "view",
67
+ "type": "function"
68
+ },
69
+ {
70
+ "inputs": [],
71
+ "name": "REDEMPTION_REQUEST_MIN_AGE",
72
+ "outputs": [
73
+ {
74
+ "internalType": "uint32",
75
+ "name": "",
76
+ "type": "uint32"
77
+ }
78
+ ],
79
+ "stateMutability": "view",
80
+ "type": "function"
81
+ },
82
+ {
83
+ "inputs": [],
84
+ "name": "REDEMPTION_REQUEST_TIMEOUT_SAFETY_MARGIN",
85
+ "outputs": [
86
+ {
87
+ "internalType": "uint32",
88
+ "name": "",
89
+ "type": "uint32"
90
+ }
91
+ ],
92
+ "stateMutability": "view",
93
+ "type": "function"
94
+ },
95
+ {
96
+ "inputs": [],
97
+ "name": "bridge",
98
+ "outputs": [
99
+ {
100
+ "internalType": "contract Bridge",
101
+ "name": "",
102
+ "type": "address"
103
+ }
104
+ ],
105
+ "stateMutability": "view",
106
+ "type": "function"
107
+ },
108
+ {
109
+ "inputs": [
110
+ {
111
+ "components": [
112
+ {
113
+ "internalType": "bytes20",
114
+ "name": "walletPubKeyHash",
115
+ "type": "bytes20"
116
+ },
117
+ {
118
+ "components": [
119
+ {
120
+ "internalType": "bytes32",
121
+ "name": "fundingTxHash",
122
+ "type": "bytes32"
123
+ },
124
+ {
125
+ "internalType": "uint32",
126
+ "name": "fundingOutputIndex",
127
+ "type": "uint32"
128
+ }
129
+ ],
130
+ "internalType": "struct WalletProposalValidator.DepositKey[]",
131
+ "name": "depositsKeys",
132
+ "type": "tuple[]"
133
+ },
134
+ {
135
+ "internalType": "uint256",
136
+ "name": "sweepTxFee",
137
+ "type": "uint256"
138
+ },
139
+ {
140
+ "internalType": "uint256[]",
141
+ "name": "depositsRevealBlocks",
142
+ "type": "uint256[]"
143
+ }
144
+ ],
145
+ "internalType": "struct WalletProposalValidator.DepositSweepProposal",
146
+ "name": "proposal",
147
+ "type": "tuple"
148
+ },
149
+ {
150
+ "components": [
151
+ {
152
+ "components": [
153
+ {
154
+ "internalType": "bytes4",
155
+ "name": "version",
156
+ "type": "bytes4"
157
+ },
158
+ {
159
+ "internalType": "bytes",
160
+ "name": "inputVector",
161
+ "type": "bytes"
162
+ },
163
+ {
164
+ "internalType": "bytes",
165
+ "name": "outputVector",
166
+ "type": "bytes"
167
+ },
168
+ {
169
+ "internalType": "bytes4",
170
+ "name": "locktime",
171
+ "type": "bytes4"
172
+ }
173
+ ],
174
+ "internalType": "struct BitcoinTx.Info",
175
+ "name": "fundingTx",
176
+ "type": "tuple"
177
+ },
178
+ {
179
+ "internalType": "bytes8",
180
+ "name": "blindingFactor",
181
+ "type": "bytes8"
182
+ },
183
+ {
184
+ "internalType": "bytes20",
185
+ "name": "walletPubKeyHash",
186
+ "type": "bytes20"
187
+ },
188
+ {
189
+ "internalType": "bytes20",
190
+ "name": "refundPubKeyHash",
191
+ "type": "bytes20"
192
+ },
193
+ {
194
+ "internalType": "bytes4",
195
+ "name": "refundLocktime",
196
+ "type": "bytes4"
197
+ }
198
+ ],
199
+ "internalType": "struct WalletProposalValidator.DepositExtraInfo[]",
200
+ "name": "depositsExtraInfo",
201
+ "type": "tuple[]"
202
+ }
203
+ ],
204
+ "name": "validateDepositSweepProposal",
205
+ "outputs": [
206
+ {
207
+ "internalType": "bool",
208
+ "name": "",
209
+ "type": "bool"
210
+ }
211
+ ],
212
+ "stateMutability": "view",
213
+ "type": "function"
214
+ },
215
+ {
216
+ "inputs": [
217
+ {
218
+ "components": [
219
+ {
220
+ "internalType": "bytes20",
221
+ "name": "walletPubKeyHash",
222
+ "type": "bytes20"
223
+ },
224
+ {
225
+ "internalType": "bytes",
226
+ "name": "message",
227
+ "type": "bytes"
228
+ }
229
+ ],
230
+ "internalType": "struct WalletProposalValidator.HeartbeatProposal",
231
+ "name": "proposal",
232
+ "type": "tuple"
233
+ }
234
+ ],
235
+ "name": "validateHeartbeatProposal",
236
+ "outputs": [
237
+ {
238
+ "internalType": "bool",
239
+ "name": "",
240
+ "type": "bool"
241
+ }
242
+ ],
243
+ "stateMutability": "view",
244
+ "type": "function"
245
+ },
246
+ {
247
+ "inputs": [
248
+ {
249
+ "components": [
250
+ {
251
+ "internalType": "bytes20",
252
+ "name": "walletPubKeyHash",
253
+ "type": "bytes20"
254
+ },
255
+ {
256
+ "internalType": "bytes20[]",
257
+ "name": "targetWallets",
258
+ "type": "bytes20[]"
259
+ },
260
+ {
261
+ "internalType": "uint256",
262
+ "name": "movingFundsTxFee",
263
+ "type": "uint256"
264
+ }
265
+ ],
266
+ "internalType": "struct WalletProposalValidator.MovingFundsProposal",
267
+ "name": "proposal",
268
+ "type": "tuple"
269
+ }
270
+ ],
271
+ "name": "validateMovingFundsProposal",
272
+ "outputs": [
273
+ {
274
+ "internalType": "bool",
275
+ "name": "",
276
+ "type": "bool"
277
+ }
278
+ ],
279
+ "stateMutability": "view",
280
+ "type": "function"
281
+ },
282
+ {
283
+ "inputs": [
284
+ {
285
+ "components": [
286
+ {
287
+ "internalType": "bytes20",
288
+ "name": "walletPubKeyHash",
289
+ "type": "bytes20"
290
+ },
291
+ {
292
+ "internalType": "bytes[]",
293
+ "name": "redeemersOutputScripts",
294
+ "type": "bytes[]"
295
+ },
296
+ {
297
+ "internalType": "uint256",
298
+ "name": "redemptionTxFee",
299
+ "type": "uint256"
300
+ }
301
+ ],
302
+ "internalType": "struct WalletProposalValidator.RedemptionProposal",
303
+ "name": "proposal",
304
+ "type": "tuple"
305
+ }
306
+ ],
307
+ "name": "validateRedemptionProposal",
308
+ "outputs": [
309
+ {
310
+ "internalType": "bool",
311
+ "name": "",
312
+ "type": "bool"
313
+ }
314
+ ],
315
+ "stateMutability": "view",
316
+ "type": "function"
317
+ }
318
+ ],
319
+ "bytecode": "0x60a06040523480156200001157600080fd5b50604051620031f9380380620031f9833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b60805161312d620000cc6000396000818161016d015281816101c80152818161038501528181610652015281816109c301528181610c1a01528181610d8d0152818161113d0152611662015261312d6000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c8063765f28f911610081578063e0276b261161005b578063e0276b2614610144578063e78cea9214610168578063f03a4bc5146101a757600080fd5b8063765f28f91461013a578063996a756b14610144578063d09520f71461015f57600080fd5b806322e2c371116100b257806322e2c371146101145780636b562cec146100ce5780637405d7bf1461012757600080fd5b80630538ac1b146100ce5780630fde6c76146100f1575b600080fd5b6100d7611c2081565b60405163ffffffff90911681526020015b60405180910390f35b6101046100ff366004612352565b6101ba565b60405190151581526020016100e8565b610104610122366004612352565b6109b6565b61010461013536600461238f565b610d7f565b6100d76201518081565b61014c601481565b60405161ffff90911681526020016100e8565b6100d761025881565b61018f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e8565b6101046101b5366004612431565b61156c565b600060016001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663e65e19d56101fa60208601866124a4565b6040516001600160e01b031960e084901b1681526bffffffffffffffffffffffff19909116600482015260240161012060405180830381865afa158015610245573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610269919061258c565b60e00151600581111561027e5761027e61246c565b146102d05760405162461bcd60e51b815260206004820152601b60248201527f57616c6c6574206973206e6f7420696e204c697665207374617465000000000060448201526064015b60405180910390fd5b60006102df602084018461262f565b9150508061032f5760405162461bcd60e51b815260206004820152601d60248201527f526564656d7074696f6e2062656c6f7720746865206d696e2073697a6500000060448201526064016102c7565b60148111156103805760405162461bcd60e51b815260206004820152601f60248201527f526564656d7074696f6e206578636565647320746865206d61782073697a650060448201526064016102c7565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636e70ce416040518163ffffffff1660e01b815260040160e060405180830381865afa1580156103e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104059190612695565b50509450945050505060008560400135116104725760405162461bcd60e51b815260206004820152602760248201527f50726f706f736564207472616e73616374696f6e206665652063616e6e6f74206044820152666265207a65726f60c81b60648201526084016102c7565b8167ffffffffffffffff16856040013511156104dc5760405162461bcd60e51b8152602060048201526024808201527f50726f706f736564207472616e73616374696f6e2066656520697320746f6f206044820152630d0d2ced60e31b60648201526084016102c7565b60006104ec846040880135612737565b90506000846104ff8360408a0135612761565b6105099190612774565b905060008567ffffffffffffffff811115610526576105266124bf565b60405190808252806020026020018201604052801561054f578160200160208202803683370190505b50905060005b868110156109a757600061056c60208b018b61262f565b8381811061057c5761057c612788565b905060200281019061058e919061279e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508451602080870191909120959650909493506105df92508e0190508d6124a4565b6040516020016106089291909182526bffffffffffffffffffffffff1916602082015260340190565b60408051808303601f190181529082905280516020909101207f03d952f70000000000000000000000000000000000000000000000000000000082526004820181905291506000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906303d952f79060240160a060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c591906127fc565b9050806080015163ffffffff166000036107215760405162461bcd60e51b815260206004820181905260248201527f4e6f7420612070656e64696e6720726564656d7074696f6e207265717565737460448201526064016102c7565b6102588160800151610733919061288c565b63ffffffff1642116107ad5760405162461bcd60e51b815260206004820152602b60248201527f526564656d7074696f6e2072657175657374206d696e20616765206e6f74206160448201527f636869657665642079657400000000000000000000000000000000000000000060648201526084016102c7565b60008882608001516107bf919061288c565b90506107cd611c20826128b0565b63ffffffff1642106108475760405162461bcd60e51b815260206004820152603960248201527f526564656d7074696f6e20726571756573742074696d656f757420736166657460448201527f79206d617267696e206973206e6f74207072657365727665640000000000000060648201526084016102c7565b8661085360018d612761565b86036108665761086389826128cd565b90505b826060015167ffffffffffffffff168111156108ea5760405162461bcd60e51b815260206004820152603660248201527f50726f706f736564207472616e73616374696f6e207065722d7265717565737460448201527f2066656520736861726520697320746f6f20686967680000000000000000000060648201526084016102c7565b60005b8681101561096f578488828151811061090857610908612788565b60200260200101510361095d5760405162461bcd60e51b815260206004820152601260248201527f4475706c6963617465642072657175657374000000000000000000000000000060448201526064016102c7565b80610967816128e0565b9150506108ed565b508387878151811061098357610983612788565b6020026020010181815250505050505050808061099f906128e0565b915050610555565b50600198975050505050505050565b6000806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663e65e19d56109f560208601866124a4565b6040516001600160e01b031960e084901b1681526bffffffffffffffffffffffff19909116600482015260240161012060405180830381865afa158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a64919061258c565b905060028160e001516005811115610a7e57610a7e61246c565b14610af15760405162461bcd60e51b815260206004820152602960248201527f536f757263652077616c6c6574206973206e6f7420696e204d6f76696e67467560448201527f6e6473207374617465000000000000000000000000000000000000000000000060648201526084016102c7565b610100810151610b695760405162461bcd60e51b815260206004820152602a60248201527f5461726765742077616c6c65747320636f6d6d69746d656e74206973206e6f7460448201527f207375626d69747465640000000000000000000000000000000000000000000060648201526084016102c7565b610b76602084018461262f565b604051602001610b879291906128f9565b6040516020818303038152906040528051906020012081610100015114610c165760405162461bcd60e51b815260206004820152603a60248201527f5461726765742077616c6c65747320646f206e6f74206d61746368207461726760448201527f65742077616c6c65747320636f6d6d69746d656e74206861736800000000000060648201526084016102c7565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663be05abe36040518163ffffffff1660e01b815260040161016060405180830381865afa158015610c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9b919061293f565b5050505050505050505090506000846040013511610d0b5760405162461bcd60e51b815260206004820152602760248201527f50726f706f736564207472616e73616374696f6e206665652063616e6e6f74206044820152666265207a65726f60c81b60648201526084016102c7565b8067ffffffffffffffff1684604001351115610d755760405162461bcd60e51b8152602060048201526024808201527f50726f706f736564207472616e73616374696f6e2066656520697320746f6f206044820152630d0d2ced60e31b60648201526084016102c7565b5060019392505050565b600060016001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663e65e19d5610dbf60208801886124a4565b6040516001600160e01b031960e084901b1681526bffffffffffffffffffffffff19909116600482015260240161012060405180830381865afa158015610e0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2e919061258c565b60e001516005811115610e4357610e4361246c565b14610e905760405162461bcd60e51b815260206004820152601b60248201527f57616c6c6574206973206e6f7420696e204c697665207374617465000000000060448201526064016102c7565b6000610e9f6020860186612a1c565b905011610eee5760405162461bcd60e51b815260206004820152601860248201527f53776565702062656c6f7720746865206d696e2073697a65000000000000000060448201526064016102c7565b6014610efd6020860186612a1c565b90501115610f4d5760405162461bcd60e51b815260206004820152601a60248201527f5377656570206578636565647320746865206d61782073697a6500000000000060448201526064016102c7565b81610f5b6020860186612a1c565b905014610fd05760405162461bcd60e51b815260206004820152602e60248201527f45616368206465706f736974206b6579206d7573742068617665206d6174636860448201527f696e67206578747261206461746100000000000000000000000000000000000060648201526084016102c7565b610fec6040850135610fe56020870187612a1c565b90506115d7565b600080610ffc6020870187612a1c565b905067ffffffffffffffff811115611016576110166124bf565b60405190808252806020026020018201604052801561103f578160200160208202803683370190505b50905060005b6110526020880188612a1c565b905081101561155d57600061106a6020890189612a1c565b8381811061107a5761107a612788565b9050604002018036038101906110909190612a66565b905060008787848181106110a6576110a6612788565b90506020028101906110b89190612abc565b6110c190612baa565b82516020808501516040519394506000936110f393920191825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529082905280516020909101207fb02c43d00000000000000000000000000000000000000000000000000000000082526004820181905291506000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b02c43d09060240160c060405180830381865afa15801561118c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b09190612cac565b9050806040015163ffffffff1660000361120c5760405162461bcd60e51b815260206004820152601460248201527f4465706f736974206e6f742072657665616c656400000000000000000000000060448201526064016102c7565b611c20816040015161121e919061288c565b63ffffffff1642116112725760405162461bcd60e51b815260206004820181905260248201527f4465706f736974206d696e20616765206e6f742061636869657665642079657460448201526064016102c7565b60a081015163ffffffff16156112ca5760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c7265616479207377657074000000000000000000000060448201526064016102c7565b6112d98482600001518561175e565b608083015160e881901c62ff00ff1663ff00ff0060d89290921c9190911617601081811c91901b1761130e62015180826128b0565b63ffffffff1642106113885760405162461bcd60e51b815260206004820152602d60248201527f4465706f73697420726566756e6420736166657479206d617267696e2069732060448201527f6e6f74207072657365727665640000000000000000000000000000000000000060648201526084016102c7565b61139560208d018d6124a4565b6bffffffffffffffffffffffff191684604001516bffffffffffffffffffffffff19161461142b5760405162461bcd60e51b815260206004820152602660248201527f4465706f73697420636f6e74726f6c6c656420627920646966666572656e742060448201527f77616c6c6574000000000000000000000000000000000000000000000000000060648201526084016102c7565b8560000361143b57816060015197505b876001600160a01b031682606001516001600160a01b0316146114a05760405162461bcd60e51b815260206004820152601f60248201527f4465706f736974207461726765747320646966666572656e74207661756c740060448201526064016102c7565b60005b8681101561152557838882815181106114be576114be612788565b6020026020010151036115135760405162461bcd60e51b815260206004820152601260248201527f4475706c696361746564206465706f736974000000000000000000000000000060448201526064016102c7565b8061151d816128e0565b9150506114a3565b508287878151811061153957611539612788565b60200260200101818152505050505050508080611555906128e0565b915050611045565b506001925050505b9392505050565b600061158361157e602084018461279e565b6119bc565b6115cf5760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420612076616c696420686561727462656174206d65737361676500000060448201526064016102c7565b506001919050565b600082116116375760405162461bcd60e51b815260206004820152602760248201527f50726f706f736564207472616e73616374696f6e206665652063616e6e6f74206044820152666265207a65726f60c81b60648201526084016102c7565b60006116438284612737565b90506000826116528386612761565b61165c9190612774565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa1580156116be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e29190612d4f565b5092505067ffffffffffffffff821690506116fd84846128cd565b11156117575760405162461bcd60e51b8152602060048201526024808201527f50726f706f736564207472616e73616374696f6e2066656520697320746f6f206044820152630d0d2ced60e31b60648201526084016102c7565b5050505050565b8051805160208083015160408085015160609095015190516000956117a09561178c95909493919201612dd5565b604051602081830303815290604052611a46565b845190915081146118195760405162461bcd60e51b815260206004820152602960248201527f457874726120696e666f2066756e64696e67207478206861736820646f65732060448201527f6e6f74206d61746368000000000000000000000000000000000000000000000060648201526084016102c7565b6000838360200151846040015185606001518660800151604051602001611844959493929190612e0b565b6040516020818303038152906040529050600061187c866020015163ffffffff16856000015160400151611a6d90919063ffffffff16565b9050600061188982611c4f565b9050805160141480156118cb57506118a083611c69565b6bffffffffffffffffffffffff19166118ba826000611c90565b6bffffffffffffffffffffffff1916145b156118d95750505050505050565b8051602014801561194057506002836040516118f591906130a0565b602060405180830381855afa158015611912573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061193591906130ac565b61193e82611c9f565b145b1561194e5750505050505050565b60405162461bcd60e51b815260206004820152602f60248201527f457874726120696e666f2066756e64696e67206f75747075742073637269707460448201527f20646f6573206e6f74206d61746368000000000000000000000000000000000060648201526084016102c7565b6000601082146119ce57506000611a40565b611a12600084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050611c909050565b77ffffffffffffffffffffffffffffffffffffffffffffffff1990811614611a3c57506000611a40565b5060015b92915050565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b6060600080611a7b85611cba565b909250905060018201611af65760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e6700000000000000000000000000000000000000000000000000000000000060648201526084016102c7565b808410611b455760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016102c7565b600080611b538460016128cd565b905060005b86811015611bdb57611b6a8883611cd1565b92506000198303611bbd5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016102c7565b611bc783836128cd565b915080611bd3816128e0565b915050611b58565b50611be68782611cd1565b91506000198203611c395760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016102c7565b611c44878284611d3e565b979650505050505050565b6060611a40826008808551611c649190612761565b611e0b565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b60006115658383016020015190565b60008151600003611cb257506000919050565b506020015190565b600080611cc8836000612110565b91509150915091565b6000611cde8260096128cd565b83511015611cef5750600019611a40565b600080611d0685611d018660086128cd565b612110565b909250905060018201611d1f5760001992505050611a40565b80611d2b8360096128cd565b611d3591906128cd565b95945050505050565b606081600003611d5d5750604080516020810190915260008152611565565b6000611d6983856128cd565b90508381118015611d7b575080855110155b611dc75760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016102c7565b604051915082604083010160405282825283850182038460208701018481015b80821015611e0057815183830152602082019150611de7565b505050509392505050565b60606000848481518110611e2157611e21612788565b016020015160f81c905082611e378260016130c5565b60ff1614611e55575050604080516020810190915260008152611565565b84611e618560016128cd565b81518110611e7157611e71612788565b016020015160f81c600003611f305760028160ff161015611ea2575050604080516020810190915260008152611565565b600085611eb08660026128cd565b81518110611ec057611ec0612788565b016020015160f81c9050611ed56002836130de565b60ff1681141580611ef3575080602014158015611ef3575080601414155b15611f11576040518060200160405280600081525092505050611565565b611f27611f1f8660036128cd565b879083611d3e565b92505050611565565b6000611f3c8686611c90565b90507fffffff000000000000000000000000000000000000000000000000000000000081167f1976a90000000000000000000000000000000000000000000000000000000000036120505785611f938660036128cd565b81518110611fa357611fa3612788565b60209101015160f81c601414158061201b5750611fd66002611fc586886128cd565b611fcf9190612761565b8790611c90565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b15612039576040518060200160405280600081525092505050611565565b611f276120478660046128cd565b87906014611d3e565b7fffffff000000000000000000000000000000000000000000000000000000000081167f17a9140000000000000000000000000000000000000000000000000000000000036120f7578560016120a686886128cd565b6120b09190612761565b815181106120c0576120c0612788565b60209101015160f81c6087146120e9576040518060200160405280600081525092505050611565565b611f276120478660036128cd565b5050506040805160208101909152600081529392505050565b600080600061211f85856122b4565b90508060ff1660000361215457600085858151811061214057612140612788565b016020015190935060f81c91506122ad9050565b836121608260016130c5565b60ff1661216d91906128cd565b8551101561218457600019600092509250506122ad565b60008160ff166002036121c8576121bd6121a96121a28760016128cd565b8890611c90565b62ffff0060e882901c1660f89190911c1790565b61ffff1690506122a3565b8160ff166004036122175761220a6121e46121a28760016128cd565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b63ffffffff1690506122a3565b8160ff166008036122a3576122966122336121a28760016128cd565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b60008282815181106122c8576122c8612788565b016020015160f81c60ff036122df57506008611a40565b8282815181106122f1576122f1612788565b016020015160f81c60fe0361230857506004611a40565b82828151811061231a5761231a612788565b016020015160f81c60fd0361233157506002611a40565b50600092915050565b60006060828403121561234c57600080fd5b50919050565b60006020828403121561236457600080fd5b813567ffffffffffffffff81111561237b57600080fd5b6123878482850161233a565b949350505050565b6000806000604084860312156123a457600080fd5b833567ffffffffffffffff808211156123bc57600080fd5b90850190608082880312156123d057600080fd5b909350602085013590808211156123e657600080fd5b818601915086601f8301126123fa57600080fd5b81358181111561240957600080fd5b8760208260051b850101111561241e57600080fd5b6020830194508093505050509250925092565b60006020828403121561244357600080fd5b813567ffffffffffffffff81111561245a57600080fd5b82016040818503121561156557600080fd5b634e487b7160e01b600052602160045260246000fd5b80356bffffffffffffffffffffffff198116811461249f57600080fd5b919050565b6000602082840312156124b657600080fd5b61156582612482565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156124f9576124f96124bf565b60405290565b60405160a0810167ffffffffffffffff811182821017156124f9576124f96124bf565b6040516080810167ffffffffffffffff811182821017156124f9576124f96124bf565b805167ffffffffffffffff8116811461249f57600080fd5b63ffffffff8116811461256f57600080fd5b50565b805161249f8161255d565b80516006811061249f57600080fd5b6000610120828403121561259f57600080fd5b6125a76124d5565b82518152602083015160208201526125c160408401612545565b60408201526125d260608401612572565b60608201526125e360808401612572565b60808201526125f460a08401612572565b60a082015261260560c08401612572565b60c082015261261660e0840161257d565b60e0820152610100928301519281019290925250919050565b6000808335601e1984360301811261264657600080fd5b83018035915067ffffffffffffffff82111561266157600080fd5b6020019150600581901b36038213156122ad57600080fd5b80516bffffffffffffffffffffffff8116811461249f57600080fd5b600080600080600080600060e0888a0312156126b057600080fd5b6126b988612545565b96506126c760208901612545565b95506126d560408901612545565b94506126e360608901612545565b935060808801516126f38161255d565b925061270160a08901612679565b915060c08801516127118161255d565b8091505092959891949750929550565b634e487b7160e01b600052601260045260246000fd5b60008261274657612746612721565b500690565b634e487b7160e01b600052601160045260246000fd5b81810381811115611a4057611a4061274b565b60008261278357612783612721565b500490565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126127b557600080fd5b83018035915067ffffffffffffffff8211156127d057600080fd5b6020019150368190038213156122ad57600080fd5b80516001600160a01b038116811461249f57600080fd5b600060a0828403121561280e57600080fd5b60405160a0810181811067ffffffffffffffff82111715612831576128316124bf565b60405261283d836127e5565b815261284b60208401612545565b602082015261285c60408401612545565b604082015261286d60608401612545565b606082015260808301516128808161255d565b60808201529392505050565b63ffffffff8181168382160190808211156128a9576128a961274b565b5092915050565b63ffffffff8281168282160390808211156128a9576128a961274b565b80820180821115611a4057611a4061274b565b6000600182016128f2576128f261274b565b5060010190565b60008184825b85811015612934576bffffffffffffffffffffffff1961291e83612482565b16835260209283019291909101906001016128ff565b509095945050505050565b60008060008060008060008060008060006101608c8e03121561296157600080fd5b61296a8c612545565b9a5061297860208d01612545565b995060408c01516129888161255d565b60608d01519099506129998161255d565b97506129a760808d01612679565b965060a08c01516129b78161255d565b60c08d015190965061ffff811681146129cf57600080fd5b94506129dd60e08d01612545565b93506129ec6101008d01612572565b92506129fb6101208d01612679565b9150612a0a6101408d01612572565b90509295989b509295989b9093969950565b6000808335601e19843603018112612a3357600080fd5b83018035915067ffffffffffffffff821115612a4e57600080fd5b6020019150600681901b36038213156122ad57600080fd5b600060408284031215612a7857600080fd5b6040516040810181811067ffffffffffffffff82111715612a9b57612a9b6124bf565b604052823581526020830135612ab08161255d565b60208201529392505050565b60008235609e19833603018112612ad257600080fd5b9190910192915050565b80356001600160e01b03198116811461249f57600080fd5b600082601f830112612b0557600080fd5b813567ffffffffffffffff80821115612b2057612b206124bf565b604051601f8301601f19908116603f01168101908282118183101715612b4857612b486124bf565b81604052838152866020858801011115612b6157600080fd5b836020870160208301376000602085830101528094505050505092915050565b803577ffffffffffffffffffffffffffffffffffffffffffffffff198116811461249f57600080fd5b600060a08236031215612bbc57600080fd5b612bc46124ff565b823567ffffffffffffffff80821115612bdc57600080fd5b818501915060808236031215612bf157600080fd5b612bf9612522565b612c0283612adc565b8152602083013582811115612c1657600080fd5b612c2236828601612af4565b602083015250604083013582811115612c3a57600080fd5b612c4636828601612af4565b604083015250612c5860608401612adc565b6060820152835250612c6e905060208401612b81565b6020820152612c7f60408401612482565b6040820152612c9060608401612482565b6060820152612ca160808401612adc565b608082015292915050565b600060c08284031215612cbe57600080fd5b60405160c0810181811067ffffffffffffffff82111715612ce157612ce16124bf565b604052612ced836127e5565b8152612cfb60208401612545565b60208201526040830151612d0e8161255d565b6040820152612d1f606084016127e5565b6060820152612d3060808401612545565b608082015260a0830151612d438161255d565b60a08201529392505050565b60008060008060808587031215612d6557600080fd5b612d6e85612545565b9350612d7c60208601612545565b9250612d8a60408601612545565b91506060850151612d9a8161255d565b939692955090935050565b6000815160005b81811015612dc65760208185018101518683015201612dac565b50600093019283525090919050565b60006001600160e01b03198087168352612dfb612df56004850188612da5565b86612da5565b9316835250506004019392505050565b600560fa1b8152606086901b6bffffffffffffffffffffffff19166001820152607560f81b60158201527f0800000000000000000000000000000000000000000000000000000000000000601682015277ffffffffffffffffffffffffffffffffffffffffffffffff1985166017820152607560f81b601f8201526000612ef5612ee8612ebf602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6bffffffffffffffffffffffff19861681527f870000000000000000000000000000000000000000000000000000000000000060148201527f63000000000000000000000000000000000000000000000000000000000000006015820152612fb9612ee8612ebf612e96612f90601686015b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6bffffffffffffffffffffffff19861681527f880000000000000000000000000000000000000000000000000000000000000060148201527f040000000000000000000000000000000000000000000000000000000000000060158201529050601681016001600160e01b0319851681527fb1000000000000000000000000000000000000000000000000000000000000006004820152607560f81b6005820152905061309461306b60068301612f67565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b60006115658284612da5565b6000602082840312156130be57600080fd5b5051919050565b60ff8181168382160190811115611a4057611a4061274b565b60ff8281168282160390811115611a4057611a4061274b56fea26469706673582212201dd9537d63434fee66c03d8282ff19d008b93f39a71471a38538c7560f90e2d064736f6c63430008110033",
320
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c8063765f28f911610081578063e0276b261161005b578063e0276b2614610144578063e78cea9214610168578063f03a4bc5146101a757600080fd5b8063765f28f91461013a578063996a756b14610144578063d09520f71461015f57600080fd5b806322e2c371116100b257806322e2c371146101145780636b562cec146100ce5780637405d7bf1461012757600080fd5b80630538ac1b146100ce5780630fde6c76146100f1575b600080fd5b6100d7611c2081565b60405163ffffffff90911681526020015b60405180910390f35b6101046100ff366004612352565b6101ba565b60405190151581526020016100e8565b610104610122366004612352565b6109b6565b61010461013536600461238f565b610d7f565b6100d76201518081565b61014c601481565b60405161ffff90911681526020016100e8565b6100d761025881565b61018f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e8565b6101046101b5366004612431565b61156c565b600060016001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663e65e19d56101fa60208601866124a4565b6040516001600160e01b031960e084901b1681526bffffffffffffffffffffffff19909116600482015260240161012060405180830381865afa158015610245573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610269919061258c565b60e00151600581111561027e5761027e61246c565b146102d05760405162461bcd60e51b815260206004820152601b60248201527f57616c6c6574206973206e6f7420696e204c697665207374617465000000000060448201526064015b60405180910390fd5b60006102df602084018461262f565b9150508061032f5760405162461bcd60e51b815260206004820152601d60248201527f526564656d7074696f6e2062656c6f7720746865206d696e2073697a6500000060448201526064016102c7565b60148111156103805760405162461bcd60e51b815260206004820152601f60248201527f526564656d7074696f6e206578636565647320746865206d61782073697a650060448201526064016102c7565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636e70ce416040518163ffffffff1660e01b815260040160e060405180830381865afa1580156103e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104059190612695565b50509450945050505060008560400135116104725760405162461bcd60e51b815260206004820152602760248201527f50726f706f736564207472616e73616374696f6e206665652063616e6e6f74206044820152666265207a65726f60c81b60648201526084016102c7565b8167ffffffffffffffff16856040013511156104dc5760405162461bcd60e51b8152602060048201526024808201527f50726f706f736564207472616e73616374696f6e2066656520697320746f6f206044820152630d0d2ced60e31b60648201526084016102c7565b60006104ec846040880135612737565b90506000846104ff8360408a0135612761565b6105099190612774565b905060008567ffffffffffffffff811115610526576105266124bf565b60405190808252806020026020018201604052801561054f578160200160208202803683370190505b50905060005b868110156109a757600061056c60208b018b61262f565b8381811061057c5761057c612788565b905060200281019061058e919061279e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508451602080870191909120959650909493506105df92508e0190508d6124a4565b6040516020016106089291909182526bffffffffffffffffffffffff1916602082015260340190565b60408051808303601f190181529082905280516020909101207f03d952f70000000000000000000000000000000000000000000000000000000082526004820181905291506000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906303d952f79060240160a060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c591906127fc565b9050806080015163ffffffff166000036107215760405162461bcd60e51b815260206004820181905260248201527f4e6f7420612070656e64696e6720726564656d7074696f6e207265717565737460448201526064016102c7565b6102588160800151610733919061288c565b63ffffffff1642116107ad5760405162461bcd60e51b815260206004820152602b60248201527f526564656d7074696f6e2072657175657374206d696e20616765206e6f74206160448201527f636869657665642079657400000000000000000000000000000000000000000060648201526084016102c7565b60008882608001516107bf919061288c565b90506107cd611c20826128b0565b63ffffffff1642106108475760405162461bcd60e51b815260206004820152603960248201527f526564656d7074696f6e20726571756573742074696d656f757420736166657460448201527f79206d617267696e206973206e6f74207072657365727665640000000000000060648201526084016102c7565b8661085360018d612761565b86036108665761086389826128cd565b90505b826060015167ffffffffffffffff168111156108ea5760405162461bcd60e51b815260206004820152603660248201527f50726f706f736564207472616e73616374696f6e207065722d7265717565737460448201527f2066656520736861726520697320746f6f20686967680000000000000000000060648201526084016102c7565b60005b8681101561096f578488828151811061090857610908612788565b60200260200101510361095d5760405162461bcd60e51b815260206004820152601260248201527f4475706c6963617465642072657175657374000000000000000000000000000060448201526064016102c7565b80610967816128e0565b9150506108ed565b508387878151811061098357610983612788565b6020026020010181815250505050505050808061099f906128e0565b915050610555565b50600198975050505050505050565b6000806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663e65e19d56109f560208601866124a4565b6040516001600160e01b031960e084901b1681526bffffffffffffffffffffffff19909116600482015260240161012060405180830381865afa158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a64919061258c565b905060028160e001516005811115610a7e57610a7e61246c565b14610af15760405162461bcd60e51b815260206004820152602960248201527f536f757263652077616c6c6574206973206e6f7420696e204d6f76696e67467560448201527f6e6473207374617465000000000000000000000000000000000000000000000060648201526084016102c7565b610100810151610b695760405162461bcd60e51b815260206004820152602a60248201527f5461726765742077616c6c65747320636f6d6d69746d656e74206973206e6f7460448201527f207375626d69747465640000000000000000000000000000000000000000000060648201526084016102c7565b610b76602084018461262f565b604051602001610b879291906128f9565b6040516020818303038152906040528051906020012081610100015114610c165760405162461bcd60e51b815260206004820152603a60248201527f5461726765742077616c6c65747320646f206e6f74206d61746368207461726760448201527f65742077616c6c65747320636f6d6d69746d656e74206861736800000000000060648201526084016102c7565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663be05abe36040518163ffffffff1660e01b815260040161016060405180830381865afa158015610c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9b919061293f565b5050505050505050505090506000846040013511610d0b5760405162461bcd60e51b815260206004820152602760248201527f50726f706f736564207472616e73616374696f6e206665652063616e6e6f74206044820152666265207a65726f60c81b60648201526084016102c7565b8067ffffffffffffffff1684604001351115610d755760405162461bcd60e51b8152602060048201526024808201527f50726f706f736564207472616e73616374696f6e2066656520697320746f6f206044820152630d0d2ced60e31b60648201526084016102c7565b5060019392505050565b600060016001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663e65e19d5610dbf60208801886124a4565b6040516001600160e01b031960e084901b1681526bffffffffffffffffffffffff19909116600482015260240161012060405180830381865afa158015610e0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2e919061258c565b60e001516005811115610e4357610e4361246c565b14610e905760405162461bcd60e51b815260206004820152601b60248201527f57616c6c6574206973206e6f7420696e204c697665207374617465000000000060448201526064016102c7565b6000610e9f6020860186612a1c565b905011610eee5760405162461bcd60e51b815260206004820152601860248201527f53776565702062656c6f7720746865206d696e2073697a65000000000000000060448201526064016102c7565b6014610efd6020860186612a1c565b90501115610f4d5760405162461bcd60e51b815260206004820152601a60248201527f5377656570206578636565647320746865206d61782073697a6500000000000060448201526064016102c7565b81610f5b6020860186612a1c565b905014610fd05760405162461bcd60e51b815260206004820152602e60248201527f45616368206465706f736974206b6579206d7573742068617665206d6174636860448201527f696e67206578747261206461746100000000000000000000000000000000000060648201526084016102c7565b610fec6040850135610fe56020870187612a1c565b90506115d7565b600080610ffc6020870187612a1c565b905067ffffffffffffffff811115611016576110166124bf565b60405190808252806020026020018201604052801561103f578160200160208202803683370190505b50905060005b6110526020880188612a1c565b905081101561155d57600061106a6020890189612a1c565b8381811061107a5761107a612788565b9050604002018036038101906110909190612a66565b905060008787848181106110a6576110a6612788565b90506020028101906110b89190612abc565b6110c190612baa565b82516020808501516040519394506000936110f393920191825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529082905280516020909101207fb02c43d00000000000000000000000000000000000000000000000000000000082526004820181905291506000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b02c43d09060240160c060405180830381865afa15801561118c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b09190612cac565b9050806040015163ffffffff1660000361120c5760405162461bcd60e51b815260206004820152601460248201527f4465706f736974206e6f742072657665616c656400000000000000000000000060448201526064016102c7565b611c20816040015161121e919061288c565b63ffffffff1642116112725760405162461bcd60e51b815260206004820181905260248201527f4465706f736974206d696e20616765206e6f742061636869657665642079657460448201526064016102c7565b60a081015163ffffffff16156112ca5760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c7265616479207377657074000000000000000000000060448201526064016102c7565b6112d98482600001518561175e565b608083015160e881901c62ff00ff1663ff00ff0060d89290921c9190911617601081811c91901b1761130e62015180826128b0565b63ffffffff1642106113885760405162461bcd60e51b815260206004820152602d60248201527f4465706f73697420726566756e6420736166657479206d617267696e2069732060448201527f6e6f74207072657365727665640000000000000000000000000000000000000060648201526084016102c7565b61139560208d018d6124a4565b6bffffffffffffffffffffffff191684604001516bffffffffffffffffffffffff19161461142b5760405162461bcd60e51b815260206004820152602660248201527f4465706f73697420636f6e74726f6c6c656420627920646966666572656e742060448201527f77616c6c6574000000000000000000000000000000000000000000000000000060648201526084016102c7565b8560000361143b57816060015197505b876001600160a01b031682606001516001600160a01b0316146114a05760405162461bcd60e51b815260206004820152601f60248201527f4465706f736974207461726765747320646966666572656e74207661756c740060448201526064016102c7565b60005b8681101561152557838882815181106114be576114be612788565b6020026020010151036115135760405162461bcd60e51b815260206004820152601260248201527f4475706c696361746564206465706f736974000000000000000000000000000060448201526064016102c7565b8061151d816128e0565b9150506114a3565b508287878151811061153957611539612788565b60200260200101818152505050505050508080611555906128e0565b915050611045565b506001925050505b9392505050565b600061158361157e602084018461279e565b6119bc565b6115cf5760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420612076616c696420686561727462656174206d65737361676500000060448201526064016102c7565b506001919050565b600082116116375760405162461bcd60e51b815260206004820152602760248201527f50726f706f736564207472616e73616374696f6e206665652063616e6e6f74206044820152666265207a65726f60c81b60648201526084016102c7565b60006116438284612737565b90506000826116528386612761565b61165c9190612774565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa1580156116be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e29190612d4f565b5092505067ffffffffffffffff821690506116fd84846128cd565b11156117575760405162461bcd60e51b8152602060048201526024808201527f50726f706f736564207472616e73616374696f6e2066656520697320746f6f206044820152630d0d2ced60e31b60648201526084016102c7565b5050505050565b8051805160208083015160408085015160609095015190516000956117a09561178c95909493919201612dd5565b604051602081830303815290604052611a46565b845190915081146118195760405162461bcd60e51b815260206004820152602960248201527f457874726120696e666f2066756e64696e67207478206861736820646f65732060448201527f6e6f74206d61746368000000000000000000000000000000000000000000000060648201526084016102c7565b6000838360200151846040015185606001518660800151604051602001611844959493929190612e0b565b6040516020818303038152906040529050600061187c866020015163ffffffff16856000015160400151611a6d90919063ffffffff16565b9050600061188982611c4f565b9050805160141480156118cb57506118a083611c69565b6bffffffffffffffffffffffff19166118ba826000611c90565b6bffffffffffffffffffffffff1916145b156118d95750505050505050565b8051602014801561194057506002836040516118f591906130a0565b602060405180830381855afa158015611912573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061193591906130ac565b61193e82611c9f565b145b1561194e5750505050505050565b60405162461bcd60e51b815260206004820152602f60248201527f457874726120696e666f2066756e64696e67206f75747075742073637269707460448201527f20646f6573206e6f74206d61746368000000000000000000000000000000000060648201526084016102c7565b6000601082146119ce57506000611a40565b611a12600084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050611c909050565b77ffffffffffffffffffffffffffffffffffffffffffffffff1990811614611a3c57506000611a40565b5060015b92915050565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b6060600080611a7b85611cba565b909250905060018201611af65760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e6700000000000000000000000000000000000000000000000000000000000060648201526084016102c7565b808410611b455760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016102c7565b600080611b538460016128cd565b905060005b86811015611bdb57611b6a8883611cd1565b92506000198303611bbd5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016102c7565b611bc783836128cd565b915080611bd3816128e0565b915050611b58565b50611be68782611cd1565b91506000198203611c395760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016102c7565b611c44878284611d3e565b979650505050505050565b6060611a40826008808551611c649190612761565b611e0b565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b60006115658383016020015190565b60008151600003611cb257506000919050565b506020015190565b600080611cc8836000612110565b91509150915091565b6000611cde8260096128cd565b83511015611cef5750600019611a40565b600080611d0685611d018660086128cd565b612110565b909250905060018201611d1f5760001992505050611a40565b80611d2b8360096128cd565b611d3591906128cd565b95945050505050565b606081600003611d5d5750604080516020810190915260008152611565565b6000611d6983856128cd565b90508381118015611d7b575080855110155b611dc75760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016102c7565b604051915082604083010160405282825283850182038460208701018481015b80821015611e0057815183830152602082019150611de7565b505050509392505050565b60606000848481518110611e2157611e21612788565b016020015160f81c905082611e378260016130c5565b60ff1614611e55575050604080516020810190915260008152611565565b84611e618560016128cd565b81518110611e7157611e71612788565b016020015160f81c600003611f305760028160ff161015611ea2575050604080516020810190915260008152611565565b600085611eb08660026128cd565b81518110611ec057611ec0612788565b016020015160f81c9050611ed56002836130de565b60ff1681141580611ef3575080602014158015611ef3575080601414155b15611f11576040518060200160405280600081525092505050611565565b611f27611f1f8660036128cd565b879083611d3e565b92505050611565565b6000611f3c8686611c90565b90507fffffff000000000000000000000000000000000000000000000000000000000081167f1976a90000000000000000000000000000000000000000000000000000000000036120505785611f938660036128cd565b81518110611fa357611fa3612788565b60209101015160f81c601414158061201b5750611fd66002611fc586886128cd565b611fcf9190612761565b8790611c90565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b15612039576040518060200160405280600081525092505050611565565b611f276120478660046128cd565b87906014611d3e565b7fffffff000000000000000000000000000000000000000000000000000000000081167f17a9140000000000000000000000000000000000000000000000000000000000036120f7578560016120a686886128cd565b6120b09190612761565b815181106120c0576120c0612788565b60209101015160f81c6087146120e9576040518060200160405280600081525092505050611565565b611f276120478660036128cd565b5050506040805160208101909152600081529392505050565b600080600061211f85856122b4565b90508060ff1660000361215457600085858151811061214057612140612788565b016020015190935060f81c91506122ad9050565b836121608260016130c5565b60ff1661216d91906128cd565b8551101561218457600019600092509250506122ad565b60008160ff166002036121c8576121bd6121a96121a28760016128cd565b8890611c90565b62ffff0060e882901c1660f89190911c1790565b61ffff1690506122a3565b8160ff166004036122175761220a6121e46121a28760016128cd565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b63ffffffff1690506122a3565b8160ff166008036122a3576122966122336121a28760016128cd565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b60008282815181106122c8576122c8612788565b016020015160f81c60ff036122df57506008611a40565b8282815181106122f1576122f1612788565b016020015160f81c60fe0361230857506004611a40565b82828151811061231a5761231a612788565b016020015160f81c60fd0361233157506002611a40565b50600092915050565b60006060828403121561234c57600080fd5b50919050565b60006020828403121561236457600080fd5b813567ffffffffffffffff81111561237b57600080fd5b6123878482850161233a565b949350505050565b6000806000604084860312156123a457600080fd5b833567ffffffffffffffff808211156123bc57600080fd5b90850190608082880312156123d057600080fd5b909350602085013590808211156123e657600080fd5b818601915086601f8301126123fa57600080fd5b81358181111561240957600080fd5b8760208260051b850101111561241e57600080fd5b6020830194508093505050509250925092565b60006020828403121561244357600080fd5b813567ffffffffffffffff81111561245a57600080fd5b82016040818503121561156557600080fd5b634e487b7160e01b600052602160045260246000fd5b80356bffffffffffffffffffffffff198116811461249f57600080fd5b919050565b6000602082840312156124b657600080fd5b61156582612482565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156124f9576124f96124bf565b60405290565b60405160a0810167ffffffffffffffff811182821017156124f9576124f96124bf565b6040516080810167ffffffffffffffff811182821017156124f9576124f96124bf565b805167ffffffffffffffff8116811461249f57600080fd5b63ffffffff8116811461256f57600080fd5b50565b805161249f8161255d565b80516006811061249f57600080fd5b6000610120828403121561259f57600080fd5b6125a76124d5565b82518152602083015160208201526125c160408401612545565b60408201526125d260608401612572565b60608201526125e360808401612572565b60808201526125f460a08401612572565b60a082015261260560c08401612572565b60c082015261261660e0840161257d565b60e0820152610100928301519281019290925250919050565b6000808335601e1984360301811261264657600080fd5b83018035915067ffffffffffffffff82111561266157600080fd5b6020019150600581901b36038213156122ad57600080fd5b80516bffffffffffffffffffffffff8116811461249f57600080fd5b600080600080600080600060e0888a0312156126b057600080fd5b6126b988612545565b96506126c760208901612545565b95506126d560408901612545565b94506126e360608901612545565b935060808801516126f38161255d565b925061270160a08901612679565b915060c08801516127118161255d565b8091505092959891949750929550565b634e487b7160e01b600052601260045260246000fd5b60008261274657612746612721565b500690565b634e487b7160e01b600052601160045260246000fd5b81810381811115611a4057611a4061274b565b60008261278357612783612721565b500490565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126127b557600080fd5b83018035915067ffffffffffffffff8211156127d057600080fd5b6020019150368190038213156122ad57600080fd5b80516001600160a01b038116811461249f57600080fd5b600060a0828403121561280e57600080fd5b60405160a0810181811067ffffffffffffffff82111715612831576128316124bf565b60405261283d836127e5565b815261284b60208401612545565b602082015261285c60408401612545565b604082015261286d60608401612545565b606082015260808301516128808161255d565b60808201529392505050565b63ffffffff8181168382160190808211156128a9576128a961274b565b5092915050565b63ffffffff8281168282160390808211156128a9576128a961274b565b80820180821115611a4057611a4061274b565b6000600182016128f2576128f261274b565b5060010190565b60008184825b85811015612934576bffffffffffffffffffffffff1961291e83612482565b16835260209283019291909101906001016128ff565b509095945050505050565b60008060008060008060008060008060006101608c8e03121561296157600080fd5b61296a8c612545565b9a5061297860208d01612545565b995060408c01516129888161255d565b60608d01519099506129998161255d565b97506129a760808d01612679565b965060a08c01516129b78161255d565b60c08d015190965061ffff811681146129cf57600080fd5b94506129dd60e08d01612545565b93506129ec6101008d01612572565b92506129fb6101208d01612679565b9150612a0a6101408d01612572565b90509295989b509295989b9093969950565b6000808335601e19843603018112612a3357600080fd5b83018035915067ffffffffffffffff821115612a4e57600080fd5b6020019150600681901b36038213156122ad57600080fd5b600060408284031215612a7857600080fd5b6040516040810181811067ffffffffffffffff82111715612a9b57612a9b6124bf565b604052823581526020830135612ab08161255d565b60208201529392505050565b60008235609e19833603018112612ad257600080fd5b9190910192915050565b80356001600160e01b03198116811461249f57600080fd5b600082601f830112612b0557600080fd5b813567ffffffffffffffff80821115612b2057612b206124bf565b604051601f8301601f19908116603f01168101908282118183101715612b4857612b486124bf565b81604052838152866020858801011115612b6157600080fd5b836020870160208301376000602085830101528094505050505092915050565b803577ffffffffffffffffffffffffffffffffffffffffffffffff198116811461249f57600080fd5b600060a08236031215612bbc57600080fd5b612bc46124ff565b823567ffffffffffffffff80821115612bdc57600080fd5b818501915060808236031215612bf157600080fd5b612bf9612522565b612c0283612adc565b8152602083013582811115612c1657600080fd5b612c2236828601612af4565b602083015250604083013582811115612c3a57600080fd5b612c4636828601612af4565b604083015250612c5860608401612adc565b6060820152835250612c6e905060208401612b81565b6020820152612c7f60408401612482565b6040820152612c9060608401612482565b6060820152612ca160808401612adc565b608082015292915050565b600060c08284031215612cbe57600080fd5b60405160c0810181811067ffffffffffffffff82111715612ce157612ce16124bf565b604052612ced836127e5565b8152612cfb60208401612545565b60208201526040830151612d0e8161255d565b6040820152612d1f606084016127e5565b6060820152612d3060808401612545565b608082015260a0830151612d438161255d565b60a08201529392505050565b60008060008060808587031215612d6557600080fd5b612d6e85612545565b9350612d7c60208601612545565b9250612d8a60408601612545565b91506060850151612d9a8161255d565b939692955090935050565b6000815160005b81811015612dc65760208185018101518683015201612dac565b50600093019283525090919050565b60006001600160e01b03198087168352612dfb612df56004850188612da5565b86612da5565b9316835250506004019392505050565b600560fa1b8152606086901b6bffffffffffffffffffffffff19166001820152607560f81b60158201527f0800000000000000000000000000000000000000000000000000000000000000601682015277ffffffffffffffffffffffffffffffffffffffffffffffff1985166017820152607560f81b601f8201526000612ef5612ee8612ebf602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6bffffffffffffffffffffffff19861681527f870000000000000000000000000000000000000000000000000000000000000060148201527f63000000000000000000000000000000000000000000000000000000000000006015820152612fb9612ee8612ebf612e96612f90601686015b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6bffffffffffffffffffffffff19861681527f880000000000000000000000000000000000000000000000000000000000000060148201527f040000000000000000000000000000000000000000000000000000000000000060158201529050601681016001600160e01b0319851681527fb1000000000000000000000000000000000000000000000000000000000000006004820152607560f81b6005820152905061309461306b60068301612f67565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b60006115658284612da5565b6000602082840312156130be57600080fd5b5051919050565b60ff8181168382160190811115611a4057611a4061274b565b60ff8281168282160390811115611a4057611a4061274b56fea26469706673582212201dd9537d63434fee66c03d8282ff19d008b93f39a71471a38538c7560f90e2d064736f6c63430008110033",
321
+ "linkReferences": {},
322
+ "deployedLinkReferences": {}
323
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c4339f1d03c92248ba145e4a93c303ef.json"
3
+ "buildInfo": "../../../build-info/7523a59f6a70339c3b3bb3a3dbc13d02.json"
4
4
  }