@keep-network/tbtc-v2 1.6.0-dev.21 → 1.6.0-dev.23

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 (133) hide show
  1. package/artifacts/BLS.json +1 -1
  2. package/artifacts/Bank.json +3 -3
  3. package/artifacts/BeaconAuthorization.json +1 -1
  4. package/artifacts/BeaconDkg.json +1 -1
  5. package/artifacts/BeaconDkgValidator.json +1 -1
  6. package/artifacts/BeaconInactivity.json +1 -1
  7. package/artifacts/BeaconSortitionPool.json +3 -3
  8. package/artifacts/Bridge.json +5 -5
  9. package/artifacts/BridgeGovernance.json +2 -2
  10. package/artifacts/BridgeGovernanceParameters.json +2 -2
  11. package/artifacts/Deposit.json +2 -2
  12. package/artifacts/DepositSweep.json +2 -2
  13. package/artifacts/DonationVault.json +3 -3
  14. package/artifacts/EcdsaDkgValidator.json +1 -1
  15. package/artifacts/EcdsaInactivity.json +1 -1
  16. package/artifacts/EcdsaSortitionPool.json +3 -3
  17. package/artifacts/Fraud.json +2 -2
  18. package/artifacts/LightRelay.json +18 -18
  19. package/artifacts/LightRelayMaintainerProxy.json +8 -8
  20. package/artifacts/MaintainerProxy.json +19 -19
  21. package/artifacts/MovingFunds.json +2 -2
  22. package/artifacts/NuCypherToken.json +2 -2
  23. package/artifacts/RandomBeacon.json +2 -2
  24. package/artifacts/RandomBeaconChaosnet.json +2 -2
  25. package/artifacts/RandomBeaconGovernance.json +2 -2
  26. package/artifacts/Redemption.json +2 -2
  27. package/artifacts/ReimbursementPool.json +2 -2
  28. package/artifacts/T.json +2 -2
  29. package/artifacts/TBTC.json +3 -3
  30. package/artifacts/TBTCToken.json +3 -3
  31. package/artifacts/TBTCVault.json +23 -23
  32. package/artifacts/TokenStaking.json +1 -1
  33. package/artifacts/TokenholderGovernor.json +9 -9
  34. package/artifacts/TokenholderTimelock.json +8 -8
  35. package/artifacts/VendingMachine.json +3 -3
  36. package/artifacts/VendingMachineNuCypher.json +1 -1
  37. package/artifacts/VendingMachineV2.json +3 -3
  38. package/artifacts/VendingMachineV3.json +3 -3
  39. package/artifacts/WalletProposalValidator.json +2 -2
  40. package/artifacts/WalletRegistry.json +5 -5
  41. package/artifacts/WalletRegistryGovernance.json +2 -2
  42. package/artifacts/Wallets.json +2 -2
  43. package/artifacts/solcInputs/{cb0913695c554a7e8ed64fcc9024fae5.json → a0304263b6d192d1bcaba971e9e959e7.json} +2 -2
  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 +1 -1
  64. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  65. package/build/contracts/integrator/AbstractTBTCDepositor.sol/AbstractTBTCDepositor.dbg.json +1 -1
  66. package/build/contracts/integrator/AbstractTBTCDepositor.sol/AbstractTBTCDepositor.json +0 -44
  67. package/build/contracts/integrator/IBridge.sol/IBridge.dbg.json +1 -1
  68. package/build/contracts/integrator/IBridge.sol/IBridgeTypes.dbg.json +1 -1
  69. package/build/contracts/integrator/ITBTCVault.sol/ITBTCVault.dbg.json +1 -1
  70. package/build/contracts/l2/L2TBTC.sol/L2TBTC.dbg.json +1 -1
  71. package/build/contracts/l2/L2WormholeGateway.sol/IWormholeTokenBridge.dbg.json +1 -1
  72. package/build/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.dbg.json +1 -1
  73. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +1 -1
  74. package/build/contracts/relay/LightRelay.sol/ILightRelay.dbg.json +1 -1
  75. package/build/contracts/relay/LightRelay.sol/LightRelay.dbg.json +1 -1
  76. package/build/contracts/relay/LightRelay.sol/RelayUtils.dbg.json +1 -1
  77. package/build/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.dbg.json +1 -1
  78. package/build/contracts/test/BankStub.sol/BankStub.dbg.json +1 -1
  79. package/build/contracts/test/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  80. package/build/contracts/test/HeartbeatStub.sol/HeartbeatStub.dbg.json +1 -1
  81. package/build/contracts/test/LightRelayStub.sol/LightRelayStub.dbg.json +1 -1
  82. package/build/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.dbg.json +1 -1
  83. package/build/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.dbg.json +1 -1
  84. package/build/contracts/test/SystemTestRelay.sol/SystemTestRelay.dbg.json +1 -1
  85. package/build/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.dbg.json +1 -1
  86. package/build/contracts/test/TestERC20.sol/TestERC20.dbg.json +1 -1
  87. package/build/contracts/test/TestERC721.sol/TestERC721.dbg.json +1 -1
  88. package/build/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.dbg.json +1 -1
  89. package/build/contracts/test/TestTBTCDepositor.sol/MockBridge.dbg.json +1 -1
  90. package/build/contracts/test/TestTBTCDepositor.sol/MockBridge.json +15 -2
  91. package/build/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.dbg.json +1 -1
  92. package/build/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.json +2 -2
  93. package/build/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.dbg.json +1 -1
  94. package/build/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.json +2 -46
  95. package/build/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.dbg.json +1 -1
  96. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  97. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
  98. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  99. package/build/contracts/vault/TBTCOptimisticMinting.sol/TBTCOptimisticMinting.dbg.json +1 -1
  100. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  101. package/contracts/integrator/AbstractTBTCDepositor.sol +0 -22
  102. package/contracts/test/TestTBTCDepositor.sol +7 -2
  103. package/export/artifacts/contracts/bridge/VendingMachine.sol/VendingMachine.json +6 -6
  104. package/export/artifacts/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.json +6 -6
  105. package/export/artifacts/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.json +6 -6
  106. package/export/artifacts/contracts/l2/L2TBTC.sol/L2TBTC.json +40 -40
  107. package/export/artifacts/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.json +47 -47
  108. package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +88 -88
  109. package/export/artifacts/contracts/relay/LightRelay.sol/LightRelay.json +57 -57
  110. package/export/artifacts/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.json +31 -31
  111. package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +2 -2
  112. package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +30 -30
  113. package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +2 -2
  114. package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +59 -59
  115. package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +7 -7
  116. package/export/artifacts/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.json +59 -59
  117. package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +14 -14
  118. package/export/artifacts/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.json +5 -5
  119. package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +6 -6
  120. package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +8 -8
  121. package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +2 -2
  122. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/MockBridge.json +103 -74
  123. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.json +25 -25
  124. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.json +935 -1260
  125. package/export/artifacts/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.json +37 -37
  126. package/export/artifacts/contracts/token/TBTC.sol/TBTC.json +2 -2
  127. package/export/artifacts/contracts/vault/DonationVault.sol/DonationVault.json +11 -11
  128. package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +135 -135
  129. package/export/typechain/factories/AbstractTBTCDepositor__factory.js +0 -44
  130. package/export/typechain/factories/MockBridge__factory.js +14 -1
  131. package/export/typechain/factories/MockTBTCVault__factory.js +1 -1
  132. package/export/typechain/factories/TestTBTCDepositor__factory.js +1 -45
  133. package/package.json +1 -1
@@ -177,6 +177,19 @@
177
177
  "stateMutability": "nonpayable",
178
178
  "type": "function"
179
179
  },
180
+ {
181
+ "inputs": [
182
+ {
183
+ "internalType": "uint64",
184
+ "name": "value",
185
+ "type": "uint64"
186
+ }
187
+ ],
188
+ "name": "setDepositDustThreshold",
189
+ "outputs": [],
190
+ "stateMutability": "nonpayable",
191
+ "type": "function"
192
+ },
180
193
  {
181
194
  "inputs": [
182
195
  {
@@ -217,8 +230,8 @@
217
230
  "type": "function"
218
231
  }
219
232
  ],
220
- "bytecode": "0x6080604052600180546001600160801b0319166903e8000000000000003217905534801561002c57600080fd5b50610fc38061003c6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063b036c1ee11610050578063b036c1ee14610218578063bc8d07ca1461026d578063c42b64d01461028057600080fd5b80630bce769d1461007757806386f01439146100ab578063b02c43d0146100be575b600080fd5b6100a9610085366004610d39565b6001805467ffffffffffffffff191667ffffffffffffffff92909216919091179055565b005b6100a96100b9366004610d63565b6102c1565b61018f6100cc366004610dcc565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091525060009081526020818152604091829020825160e08101845281546001600160a01b03808216835267ffffffffffffffff600160a01b80840482169685019690965263ffffffff600160e01b9384900481169785019790975260018501549182166060850152948104909416608083015290920490921660a082015260029091015460c082015290565b60405161020f9190600060e0820190506001600160a01b03808451168352602084015167ffffffffffffffff80821660208601526040860151915063ffffffff80831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505060c083015160c083015292915050565b60405180910390f35b6100a9610226366004610d39565b6001805467ffffffffffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff909216919091179055565b6100a961027b366004610dcc565b6105ff565b600154604080516000808252602082018190526801000000000000000090930467ffffffffffffffff1691810191909152606081019190915260800161020f565b60006103266102d36020860186610de5565b6102e06020870187610e0f565b6102ed6040890189610e0f565b6102fd60808b0160608c01610de5565b60405160200161031296959493929190610e56565b604051602081830303815290604052610718565b90506000816103386020860186610e98565b60405160200161035f92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120600081815292839052912054909150600160e01b900463ffffffff16156103e55760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c6564000000000000000060448201526064015b60405180910390fd5b60006104476103f76020870187610e98565b63ffffffff1661040a6040890189610e0f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061073f9050565b9050600061045482610923565b6040805160e0810182526000606082018190526080820181905260a080830182905260c08084019290925233835267ffffffffffffffff851660208401524263ffffffff1693830193909352929350916104b391908901908901610ebe565b6001600160a01b0316606082015260015467ffffffffffffffff166104d95760006104f0565b6001546104f09067ffffffffffffffff1683610efd565b67ffffffffffffffff90811660808301908152600060a0840181815260c085018a8152888352602083815260409384902087518154838a0151878b01516001600160a01b039384166001600160e01b031993841617600160a01b928c168302177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff908116600160e01b63ffffffff938416810291909117875560608e01516001880180549d519b51919097169c9095169b909b1798909b1690910296909617909816979094169095029590951790915551600290920191909155518581527f629cb19e19d844f2e8dd8aa5de26f5072bb49e6286c5206ebd7302da1dabc417910160405180910390a15050505050505050565b600081815260208190526040812054600160e01b900463ffffffff1690036106695760405162461bcd60e51b815260206004820152601460248201527f4465706f736974206e6f742072657665616c656400000000000000000000000060448201526064016103dc565b600081815260208190526040902060010154600160e01b900463ffffffff16156106d55760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c7265616479207377657074000000000000000000000060448201526064016103dc565b600090815260208190526040902060010180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b606060008061074d856109a2565b9092509050600182016107c85760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e6700000000000000000000000000000000000000000000000000000000000060648201526084016103dc565b8084106108175760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016103dc565b600080610825846001610f32565b905060005b868110156108ad5761083c88836109b9565b9250600019830361088f5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016103dc565b6108998383610f32565b9150806108a581610f45565b91505061082a565b506108b887826109b9565b9150600019820361090b5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016103dc565b610916878284610a26565b9450505050505b92915050565b60008061092f83610af4565b60c01c9050600061099a8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b949350505050565b6000806109b0836000610b00565b91509150915091565b60006109c6826009610f32565b835110156109d7575060001961091d565b6000806109ee856109e9866008610f32565b610b00565b909250905060018201610a07576000199250505061091d565b80610a13836009610f32565b610a1d9190610f32565b95945050505050565b606081600003610a455750604080516020810190915260008152610aed565b6000610a518385610f32565b90508381118015610a63575080855110155b610aaf5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016103dc565b604051915082604083010160405282825283850182038460208701018481015b80821015610ae857815183830152602082019150610acf565b505050505b9392505050565b600061091d8282610ca4565b6000806000610b0f8585610cb3565b90508060ff16600003610b44576000858581518110610b3057610b30610f5e565b016020015190935060f81c9150610c9d9050565b83610b50826001610f74565b60ff16610b5d9190610f32565b85511015610b745760001960009250925050610c9d565b60008160ff16600203610bb857610bad610b99610b92876001610f32565b8890610ca4565b62ffff0060e882901c1660f89190911c1790565b61ffff169050610c93565b8160ff16600403610c0757610bfa610bd4610b92876001610f32565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b63ffffffff169050610c93565b8160ff16600803610c9357610c86610c23610b92876001610f32565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b6000610aed8383016020015190565b6000828281518110610cc757610cc7610f5e565b016020015160f81c60ff03610cde5750600861091d565b828281518110610cf057610cf0610f5e565b016020015160f81c60fe03610d075750600461091d565b828281518110610d1957610d19610f5e565b016020015160f81c60fd03610d305750600261091d565b50600092915050565b600060208284031215610d4b57600080fd5b813567ffffffffffffffff81168114610aed57600080fd5b6000806000838503610100811215610d7a57600080fd5b843567ffffffffffffffff811115610d9157600080fd5b850160808188031215610da357600080fd5b935060c0601f1982011215610db757600080fd5b5060208401915060e084013590509250925092565b600060208284031215610dde57600080fd5b5035919050565b600060208284031215610df757600080fd5b81356001600160e01b031981168114610aed57600080fd5b6000808335601e19843603018112610e2657600080fd5b83018035915067ffffffffffffffff821115610e4157600080fd5b602001915036819003821315610c9d57600080fd5b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b600060208284031215610eaa57600080fd5b813563ffffffff81168114610aed57600080fd5b600060208284031215610ed057600080fd5b81356001600160a01b0381168114610aed57600080fd5b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff80841680610f2657634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b8082018082111561091d5761091d610ee7565b600060018201610f5757610f57610ee7565b5060010190565b634e487b7160e01b600052603260045260246000fd5b60ff818116838216019081111561091d5761091d610ee756fea2646970667358221220d8aec896e4d32b558d4a213809b5e875bdbc5edab4210133db4755c6ecbcc56e64736f6c63430008110033",
221
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063b036c1ee11610050578063b036c1ee14610218578063bc8d07ca1461026d578063c42b64d01461028057600080fd5b80630bce769d1461007757806386f01439146100ab578063b02c43d0146100be575b600080fd5b6100a9610085366004610d39565b6001805467ffffffffffffffff191667ffffffffffffffff92909216919091179055565b005b6100a96100b9366004610d63565b6102c1565b61018f6100cc366004610dcc565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091525060009081526020818152604091829020825160e08101845281546001600160a01b03808216835267ffffffffffffffff600160a01b80840482169685019690965263ffffffff600160e01b9384900481169785019790975260018501549182166060850152948104909416608083015290920490921660a082015260029091015460c082015290565b60405161020f9190600060e0820190506001600160a01b03808451168352602084015167ffffffffffffffff80821660208601526040860151915063ffffffff80831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505060c083015160c083015292915050565b60405180910390f35b6100a9610226366004610d39565b6001805467ffffffffffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff909216919091179055565b6100a961027b366004610dcc565b6105ff565b600154604080516000808252602082018190526801000000000000000090930467ffffffffffffffff1691810191909152606081019190915260800161020f565b60006103266102d36020860186610de5565b6102e06020870187610e0f565b6102ed6040890189610e0f565b6102fd60808b0160608c01610de5565b60405160200161031296959493929190610e56565b604051602081830303815290604052610718565b90506000816103386020860186610e98565b60405160200161035f92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120600081815292839052912054909150600160e01b900463ffffffff16156103e55760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c6564000000000000000060448201526064015b60405180910390fd5b60006104476103f76020870187610e98565b63ffffffff1661040a6040890189610e0f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061073f9050565b9050600061045482610923565b6040805160e0810182526000606082018190526080820181905260a080830182905260c08084019290925233835267ffffffffffffffff851660208401524263ffffffff1693830193909352929350916104b391908901908901610ebe565b6001600160a01b0316606082015260015467ffffffffffffffff166104d95760006104f0565b6001546104f09067ffffffffffffffff1683610efd565b67ffffffffffffffff90811660808301908152600060a0840181815260c085018a8152888352602083815260409384902087518154838a0151878b01516001600160a01b039384166001600160e01b031993841617600160a01b928c168302177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff908116600160e01b63ffffffff938416810291909117875560608e01516001880180549d519b51919097169c9095169b909b1798909b1690910296909617909816979094169095029590951790915551600290920191909155518581527f629cb19e19d844f2e8dd8aa5de26f5072bb49e6286c5206ebd7302da1dabc417910160405180910390a15050505050505050565b600081815260208190526040812054600160e01b900463ffffffff1690036106695760405162461bcd60e51b815260206004820152601460248201527f4465706f736974206e6f742072657665616c656400000000000000000000000060448201526064016103dc565b600081815260208190526040902060010154600160e01b900463ffffffff16156106d55760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c7265616479207377657074000000000000000000000060448201526064016103dc565b600090815260208190526040902060010180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b606060008061074d856109a2565b9092509050600182016107c85760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e6700000000000000000000000000000000000000000000000000000000000060648201526084016103dc565b8084106108175760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016103dc565b600080610825846001610f32565b905060005b868110156108ad5761083c88836109b9565b9250600019830361088f5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016103dc565b6108998383610f32565b9150806108a581610f45565b91505061082a565b506108b887826109b9565b9150600019820361090b5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016103dc565b610916878284610a26565b9450505050505b92915050565b60008061092f83610af4565b60c01c9050600061099a8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b949350505050565b6000806109b0836000610b00565b91509150915091565b60006109c6826009610f32565b835110156109d7575060001961091d565b6000806109ee856109e9866008610f32565b610b00565b909250905060018201610a07576000199250505061091d565b80610a13836009610f32565b610a1d9190610f32565b95945050505050565b606081600003610a455750604080516020810190915260008152610aed565b6000610a518385610f32565b90508381118015610a63575080855110155b610aaf5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016103dc565b604051915082604083010160405282825283850182038460208701018481015b80821015610ae857815183830152602082019150610acf565b505050505b9392505050565b600061091d8282610ca4565b6000806000610b0f8585610cb3565b90508060ff16600003610b44576000858581518110610b3057610b30610f5e565b016020015190935060f81c9150610c9d9050565b83610b50826001610f74565b60ff16610b5d9190610f32565b85511015610b745760001960009250925050610c9d565b60008160ff16600203610bb857610bad610b99610b92876001610f32565b8890610ca4565b62ffff0060e882901c1660f89190911c1790565b61ffff169050610c93565b8160ff16600403610c0757610bfa610bd4610b92876001610f32565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b63ffffffff169050610c93565b8160ff16600803610c9357610c86610c23610b92876001610f32565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b6000610aed8383016020015190565b6000828281518110610cc757610cc7610f5e565b016020015160f81c60ff03610cde5750600861091d565b828281518110610cf057610cf0610f5e565b016020015160f81c60fe03610d075750600461091d565b828281518110610d1957610d19610f5e565b016020015160f81c60fd03610d305750600261091d565b50600092915050565b600060208284031215610d4b57600080fd5b813567ffffffffffffffff81168114610aed57600080fd5b6000806000838503610100811215610d7a57600080fd5b843567ffffffffffffffff811115610d9157600080fd5b850160808188031215610da357600080fd5b935060c0601f1982011215610db757600080fd5b5060208401915060e084013590509250925092565b600060208284031215610dde57600080fd5b5035919050565b600060208284031215610df757600080fd5b81356001600160e01b031981168114610aed57600080fd5b6000808335601e19843603018112610e2657600080fd5b83018035915067ffffffffffffffff821115610e4157600080fd5b602001915036819003821315610c9d57600080fd5b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b600060208284031215610eaa57600080fd5b813563ffffffff81168114610aed57600080fd5b600060208284031215610ed057600080fd5b81356001600160a01b0381168114610aed57600080fd5b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff80841680610f2657634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b8082018082111561091d5761091d610ee7565b600060018201610f5757610f57610ee7565b5060010190565b634e487b7160e01b600052603260045260246000fd5b60ff818116838216019081111561091d5761091d610ee756fea2646970667358221220d8aec896e4d32b558d4a213809b5e875bdbc5edab4210133db4755c6ecbcc56e64736f6c63430008110033",
233
+ "bytecode": "0x6080604052600180546001600160c01b0319167103e8000000000000003200000000000f424017905534801561003457600080fd5b50611055806100446000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b02c43d01161005b578063b02c43d01461011e578063b036c1ee14610278578063bc8d07ca146102d5578063c42b64d0146102e857600080fd5b80630bce769d1461008257806359e6a456146100d957806386f014391461010b575b600080fd5b6100d7610090366004610dcb565b6001805467ffffffffffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff909216919091179055565b005b6100d76100e7366004610dcb565b6001805467ffffffffffffffff191667ffffffffffffffff92909216919091179055565b6100d7610119366004610df5565b61033b565b6101ef61012c366004610e5e565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091525060009081526020818152604091829020825160e08101845281546001600160a01b03808216835267ffffffffffffffff600160a01b80840482169685019690965263ffffffff600160e01b9384900481169785019790975260018501549182166060850152948104909416608083015290920490921660a082015260029091015460c082015290565b60405161026f9190600060e0820190506001600160a01b03808451168352602084015167ffffffffffffffff80821660208601526040860151915063ffffffff80831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505060c083015160c083015292915050565b60405180910390f35b6100d7610286366004610dcb565b6001805467ffffffffffffffff909216700100000000000000000000000000000000027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff909216919091179055565b6100d76102e3366004610e5e565b610691565b6001546040805167ffffffffffffffff808416825268010000000000000000840481166020830152700100000000000000000000000000000000909304909216908201526000606082015260800161026f565b60006103a061034d6020860186610e77565b61035a6020870187610ea1565b6103676040890189610ea1565b61037760808b0160608c01610e77565b60405160200161038c96959493929190610ee8565b6040516020818303038152906040526107aa565b90506000816103b26020860186610f2a565b6040516020016103d992919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120600081815292839052912054909150600160e01b900463ffffffff161561045f5760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c6564000000000000000060448201526064015b60405180910390fd5b60006104c16104716020870187610f2a565b63ffffffff166104846040890189610ea1565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506107d19050565b905060006104ce826109b5565b6040805160e0810182526000606082018190526080820181905260a080830182905260c08084019290925233835267ffffffffffffffff851660208401524263ffffffff16938301939093529293509161052d91908901908901610f50565b6001600160a01b0316606082015260015468010000000000000000900467ffffffffffffffff1661055f576000610582565b6001546105829068010000000000000000900467ffffffffffffffff1683610f8f565b67ffffffffffffffff90811660808301908152600060a0840181815260c085018a8152888352602083815260409384902087518154838a0151878b01516001600160a01b039384166001600160e01b031993841617600160a01b928c168302177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff908116600160e01b63ffffffff938416810291909117875560608e01516001880180549d519b51919097169c9095169b909b1798909b1690910296909617909816979094169095029590951790915551600290920191909155518581527f629cb19e19d844f2e8dd8aa5de26f5072bb49e6286c5206ebd7302da1dabc417910160405180910390a15050505050505050565b600081815260208190526040812054600160e01b900463ffffffff1690036106fb5760405162461bcd60e51b815260206004820152601460248201527f4465706f736974206e6f742072657665616c65640000000000000000000000006044820152606401610456565b600081815260208190526040902060010154600160e01b900463ffffffff16156107675760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c726561647920737765707400000000000000000000006044820152606401610456565b600090815260208190526040902060010180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b60606000806107df85610a34565b90925090506001820161085a5760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e670000000000000000000000000000000000000000000000000000000000006064820152608401610456565b8084106108a95760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610456565b6000806108b7846001610fc4565b905060005b8681101561093f576108ce8883610a4b565b925060001983036109215760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610456565b61092b8383610fc4565b91508061093781610fd7565b9150506108bc565b5061094a8782610a4b565b9150600019820361099d5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610456565b6109a8878284610ab8565b9450505050505b92915050565b6000806109c183610b86565b60c01c90506000610a2c8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b949350505050565b600080610a42836000610b92565b91509150915091565b6000610a58826009610fc4565b83511015610a6957506000196109af565b600080610a8085610a7b866008610fc4565b610b92565b909250905060018201610a9957600019925050506109af565b80610aa5836009610fc4565b610aaf9190610fc4565b95945050505050565b606081600003610ad75750604080516020810190915260008152610b7f565b6000610ae38385610fc4565b90508381118015610af5575080855110155b610b415760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610456565b604051915082604083010160405282825283850182038460208701018481015b80821015610b7a57815183830152602082019150610b61565b505050505b9392505050565b60006109af8282610d36565b6000806000610ba18585610d45565b90508060ff16600003610bd6576000858581518110610bc257610bc2610ff0565b016020015190935060f81c9150610d2f9050565b83610be2826001611006565b60ff16610bef9190610fc4565b85511015610c065760001960009250925050610d2f565b60008160ff16600203610c4a57610c3f610c2b610c24876001610fc4565b8890610d36565b62ffff0060e882901c1660f89190911c1790565b61ffff169050610d25565b8160ff16600403610c9957610c8c610c66610c24876001610fc4565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b63ffffffff169050610d25565b8160ff16600803610d2557610d18610cb5610c24876001610fc4565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b6000610b7f8383016020015190565b6000828281518110610d5957610d59610ff0565b016020015160f81c60ff03610d70575060086109af565b828281518110610d8257610d82610ff0565b016020015160f81c60fe03610d99575060046109af565b828281518110610dab57610dab610ff0565b016020015160f81c60fd03610dc2575060026109af565b50600092915050565b600060208284031215610ddd57600080fd5b813567ffffffffffffffff81168114610b7f57600080fd5b6000806000838503610100811215610e0c57600080fd5b843567ffffffffffffffff811115610e2357600080fd5b850160808188031215610e3557600080fd5b935060c0601f1982011215610e4957600080fd5b5060208401915060e084013590509250925092565b600060208284031215610e7057600080fd5b5035919050565b600060208284031215610e8957600080fd5b81356001600160e01b031981168114610b7f57600080fd5b6000808335601e19843603018112610eb857600080fd5b83018035915067ffffffffffffffff821115610ed357600080fd5b602001915036819003821315610d2f57600080fd5b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b600060208284031215610f3c57600080fd5b813563ffffffff81168114610b7f57600080fd5b600060208284031215610f6257600080fd5b81356001600160a01b0381168114610b7f57600080fd5b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff80841680610fb857634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b808201808211156109af576109af610f79565b600060018201610fe957610fe9610f79565b5060010190565b634e487b7160e01b600052603260045260246000fd5b60ff81811683821601908111156109af576109af610f7956fea26469706673582212206e20cc57b0f4e67191aad9aad2ea1f527c87b6ade5ed975caff0d8f0901adf4064736f6c63430008110033",
234
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b02c43d01161005b578063b02c43d01461011e578063b036c1ee14610278578063bc8d07ca146102d5578063c42b64d0146102e857600080fd5b80630bce769d1461008257806359e6a456146100d957806386f014391461010b575b600080fd5b6100d7610090366004610dcb565b6001805467ffffffffffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff909216919091179055565b005b6100d76100e7366004610dcb565b6001805467ffffffffffffffff191667ffffffffffffffff92909216919091179055565b6100d7610119366004610df5565b61033b565b6101ef61012c366004610e5e565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091525060009081526020818152604091829020825160e08101845281546001600160a01b03808216835267ffffffffffffffff600160a01b80840482169685019690965263ffffffff600160e01b9384900481169785019790975260018501549182166060850152948104909416608083015290920490921660a082015260029091015460c082015290565b60405161026f9190600060e0820190506001600160a01b03808451168352602084015167ffffffffffffffff80821660208601526040860151915063ffffffff80831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505060c083015160c083015292915050565b60405180910390f35b6100d7610286366004610dcb565b6001805467ffffffffffffffff909216700100000000000000000000000000000000027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff909216919091179055565b6100d76102e3366004610e5e565b610691565b6001546040805167ffffffffffffffff808416825268010000000000000000840481166020830152700100000000000000000000000000000000909304909216908201526000606082015260800161026f565b60006103a061034d6020860186610e77565b61035a6020870187610ea1565b6103676040890189610ea1565b61037760808b0160608c01610e77565b60405160200161038c96959493929190610ee8565b6040516020818303038152906040526107aa565b90506000816103b26020860186610f2a565b6040516020016103d992919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120600081815292839052912054909150600160e01b900463ffffffff161561045f5760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c6564000000000000000060448201526064015b60405180910390fd5b60006104c16104716020870187610f2a565b63ffffffff166104846040890189610ea1565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506107d19050565b905060006104ce826109b5565b6040805160e0810182526000606082018190526080820181905260a080830182905260c08084019290925233835267ffffffffffffffff851660208401524263ffffffff16938301939093529293509161052d91908901908901610f50565b6001600160a01b0316606082015260015468010000000000000000900467ffffffffffffffff1661055f576000610582565b6001546105829068010000000000000000900467ffffffffffffffff1683610f8f565b67ffffffffffffffff90811660808301908152600060a0840181815260c085018a8152888352602083815260409384902087518154838a0151878b01516001600160a01b039384166001600160e01b031993841617600160a01b928c168302177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff908116600160e01b63ffffffff938416810291909117875560608e01516001880180549d519b51919097169c9095169b909b1798909b1690910296909617909816979094169095029590951790915551600290920191909155518581527f629cb19e19d844f2e8dd8aa5de26f5072bb49e6286c5206ebd7302da1dabc417910160405180910390a15050505050505050565b600081815260208190526040812054600160e01b900463ffffffff1690036106fb5760405162461bcd60e51b815260206004820152601460248201527f4465706f736974206e6f742072657665616c65640000000000000000000000006044820152606401610456565b600081815260208190526040902060010154600160e01b900463ffffffff16156107675760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c726561647920737765707400000000000000000000006044820152606401610456565b600090815260208190526040902060010180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b60606000806107df85610a34565b90925090506001820161085a5760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e670000000000000000000000000000000000000000000000000000000000006064820152608401610456565b8084106108a95760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610456565b6000806108b7846001610fc4565b905060005b8681101561093f576108ce8883610a4b565b925060001983036109215760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610456565b61092b8383610fc4565b91508061093781610fd7565b9150506108bc565b5061094a8782610a4b565b9150600019820361099d5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610456565b6109a8878284610ab8565b9450505050505b92915050565b6000806109c183610b86565b60c01c90506000610a2c8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b949350505050565b600080610a42836000610b92565b91509150915091565b6000610a58826009610fc4565b83511015610a6957506000196109af565b600080610a8085610a7b866008610fc4565b610b92565b909250905060018201610a9957600019925050506109af565b80610aa5836009610fc4565b610aaf9190610fc4565b95945050505050565b606081600003610ad75750604080516020810190915260008152610b7f565b6000610ae38385610fc4565b90508381118015610af5575080855110155b610b415760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610456565b604051915082604083010160405282825283850182038460208701018481015b80821015610b7a57815183830152602082019150610b61565b505050505b9392505050565b60006109af8282610d36565b6000806000610ba18585610d45565b90508060ff16600003610bd6576000858581518110610bc257610bc2610ff0565b016020015190935060f81c9150610d2f9050565b83610be2826001611006565b60ff16610bef9190610fc4565b85511015610c065760001960009250925050610d2f565b60008160ff16600203610c4a57610c3f610c2b610c24876001610fc4565b8890610d36565b62ffff0060e882901c1660f89190911c1790565b61ffff169050610d25565b8160ff16600403610c9957610c8c610c66610c24876001610fc4565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b63ffffffff169050610d25565b8160ff16600803610d2557610d18610cb5610c24876001610fc4565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b6000610b7f8383016020015190565b6000828281518110610d5957610d59610ff0565b016020015160f81c60ff03610d70575060086109af565b828281518110610d8257610d82610ff0565b016020015160f81c60fe03610d99575060046109af565b828281518110610dab57610dab610ff0565b016020015160f81c60fd03610dc2575060026109af565b50600092915050565b600060208284031215610ddd57600080fd5b813567ffffffffffffffff81168114610b7f57600080fd5b6000806000838503610100811215610e0c57600080fd5b843567ffffffffffffffff811115610e2357600080fd5b850160808188031215610e3557600080fd5b935060c0601f1982011215610e4957600080fd5b5060208401915060e084013590509250925092565b600060208284031215610e7057600080fd5b5035919050565b600060208284031215610e8957600080fd5b81356001600160e01b031981168114610b7f57600080fd5b6000808335601e19843603018112610eb857600080fd5b83018035915067ffffffffffffffff821115610ed357600080fd5b602001915036819003821315610d2f57600080fd5b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b600060208284031215610f3c57600080fd5b813563ffffffff81168114610b7f57600080fd5b600060208284031215610f6257600080fd5b81356001600160a01b0381168114610b7f57600080fd5b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff80841680610fb857634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b808201808211156109af576109af610f79565b600060018201610fe957610fe9610f79565b5060010190565b634e487b7160e01b600052603260045260246000fd5b60ff81811683821601908111156109af576109af610f7956fea26469706673582212206e20cc57b0f4e67191aad9aad2ea1f527c87b6ade5ed975caff0d8f0901adf4064736f6c63430008110033",
222
235
  "linkReferences": {},
223
236
  "deployedLinkReferences": {}
224
237
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/3f9edfb3d43f1a293a708db83f2da2f9.json"
3
+ "buildInfo": "../../../build-info/f8894b8e62a776dd12416473b8574812.json"
4
4
  }
@@ -80,8 +80,8 @@
80
80
  "type": "function"
81
81
  }
82
82
  ],
83
- "bytecode": "0x60806040526001805463ffffffff1916606417905534801561002057600080fd5b5061038f806100306000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80636c626aa4116100505780636c626aa4146100ab578063d5b0b0ce1461011a578063db4aa6cb1461014457600080fd5b806309b53f511461006c578063477ffd6514610096575b600080fd5b60015461007c9063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b6100a96100a4366004610313565b610157565b005b6100f96100b9366004610313565b6000908152602081815260409182902082518084019093525467ffffffffffffffff80821680855268010000000000000000909204169290910182905291565b6040805167ffffffffffffffff93841681529290911660208301520161008d565b6100a961012836600461032c565b6001805463ffffffff191663ffffffff92909216919091179055565b6100a9610152366004610313565b6101ed565b60008181526020819052604090205467ffffffffffffffff16156101c25760405162461bcd60e51b815260206004820152601660248201527f5265717565737420616c7265616479206578697374730000000000000000000060448201526064015b60405180910390fd5b6000908152602081905260409020805467ffffffffffffffff19164267ffffffffffffffff16179055565b60008181526020819052604081205467ffffffffffffffff1690036102545760405162461bcd60e51b815260206004820152601660248201527f5265717565737420646f6573206e6f742065786973740000000000000000000060448201526064016101b9565b60008181526020819052604090205468010000000000000000900467ffffffffffffffff16156102c65760405162461bcd60e51b815260206004820152601960248201527f5265717565737420616c72656164792066696e616c697a65640000000000000060448201526064016101b9565b600090815260208190526040902080547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff16680100000000000000004267ffffffffffffffff1602179055565b60006020828403121561032557600080fd5b5035919050565b60006020828403121561033e57600080fd5b813563ffffffff8116811461035257600080fd5b939250505056fea264697066735822122055871f75984e605847d108927adce620ee53092ce1a8687c18894e27ec83fa8e64736f6c63430008110033",
84
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c80636c626aa4116100505780636c626aa4146100ab578063d5b0b0ce1461011a578063db4aa6cb1461014457600080fd5b806309b53f511461006c578063477ffd6514610096575b600080fd5b60015461007c9063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b6100a96100a4366004610313565b610157565b005b6100f96100b9366004610313565b6000908152602081815260409182902082518084019093525467ffffffffffffffff80821680855268010000000000000000909204169290910182905291565b6040805167ffffffffffffffff93841681529290911660208301520161008d565b6100a961012836600461032c565b6001805463ffffffff191663ffffffff92909216919091179055565b6100a9610152366004610313565b6101ed565b60008181526020819052604090205467ffffffffffffffff16156101c25760405162461bcd60e51b815260206004820152601660248201527f5265717565737420616c7265616479206578697374730000000000000000000060448201526064015b60405180910390fd5b6000908152602081905260409020805467ffffffffffffffff19164267ffffffffffffffff16179055565b60008181526020819052604081205467ffffffffffffffff1690036102545760405162461bcd60e51b815260206004820152601660248201527f5265717565737420646f6573206e6f742065786973740000000000000000000060448201526064016101b9565b60008181526020819052604090205468010000000000000000900467ffffffffffffffff16156102c65760405162461bcd60e51b815260206004820152601960248201527f5265717565737420616c72656164792066696e616c697a65640000000000000060448201526064016101b9565b600090815260208190526040902080547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff16680100000000000000004267ffffffffffffffff1602179055565b60006020828403121561032557600080fd5b5035919050565b60006020828403121561033e57600080fd5b813563ffffffff8116811461035257600080fd5b939250505056fea264697066735822122055871f75984e605847d108927adce620ee53092ce1a8687c18894e27ec83fa8e64736f6c63430008110033",
83
+ "bytecode": "0x60806040526001805463ffffffff1916606417905534801561002057600080fd5b5061038f806100306000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80636c626aa4116100505780636c626aa4146100ab578063d5b0b0ce1461011a578063db4aa6cb1461014457600080fd5b806309b53f511461006c578063477ffd6514610096575b600080fd5b60015461007c9063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b6100a96100a4366004610313565b610157565b005b6100f96100b9366004610313565b6000908152602081815260409182902082518084019093525467ffffffffffffffff80821680855268010000000000000000909204169290910182905291565b6040805167ffffffffffffffff93841681529290911660208301520161008d565b6100a961012836600461032c565b6001805463ffffffff191663ffffffff92909216919091179055565b6100a9610152366004610313565b6101ed565b60008181526020819052604090205467ffffffffffffffff16156101c25760405162461bcd60e51b815260206004820152601660248201527f5265717565737420616c7265616479206578697374730000000000000000000060448201526064015b60405180910390fd5b6000908152602081905260409020805467ffffffffffffffff19164267ffffffffffffffff16179055565b60008181526020819052604081205467ffffffffffffffff1690036102545760405162461bcd60e51b815260206004820152601660248201527f5265717565737420646f6573206e6f742065786973740000000000000000000060448201526064016101b9565b60008181526020819052604090205468010000000000000000900467ffffffffffffffff16156102c65760405162461bcd60e51b815260206004820152601960248201527f5265717565737420616c72656164792066696e616c697a65640000000000000060448201526064016101b9565b600090815260208190526040902080547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff16680100000000000000004267ffffffffffffffff1602179055565b60006020828403121561032557600080fd5b5035919050565b60006020828403121561033e57600080fd5b813563ffffffff8116811461035257600080fd5b939250505056fea26469706673582212206f0dde750a92d5fbaff995b2dacf36fde5cbf75877fb2be6fd03c1db7747be3e64736f6c63430008110033",
84
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c80636c626aa4116100505780636c626aa4146100ab578063d5b0b0ce1461011a578063db4aa6cb1461014457600080fd5b806309b53f511461006c578063477ffd6514610096575b600080fd5b60015461007c9063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b6100a96100a4366004610313565b610157565b005b6100f96100b9366004610313565b6000908152602081815260409182902082518084019093525467ffffffffffffffff80821680855268010000000000000000909204169290910182905291565b6040805167ffffffffffffffff93841681529290911660208301520161008d565b6100a961012836600461032c565b6001805463ffffffff191663ffffffff92909216919091179055565b6100a9610152366004610313565b6101ed565b60008181526020819052604090205467ffffffffffffffff16156101c25760405162461bcd60e51b815260206004820152601660248201527f5265717565737420616c7265616479206578697374730000000000000000000060448201526064015b60405180910390fd5b6000908152602081905260409020805467ffffffffffffffff19164267ffffffffffffffff16179055565b60008181526020819052604081205467ffffffffffffffff1690036102545760405162461bcd60e51b815260206004820152601660248201527f5265717565737420646f6573206e6f742065786973740000000000000000000060448201526064016101b9565b60008181526020819052604090205468010000000000000000900467ffffffffffffffff16156102c65760405162461bcd60e51b815260206004820152601960248201527f5265717565737420616c72656164792066696e616c697a65640000000000000060448201526064016101b9565b600090815260208190526040902080547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff16680100000000000000004267ffffffffffffffff1602179055565b60006020828403121561032557600080fd5b5035919050565b60006020828403121561033e57600080fd5b813563ffffffff8116811461035257600080fd5b939250505056fea26469706673582212206f0dde750a92d5fbaff995b2dacf36fde5cbf75877fb2be6fd03c1db7747be3e64736f6c63430008110033",
85
85
  "linkReferences": {},
86
86
  "deployedLinkReferences": {}
87
87
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/3f9edfb3d43f1a293a708db83f2da2f9.json"
3
+ "buildInfo": "../../../build-info/f8894b8e62a776dd12416473b8574812.json"
4
4
  }
@@ -3,50 +3,6 @@
3
3
  "contractName": "TestTBTCDepositor",
4
4
  "sourceName": "contracts/test/TestTBTCDepositor.sol",
5
5
  "abi": [
6
- {
7
- "anonymous": false,
8
- "inputs": [
9
- {
10
- "indexed": true,
11
- "internalType": "uint256",
12
- "name": "depositKey",
13
- "type": "uint256"
14
- },
15
- {
16
- "indexed": false,
17
- "internalType": "uint256",
18
- "name": "tbtcAmount",
19
- "type": "uint256"
20
- },
21
- {
22
- "indexed": false,
23
- "internalType": "uint32",
24
- "name": "finalizedAt",
25
- "type": "uint32"
26
- }
27
- ],
28
- "name": "DepositFinalized",
29
- "type": "event"
30
- },
31
- {
32
- "anonymous": false,
33
- "inputs": [
34
- {
35
- "indexed": true,
36
- "internalType": "uint256",
37
- "name": "depositKey",
38
- "type": "uint256"
39
- },
40
- {
41
- "indexed": false,
42
- "internalType": "uint32",
43
- "name": "initializedAt",
44
- "type": "uint32"
45
- }
46
- ],
47
- "name": "DepositInitialized",
48
- "type": "event"
49
- },
50
6
  {
51
7
  "anonymous": false,
52
8
  "inputs": [
@@ -257,8 +213,8 @@
257
213
  "type": "function"
258
214
  }
259
215
  ],
260
- "bytecode": "0x608060405234801561001057600080fd5b5061102b806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063485cc9551161005b578063485cc955146100e8578063c7ba0347146100fb578063ca3a7f8c14610107578063e78cea921461011a57600080fd5b80630f36403a1461008257806331e6028c146100b257806332a280b3146100d3575b600080fd5b600154610095906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c56100c03660046109d0565b61012d565b6040519081526020016100a9565b6100e66100e1366004610a09565b610142565b005b6100e66100f6366004610a47565b6101a0565b6100c56402540be40081565b6100e6610115366004610a75565b6101ae565b600054610095906001600160a01b031681565b600061013983836101ee565b90505b92915050565b600080600061015084610371565b604080518481526020810184905290810182905292955090935091507fcdb95277f6a6807a2018e2dd8d15a4ff1b5619260b5dc535eb77e90945cf6e39906060015b60405180910390a150505050565b6101aa8282610600565b5050565b60006101bb848484610786565b90507f0f3805f24563e903dd7c191088451bda29dc93cb93085e42724fdc27f62fef968160405161019291815260200190565b6000806402540be4006102018486610af4565b67ffffffffffffffff166102159190610b1c565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166309b53f516040518163ffffffff1660e01b8152600401602060405180830381865afa15801561026c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102909190610b50565b63ffffffff16905060008082116102a85760006102b2565b6102b28284610b74565b905060008060009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c9190610ba1565b509250505060006402540be4008267ffffffffffffffff1661034e9190610b1c565b90508061035b8487610c00565b6103659190610c00565b98975050505050505050565b600080546040517fb02c43d0000000000000000000000000000000000000000000000000000000008152600481018490528291829182916001600160a01b03169063b02c43d09060240160e060405180830381865afa1580156103d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fc9190610c1e565b9050806040015163ffffffff1660000361045d5760405162461bcd60e51b815260206004820152601760248201527f4465706f736974206e6f7420696e697469616c697a656400000000000000000060448201526064015b60405180910390fd5b6001546040517f6c626aa4000000000000000000000000000000000000000000000000000000008152600481018790526000916001600160a01b031690636c626aa49060240160408051808303816000875af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190610cd8565b9150508160a0015163ffffffff16600014158061050b575067ffffffffffffffff811615155b61057d5760405162461bcd60e51b815260206004820152602360248201527f4465706f736974206e6f742066696e616c697a6564206279207468652062726960448201527f64676500000000000000000000000000000000000000000000000000000000006064820152608401610454565b6402540be400826020015167ffffffffffffffff1661059c9190610b1c565b94506105b0826020015183608001516101ee565b6040805182815263ffffffff4216602082015291955087917f417b6288c9f637614f8b3f7a275fb4e44e517930fde949e463d58dfe0b97f28b910160405180910390a25060c00151929491935050565b6000546001600160a01b031615801561062257506001546001600160a01b0316155b6106945760405162461bcd60e51b815260206004820152602960248201527f4162737472616374544254434465706f7369746f7220616c726561647920696e60448201527f697469616c697a656400000000000000000000000000000000000000000000006064820152608401610454565b6001600160a01b0382166106ea5760405162461bcd60e51b815260206004820152601d60248201527f42726964676520616464726573732063616e6e6f74206265207a65726f0000006044820152606401610454565b6001600160a01b0381166107405760405162461bcd60e51b815260206004820181905260248201527f544254435661756c7420616464726573732063616e6e6f74206265207a65726f6044820152606401610454565b600080546001600160a01b039384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560018054929093169116179055565b6001546000906001600160a01b03166107a560c0850160a08601610d07565b6001600160a01b0316146107fb5760405162461bcd60e51b815260206004820152601660248201527f5661756c742061646472657373206d69736d61746368000000000000000000006044820152606401610454565b600061081b610809866108e1565b6108166020870187610d24565b610946565b60405163ffffffff4216815290915081907fa3ed7aef0745e1a91addae9e5daee7a8ace74852fec840b9d93da747855dd7b99060200160405180910390a26000546040517f86f014390000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906386f01439906108a690889088908890600401610dec565b600060405180830381600087803b1580156108c057600080fd5b505af11580156108d4573d6000803e3d6000fd5b5092979650505050505050565b600061013c6108f36020840184610f51565b6109006020850185610f6c565b61090d6040870187610f6c565b61091d6080890160608a01610f51565b60405160200161093296959493929190610fb3565b604051602081830303815290604052610990565b6000828260405160200161097192919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291905280516020909101209392505050565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b67ffffffffffffffff811681146109cd57600080fd5b50565b600080604083850312156109e357600080fd5b82356109ee816109b7565b915060208301356109fe816109b7565b809150509250929050565b600060208284031215610a1b57600080fd5b5035919050565b6001600160a01b03811681146109cd57600080fd5b8035610a4281610a22565b919050565b60008060408385031215610a5a57600080fd5b8235610a6581610a22565b915060208301356109fe81610a22565b6000806000838503610100811215610a8c57600080fd5b843567ffffffffffffffff811115610aa357600080fd5b850160808188031215610ab557600080fd5b935060c0601f1982011215610ac957600080fd5b5060208401915060e084013590509250925092565b634e487b7160e01b600052601160045260246000fd5b67ffffffffffffffff828116828216039080821115610b1557610b15610ade565b5092915050565b808202811582820484141761013c5761013c610ade565b63ffffffff811681146109cd57600080fd5b8051610a4281610b33565b600060208284031215610b6257600080fd5b8151610b6d81610b33565b9392505050565b600082610b9157634e487b7160e01b600052601260045260246000fd5b500490565b8051610a42816109b7565b60008060008060808587031215610bb757600080fd5b8451610bc2816109b7565b6020860151909450610bd3816109b7565b6040860151909350610be4816109b7565b6060860151909250610bf581610b33565b939692955090935050565b8181038181111561013c5761013c610ade565b8051610a4281610a22565b600060e08284031215610c3057600080fd5b60405160e0810181811067ffffffffffffffff82111715610c6157634e487b7160e01b600052604160045260246000fd5b604052610c6d83610c13565b8152610c7b60208401610b96565b6020820152610c8c60408401610b45565b6040820152610c9d60608401610c13565b6060820152610cae60808401610b96565b6080820152610cbf60a08401610b45565b60a082015260c083015160c08201528091505092915050565b60008060408385031215610ceb57600080fd5b8251610cf6816109b7565b60208401519092506109fe816109b7565b600060208284031215610d1957600080fd5b8135610b6d81610a22565b600060208284031215610d3657600080fd5b8135610b6d81610b33565b80356001600160e01b031981168114610a4257600080fd5b6000808335601e19843603018112610d7057600080fd5b830160208101925035905067ffffffffffffffff811115610d9057600080fd5b803603821315610d9f57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b80356bffffffffffffffffffffffff1981168114610a4257600080fd5b60006101008083526001600160e01b031980610e0788610d41565b1682850152610e196020880188610d59565b92506080610120860152610e3261018086018483610da6565b925050610e426040880188610d59565b85840360ff1901610140870152610e5a848284610da6565b9350505080610e6b60608901610d41565b166101608501525090508335610e8081610b33565b63ffffffff811660208401525060208401357fffffffffffffffff0000000000000000000000000000000000000000000000008116808214610ec157600080fd5b80604085015250506bffffffffffffffffffffffff19610ee360408601610dcf565b166060830152610ef560608501610dcf565b6bffffffffffffffffffffffff198116608084015250610f1760808501610d41565b6001600160e01b0319811660a084015250610f3460a08501610a37565b6001600160a01b031660c083015260e09091019190915292915050565b600060208284031215610f6357600080fd5b61013982610d41565b6000808335601e19843603018112610f8357600080fd5b83018035915067ffffffffffffffff821115610f9e57600080fd5b602001915036819003821315610d9f57600080fd5b60006001600160e01b0319808916835286886004850137868301600481016000815286888237509316939092016004810193909352505060080194935050505056fea26469706673582212209bf358422ca81fb0db2e4f311f984248391c77544486491a8faa9e099e6d843064736f6c63430008110033",
261
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063485cc9551161005b578063485cc955146100e8578063c7ba0347146100fb578063ca3a7f8c14610107578063e78cea921461011a57600080fd5b80630f36403a1461008257806331e6028c146100b257806332a280b3146100d3575b600080fd5b600154610095906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c56100c03660046109d0565b61012d565b6040519081526020016100a9565b6100e66100e1366004610a09565b610142565b005b6100e66100f6366004610a47565b6101a0565b6100c56402540be40081565b6100e6610115366004610a75565b6101ae565b600054610095906001600160a01b031681565b600061013983836101ee565b90505b92915050565b600080600061015084610371565b604080518481526020810184905290810182905292955090935091507fcdb95277f6a6807a2018e2dd8d15a4ff1b5619260b5dc535eb77e90945cf6e39906060015b60405180910390a150505050565b6101aa8282610600565b5050565b60006101bb848484610786565b90507f0f3805f24563e903dd7c191088451bda29dc93cb93085e42724fdc27f62fef968160405161019291815260200190565b6000806402540be4006102018486610af4565b67ffffffffffffffff166102159190610b1c565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166309b53f516040518163ffffffff1660e01b8152600401602060405180830381865afa15801561026c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102909190610b50565b63ffffffff16905060008082116102a85760006102b2565b6102b28284610b74565b905060008060009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c9190610ba1565b509250505060006402540be4008267ffffffffffffffff1661034e9190610b1c565b90508061035b8487610c00565b6103659190610c00565b98975050505050505050565b600080546040517fb02c43d0000000000000000000000000000000000000000000000000000000008152600481018490528291829182916001600160a01b03169063b02c43d09060240160e060405180830381865afa1580156103d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fc9190610c1e565b9050806040015163ffffffff1660000361045d5760405162461bcd60e51b815260206004820152601760248201527f4465706f736974206e6f7420696e697469616c697a656400000000000000000060448201526064015b60405180910390fd5b6001546040517f6c626aa4000000000000000000000000000000000000000000000000000000008152600481018790526000916001600160a01b031690636c626aa49060240160408051808303816000875af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190610cd8565b9150508160a0015163ffffffff16600014158061050b575067ffffffffffffffff811615155b61057d5760405162461bcd60e51b815260206004820152602360248201527f4465706f736974206e6f742066696e616c697a6564206279207468652062726960448201527f64676500000000000000000000000000000000000000000000000000000000006064820152608401610454565b6402540be400826020015167ffffffffffffffff1661059c9190610b1c565b94506105b0826020015183608001516101ee565b6040805182815263ffffffff4216602082015291955087917f417b6288c9f637614f8b3f7a275fb4e44e517930fde949e463d58dfe0b97f28b910160405180910390a25060c00151929491935050565b6000546001600160a01b031615801561062257506001546001600160a01b0316155b6106945760405162461bcd60e51b815260206004820152602960248201527f4162737472616374544254434465706f7369746f7220616c726561647920696e60448201527f697469616c697a656400000000000000000000000000000000000000000000006064820152608401610454565b6001600160a01b0382166106ea5760405162461bcd60e51b815260206004820152601d60248201527f42726964676520616464726573732063616e6e6f74206265207a65726f0000006044820152606401610454565b6001600160a01b0381166107405760405162461bcd60e51b815260206004820181905260248201527f544254435661756c7420616464726573732063616e6e6f74206265207a65726f6044820152606401610454565b600080546001600160a01b039384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560018054929093169116179055565b6001546000906001600160a01b03166107a560c0850160a08601610d07565b6001600160a01b0316146107fb5760405162461bcd60e51b815260206004820152601660248201527f5661756c742061646472657373206d69736d61746368000000000000000000006044820152606401610454565b600061081b610809866108e1565b6108166020870187610d24565b610946565b60405163ffffffff4216815290915081907fa3ed7aef0745e1a91addae9e5daee7a8ace74852fec840b9d93da747855dd7b99060200160405180910390a26000546040517f86f014390000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906386f01439906108a690889088908890600401610dec565b600060405180830381600087803b1580156108c057600080fd5b505af11580156108d4573d6000803e3d6000fd5b5092979650505050505050565b600061013c6108f36020840184610f51565b6109006020850185610f6c565b61090d6040870187610f6c565b61091d6080890160608a01610f51565b60405160200161093296959493929190610fb3565b604051602081830303815290604052610990565b6000828260405160200161097192919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291905280516020909101209392505050565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b67ffffffffffffffff811681146109cd57600080fd5b50565b600080604083850312156109e357600080fd5b82356109ee816109b7565b915060208301356109fe816109b7565b809150509250929050565b600060208284031215610a1b57600080fd5b5035919050565b6001600160a01b03811681146109cd57600080fd5b8035610a4281610a22565b919050565b60008060408385031215610a5a57600080fd5b8235610a6581610a22565b915060208301356109fe81610a22565b6000806000838503610100811215610a8c57600080fd5b843567ffffffffffffffff811115610aa357600080fd5b850160808188031215610ab557600080fd5b935060c0601f1982011215610ac957600080fd5b5060208401915060e084013590509250925092565b634e487b7160e01b600052601160045260246000fd5b67ffffffffffffffff828116828216039080821115610b1557610b15610ade565b5092915050565b808202811582820484141761013c5761013c610ade565b63ffffffff811681146109cd57600080fd5b8051610a4281610b33565b600060208284031215610b6257600080fd5b8151610b6d81610b33565b9392505050565b600082610b9157634e487b7160e01b600052601260045260246000fd5b500490565b8051610a42816109b7565b60008060008060808587031215610bb757600080fd5b8451610bc2816109b7565b6020860151909450610bd3816109b7565b6040860151909350610be4816109b7565b6060860151909250610bf581610b33565b939692955090935050565b8181038181111561013c5761013c610ade565b8051610a4281610a22565b600060e08284031215610c3057600080fd5b60405160e0810181811067ffffffffffffffff82111715610c6157634e487b7160e01b600052604160045260246000fd5b604052610c6d83610c13565b8152610c7b60208401610b96565b6020820152610c8c60408401610b45565b6040820152610c9d60608401610c13565b6060820152610cae60808401610b96565b6080820152610cbf60a08401610b45565b60a082015260c083015160c08201528091505092915050565b60008060408385031215610ceb57600080fd5b8251610cf6816109b7565b60208401519092506109fe816109b7565b600060208284031215610d1957600080fd5b8135610b6d81610a22565b600060208284031215610d3657600080fd5b8135610b6d81610b33565b80356001600160e01b031981168114610a4257600080fd5b6000808335601e19843603018112610d7057600080fd5b830160208101925035905067ffffffffffffffff811115610d9057600080fd5b803603821315610d9f57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b80356bffffffffffffffffffffffff1981168114610a4257600080fd5b60006101008083526001600160e01b031980610e0788610d41565b1682850152610e196020880188610d59565b92506080610120860152610e3261018086018483610da6565b925050610e426040880188610d59565b85840360ff1901610140870152610e5a848284610da6565b9350505080610e6b60608901610d41565b166101608501525090508335610e8081610b33565b63ffffffff811660208401525060208401357fffffffffffffffff0000000000000000000000000000000000000000000000008116808214610ec157600080fd5b80604085015250506bffffffffffffffffffffffff19610ee360408601610dcf565b166060830152610ef560608501610dcf565b6bffffffffffffffffffffffff198116608084015250610f1760808501610d41565b6001600160e01b0319811660a084015250610f3460a08501610a37565b6001600160a01b031660c083015260e09091019190915292915050565b600060208284031215610f6357600080fd5b61013982610d41565b6000808335601e19843603018112610f8357600080fd5b83018035915067ffffffffffffffff821115610f9e57600080fd5b602001915036819003821315610d9f57600080fd5b60006001600160e01b0319808916835286886004850137868301600481016000815286888237509316939092016004810193909352505060080194935050505056fea26469706673582212209bf358422ca81fb0db2e4f311f984248391c77544486491a8faa9e099e6d843064736f6c63430008110033",
216
+ "bytecode": "0x608060405234801561001057600080fd5b50610fb0806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063485cc9551161005b578063485cc955146100e8578063c7ba0347146100fb578063ca3a7f8c14610107578063e78cea921461011a57600080fd5b80630f36403a1461008257806331e6028c146100b257806332a280b3146100d3575b600080fd5b600154610095906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c56100c0366004610955565b61012d565b6040519081526020016100a9565b6100e66100e136600461098e565b610142565b005b6100e66100f63660046109cc565b6101a0565b6100c56402540be40081565b6100e66101153660046109fa565b6101ae565b600054610095906001600160a01b031681565b600061013983836101ee565b90505b92915050565b600080600061015084610371565b604080518481526020810184905290810182905292955090935091507fcdb95277f6a6807a2018e2dd8d15a4ff1b5619260b5dc535eb77e90945cf6e39906060015b60405180910390a150505050565b6101aa82826105c2565b5050565b60006101bb848484610748565b90507f0f3805f24563e903dd7c191088451bda29dc93cb93085e42724fdc27f62fef968160405161019291815260200190565b6000806402540be4006102018486610a79565b67ffffffffffffffff166102159190610aa1565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166309b53f516040518163ffffffff1660e01b8152600401602060405180830381865afa15801561026c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102909190610ad5565b63ffffffff16905060008082116102a85760006102b2565b6102b28284610af9565b905060008060009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c9190610b26565b509250505060006402540be4008267ffffffffffffffff1661034e9190610aa1565b90508061035b8487610b85565b6103659190610b85565b98975050505050505050565b600080546040517fb02c43d0000000000000000000000000000000000000000000000000000000008152600481018490528291829182916001600160a01b03169063b02c43d09060240160e060405180830381865afa1580156103d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fc9190610ba3565b9050806040015163ffffffff1660000361045d5760405162461bcd60e51b815260206004820152601760248201527f4465706f736974206e6f7420696e697469616c697a656400000000000000000060448201526064015b60405180910390fd5b6001546040517f6c626aa4000000000000000000000000000000000000000000000000000000008152600481018790526000916001600160a01b031690636c626aa49060240160408051808303816000875af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190610c5d565b9150508160a0015163ffffffff16600014158061050b575067ffffffffffffffff811615155b61057d5760405162461bcd60e51b815260206004820152602360248201527f4465706f736974206e6f742066696e616c697a6564206279207468652062726960448201527f64676500000000000000000000000000000000000000000000000000000000006064820152608401610454565b6402540be400826020015167ffffffffffffffff1661059c9190610aa1565b94506105b0826020015183608001516101ee565b93508160c00151925050509193909250565b6000546001600160a01b03161580156105e457506001546001600160a01b0316155b6106565760405162461bcd60e51b815260206004820152602960248201527f4162737472616374544254434465706f7369746f7220616c726561647920696e60448201527f697469616c697a656400000000000000000000000000000000000000000000006064820152608401610454565b6001600160a01b0382166106ac5760405162461bcd60e51b815260206004820152601d60248201527f42726964676520616464726573732063616e6e6f74206265207a65726f0000006044820152606401610454565b6001600160a01b0381166107025760405162461bcd60e51b815260206004820181905260248201527f544254435661756c7420616464726573732063616e6e6f74206265207a65726f6044820152606401610454565b600080546001600160a01b039384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560018054929093169116179055565b6001546000906001600160a01b031661076760c0850160a08601610c8c565b6001600160a01b0316146107bd5760405162461bcd60e51b815260206004820152601660248201527f5661756c742061646472657373206d69736d61746368000000000000000000006044820152606401610454565b60006107dd6107cb86610866565b6107d86020870187610ca9565b6108cb565b6000546040517f86f014390000000000000000000000000000000000000000000000000000000081529192506001600160a01b0316906386f014399061082b90889088908890600401610d71565b600060405180830381600087803b15801561084557600080fd5b505af1158015610859573d6000803e3d6000fd5b5092979650505050505050565b600061013c6108786020840184610ed6565b6108856020850185610ef1565b6108926040870187610ef1565b6108a26080890160608a01610ed6565b6040516020016108b796959493929190610f38565b604051602081830303815290604052610915565b600082826040516020016108f692919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291905280516020909101209392505050565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b67ffffffffffffffff8116811461095257600080fd5b50565b6000806040838503121561096857600080fd5b82356109738161093c565b915060208301356109838161093c565b809150509250929050565b6000602082840312156109a057600080fd5b5035919050565b6001600160a01b038116811461095257600080fd5b80356109c7816109a7565b919050565b600080604083850312156109df57600080fd5b82356109ea816109a7565b91506020830135610983816109a7565b6000806000838503610100811215610a1157600080fd5b843567ffffffffffffffff811115610a2857600080fd5b850160808188031215610a3a57600080fd5b935060c0601f1982011215610a4e57600080fd5b5060208401915060e084013590509250925092565b634e487b7160e01b600052601160045260246000fd5b67ffffffffffffffff828116828216039080821115610a9a57610a9a610a63565b5092915050565b808202811582820484141761013c5761013c610a63565b63ffffffff8116811461095257600080fd5b80516109c781610ab8565b600060208284031215610ae757600080fd5b8151610af281610ab8565b9392505050565b600082610b1657634e487b7160e01b600052601260045260246000fd5b500490565b80516109c78161093c565b60008060008060808587031215610b3c57600080fd5b8451610b478161093c565b6020860151909450610b588161093c565b6040860151909350610b698161093c565b6060860151909250610b7a81610ab8565b939692955090935050565b8181038181111561013c5761013c610a63565b80516109c7816109a7565b600060e08284031215610bb557600080fd5b60405160e0810181811067ffffffffffffffff82111715610be657634e487b7160e01b600052604160045260246000fd5b604052610bf283610b98565b8152610c0060208401610b1b565b6020820152610c1160408401610aca565b6040820152610c2260608401610b98565b6060820152610c3360808401610b1b565b6080820152610c4460a08401610aca565b60a082015260c083015160c08201528091505092915050565b60008060408385031215610c7057600080fd5b8251610c7b8161093c565b60208401519092506109838161093c565b600060208284031215610c9e57600080fd5b8135610af2816109a7565b600060208284031215610cbb57600080fd5b8135610af281610ab8565b80356001600160e01b0319811681146109c757600080fd5b6000808335601e19843603018112610cf557600080fd5b830160208101925035905067ffffffffffffffff811115610d1557600080fd5b803603821315610d2457600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b80356bffffffffffffffffffffffff19811681146109c757600080fd5b60006101008083526001600160e01b031980610d8c88610cc6565b1682850152610d9e6020880188610cde565b92506080610120860152610db761018086018483610d2b565b925050610dc76040880188610cde565b85840360ff1901610140870152610ddf848284610d2b565b9350505080610df060608901610cc6565b166101608501525090508335610e0581610ab8565b63ffffffff811660208401525060208401357fffffffffffffffff0000000000000000000000000000000000000000000000008116808214610e4657600080fd5b80604085015250506bffffffffffffffffffffffff19610e6860408601610d54565b166060830152610e7a60608501610d54565b6bffffffffffffffffffffffff198116608084015250610e9c60808501610cc6565b6001600160e01b0319811660a084015250610eb960a085016109bc565b6001600160a01b031660c083015260e09091019190915292915050565b600060208284031215610ee857600080fd5b61013982610cc6565b6000808335601e19843603018112610f0857600080fd5b83018035915067ffffffffffffffff821115610f2357600080fd5b602001915036819003821315610d2457600080fd5b60006001600160e01b0319808916835286886004850137868301600481016000815286888237509316939092016004810193909352505060080194935050505056fea26469706673582212209d6461c5d0ad9219af91a3b2dcf49742c1d95ad3c8a0d0258c563fe110e2113d64736f6c63430008110033",
217
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063485cc9551161005b578063485cc955146100e8578063c7ba0347146100fb578063ca3a7f8c14610107578063e78cea921461011a57600080fd5b80630f36403a1461008257806331e6028c146100b257806332a280b3146100d3575b600080fd5b600154610095906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c56100c0366004610955565b61012d565b6040519081526020016100a9565b6100e66100e136600461098e565b610142565b005b6100e66100f63660046109cc565b6101a0565b6100c56402540be40081565b6100e66101153660046109fa565b6101ae565b600054610095906001600160a01b031681565b600061013983836101ee565b90505b92915050565b600080600061015084610371565b604080518481526020810184905290810182905292955090935091507fcdb95277f6a6807a2018e2dd8d15a4ff1b5619260b5dc535eb77e90945cf6e39906060015b60405180910390a150505050565b6101aa82826105c2565b5050565b60006101bb848484610748565b90507f0f3805f24563e903dd7c191088451bda29dc93cb93085e42724fdc27f62fef968160405161019291815260200190565b6000806402540be4006102018486610a79565b67ffffffffffffffff166102159190610aa1565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166309b53f516040518163ffffffff1660e01b8152600401602060405180830381865afa15801561026c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102909190610ad5565b63ffffffff16905060008082116102a85760006102b2565b6102b28284610af9565b905060008060009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c9190610b26565b509250505060006402540be4008267ffffffffffffffff1661034e9190610aa1565b90508061035b8487610b85565b6103659190610b85565b98975050505050505050565b600080546040517fb02c43d0000000000000000000000000000000000000000000000000000000008152600481018490528291829182916001600160a01b03169063b02c43d09060240160e060405180830381865afa1580156103d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fc9190610ba3565b9050806040015163ffffffff1660000361045d5760405162461bcd60e51b815260206004820152601760248201527f4465706f736974206e6f7420696e697469616c697a656400000000000000000060448201526064015b60405180910390fd5b6001546040517f6c626aa4000000000000000000000000000000000000000000000000000000008152600481018790526000916001600160a01b031690636c626aa49060240160408051808303816000875af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190610c5d565b9150508160a0015163ffffffff16600014158061050b575067ffffffffffffffff811615155b61057d5760405162461bcd60e51b815260206004820152602360248201527f4465706f736974206e6f742066696e616c697a6564206279207468652062726960448201527f64676500000000000000000000000000000000000000000000000000000000006064820152608401610454565b6402540be400826020015167ffffffffffffffff1661059c9190610aa1565b94506105b0826020015183608001516101ee565b93508160c00151925050509193909250565b6000546001600160a01b03161580156105e457506001546001600160a01b0316155b6106565760405162461bcd60e51b815260206004820152602960248201527f4162737472616374544254434465706f7369746f7220616c726561647920696e60448201527f697469616c697a656400000000000000000000000000000000000000000000006064820152608401610454565b6001600160a01b0382166106ac5760405162461bcd60e51b815260206004820152601d60248201527f42726964676520616464726573732063616e6e6f74206265207a65726f0000006044820152606401610454565b6001600160a01b0381166107025760405162461bcd60e51b815260206004820181905260248201527f544254435661756c7420616464726573732063616e6e6f74206265207a65726f6044820152606401610454565b600080546001600160a01b039384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560018054929093169116179055565b6001546000906001600160a01b031661076760c0850160a08601610c8c565b6001600160a01b0316146107bd5760405162461bcd60e51b815260206004820152601660248201527f5661756c742061646472657373206d69736d61746368000000000000000000006044820152606401610454565b60006107dd6107cb86610866565b6107d86020870187610ca9565b6108cb565b6000546040517f86f014390000000000000000000000000000000000000000000000000000000081529192506001600160a01b0316906386f014399061082b90889088908890600401610d71565b600060405180830381600087803b15801561084557600080fd5b505af1158015610859573d6000803e3d6000fd5b5092979650505050505050565b600061013c6108786020840184610ed6565b6108856020850185610ef1565b6108926040870187610ef1565b6108a26080890160608a01610ed6565b6040516020016108b796959493929190610f38565b604051602081830303815290604052610915565b600082826040516020016108f692919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291905280516020909101209392505050565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b67ffffffffffffffff8116811461095257600080fd5b50565b6000806040838503121561096857600080fd5b82356109738161093c565b915060208301356109838161093c565b809150509250929050565b6000602082840312156109a057600080fd5b5035919050565b6001600160a01b038116811461095257600080fd5b80356109c7816109a7565b919050565b600080604083850312156109df57600080fd5b82356109ea816109a7565b91506020830135610983816109a7565b6000806000838503610100811215610a1157600080fd5b843567ffffffffffffffff811115610a2857600080fd5b850160808188031215610a3a57600080fd5b935060c0601f1982011215610a4e57600080fd5b5060208401915060e084013590509250925092565b634e487b7160e01b600052601160045260246000fd5b67ffffffffffffffff828116828216039080821115610a9a57610a9a610a63565b5092915050565b808202811582820484141761013c5761013c610a63565b63ffffffff8116811461095257600080fd5b80516109c781610ab8565b600060208284031215610ae757600080fd5b8151610af281610ab8565b9392505050565b600082610b1657634e487b7160e01b600052601260045260246000fd5b500490565b80516109c78161093c565b60008060008060808587031215610b3c57600080fd5b8451610b478161093c565b6020860151909450610b588161093c565b6040860151909350610b698161093c565b6060860151909250610b7a81610ab8565b939692955090935050565b8181038181111561013c5761013c610a63565b80516109c7816109a7565b600060e08284031215610bb557600080fd5b60405160e0810181811067ffffffffffffffff82111715610be657634e487b7160e01b600052604160045260246000fd5b604052610bf283610b98565b8152610c0060208401610b1b565b6020820152610c1160408401610aca565b6040820152610c2260608401610b98565b6060820152610c3360808401610b1b565b6080820152610c4460a08401610aca565b60a082015260c083015160c08201528091505092915050565b60008060408385031215610c7057600080fd5b8251610c7b8161093c565b60208401519092506109838161093c565b600060208284031215610c9e57600080fd5b8135610af2816109a7565b600060208284031215610cbb57600080fd5b8135610af281610ab8565b80356001600160e01b0319811681146109c757600080fd5b6000808335601e19843603018112610cf557600080fd5b830160208101925035905067ffffffffffffffff811115610d1557600080fd5b803603821315610d2457600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b80356bffffffffffffffffffffffff19811681146109c757600080fd5b60006101008083526001600160e01b031980610d8c88610cc6565b1682850152610d9e6020880188610cde565b92506080610120860152610db761018086018483610d2b565b925050610dc76040880188610cde565b85840360ff1901610140870152610ddf848284610d2b565b9350505080610df060608901610cc6565b166101608501525090508335610e0581610ab8565b63ffffffff811660208401525060208401357fffffffffffffffff0000000000000000000000000000000000000000000000008116808214610e4657600080fd5b80604085015250506bffffffffffffffffffffffff19610e6860408601610d54565b166060830152610e7a60608501610d54565b6bffffffffffffffffffffffff198116608084015250610e9c60808501610cc6565b6001600160e01b0319811660a084015250610eb960a085016109bc565b6001600160a01b031660c083015260e09091019190915292915050565b600060208284031215610ee857600080fd5b61013982610cc6565b6000808335601e19843603018112610f0857600080fd5b83018035915067ffffffffffffffff821115610f2357600080fd5b602001915036819003821315610d2457600080fd5b60006001600160e01b0319808916835286886004850137868301600481016000815286888237509316939092016004810193909352505060080194935050505056fea26469706673582212209d6461c5d0ad9219af91a3b2dcf49742c1d95ad3c8a0d0258c563fe110e2113d64736f6c63430008110033",
262
218
  "linkReferences": {},
263
219
  "deployedLinkReferences": {}
264
220
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/3f9edfb3d43f1a293a708db83f2da2f9.json"
3
+ "buildInfo": "../../../build-info/f8894b8e62a776dd12416473b8574812.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/3f9edfb3d43f1a293a708db83f2da2f9.json"
3
+ "buildInfo": "../../../build-info/f8894b8e62a776dd12416473b8574812.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/3f9edfb3d43f1a293a708db83f2da2f9.json"
3
+ "buildInfo": "../../../build-info/f8894b8e62a776dd12416473b8574812.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/3f9edfb3d43f1a293a708db83f2da2f9.json"
3
+ "buildInfo": "../../../build-info/f8894b8e62a776dd12416473b8574812.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/3f9edfb3d43f1a293a708db83f2da2f9.json"
3
+ "buildInfo": "../../../build-info/f8894b8e62a776dd12416473b8574812.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/3f9edfb3d43f1a293a708db83f2da2f9.json"
3
+ "buildInfo": "../../../build-info/f8894b8e62a776dd12416473b8574812.json"
4
4
  }
@@ -96,14 +96,6 @@ abstract contract AbstractTBTCDepositor {
96
96
  // slither-disable-next-line unused-state
97
97
  uint256[47] private __gap;
98
98
 
99
- event DepositInitialized(uint256 indexed depositKey, uint32 initializedAt);
100
-
101
- event DepositFinalized(
102
- uint256 indexed depositKey,
103
- uint256 tbtcAmount,
104
- uint32 finalizedAt
105
- );
106
-
107
99
  /// @notice Initializes the contract. MUST BE CALLED from the child
108
100
  /// contract initializer.
109
101
  // slither-disable-next-line dead-code
@@ -150,12 +142,6 @@ abstract contract AbstractTBTCDepositor {
150
142
  reveal.fundingOutputIndex
151
143
  );
152
144
 
153
- emit DepositInitialized(
154
- depositKey,
155
- /* solhint-disable-next-line not-rely-on-time */
156
- uint32(block.timestamp)
157
- );
158
-
159
145
  // The Bridge does not allow to reveal the same deposit twice and
160
146
  // revealed deposits stay there forever. The transaction will revert
161
147
  // if the deposit has already been revealed so, there is no need to do
@@ -211,14 +197,6 @@ abstract contract AbstractTBTCDepositor {
211
197
 
212
198
  tbtcAmount = _calculateTbtcAmount(deposit.amount, deposit.treasuryFee);
213
199
 
214
- // slither-disable-next-line reentrancy-events
215
- emit DepositFinalized(
216
- depositKey,
217
- tbtcAmount,
218
- /* solhint-disable-next-line not-rely-on-time */
219
- uint32(block.timestamp)
220
- );
221
-
222
200
  extraData = deposit.extraData;
223
201
  }
224
202
 
@@ -58,6 +58,7 @@ contract MockBridge is IBridge {
58
58
 
59
59
  mapping(uint256 => IBridgeTypes.DepositRequest) internal _deposits;
60
60
 
61
+ uint64 internal _depositDustThreshold = 1000000; // 1000000 satoshi = 0.01 BTC
61
62
  uint64 internal _depositTreasuryFeeDivisor = 50; // 1/50 == 100 bps == 2% == 0.02
62
63
  uint64 internal _depositTxMaxFee = 1000; // 1000 satoshi = 0.00001 BTC
63
64
 
@@ -137,12 +138,16 @@ contract MockBridge is IBridge {
137
138
  uint32 depositRevealAheadPeriod
138
139
  )
139
140
  {
140
- depositDustThreshold = 0;
141
- depositTreasuryFeeDivisor = 0;
141
+ depositDustThreshold = _depositDustThreshold;
142
+ depositTreasuryFeeDivisor = _depositTreasuryFeeDivisor;
142
143
  depositTxMaxFee = _depositTxMaxFee;
143
144
  depositRevealAheadPeriod = 0;
144
145
  }
145
146
 
147
+ function setDepositDustThreshold(uint64 value) external {
148
+ _depositDustThreshold = value;
149
+ }
150
+
146
151
  function setDepositTreasuryFeeDivisor(uint64 value) external {
147
152
  _depositTreasuryFeeDivisor = value;
148
153
  }
@@ -601,7 +601,7 @@
601
601
  "parameterSlots": 1,
602
602
  "returnSlots": 0
603
603
  },
604
- "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$42159t_uint256_fromMemory": {
604
+ "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$42139t_uint256_fromMemory": {
605
605
  "entryPoint": 230,
606
606
  "id": null,
607
607
  "parameterSlots": 2,
@@ -1045,7 +1045,7 @@
1045
1045
  }
1046
1046
  ]
1047
1047
  },
1048
- "name": "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$42159t_uint256_fromMemory",
1048
+ "name": "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$42139t_uint256_fromMemory",
1049
1049
  "nodeType": "YulFunctionDefinition",
1050
1050
  "parameters": [
1051
1051
  {
@@ -1085,7 +1085,7 @@
1085
1085
  }
1086
1086
  ]
1087
1087
  },
1088
- "contents": "{\n { }\n function validator_revert_contract_IERC20(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$42159t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_contract_IERC20(value)\n value0 := value\n let value_1 := mload(add(headStart, 32))\n validator_revert_contract_IERC20(value_1)\n value1 := value_1\n value2 := mload(add(headStart, 64))\n }\n}",
1088
+ "contents": "{\n { }\n function validator_revert_contract_IERC20(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$42139t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_contract_IERC20(value)\n value0 := value\n let value_1 := mload(add(headStart, 32))\n validator_revert_contract_IERC20(value_1)\n value1 := value_1\n value2 := mload(add(headStart, 64))\n }\n}",
1089
1089
  "id": 130,
1090
1090
  "language": "Yul",
1091
1091
  "name": "#utility.yul"
@@ -1415,7 +1415,7 @@
1415
1415
  "parameterSlots": 2,
1416
1416
  "returnSlots": 1
1417
1417
  },
1418
- "abi_encode_tuple_t_contract$_TBTC_$42159__to_t_address__fromStack_reversed": {
1418
+ "abi_encode_tuple_t_contract$_TBTC_$42139__to_t_address__fromStack_reversed": {
1419
1419
  "entryPoint": null,
1420
1420
  "id": null,
1421
1421
  "parameterSlots": 2,
@@ -3111,7 +3111,7 @@
3111
3111
  }
3112
3112
  ]
3113
3113
  },
3114
- "name": "abi_encode_tuple_t_contract$_TBTC_$42159__to_t_address__fromStack_reversed",
3114
+ "name": "abi_encode_tuple_t_contract$_TBTC_$42139__to_t_address__fromStack_reversed",
3115
3115
  "nodeType": "YulFunctionDefinition",
3116
3116
  "parameters": [
3117
3117
  {
@@ -8190,7 +8190,7 @@
8190
8190
  }
8191
8191
  ]
8192
8192
  },
8193
- "contents": "{\n { }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_contract$_IERC20_$18228__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_addresst_uint256t_addresst_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := abi_decode_address(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_2)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n value3 := add(_2, 32)\n value4 := length\n }\n function abi_encode_tuple_t_contract$_TBTC_$42159__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_stringliteral_9e5d6ee1ae898a2df1a30570594add9e68ad8b6af4a57d7f5f0cb2842bacfb92__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Caller is not authorized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_df41f55d800b6607edb1865fb30b4ab33d723889d164c99cca8fee73ff0a30ba__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"New initiator must not be zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_b1549855d8fed0f683c741615955b3e3f5ac1fbe3fc645d4559c62450ecc9620__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"New VendingMachine cannot be zer\")\n mstore(add(headStart, 96), \"o address\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 32), value1)\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function abi_encode_tuple_t_stringliteral_1a06921938f9f63c056c578e8a5f166d5d113ae30837c6c39a7741ed0e1467eb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"Amount + fee exceeds TBTC v2 bal\")\n mstore(add(headStart, 96), \"ance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ea12df8d4a8fcefc5cad59efc2d58b797f642582ed766ffab36a121e023bc406__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Token is not TBTC v1\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fd4966bd1bdd27d0ab34b8489f15fc58fd6abfe9ed90887e0c2e4963267e6422__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 27)\n mstore(add(headStart, 64), \"Only TBTC v1 caller allowed\")\n tail := add(headStart, 96)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(x, y)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_61334796e55ed72efd746c0931e2d3cac4c97d3130d7bb275d5f0f57af1f045e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Change not initiated\")\n tail := add(headStart, 96)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_92dde2c37d5ac1c8388fee9c21ec0fe0c957aca7e978d56c81b848f962f0a8ba__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Governance delay has not elapsed\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := 0xffffffffffffffffffffffffffffffffffffffff\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"SafeERC20: ERC20 operation did n\")\n mstore(add(headStart, 96), \"ot succeed\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Address: insufficient balance fo\")\n mstore(add(headStart, 96), \"r call\")\n tail := add(headStart, 128)\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory_with_cleanup(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}",
8193
+ "contents": "{\n { }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_contract$_IERC20_$18228__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_addresst_uint256t_addresst_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := abi_decode_address(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_2)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n value3 := add(_2, 32)\n value4 := length\n }\n function abi_encode_tuple_t_contract$_TBTC_$42139__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_stringliteral_9e5d6ee1ae898a2df1a30570594add9e68ad8b6af4a57d7f5f0cb2842bacfb92__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Caller is not authorized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_df41f55d800b6607edb1865fb30b4ab33d723889d164c99cca8fee73ff0a30ba__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"New initiator must not be zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_b1549855d8fed0f683c741615955b3e3f5ac1fbe3fc645d4559c62450ecc9620__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"New VendingMachine cannot be zer\")\n mstore(add(headStart, 96), \"o address\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 32), value1)\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function abi_encode_tuple_t_stringliteral_1a06921938f9f63c056c578e8a5f166d5d113ae30837c6c39a7741ed0e1467eb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"Amount + fee exceeds TBTC v2 bal\")\n mstore(add(headStart, 96), \"ance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ea12df8d4a8fcefc5cad59efc2d58b797f642582ed766ffab36a121e023bc406__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Token is not TBTC v1\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fd4966bd1bdd27d0ab34b8489f15fc58fd6abfe9ed90887e0c2e4963267e6422__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 27)\n mstore(add(headStart, 64), \"Only TBTC v1 caller allowed\")\n tail := add(headStart, 96)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(x, y)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_61334796e55ed72efd746c0931e2d3cac4c97d3130d7bb275d5f0f57af1f045e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Change not initiated\")\n tail := add(headStart, 96)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_92dde2c37d5ac1c8388fee9c21ec0fe0c957aca7e978d56c81b848f962f0a8ba__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Governance delay has not elapsed\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := 0xffffffffffffffffffffffffffffffffffffffff\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"SafeERC20: ERC20 operation did n\")\n mstore(add(headStart, 96), \"ot succeed\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Address: insufficient balance fo\")\n mstore(add(headStart, 96), \"r call\")\n tail := add(headStart, 128)\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory_with_cleanup(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}",
8194
8194
  "id": 130,
8195
8195
  "language": "Yul",
8196
8196
  "name": "#utility.yul"
@@ -311,7 +311,7 @@
311
311
  "parameterSlots": 1,
312
312
  "returnSlots": 0
313
313
  },
314
- "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$42159_fromMemory": {
314
+ "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$42139_fromMemory": {
315
315
  "entryPoint": 183,
316
316
  "id": null,
317
317
  "parameterSlots": 2,
@@ -710,7 +710,7 @@
710
710
  }
711
711
  ]
712
712
  },
713
- "name": "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$42159_fromMemory",
713
+ "name": "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$42139_fromMemory",
714
714
  "nodeType": "YulFunctionDefinition",
715
715
  "parameters": [
716
716
  {
@@ -744,7 +744,7 @@
744
744
  }
745
745
  ]
746
746
  },
747
- "contents": "{\n { }\n function validator_revert_contract_IERC20(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$42159_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_contract_IERC20(value)\n value0 := value\n let value_1 := mload(add(headStart, 32))\n validator_revert_contract_IERC20(value_1)\n value1 := value_1\n }\n}",
747
+ "contents": "{\n { }\n function validator_revert_contract_IERC20(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$42139_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_contract_IERC20(value)\n value0 := value\n let value_1 := mload(add(headStart, 32))\n validator_revert_contract_IERC20(value_1)\n value1 := value_1\n }\n}",
748
748
  "id": 130,
749
749
  "language": "Yul",
750
750
  "name": "#utility.yul"
@@ -948,7 +948,7 @@
948
948
  "parameterSlots": 2,
949
949
  "returnSlots": 1
950
950
  },
951
- "abi_encode_tuple_t_contract$_TBTC_$42159__to_t_address__fromStack_reversed": {
951
+ "abi_encode_tuple_t_contract$_TBTC_$42139__to_t_address__fromStack_reversed": {
952
952
  "entryPoint": null,
953
953
  "id": null,
954
954
  "parameterSlots": 2,
@@ -2707,7 +2707,7 @@
2707
2707
  }
2708
2708
  ]
2709
2709
  },
2710
- "name": "abi_encode_tuple_t_contract$_TBTC_$42159__to_t_address__fromStack_reversed",
2710
+ "name": "abi_encode_tuple_t_contract$_TBTC_$42139__to_t_address__fromStack_reversed",
2711
2711
  "nodeType": "YulFunctionDefinition",
2712
2712
  "parameters": [
2713
2713
  {
@@ -6076,7 +6076,7 @@
6076
6076
  }
6077
6077
  ]
6078
6078
  },
6079
- "contents": "{\n { }\n function validator_revert_contract_IERC20(value)\n {\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_contract$_IERC20_$18228t_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_IERC20(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_contract_IERC20(value_1)\n value1 := value_1\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_contract$_IERC20_$18228__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_tuple_t_addresst_uint256t_addresst_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_IERC20(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n let value_1 := calldataload(add(headStart, 64))\n validator_revert_contract_IERC20(value_1)\n value2 := value_1\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_2)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n value3 := add(_2, 32)\n value4 := length\n }\n function abi_encode_tuple_t_contract$_TBTC_$42159__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_IERC20(value)\n value0 := value\n }\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := 0xffffffffffffffffffffffffffffffffffffffff\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_stringliteral_f9abe958fad76966d1c3d8b1924bd1c1f7130eb77673292d88e768625cb7d832__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Token is not tBTC v1\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_82afa2706b38d988b36925e5facb3efa4666973f2e3f984e55eedf106656e77a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 27)\n mstore(add(headStart, 64), \"Only tBTC v1 caller allowed\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function abi_encode_tuple_t_stringliteral_faa67e5aa2cc69c3aaf867fefd341e0cdc57e1efd0108087082c2f3812369ba4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 51)\n mstore(add(headStart, 64), \"Not enough tBTC v2 available in \")\n mstore(add(headStart, 96), \"the Vending Machine\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"SafeERC20: ERC20 operation did n\")\n mstore(add(headStart, 96), \"ot succeed\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Address: insufficient balance fo\")\n mstore(add(headStart, 96), \"r call\")\n tail := add(headStart, 128)\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory_with_cleanup(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}",
6079
+ "contents": "{\n { }\n function validator_revert_contract_IERC20(value)\n {\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_contract$_IERC20_$18228t_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_IERC20(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_contract_IERC20(value_1)\n value1 := value_1\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_contract$_IERC20_$18228__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_tuple_t_addresst_uint256t_addresst_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_IERC20(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n let value_1 := calldataload(add(headStart, 64))\n validator_revert_contract_IERC20(value_1)\n value2 := value_1\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_2)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n value3 := add(_2, 32)\n value4 := length\n }\n function abi_encode_tuple_t_contract$_TBTC_$42139__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_IERC20(value)\n value0 := value\n }\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := 0xffffffffffffffffffffffffffffffffffffffff\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_stringliteral_f9abe958fad76966d1c3d8b1924bd1c1f7130eb77673292d88e768625cb7d832__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Token is not tBTC v1\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_82afa2706b38d988b36925e5facb3efa4666973f2e3f984e55eedf106656e77a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 27)\n mstore(add(headStart, 64), \"Only tBTC v1 caller allowed\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function abi_encode_tuple_t_stringliteral_faa67e5aa2cc69c3aaf867fefd341e0cdc57e1efd0108087082c2f3812369ba4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 51)\n mstore(add(headStart, 64), \"Not enough tBTC v2 available in \")\n mstore(add(headStart, 96), \"the Vending Machine\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"SafeERC20: ERC20 operation did n\")\n mstore(add(headStart, 96), \"ot succeed\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Address: insufficient balance fo\")\n mstore(add(headStart, 96), \"r call\")\n tail := add(headStart, 128)\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory_with_cleanup(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}",
6080
6080
  "id": 130,
6081
6081
  "language": "Yul",
6082
6082
  "name": "#utility.yul"