@keep-network/tbtc-v2 1.7.0 → 1.8.0-dev.1

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 (213) hide show
  1. package/artifacts/.chainId +1 -1
  2. package/artifacts/BLS.json +223 -0
  3. package/artifacts/Bank.json +50 -40
  4. package/artifacts/BeaconAuthorization.json +273 -0
  5. package/artifacts/BeaconDkg.json +241 -0
  6. package/artifacts/BeaconDkgValidator.json +501 -0
  7. package/artifacts/BeaconInactivity.json +151 -0
  8. package/artifacts/BeaconSortitionPool.json +1187 -0
  9. package/artifacts/Bridge.json +449 -32
  10. package/artifacts/BridgeGovernance.json +22 -22
  11. package/artifacts/BridgeGovernanceParameters.json +10 -10
  12. package/artifacts/Deposit.json +12 -12
  13. package/artifacts/DepositSweep.json +12 -12
  14. package/artifacts/DonationVault.json +17 -17
  15. package/artifacts/EcdsaDkgValidator.json +517 -0
  16. package/artifacts/EcdsaInactivity.json +156 -0
  17. package/artifacts/EcdsaSortitionPool.json +1187 -0
  18. package/artifacts/Fraud.json +12 -12
  19. package/artifacts/LightRelay.json +38 -38
  20. package/artifacts/LightRelayMaintainerProxy.json +31 -31
  21. package/artifacts/MaintainerProxy.json +48 -48
  22. package/artifacts/MovingFunds.json +12 -12
  23. package/artifacts/NuCypherToken.json +711 -0
  24. package/artifacts/RandomBeacon.json +3271 -0
  25. package/artifacts/RandomBeaconChaosnet.json +252 -0
  26. package/artifacts/RandomBeaconGovernance.json +3499 -0
  27. package/artifacts/Redemption.json +12 -12
  28. package/artifacts/RedemptionWatchtower.json +39 -39
  29. package/artifacts/ReimbursementPool.json +509 -0
  30. package/artifacts/T.json +1148 -0
  31. package/artifacts/TBTC.json +37 -36
  32. package/artifacts/TBTCToken.json +738 -0
  33. package/artifacts/TBTCVault.json +47 -47
  34. package/artifacts/Timelock.json +148 -148
  35. package/artifacts/TokenStaking.json +2117 -0
  36. package/artifacts/TokenholderGovernor.json +1795 -0
  37. package/artifacts/TokenholderTimelock.json +1058 -0
  38. package/artifacts/VendingMachine.json +35 -34
  39. package/artifacts/VendingMachineNuCypher.json +400 -0
  40. package/artifacts/VendingMachineV2.json +21 -21
  41. package/artifacts/VendingMachineV3.json +21 -21
  42. package/artifacts/WalletProposalValidator.json +12 -12
  43. package/artifacts/WalletRegistry.json +1962 -0
  44. package/artifacts/WalletRegistryGovernance.json +2863 -0
  45. package/artifacts/Wallets.json +12 -12
  46. package/artifacts/solcInputs/{be146ce112252bdda3a03de3614fbbf1.json → fe0eebcebee1dc423b54e929e5519304.json} +31 -7
  47. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  48. package/build/contracts/Timelock.sol/Timelock.dbg.json +1 -1
  49. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  50. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +1 -1
  51. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  52. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  53. package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.dbg.json +1 -1
  54. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  55. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  56. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
  57. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  58. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
  59. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
  60. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  61. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
  62. package/build/contracts/bridge/Redemption.sol/IRedemptionWatchtower.dbg.json +1 -1
  63. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
  64. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
  65. package/build/contracts/bridge/RedemptionWatchtower.sol/RedemptionWatchtower.dbg.json +1 -1
  66. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  67. package/build/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.dbg.json +1 -1
  68. package/build/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.dbg.json +1 -1
  69. package/build/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.dbg.json +1 -1
  70. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  71. package/build/contracts/integrator/AbstractTBTCDepositor.sol/AbstractTBTCDepositor.dbg.json +1 -1
  72. package/build/contracts/integrator/IBridge.sol/IBridge.dbg.json +1 -1
  73. package/build/contracts/integrator/IBridge.sol/IBridgeTypes.dbg.json +1 -1
  74. package/build/contracts/integrator/ITBTCVault.sol/ITBTCVault.dbg.json +1 -1
  75. package/build/contracts/l2/L1BitcoinDepositor.sol/L1BitcoinDepositor.dbg.json +1 -1
  76. package/build/contracts/l2/L1BitcoinDepositor.sol/L1BitcoinDepositor.json +41 -2
  77. package/build/contracts/l2/L2BitcoinDepositor.sol/IL2WormholeGateway.dbg.json +1 -1
  78. package/build/contracts/l2/L2BitcoinDepositor.sol/L2BitcoinDepositor.dbg.json +1 -1
  79. package/build/contracts/l2/L2TBTC.sol/L2TBTC.dbg.json +1 -1
  80. package/build/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.dbg.json +1 -1
  81. package/build/contracts/l2/Wormhole.sol/IWormhole.dbg.json +1 -1
  82. package/build/contracts/l2/Wormhole.sol/IWormholeReceiver.dbg.json +1 -1
  83. package/build/contracts/l2/Wormhole.sol/IWormholeRelayer.dbg.json +1 -1
  84. package/build/contracts/l2/Wormhole.sol/IWormholeTokenBridge.dbg.json +1 -1
  85. package/build/contracts/l2/Wormhole.sol/WormholeTypes.dbg.json +1 -1
  86. package/build/contracts/l2/Wormhole.sol/WormholeUtils.dbg.json +1 -1
  87. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +1 -1
  88. package/build/contracts/relay/LightRelay.sol/ILightRelay.dbg.json +1 -1
  89. package/build/contracts/relay/LightRelay.sol/LightRelay.dbg.json +1 -1
  90. package/build/contracts/relay/LightRelay.sol/RelayUtils.dbg.json +1 -1
  91. package/build/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.dbg.json +1 -1
  92. package/build/contracts/test/BankStub.sol/BankStub.dbg.json +1 -1
  93. package/build/contracts/test/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  94. package/build/contracts/test/HeartbeatStub.sol/HeartbeatStub.dbg.json +1 -1
  95. package/build/contracts/test/LightRelayStub.sol/LightRelayStub.dbg.json +1 -1
  96. package/build/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.dbg.json +1 -1
  97. package/build/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.dbg.json +1 -1
  98. package/build/contracts/test/SystemTestRelay.sol/SystemTestRelay.dbg.json +1 -1
  99. package/build/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.dbg.json +1 -1
  100. package/build/contracts/test/TestERC20.sol/TestERC20.dbg.json +1 -1
  101. package/build/contracts/test/TestERC721.sol/TestERC721.dbg.json +1 -1
  102. package/build/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.dbg.json +1 -1
  103. package/build/contracts/test/TestTBTCDepositor.sol/MockBridge.dbg.json +1 -1
  104. package/build/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.dbg.json +1 -1
  105. package/build/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.dbg.json +1 -1
  106. package/build/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.dbg.json +1 -1
  107. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  108. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
  109. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  110. package/build/contracts/vault/TBTCOptimisticMinting.sol/TBTCOptimisticMinting.dbg.json +1 -1
  111. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  112. package/contracts/l2/L1BitcoinDepositor.sol +31 -0
  113. package/export/artifacts/@keep-network/ecdsa/contracts/WalletRegistry.sol/WalletRegistry.json +4999 -4814
  114. package/export/artifacts/contracts/bridge/VendingMachine.sol/VendingMachine.json +6 -6
  115. package/export/artifacts/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.json +6 -6
  116. package/export/artifacts/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.json +6 -6
  117. package/export/artifacts/contracts/l2/L1BitcoinDepositor.sol/L1BitcoinDepositor.json +4288 -4028
  118. package/export/artifacts/contracts/l2/L2BitcoinDepositor.sol/L2BitcoinDepositor.json +33 -33
  119. package/export/artifacts/contracts/l2/L2TBTC.sol/L2TBTC.json +40 -40
  120. package/export/artifacts/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.json +51 -51
  121. package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +88 -88
  122. package/export/artifacts/contracts/relay/LightRelay.sol/LightRelay.json +57 -57
  123. package/export/artifacts/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.json +31 -31
  124. package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +2 -2
  125. package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +30 -30
  126. package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +2 -2
  127. package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +59 -59
  128. package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +7 -7
  129. package/export/artifacts/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.json +59 -59
  130. package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +14 -14
  131. package/export/artifacts/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.json +5 -5
  132. package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +6 -6
  133. package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +8 -8
  134. package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +2 -2
  135. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/MockBridge.json +18 -18
  136. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.json +20 -20
  137. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.json +10 -10
  138. package/export/artifacts/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.json +37 -37
  139. package/export/artifacts/contracts/token/TBTC.sol/TBTC.json +2 -2
  140. package/export/artifacts/contracts/vault/DonationVault.sol/DonationVault.json +11 -11
  141. package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +135 -135
  142. package/export/typechain/factories/EcdsaAuthorization__factory.js +1 -1
  143. package/export/typechain/factories/IStaking__factory.js +24 -103
  144. package/export/typechain/factories/L1BitcoinDepositor__factory.js +40 -1
  145. package/export/typechain/factories/WalletRegistry__factory.js +1 -1
  146. package/package.json +4 -4
  147. package/artifacts/solcInputs/7c1f8f1dbded4c787d87a982d1fc8349.json +0 -410
  148. package/artifacts/solcInputs/7cc3eda3cb3ff2522d18b5e7b31ea228.json +0 -102
  149. package/artifacts/solcInputs/802132f7da69a8a4226cb9424480847b.json +0 -218
  150. package/artifacts/solcInputs/887fad6b16575ba42183543c324eeb0e.json +0 -335
  151. package/artifacts/solcInputs/98e272e2fbf178ec895387b6c503f9de.json +0 -68
  152. package/artifacts/solcInputs/b0025f1f7efe4824592ac0c9793776c3.json +0 -392
  153. package/artifacts/solcInputs/b7c5f3550cc22e16e6b6ea9582ccbee3.json +0 -341
  154. package/artifacts/solcInputs/d71d4b4434e6669852eaf643ebd2a7bc.json +0 -209
  155. package/artifacts/solcInputs/fccb130292c8c7cc958ab4fa31a3e180.json +0 -187
  156. package/export/deploy/00_resolve_relay.js +0 -83
  157. package/export/deploy/01_deploy_tbtc_v2_token.js +0 -70
  158. package/export/deploy/02_deploy_vending_machine.js +0 -84
  159. package/export/deploy/03_transfer_vending_machine_roles.js +0 -69
  160. package/export/deploy/04_deploy_bank.js +0 -73
  161. package/export/deploy/05_deploy_bridge.js +0 -178
  162. package/export/deploy/06_deploy_tbtc_vault.js +0 -80
  163. package/export/deploy/07_deploy_bridge_governance.js +0 -87
  164. package/export/deploy/08_deploy_maintainer_proxy.js +0 -80
  165. package/export/deploy/09_bank_update_bridge.js +0 -63
  166. package/export/deploy/10_authorize_spv_maintainer_in_bridge.js +0 -61
  167. package/export/deploy/11_transfer_bank_ownership.js +0 -60
  168. package/export/deploy/12_transfer_bridge_governance.js +0 -63
  169. package/export/deploy/13_transfer_bridge_governance_ownership.js +0 -60
  170. package/export/deploy/14_transfer_tbtc_vault_ownership.js +0 -60
  171. package/export/deploy/15_transfer_maintainer_proxy_ownership.js +0 -60
  172. package/export/deploy/16_initialize_wallet_owner.js +0 -63
  173. package/export/deploy/16_transfer_proxy_admin_ownership.js +0 -73
  174. package/export/deploy/17_authorize_maintainer_proxy_in_bridge.js +0 -63
  175. package/export/deploy/17_transfer_proxy_admin_ownership.js +0 -73
  176. package/export/deploy/18_authorize_maintainer_proxy_in_bridge.js +0 -63
  177. package/export/deploy/18_authorize_maintainer_proxy_in_reimbursement_pool.js +0 -63
  178. package/export/deploy/19_authorize_bridge_in_reimbursement_pool.js +0 -63
  179. package/export/deploy/19_authorize_maintainer_proxy_in_reimbursement_pool.js +0 -63
  180. package/export/deploy/20_authorize_bridge_in_reimbursement_pool.js +0 -63
  181. package/export/deploy/20_deploy_proxy_admin_with_deputy.js +0 -80
  182. package/export/deploy/21_transfer_reimbursement_pool_ownership.js +0 -60
  183. package/export/deploy/22_deploy_proxy_admin_with_deputy.js +0 -80
  184. package/export/deploy/24_transfer_maintainer_proxy_ownership.js +0 -60
  185. package/export/deploy/25_transfer_proxy_admin_ownership.js +0 -73
  186. package/export/deploy/26_authorize_maintainer_proxy_in_reimbursement_pool.js +0 -70
  187. package/export/deploy/27_authorize_bridge_in_reimbursement_pool.js +0 -70
  188. package/export/deploy/28_deploy_proxy_admin_with_deputy.js +0 -80
  189. package/export/deploy/34_deploy_wallet_coordinator.js +0 -115
  190. package/export/deploy/35_add_coordinator_address.js +0 -60
  191. package/export/deploy/35_transfer_wallet_coordinator_ownership.js +0 -60
  192. package/export/deploy/36_deploy_light_relay_maintainer_proxy.js +0 -86
  193. package/export/deploy/36_transfer_wallet_coordinator_ownership.js +0 -60
  194. package/export/deploy/37_authorize_maintainer_in_light_relay_maintainer_proxy.js +0 -65
  195. package/export/deploy/37_deploy_light_relay_maintainer_proxy.js +0 -86
  196. package/export/deploy/37_transfer_light_relay_maintainer_proxy_ownership.js +0 -60
  197. package/export/deploy/38_authorize_light_relay_maintainer_proxy_in_reimbursement_pool.js +0 -70
  198. package/export/deploy/38_authorize_maintainer_in_light_relay_maintainer_proxy.js +0 -65
  199. package/export/deploy/38_transfer_light_relay_maintainer_proxy_ownership.js +0 -60
  200. package/export/deploy/39_authorize_light_relay_maintainer_proxy_in_light_relay.js +0 -63
  201. package/export/deploy/39_authorize_light_relay_maintainer_proxy_in_reimbursement_pool.js +0 -70
  202. package/export/deploy/39_transfer_light_relay_maintainer_proxy_ownership.js +0 -60
  203. package/export/deploy/40_authorize_light_relay_maintainer_proxy_in_light_relay.js +0 -66
  204. package/export/deploy/40_authorize_light_relay_maintainer_proxy_in_reimbursement_pool.js +0 -70
  205. package/export/deploy/41_authorize_light_relay_maintainer_proxy_in_light_relay.js +0 -66
  206. package/export/typechain/GoerliLightRelay.js +0 -2
  207. package/export/typechain/RelayStub.js +0 -2
  208. package/export/typechain/TestRelay.js +0 -2
  209. package/export/typechain/WalletCoordinator.js +0 -2
  210. package/export/typechain/factories/GoerliLightRelay__factory.js +0 -535
  211. package/export/typechain/factories/RelayStub__factory.js +0 -546
  212. package/export/typechain/factories/TestRelay__factory.js +0 -168
  213. package/export/typechain/factories/WalletCoordinator__factory.js +0 -1121
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -140,6 +140,12 @@ contract L1BitcoinDepositor is
140
140
  /// granted by the contract owner.
141
141
  mapping(address => bool) public reimbursementAuthorizations;
142
142
 
143
+ /// @notice **Feature Flag** controlling whether the deposit transaction max fee
144
+ /// is **reimbursed** (added to the user’s TBTC) or **deducted**.
145
+ /// - `true` => Add `txMaxFee` to the minted TBTC amount
146
+ /// - `false` => Subtract `txMaxFee` from the minted TBTC amount
147
+ bool public reimburseTxMaxFee;
148
+
143
149
  event DepositInitialized(
144
150
  uint256 indexed depositKey,
145
151
  address indexed l2DepositOwner,
@@ -166,6 +172,10 @@ contract L1BitcoinDepositor is
166
172
  bool authorization
167
173
  );
168
174
 
175
+ /// @notice Emitted whenever the owner toggles the reimbursement of the deposit
176
+ /// transaction max fee.
177
+ event ReimburseTxMaxFeeUpdated(bool reimburseTxMaxFee);
178
+
169
179
  /// @dev This modifier comes from the `Reimbursable` base contract and
170
180
  /// must be overridden to protect the `updateReimbursementPool` call.
171
181
  modifier onlyReimbursableAdmin() override {
@@ -214,6 +224,7 @@ contract L1BitcoinDepositor is
214
224
  l2FinalizeDepositGasLimit = 500_000;
215
225
  initializeDepositGasOffset = 60_000;
216
226
  finalizeDepositGasOffset = 20_000;
227
+ reimburseTxMaxFee = false;
217
228
  }
218
229
 
219
230
  /// @notice Sets the address of the `L2BitcoinDepositor` contract on the
@@ -284,6 +295,15 @@ contract L1BitcoinDepositor is
284
295
  reimbursementAuthorizations[_address] = authorization;
285
296
  }
286
297
 
298
+ /// @notice Toggles whether the deposit transaction max fee is reimbursed
299
+ /// or deducted. Only callable by the contract owner.
300
+ /// @param _reimburseTxMaxFee `true` => reimburse (add) the deposit tx max fee,
301
+ /// `false` => deduct the deposit tx max fee.
302
+ function setReimburseTxMaxFee(bool _reimburseTxMaxFee) external onlyOwner {
303
+ reimburseTxMaxFee = _reimburseTxMaxFee;
304
+ emit ReimburseTxMaxFeeUpdated(_reimburseTxMaxFee);
305
+ }
306
+
287
307
  /// @notice Initializes the deposit process on L1 by revealing the deposit
288
308
  /// data (funding transaction and components of the P2(W)SH deposit
289
309
  /// address) to the tBTC Bridge. Once tBTC minting is completed,
@@ -461,6 +481,17 @@ contract L1BitcoinDepositor is
461
481
  bytes32 l2DepositOwner
462
482
  ) = _finalizeDeposit(depositKey);
463
483
 
484
+ // ----------------------------
485
+ // Reimburse or Deduct Max Fee
486
+ // ----------------------------
487
+ if (reimburseTxMaxFee) {
488
+ // Retrieve deposit tx max fee in 1e8 sat precision -> scale it to 1e18.
489
+ (, , uint64 depositTxMaxFee, ) = bridge.depositParameters();
490
+ uint256 txMaxFee = depositTxMaxFee * SATOSHI_MULTIPLIER;
491
+ // The DAO is "refunding" it by adding it to the TBTC minted.
492
+ tbtcAmount += txMaxFee;
493
+ }
494
+
464
495
  // slither-disable-next-line reentrancy-events
465
496
  emit DepositFinalized(
466
497
  depositKey,