@keep-network/tbtc-v2 0.1.1-dev.46 → 0.1.1-dev.49

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 (58) hide show
  1. package/artifacts/Bank.json +39 -29
  2. package/artifacts/Bridge.json +447 -213
  3. package/artifacts/Deposit.json +4 -4
  4. package/artifacts/EcdsaDkgValidator.json +1 -1
  5. package/artifacts/EcdsaInactivity.json +1 -1
  6. package/artifacts/Fraud.json +4 -4
  7. package/artifacts/KeepRegistry.json +1 -1
  8. package/artifacts/KeepStake.json +2 -2
  9. package/artifacts/KeepToken.json +2 -2
  10. package/artifacts/KeepTokenStaking.json +1 -1
  11. package/artifacts/MovingFunds.json +4 -4
  12. package/artifacts/NuCypherStakingEscrow.json +1 -1
  13. package/artifacts/NuCypherToken.json +2 -2
  14. package/artifacts/RandomBeaconStub.json +1 -1
  15. package/artifacts/Redemption.json +4 -4
  16. package/artifacts/ReimbursementPool.json +2 -2
  17. package/artifacts/Relay.json +9 -9
  18. package/artifacts/SortitionPool.json +2 -2
  19. package/artifacts/Sweep.json +4 -4
  20. package/artifacts/T.json +2 -2
  21. package/artifacts/TBTC.json +10 -10
  22. package/artifacts/TBTCToken.json +10 -10
  23. package/artifacts/TokenStaking.json +1 -1
  24. package/artifacts/TokenholderGovernor.json +9 -9
  25. package/artifacts/TokenholderTimelock.json +8 -8
  26. package/artifacts/VendingMachine.json +11 -11
  27. package/artifacts/VendingMachineKeep.json +1 -1
  28. package/artifacts/VendingMachineNuCypher.json +1 -1
  29. package/artifacts/WalletRegistry.json +2 -2
  30. package/artifacts/WalletRegistryGovernance.json +2 -2
  31. package/artifacts/Wallets.json +4 -4
  32. package/artifacts/solcInputs/{75d54bcf8c4f0b65acb7ec6a1fb9af9d.json → 8c8e22c3576c135e48bf2abb6045923d.json} +5 -2
  33. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  34. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  35. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  36. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  37. package/build/contracts/bridge/Bridge.sol/Bridge.json +71 -73
  38. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  39. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  40. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  41. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
  42. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  43. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
  44. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
  45. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
  46. package/build/contracts/bridge/Sweep.sol/Sweep.dbg.json +1 -1
  47. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  48. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  49. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  50. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  51. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  52. package/contracts/bridge/Bridge.sol +20 -9
  53. package/deploy/04_deploy_bank.ts +2 -0
  54. package/deploy/05_deploy_bridge.ts +5 -1
  55. package/deploy/07_transfer_ownership.ts +1 -3
  56. package/deploy/08_transfer_governance.ts +20 -0
  57. package/export.json +304 -47
  58. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/09e5fe1834fb92f92c380a4c77e206a4.json"
3
+ "buildInfo": "../../../build-info/62c9b8bdd92c3e06af3174d60bfc6e85.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/09e5fe1834fb92f92c380a4c77e206a4.json"
3
+ "buildInfo": "../../../build-info/62c9b8bdd92c3e06af3174d60bfc6e85.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/09e5fe1834fb92f92c380a4c77e206a4.json"
3
+ "buildInfo": "../../../build-info/62c9b8bdd92c3e06af3174d60bfc6e85.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/09e5fe1834fb92f92c380a4c77e206a4.json"
3
+ "buildInfo": "../../../build-info/62c9b8bdd92c3e06af3174d60bfc6e85.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/09e5fe1834fb92f92c380a4c77e206a4.json"
3
+ "buildInfo": "../../../build-info/62c9b8bdd92c3e06af3174d60bfc6e85.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/09e5fe1834fb92f92c380a4c77e206a4.json"
3
+ "buildInfo": "../../../build-info/62c9b8bdd92c3e06af3174d60bfc6e85.json"
4
4
  }
@@ -15,7 +15,7 @@
15
15
 
16
16
  pragma solidity ^0.8.9;
17
17
 
18
- import "@openzeppelin/contracts/access/Ownable.sol";
18
+ import "@keep-network/random-beacon/contracts/Governable.sol";
19
19
 
20
20
  import {IWalletOwner as EcdsaWalletOwner} from "@keep-network/ecdsa/contracts/api/IWalletOwner.sol";
21
21
 
@@ -57,7 +57,7 @@ import "../bank/Bank.sol";
57
57
  /// TODO: Revisit all events and look which parameters should be indexed.
58
58
  /// TODO: Align the convention around `param` and `dev` endings. They should
59
59
  /// not have a punctuation mark.
60
- contract Bridge is Ownable, EcdsaWalletOwner {
60
+ contract Bridge is Governable, EcdsaWalletOwner {
61
61
  using BridgeState for BridgeState.Storage;
62
62
  using Deposit for BridgeState.Storage;
63
63
  using Sweep for BridgeState.Storage;
@@ -236,6 +236,8 @@ contract Bridge is Ownable, EcdsaWalletOwner {
236
236
  self.walletMaxAge = 26 weeks; // ~6 months
237
237
  self.walletMaxBtcTransfer = 10e8; // 10 BTC
238
238
  self.walletClosingPeriod = 40 days;
239
+
240
+ _transferGovernance(msg.sender);
239
241
  }
240
242
 
241
243
  /// @notice Used by the depositor to reveal information about their P2(W)SH
@@ -790,7 +792,10 @@ contract Bridge is Ownable, EcdsaWalletOwner {
790
792
  /// @param vault The address of the vault
791
793
  /// @param isTrusted flag indicating whether the vault is trusted or not
792
794
  /// @dev Can only be called by the Governance.
793
- function setVaultStatus(address vault, bool isTrusted) external onlyOwner {
795
+ function setVaultStatus(address vault, bool isTrusted)
796
+ external
797
+ onlyGovernance
798
+ {
794
799
  self.isVaultTrusted[vault] = isTrusted;
795
800
  emit VaultStatusUpdated(vault, isTrusted);
796
801
  }
@@ -823,7 +828,7 @@ contract Bridge is Ownable, EcdsaWalletOwner {
823
828
  uint64 depositDustThreshold,
824
829
  uint64 depositTreasuryFeeDivisor,
825
830
  uint64 depositTxMaxFee
826
- ) external onlyOwner {
831
+ ) external onlyGovernance {
827
832
  self.updateDepositParameters(
828
833
  depositDustThreshold,
829
834
  depositTreasuryFeeDivisor,
@@ -871,7 +876,7 @@ contract Bridge is Ownable, EcdsaWalletOwner {
871
876
  uint64 redemptionTreasuryFeeDivisor,
872
877
  uint64 redemptionTxMaxFee,
873
878
  uint256 redemptionTimeout
874
- ) external onlyOwner {
879
+ ) external onlyGovernance {
875
880
  self.updateRedemptionParameters(
876
881
  redemptionDustThreshold,
877
882
  redemptionTreasuryFeeDivisor,
@@ -897,7 +902,7 @@ contract Bridge is Ownable, EcdsaWalletOwner {
897
902
  function updateMovingFundsParameters(
898
903
  uint64 movingFundsTxMaxTotalFee,
899
904
  uint32 movingFundsTimeout
900
- ) external onlyOwner {
905
+ ) external onlyGovernance {
901
906
  self.updateMovingFundsParameters(
902
907
  movingFundsTxMaxTotalFee,
903
908
  movingFundsTimeout
@@ -935,7 +940,7 @@ contract Bridge is Ownable, EcdsaWalletOwner {
935
940
  uint32 walletMaxAge,
936
941
  uint64 walletMaxBtcTransfer,
937
942
  uint32 walletClosingPeriod
938
- ) external onlyOwner {
943
+ ) external onlyGovernance {
939
944
  self.updateWalletParameters(
940
945
  walletCreationPeriod,
941
946
  walletMinBtcBalance,
@@ -968,7 +973,7 @@ contract Bridge is Ownable, EcdsaWalletOwner {
968
973
  uint256 fraudNotifierRewardMultiplier,
969
974
  uint256 fraudChallengeDefeatTimeout,
970
975
  uint256 fraudChallengeDepositAmount
971
- ) external onlyOwner {
976
+ ) external onlyGovernance {
972
977
  self.updateFraudParameters(
973
978
  fraudSlashingAmount,
974
979
  fraudNotifierRewardMultiplier,
@@ -1247,13 +1252,19 @@ contract Bridge is Ownable, EcdsaWalletOwner {
1247
1252
  /// @return bank Address of the Bank the Bridge belongs to.
1248
1253
  /// @return relay Address of the Bitcoin relay providing the current Bitcoin
1249
1254
  /// network difficulty.
1255
+ /// @return ecdsaWalletRegistry Address of the ECDSA Wallet Registry.
1250
1256
  function contractReferences()
1251
1257
  external
1252
1258
  view
1253
- returns (Bank bank, IRelay relay)
1259
+ returns (
1260
+ Bank bank,
1261
+ IRelay relay,
1262
+ EcdsaWalletRegistry ecdsaWalletRegistry
1263
+ )
1254
1264
  {
1255
1265
  bank = self.bank;
1256
1266
  relay = self.relay;
1267
+ ecdsaWalletRegistry = self.ecdsaWalletRegistry;
1257
1268
  }
1258
1269
 
1259
1270
  /// @notice Address where the deposit treasury fees will be sent to.
@@ -7,6 +7,8 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
7
7
  const { deployer } = await getNamedAccounts()
8
8
 
9
9
  const Bank = await deploy("Bank", {
10
+ contract:
11
+ deployments.getNetworkName() === "hardhat" ? "BankStub" : undefined,
10
12
  from: deployer,
11
13
  args: [],
12
14
  log: true,
@@ -14,7 +14,9 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
14
14
  // script from `@keep-network/ecdsa` is not invoked once again.
15
15
  const WalletRegistry = await deployments.get("WalletRegistry")
16
16
 
17
- const txProofDifficultyFactor = 6
17
+ // For local tests use `1`.
18
+ const txProofDifficultyFactor =
19
+ deployments.getNetworkName() === "hardhat" ? 1 : 6
18
20
 
19
21
  const Deposit = await deploy("Deposit", { from: deployer, log: true })
20
22
  const Sweep = await deploy("Sweep", { from: deployer, log: true })
@@ -27,6 +29,8 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
27
29
  })
28
30
 
29
31
  const Bridge = await deploy("Bridge", {
32
+ contract:
33
+ deployments.getNetworkName() === "hardhat" ? "BridgeStub" : undefined,
30
34
  from: deployer,
31
35
  args: [
32
36
  Bank.address,
@@ -6,12 +6,10 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
6
6
  const { deployer, governance } = await getNamedAccounts()
7
7
 
8
8
  await helpers.ownable.transferOwnership("Bank", governance, deployer)
9
-
10
- await helpers.ownable.transferOwnership("Bridge", governance, deployer)
11
9
  }
12
10
 
13
11
  export default func
14
12
 
15
13
  func.tags = ["TransferOwnership"]
16
- func.dependencies = ["Bank", "Bridge"]
14
+ func.dependencies = ["Bank"]
17
15
  func.runAtTheEnd = true
@@ -0,0 +1,20 @@
1
+ import { HardhatRuntimeEnvironment } from "hardhat/types"
2
+ import { DeployFunction } from "hardhat-deploy/types"
3
+
4
+ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
5
+ const { getNamedAccounts, deployments } = hre
6
+ const { deployer, governance } = await getNamedAccounts()
7
+
8
+ await deployments.execute(
9
+ "Bridge",
10
+ { from: deployer },
11
+ "transferGovernance",
12
+ governance
13
+ )
14
+ }
15
+
16
+ export default func
17
+
18
+ func.tags = ["TransferGovernance"]
19
+ func.dependencies = ["Bridge"]
20
+ func.runAtTheEnd = true
package/export.json CHANGED
@@ -13012,11 +13012,6 @@
13012
13012
  "Bank": {
13013
13013
  "address": "0xAd5d57aD9bB17d34Debb88566ab2F5dB879Cc46F",
13014
13014
  "abi": [
13015
- {
13016
- "inputs": [],
13017
- "stateMutability": "nonpayable",
13018
- "type": "constructor"
13019
- },
13020
13015
  {
13021
13016
  "anonymous": false,
13022
13017
  "inputs": [
@@ -13471,6 +13466,24 @@
13471
13466
  "stateMutability": "nonpayable",
13472
13467
  "type": "function"
13473
13468
  },
13469
+ {
13470
+ "inputs": [
13471
+ {
13472
+ "internalType": "address",
13473
+ "name": "addr",
13474
+ "type": "address"
13475
+ },
13476
+ {
13477
+ "internalType": "uint256",
13478
+ "name": "amount",
13479
+ "type": "uint256"
13480
+ }
13481
+ ],
13482
+ "name": "setBalance",
13483
+ "outputs": [],
13484
+ "stateMutability": "nonpayable",
13485
+ "type": "function"
13486
+ },
13474
13487
  {
13475
13488
  "inputs": [
13476
13489
  {
@@ -13986,7 +13999,7 @@
13986
13999
  },
13987
14000
  {
13988
14001
  "internalType": "address",
13989
- "name": "_ecdsaWalletRegistry",
14002
+ "name": "_walletRegistry",
13990
14003
  "type": "address"
13991
14004
  },
13992
14005
  {
@@ -14209,6 +14222,25 @@
14209
14222
  "name": "FraudParametersUpdated",
14210
14223
  "type": "event"
14211
14224
  },
14225
+ {
14226
+ "anonymous": false,
14227
+ "inputs": [
14228
+ {
14229
+ "indexed": false,
14230
+ "internalType": "address",
14231
+ "name": "oldGovernance",
14232
+ "type": "address"
14233
+ },
14234
+ {
14235
+ "indexed": false,
14236
+ "internalType": "address",
14237
+ "name": "newGovernance",
14238
+ "type": "address"
14239
+ }
14240
+ ],
14241
+ "name": "GovernanceTransferred",
14242
+ "type": "event"
14243
+ },
14212
14244
  {
14213
14245
  "anonymous": false,
14214
14246
  "inputs": [
@@ -14310,25 +14342,6 @@
14310
14342
  "name": "NewWalletRequested",
14311
14343
  "type": "event"
14312
14344
  },
14313
- {
14314
- "anonymous": false,
14315
- "inputs": [
14316
- {
14317
- "indexed": true,
14318
- "internalType": "address",
14319
- "name": "previousOwner",
14320
- "type": "address"
14321
- },
14322
- {
14323
- "indexed": true,
14324
- "internalType": "address",
14325
- "name": "newOwner",
14326
- "type": "address"
14327
- }
14328
- ],
14329
- "name": "OwnershipTransferred",
14330
- "type": "event"
14331
- },
14332
14345
  {
14333
14346
  "anonymous": false,
14334
14347
  "inputs": [
@@ -14651,6 +14664,11 @@
14651
14664
  "internalType": "contract IRelay",
14652
14665
  "name": "relay",
14653
14666
  "type": "address"
14667
+ },
14668
+ {
14669
+ "internalType": "contract IWalletRegistry",
14670
+ "name": "ecdsaWalletRegistry",
14671
+ "type": "address"
14654
14672
  }
14655
14673
  ],
14656
14674
  "stateMutability": "view",
@@ -14822,6 +14840,19 @@
14822
14840
  "stateMutability": "view",
14823
14841
  "type": "function"
14824
14842
  },
14843
+ {
14844
+ "inputs": [],
14845
+ "name": "governance",
14846
+ "outputs": [
14847
+ {
14848
+ "internalType": "address",
14849
+ "name": "",
14850
+ "type": "address"
14851
+ }
14852
+ ],
14853
+ "stateMutability": "view",
14854
+ "type": "function"
14855
+ },
14825
14856
  {
14826
14857
  "inputs": [
14827
14858
  {
@@ -14969,19 +15000,6 @@
14969
15000
  "stateMutability": "nonpayable",
14970
15001
  "type": "function"
14971
15002
  },
14972
- {
14973
- "inputs": [],
14974
- "name": "owner",
14975
- "outputs": [
14976
- {
14977
- "internalType": "address",
14978
- "name": "",
14979
- "type": "address"
14980
- }
14981
- ],
14982
- "stateMutability": "view",
14983
- "type": "function"
14984
- },
14985
15003
  {
14986
15004
  "inputs": [
14987
15005
  {
@@ -15056,13 +15074,6 @@
15056
15074
  "stateMutability": "view",
15057
15075
  "type": "function"
15058
15076
  },
15059
- {
15060
- "inputs": [],
15061
- "name": "renounceOwnership",
15062
- "outputs": [],
15063
- "stateMutability": "nonpayable",
15064
- "type": "function"
15065
- },
15066
15077
  {
15067
15078
  "inputs": [
15068
15079
  {
@@ -15215,6 +15226,144 @@
15215
15226
  "stateMutability": "nonpayable",
15216
15227
  "type": "function"
15217
15228
  },
15229
+ {
15230
+ "inputs": [
15231
+ {
15232
+ "internalType": "bytes20",
15233
+ "name": "activeWalletPubKeyHash",
15234
+ "type": "bytes20"
15235
+ }
15236
+ ],
15237
+ "name": "setActiveWallet",
15238
+ "outputs": [],
15239
+ "stateMutability": "nonpayable",
15240
+ "type": "function"
15241
+ },
15242
+ {
15243
+ "inputs": [
15244
+ {
15245
+ "internalType": "uint64",
15246
+ "name": "_depositDustThreshold",
15247
+ "type": "uint64"
15248
+ }
15249
+ ],
15250
+ "name": "setDepositDustThreshold",
15251
+ "outputs": [],
15252
+ "stateMutability": "nonpayable",
15253
+ "type": "function"
15254
+ },
15255
+ {
15256
+ "inputs": [
15257
+ {
15258
+ "internalType": "uint64",
15259
+ "name": "_depositTxMaxFee",
15260
+ "type": "uint64"
15261
+ }
15262
+ ],
15263
+ "name": "setDepositTxMaxFee",
15264
+ "outputs": [],
15265
+ "stateMutability": "nonpayable",
15266
+ "type": "function"
15267
+ },
15268
+ {
15269
+ "inputs": [
15270
+ {
15271
+ "internalType": "uint64",
15272
+ "name": "_movingFundsTxMaxTotalFee",
15273
+ "type": "uint64"
15274
+ }
15275
+ ],
15276
+ "name": "setMovingFundsTxMaxTotalFee",
15277
+ "outputs": [],
15278
+ "stateMutability": "nonpayable",
15279
+ "type": "function"
15280
+ },
15281
+ {
15282
+ "inputs": [
15283
+ {
15284
+ "internalType": "uint64",
15285
+ "name": "_redemptionDustThreshold",
15286
+ "type": "uint64"
15287
+ }
15288
+ ],
15289
+ "name": "setRedemptionDustThreshold",
15290
+ "outputs": [],
15291
+ "stateMutability": "nonpayable",
15292
+ "type": "function"
15293
+ },
15294
+ {
15295
+ "inputs": [
15296
+ {
15297
+ "internalType": "uint64",
15298
+ "name": "_redemptionTreasuryFeeDivisor",
15299
+ "type": "uint64"
15300
+ }
15301
+ ],
15302
+ "name": "setRedemptionTreasuryFeeDivisor",
15303
+ "outputs": [],
15304
+ "stateMutability": "nonpayable",
15305
+ "type": "function"
15306
+ },
15307
+ {
15308
+ "inputs": [
15309
+ {
15310
+ "components": [
15311
+ {
15312
+ "internalType": "bytes32",
15313
+ "name": "txHash",
15314
+ "type": "bytes32"
15315
+ },
15316
+ {
15317
+ "internalType": "uint32",
15318
+ "name": "txOutputIndex",
15319
+ "type": "uint32"
15320
+ },
15321
+ {
15322
+ "internalType": "uint64",
15323
+ "name": "txOutputValue",
15324
+ "type": "uint64"
15325
+ }
15326
+ ],
15327
+ "internalType": "struct BitcoinTx.UTXO[]",
15328
+ "name": "utxos",
15329
+ "type": "tuple[]"
15330
+ }
15331
+ ],
15332
+ "name": "setSpentMainUtxos",
15333
+ "outputs": [],
15334
+ "stateMutability": "nonpayable",
15335
+ "type": "function"
15336
+ },
15337
+ {
15338
+ "inputs": [
15339
+ {
15340
+ "components": [
15341
+ {
15342
+ "internalType": "bytes32",
15343
+ "name": "txHash",
15344
+ "type": "bytes32"
15345
+ },
15346
+ {
15347
+ "internalType": "uint32",
15348
+ "name": "txOutputIndex",
15349
+ "type": "uint32"
15350
+ },
15351
+ {
15352
+ "internalType": "uint64",
15353
+ "name": "txOutputValue",
15354
+ "type": "uint64"
15355
+ }
15356
+ ],
15357
+ "internalType": "struct BitcoinTx.UTXO[]",
15358
+ "name": "utxos",
15359
+ "type": "tuple[]"
15360
+ }
15361
+ ],
15362
+ "name": "setSweptDeposits",
15363
+ "outputs": [],
15364
+ "stateMutability": "nonpayable",
15365
+ "type": "function"
15366
+ },
15218
15367
  {
15219
15368
  "inputs": [
15220
15369
  {
@@ -15233,6 +15382,101 @@
15233
15382
  "stateMutability": "nonpayable",
15234
15383
  "type": "function"
15235
15384
  },
15385
+ {
15386
+ "inputs": [
15387
+ {
15388
+ "internalType": "bytes20",
15389
+ "name": "walletPubKeyHash",
15390
+ "type": "bytes20"
15391
+ },
15392
+ {
15393
+ "components": [
15394
+ {
15395
+ "internalType": "bytes32",
15396
+ "name": "ecdsaWalletID",
15397
+ "type": "bytes32"
15398
+ },
15399
+ {
15400
+ "internalType": "bytes32",
15401
+ "name": "mainUtxoHash",
15402
+ "type": "bytes32"
15403
+ },
15404
+ {
15405
+ "internalType": "uint64",
15406
+ "name": "pendingRedemptionsValue",
15407
+ "type": "uint64"
15408
+ },
15409
+ {
15410
+ "internalType": "uint32",
15411
+ "name": "createdAt",
15412
+ "type": "uint32"
15413
+ },
15414
+ {
15415
+ "internalType": "uint32",
15416
+ "name": "movingFundsRequestedAt",
15417
+ "type": "uint32"
15418
+ },
15419
+ {
15420
+ "internalType": "uint32",
15421
+ "name": "closingStartedAt",
15422
+ "type": "uint32"
15423
+ },
15424
+ {
15425
+ "internalType": "enum Wallets.WalletState",
15426
+ "name": "state",
15427
+ "type": "uint8"
15428
+ },
15429
+ {
15430
+ "internalType": "bytes32",
15431
+ "name": "movingFundsTargetWalletsCommitmentHash",
15432
+ "type": "bytes32"
15433
+ }
15434
+ ],
15435
+ "internalType": "struct Wallets.Wallet",
15436
+ "name": "wallet",
15437
+ "type": "tuple"
15438
+ }
15439
+ ],
15440
+ "name": "setWallet",
15441
+ "outputs": [],
15442
+ "stateMutability": "nonpayable",
15443
+ "type": "function"
15444
+ },
15445
+ {
15446
+ "inputs": [
15447
+ {
15448
+ "internalType": "bytes20",
15449
+ "name": "walletPubKeyHash",
15450
+ "type": "bytes20"
15451
+ },
15452
+ {
15453
+ "components": [
15454
+ {
15455
+ "internalType": "bytes32",
15456
+ "name": "txHash",
15457
+ "type": "bytes32"
15458
+ },
15459
+ {
15460
+ "internalType": "uint32",
15461
+ "name": "txOutputIndex",
15462
+ "type": "uint32"
15463
+ },
15464
+ {
15465
+ "internalType": "uint64",
15466
+ "name": "txOutputValue",
15467
+ "type": "uint64"
15468
+ }
15469
+ ],
15470
+ "internalType": "struct BitcoinTx.UTXO",
15471
+ "name": "utxo",
15472
+ "type": "tuple"
15473
+ }
15474
+ ],
15475
+ "name": "setWalletMainUtxo",
15476
+ "outputs": [],
15477
+ "stateMutability": "nonpayable",
15478
+ "type": "function"
15479
+ },
15236
15480
  {
15237
15481
  "inputs": [
15238
15482
  {
@@ -15639,11 +15883,11 @@
15639
15883
  "inputs": [
15640
15884
  {
15641
15885
  "internalType": "address",
15642
- "name": "newOwner",
15886
+ "name": "newGovernance",
15643
15887
  "type": "address"
15644
15888
  }
15645
15889
  ],
15646
- "name": "transferOwnership",
15890
+ "name": "transferGovernance",
15647
15891
  "outputs": [],
15648
15892
  "stateMutability": "nonpayable",
15649
15893
  "type": "function"
@@ -15674,6 +15918,19 @@
15674
15918
  "stateMutability": "view",
15675
15919
  "type": "function"
15676
15920
  },
15921
+ {
15922
+ "inputs": [
15923
+ {
15924
+ "internalType": "bytes20",
15925
+ "name": "walletPubKeyHash",
15926
+ "type": "bytes20"
15927
+ }
15928
+ ],
15929
+ "name": "unsetWalletMainUtxo",
15930
+ "outputs": [],
15931
+ "stateMutability": "nonpayable",
15932
+ "type": "function"
15933
+ },
15677
15934
  {
15678
15935
  "inputs": [
15679
15936
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keep-network/tbtc-v2",
3
- "version": "0.1.1-dev.46+main.90853bcc69b37e76f1ab229667fb2263eb931959",
3
+ "version": "0.1.1-dev.49+main.73325e5cb7b966d3daf56e2d40a75b30f0e6ce91",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "artifacts/",