@keep-network/tbtc-v2 1.6.0-dev.25 → 1.6.0-dev.26

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 (131) 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/RedemptionWatchtower.json +5 -5
  28. package/artifacts/ReimbursementPool.json +2 -2
  29. package/artifacts/T.json +2 -2
  30. package/artifacts/TBTC.json +3 -3
  31. package/artifacts/TBTCToken.json +3 -3
  32. package/artifacts/TBTCVault.json +23 -23
  33. package/artifacts/TokenStaking.json +1 -1
  34. package/artifacts/TokenholderGovernor.json +9 -9
  35. package/artifacts/TokenholderTimelock.json +8 -8
  36. package/artifacts/VendingMachine.json +3 -3
  37. package/artifacts/VendingMachineNuCypher.json +1 -1
  38. package/artifacts/VendingMachineV2.json +3 -3
  39. package/artifacts/VendingMachineV3.json +3 -3
  40. package/artifacts/WalletProposalValidator.json +11 -11
  41. package/artifacts/WalletRegistry.json +5 -5
  42. package/artifacts/WalletRegistryGovernance.json +2 -2
  43. package/artifacts/Wallets.json +2 -2
  44. package/artifacts/solcInputs/{0c97856295d2a2e5cbbdaa36b4913700.json → c151efc9521638a56d4195bcc684d7ff.json} +1 -1
  45. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  46. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  47. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +1 -1
  48. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  49. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  50. package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.dbg.json +1 -1
  51. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  52. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  53. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
  54. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  55. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
  56. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
  57. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  58. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
  59. package/build/contracts/bridge/Redemption.sol/IRedemptionWatchtower.dbg.json +1 -1
  60. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
  61. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
  62. package/build/contracts/bridge/RedemptionWatchtower.sol/RedemptionWatchtower.dbg.json +1 -1
  63. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  64. package/build/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.dbg.json +1 -1
  65. package/build/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.dbg.json +1 -1
  66. package/build/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.dbg.json +1 -1
  67. package/build/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.json +2 -2
  68. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  69. package/build/contracts/integrator/AbstractTBTCDepositor.sol/AbstractTBTCDepositor.dbg.json +1 -1
  70. package/build/contracts/integrator/IBridge.sol/IBridge.dbg.json +1 -1
  71. package/build/contracts/integrator/IBridge.sol/IBridgeTypes.dbg.json +1 -1
  72. package/build/contracts/integrator/ITBTCVault.sol/ITBTCVault.dbg.json +1 -1
  73. package/build/contracts/l2/L2TBTC.sol/L2TBTC.dbg.json +1 -1
  74. package/build/contracts/l2/L2WormholeGateway.sol/IWormholeTokenBridge.dbg.json +1 -1
  75. package/build/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.dbg.json +1 -1
  76. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +1 -1
  77. package/build/contracts/relay/LightRelay.sol/ILightRelay.dbg.json +1 -1
  78. package/build/contracts/relay/LightRelay.sol/LightRelay.dbg.json +1 -1
  79. package/build/contracts/relay/LightRelay.sol/RelayUtils.dbg.json +1 -1
  80. package/build/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.dbg.json +1 -1
  81. package/build/contracts/test/BankStub.sol/BankStub.dbg.json +1 -1
  82. package/build/contracts/test/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  83. package/build/contracts/test/HeartbeatStub.sol/HeartbeatStub.dbg.json +1 -1
  84. package/build/contracts/test/LightRelayStub.sol/LightRelayStub.dbg.json +1 -1
  85. package/build/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.dbg.json +1 -1
  86. package/build/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.dbg.json +1 -1
  87. package/build/contracts/test/SystemTestRelay.sol/SystemTestRelay.dbg.json +1 -1
  88. package/build/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.dbg.json +1 -1
  89. package/build/contracts/test/TestERC20.sol/TestERC20.dbg.json +1 -1
  90. package/build/contracts/test/TestERC721.sol/TestERC721.dbg.json +1 -1
  91. package/build/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.dbg.json +1 -1
  92. package/build/contracts/test/TestTBTCDepositor.sol/MockBridge.dbg.json +1 -1
  93. package/build/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.dbg.json +1 -1
  94. package/build/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.dbg.json +1 -1
  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/bridge/WalletProposalValidator.sol +16 -8
  102. package/export/artifacts/contracts/bridge/Bridge.sol/Bridge.json +22 -22
  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/bridge/WalletProposalValidator.sol/WalletProposalValidator.json +4838 -4792
  107. package/export/artifacts/contracts/l2/L2TBTC.sol/L2TBTC.json +40 -40
  108. package/export/artifacts/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.json +47 -47
  109. package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +88 -88
  110. package/export/artifacts/contracts/relay/LightRelay.sol/LightRelay.json +57 -57
  111. package/export/artifacts/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.json +31 -31
  112. package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +2 -2
  113. package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +58 -58
  114. package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +2 -2
  115. package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +59 -59
  116. package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +7 -7
  117. package/export/artifacts/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.json +59 -59
  118. package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +14 -14
  119. package/export/artifacts/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.json +20 -20
  120. package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +6 -6
  121. package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +8 -8
  122. package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +2 -2
  123. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/MockBridge.json +34 -34
  124. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.json +18 -18
  125. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.json +48 -48
  126. package/export/artifacts/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.json +37 -37
  127. package/export/artifacts/contracts/token/TBTC.sol/TBTC.json +2 -2
  128. package/export/artifacts/contracts/vault/DonationVault.sol/DonationVault.json +11 -11
  129. package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +135 -135
  130. package/export/typechain/factories/WalletProposalValidator__factory.js +1 -1
  131. package/package.json +1 -1
@@ -311,7 +311,7 @@
311
311
  "parameterSlots": 1,
312
312
  "returnSlots": 0
313
313
  },
314
- "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$43366_fromMemory": {
314
+ "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$43394_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_$43366_fromMemory",
713
+ "name": "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$43394_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_$43366_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_$43394_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": 131,
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_$43366__to_t_address__fromStack_reversed": {
951
+ "abi_encode_tuple_t_contract$_TBTC_$43394__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_$43366__to_t_address__fromStack_reversed",
2710
+ "name": "abi_encode_tuple_t_contract$_TBTC_$43394__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_$43366__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_$43394__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": 131,
6081
6081
  "language": "Yul",
6082
6082
  "name": "#utility.yul"
@@ -353,7 +353,7 @@
353
353
  "parameterSlots": 1,
354
354
  "returnSlots": 0
355
355
  },
356
- "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$43366_fromMemory": {
356
+ "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$43394_fromMemory": {
357
357
  "entryPoint": 183,
358
358
  "id": null,
359
359
  "parameterSlots": 2,
@@ -752,7 +752,7 @@
752
752
  }
753
753
  ]
754
754
  },
755
- "name": "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$43366_fromMemory",
755
+ "name": "abi_decode_tuple_t_contract$_IERC20_$18228t_contract$_TBTC_$43394_fromMemory",
756
756
  "nodeType": "YulFunctionDefinition",
757
757
  "parameters": [
758
758
  {
@@ -786,7 +786,7 @@
786
786
  }
787
787
  ]
788
788
  },
789
- "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_$43366_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}",
789
+ "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_$43394_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}",
790
790
  "id": 131,
791
791
  "language": "Yul",
792
792
  "name": "#utility.yul"
@@ -1002,7 +1002,7 @@
1002
1002
  "parameterSlots": 2,
1003
1003
  "returnSlots": 1
1004
1004
  },
1005
- "abi_encode_tuple_t_contract$_TBTC_$43366__to_t_address__fromStack_reversed": {
1005
+ "abi_encode_tuple_t_contract$_TBTC_$43394__to_t_address__fromStack_reversed": {
1006
1006
  "entryPoint": null,
1007
1007
  "id": null,
1008
1008
  "parameterSlots": 2,
@@ -3005,7 +3005,7 @@
3005
3005
  }
3006
3006
  ]
3007
3007
  },
3008
- "name": "abi_encode_tuple_t_contract$_TBTC_$43366__to_t_address__fromStack_reversed",
3008
+ "name": "abi_encode_tuple_t_contract$_TBTC_$43394__to_t_address__fromStack_reversed",
3009
3009
  "nodeType": "YulFunctionDefinition",
3010
3010
  "parameters": [
3011
3011
  {
@@ -7007,7 +7007,7 @@
7007
7007
  }
7008
7008
  ]
7009
7009
  },
7010
- "contents": "{\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 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_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_IERC20(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\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_$43366__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_stringliteral_e6b01149c0b69b924c8919686bb5ab07e4289d19f1ab61ede5b2cc5d8565f86a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 63)\n mstore(add(headStart, 64), \"tBTC v2 tokens can not be recove\")\n mstore(add(headStart, 96), \"red, use withdrawTbtcV2 instead\")\n tail := add(headStart, 128)\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_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x)\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_24f712f65021c229d1c5d91cd9d1d0e07e437faddc79dd451f9b1ee7f591f8c4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"tBTC v1 must not be left unbacke\")\n mstore(add(headStart, 96), \"d\")\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 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_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_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_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_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}",
7010
+ "contents": "{\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 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_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_IERC20(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\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_$43394__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_stringliteral_e6b01149c0b69b924c8919686bb5ab07e4289d19f1ab61ede5b2cc5d8565f86a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 63)\n mstore(add(headStart, 64), \"tBTC v2 tokens can not be recove\")\n mstore(add(headStart, 96), \"red, use withdrawTbtcV2 instead\")\n tail := add(headStart, 128)\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_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x)\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_24f712f65021c229d1c5d91cd9d1d0e07e437faddc79dd451f9b1ee7f591f8c4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"tBTC v1 must not be left unbacke\")\n mstore(add(headStart, 96), \"d\")\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 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_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_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_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_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}",
7011
7011
  "id": 131,
7012
7012
  "language": "Yul",
7013
7013
  "name": "#utility.yul"