@keep-network/tbtc-v2 0.1.1-dev.90 → 0.1.1-dev.93

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 (73) hide show
  1. package/artifacts/Bank.json +24 -34
  2. package/artifacts/Bridge.json +13 -379
  3. package/artifacts/Deposit.json +7 -7
  4. package/artifacts/DepositSweep.json +7 -7
  5. package/artifacts/EcdsaDkgValidator.json +1 -1
  6. package/artifacts/EcdsaInactivity.json +1 -1
  7. package/artifacts/EcdsaSortitionPool.json +2 -2
  8. package/artifacts/Fraud.json +9 -9
  9. package/artifacts/KeepRegistry.json +1 -1
  10. package/artifacts/KeepStake.json +2 -2
  11. package/artifacts/KeepToken.json +2 -2
  12. package/artifacts/KeepTokenStaking.json +1 -1
  13. package/artifacts/MovingFunds.json +9 -9
  14. package/artifacts/NuCypherStakingEscrow.json +1 -1
  15. package/artifacts/NuCypherToken.json +2 -2
  16. package/artifacts/RandomBeaconStub.json +1 -1
  17. package/artifacts/Redemption.json +9 -9
  18. package/artifacts/ReimbursementPool.json +2 -2
  19. package/artifacts/Relay.json +7 -7
  20. package/artifacts/T.json +2 -2
  21. package/artifacts/TBTC.json +3 -3
  22. package/artifacts/TBTCToken.json +3 -3
  23. package/artifacts/TBTCVault.json +6 -6
  24. package/artifacts/TokenStaking.json +1 -1
  25. package/artifacts/TokenholderGovernor.json +9 -9
  26. package/artifacts/TokenholderTimelock.json +8 -8
  27. package/artifacts/VendingMachine.json +10 -10
  28. package/artifacts/VendingMachineKeep.json +1 -1
  29. package/artifacts/VendingMachineNuCypher.json +1 -1
  30. package/artifacts/WalletRegistry.json +5 -5
  31. package/artifacts/WalletRegistryGovernance.json +2 -2
  32. package/artifacts/Wallets.json +7 -7
  33. package/artifacts/solcInputs/{6e28b66ed60b6dd7b2b25b3a1c4fe89b.json → 4a775d74796a3fcb9cf30efbb6a767dd.json} +4 -4
  34. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  35. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  36. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +1 -1
  37. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  38. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +2 -2
  39. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  40. package/build/contracts/bridge/Bridge.sol/Bridge.json +2 -2
  41. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  42. package/build/contracts/bridge/BridgeState.sol/BridgeState.json +2 -2
  43. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  44. package/build/contracts/bridge/Deposit.sol/Deposit.json +2 -2
  45. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
  46. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.json +2 -2
  47. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  48. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
  49. package/build/contracts/bridge/Fraud.sol/Fraud.json +2 -2
  50. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
  51. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  52. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
  53. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +2 -2
  54. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
  55. package/build/contracts/bridge/Redemption.sol/OutboundTx.json +2 -2
  56. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
  57. package/build/contracts/bridge/Redemption.sol/Redemption.json +2 -2
  58. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  59. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.json +2 -2
  60. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  61. package/build/contracts/bridge/Wallets.sol/Wallets.json +2 -2
  62. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  63. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
  64. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  65. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  66. package/contracts/bridge/Fraud.sol +2 -2
  67. package/contracts/bridge/MovingFunds.sol +4 -4
  68. package/contracts/bridge/Redemption.sol +5 -5
  69. package/contracts/bridge/VendingMachine.sol +1 -1
  70. package/deploy/04_deploy_bank.ts +1 -1
  71. package/deploy/05_deploy_bridge.ts +1 -1
  72. package/export.json +5 -384
  73. package/package.json +3 -2
@@ -564,8 +564,6 @@ library MovingFunds {
564
564
  "Moving funds has not timed out yet"
565
565
  );
566
566
 
567
- self.terminateWallet(walletPubKeyHash);
568
-
569
567
  self.ecdsaWalletRegistry.seize(
570
568
  self.movingFundsTimeoutSlashingAmount,
571
569
  self.movingFundsTimeoutNotifierRewardMultiplier,
@@ -574,6 +572,8 @@ library MovingFunds {
574
572
  walletMembersIDs
575
573
  );
576
574
 
575
+ self.terminateWallet(walletPubKeyHash);
576
+
577
577
  // slither-disable-next-line reentrancy-events
578
578
  emit MovingFundsTimedOut(walletPubKeyHash);
579
579
  }
@@ -1068,8 +1068,6 @@ library MovingFunds {
1068
1068
  walletState == Wallets.WalletState.Live ||
1069
1069
  walletState == Wallets.WalletState.MovingFunds
1070
1070
  ) {
1071
- self.terminateWallet(walletPubKeyHash);
1072
-
1073
1071
  self.ecdsaWalletRegistry.seize(
1074
1072
  self.movedFundsSweepTimeoutSlashingAmount,
1075
1073
  self.movedFundsSweepTimeoutNotifierRewardMultiplier,
@@ -1077,6 +1075,8 @@ library MovingFunds {
1077
1075
  wallet.ecdsaWalletID,
1078
1076
  walletMembersIDs
1079
1077
  );
1078
+
1079
+ self.terminateWallet(walletPubKeyHash);
1080
1080
  }
1081
1081
 
1082
1082
  // slither-disable-next-line reentrancy-events
@@ -384,10 +384,10 @@ library Redemption {
384
384
  /// @param redeemer The Ethereum address of the redeemer who will be able to
385
385
  /// claim Bank balance if anything goes wrong during the redemption.
386
386
  /// In the most basic case, when someone redeems their Bitcoin
387
- /// balance from the Bank, `balanceOwner` is the same as `redemeer`.
387
+ /// balance from the Bank, `balanceOwner` is the same as `redeemer`.
388
388
  /// However, when a Vault is redeeming part of its balance for some
389
389
  /// redeemer address (for example, someone who has earlier deposited
390
- /// into that Vault), `balanceOwner` is the Vault, and `redemeer` is
390
+ /// into that Vault), `balanceOwner` is the Vault, and `redeemer` is
391
391
  /// the address for which the vault is redeeming its balance to.
392
392
  /// @param redeemerOutputScript The redeemer's length-prefixed output
393
393
  /// script (P2PKH, P2WPKH, P2SH or P2WSH) that will be used to lock
@@ -999,9 +999,6 @@ library Redemption {
999
999
  wallet.state == Wallets.WalletState.Live ||
1000
1000
  wallet.state == Wallets.WalletState.MovingFunds
1001
1001
  ) {
1002
- // Propagate timeout consequences to the wallet
1003
- self.notifyWalletTimedOutRedemption(walletPubKeyHash);
1004
-
1005
1002
  // Slash the wallet operators and reward the notifier
1006
1003
  self.ecdsaWalletRegistry.seize(
1007
1004
  self.redemptionTimeoutSlashingAmount,
@@ -1010,6 +1007,9 @@ library Redemption {
1010
1007
  wallet.ecdsaWalletID,
1011
1008
  walletMembersIDs
1012
1009
  );
1010
+
1011
+ // Propagate timeout consequences to the wallet
1012
+ self.notifyWalletTimedOutRedemption(walletPubKeyHash);
1013
1013
  }
1014
1014
 
1015
1015
  // slither-disable-next-line reentrancy-events
@@ -261,7 +261,7 @@ contract VendingMachine is Ownable, IReceiveApproval {
261
261
  /// @notice Transfers vending machine upgrade initiator role to another
262
262
  /// address. Can be called only by the current vending machine
263
263
  /// upgrade initiator.
264
- /// @param newInitiator The new vending machine upgrade initator
264
+ /// @param newInitiator The new vending machine upgrade initiator
265
265
  function transferVendingMachineUpgradeInitiatorRole(address newInitiator)
266
266
  external
267
267
  only(vendingMachineUpgradeInitiator)
@@ -8,7 +8,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
8
8
 
9
9
  const Bank = await deploy("Bank", {
10
10
  contract:
11
- deployments.getNetworkName() === "hardhat" ? "BankStub" : undefined,
11
+ process.env.TEST_USE_STUBS_TBTC === "true" ? "BankStub" : undefined,
12
12
  from: deployer,
13
13
  args: [],
14
14
  log: true,
@@ -37,7 +37,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
37
37
 
38
38
  const bridge = await helpers.upgrades.deployProxy("Bridge", {
39
39
  contractName:
40
- deployments.getNetworkName() === "hardhat" ? "BridgeStub" : undefined,
40
+ process.env.TEST_USE_STUBS_TBTC === "true" ? "BridgeStub" : undefined,
41
41
  initializerArgs: [
42
42
  Bank.address,
43
43
  Relay.address,
package/export.json CHANGED
@@ -13178,6 +13178,11 @@
13178
13178
  "Bank": {
13179
13179
  "address": "0x7290f72B5C67052DDE8e6E179F7803c493e90d3f",
13180
13180
  "abi": [
13181
+ {
13182
+ "inputs": [],
13183
+ "stateMutability": "nonpayable",
13184
+ "type": "constructor"
13185
+ },
13181
13186
  {
13182
13187
  "anonymous": false,
13183
13188
  "inputs": [
@@ -13637,24 +13642,6 @@
13637
13642
  "stateMutability": "nonpayable",
13638
13643
  "type": "function"
13639
13644
  },
13640
- {
13641
- "inputs": [
13642
- {
13643
- "internalType": "address",
13644
- "name": "addr",
13645
- "type": "address"
13646
- },
13647
- {
13648
- "internalType": "uint256",
13649
- "name": "amount",
13650
- "type": "uint256"
13651
- }
13652
- ],
13653
- "name": "setBalance",
13654
- "outputs": [],
13655
- "stateMutability": "nonpayable",
13656
- "type": "function"
13657
- },
13658
13645
  {
13659
13646
  "inputs": [
13660
13647
  {
@@ -15483,38 +15470,6 @@
15483
15470
  }
15484
15471
  ]
15485
15472
  },
15486
- {
15487
- "type": "function",
15488
- "name": "processPendingMovedFundsSweepRequest",
15489
- "constant": false,
15490
- "payable": false,
15491
- "gas": 29000000,
15492
- "inputs": [
15493
- {
15494
- "type": "bytes20",
15495
- "name": "walletPubKeyHash"
15496
- },
15497
- {
15498
- "type": "tuple",
15499
- "name": "utxo",
15500
- "components": [
15501
- {
15502
- "type": "bytes32",
15503
- "name": "txHash"
15504
- },
15505
- {
15506
- "type": "uint32",
15507
- "name": "txOutputIndex"
15508
- },
15509
- {
15510
- "type": "uint64",
15511
- "name": "txOutputValue"
15512
- }
15513
- ]
15514
- }
15515
- ],
15516
- "outputs": []
15517
- },
15518
15473
  {
15519
15474
  "type": "function",
15520
15475
  "name": "receiveBalanceApproval",
@@ -15720,220 +15675,6 @@
15720
15675
  ],
15721
15676
  "outputs": []
15722
15677
  },
15723
- {
15724
- "type": "function",
15725
- "name": "setActiveWallet",
15726
- "constant": false,
15727
- "payable": false,
15728
- "gas": 29000000,
15729
- "inputs": [
15730
- {
15731
- "type": "bytes20",
15732
- "name": "activeWalletPubKeyHash"
15733
- }
15734
- ],
15735
- "outputs": []
15736
- },
15737
- {
15738
- "type": "function",
15739
- "name": "setDepositDustThreshold",
15740
- "constant": false,
15741
- "payable": false,
15742
- "gas": 29000000,
15743
- "inputs": [
15744
- {
15745
- "type": "uint64",
15746
- "name": "_depositDustThreshold"
15747
- }
15748
- ],
15749
- "outputs": []
15750
- },
15751
- {
15752
- "type": "function",
15753
- "name": "setDepositTxMaxFee",
15754
- "constant": false,
15755
- "payable": false,
15756
- "gas": 29000000,
15757
- "inputs": [
15758
- {
15759
- "type": "uint64",
15760
- "name": "_depositTxMaxFee"
15761
- }
15762
- ],
15763
- "outputs": []
15764
- },
15765
- {
15766
- "type": "function",
15767
- "name": "setMovedFundsSweepTxMaxTotalFee",
15768
- "constant": false,
15769
- "payable": false,
15770
- "gas": 29000000,
15771
- "inputs": [
15772
- {
15773
- "type": "uint64",
15774
- "name": "_movedFundsSweepTxMaxTotalFee"
15775
- }
15776
- ],
15777
- "outputs": []
15778
- },
15779
- {
15780
- "type": "function",
15781
- "name": "setMovingFundsTxMaxTotalFee",
15782
- "constant": false,
15783
- "payable": false,
15784
- "gas": 29000000,
15785
- "inputs": [
15786
- {
15787
- "type": "uint64",
15788
- "name": "_movingFundsTxMaxTotalFee"
15789
- }
15790
- ],
15791
- "outputs": []
15792
- },
15793
- {
15794
- "type": "function",
15795
- "name": "setPendingMovedFundsSweepRequest",
15796
- "constant": false,
15797
- "payable": false,
15798
- "gas": 29000000,
15799
- "inputs": [
15800
- {
15801
- "type": "bytes20",
15802
- "name": "walletPubKeyHash"
15803
- },
15804
- {
15805
- "type": "tuple",
15806
- "name": "utxo",
15807
- "components": [
15808
- {
15809
- "type": "bytes32",
15810
- "name": "txHash"
15811
- },
15812
- {
15813
- "type": "uint32",
15814
- "name": "txOutputIndex"
15815
- },
15816
- {
15817
- "type": "uint64",
15818
- "name": "txOutputValue"
15819
- }
15820
- ]
15821
- }
15822
- ],
15823
- "outputs": []
15824
- },
15825
- {
15826
- "type": "function",
15827
- "name": "setProcessedMovedFundsSweepRequests",
15828
- "constant": false,
15829
- "payable": false,
15830
- "gas": 29000000,
15831
- "inputs": [
15832
- {
15833
- "type": "tuple[]",
15834
- "name": "utxos",
15835
- "components": [
15836
- {
15837
- "type": "bytes32",
15838
- "name": "txHash"
15839
- },
15840
- {
15841
- "type": "uint32",
15842
- "name": "txOutputIndex"
15843
- },
15844
- {
15845
- "type": "uint64",
15846
- "name": "txOutputValue"
15847
- }
15848
- ]
15849
- }
15850
- ],
15851
- "outputs": []
15852
- },
15853
- {
15854
- "type": "function",
15855
- "name": "setRedemptionDustThreshold",
15856
- "constant": false,
15857
- "payable": false,
15858
- "gas": 29000000,
15859
- "inputs": [
15860
- {
15861
- "type": "uint64",
15862
- "name": "_redemptionDustThreshold"
15863
- }
15864
- ],
15865
- "outputs": []
15866
- },
15867
- {
15868
- "type": "function",
15869
- "name": "setRedemptionTreasuryFeeDivisor",
15870
- "constant": false,
15871
- "payable": false,
15872
- "gas": 29000000,
15873
- "inputs": [
15874
- {
15875
- "type": "uint64",
15876
- "name": "_redemptionTreasuryFeeDivisor"
15877
- }
15878
- ],
15879
- "outputs": []
15880
- },
15881
- {
15882
- "type": "function",
15883
- "name": "setSpentMainUtxos",
15884
- "constant": false,
15885
- "payable": false,
15886
- "gas": 29000000,
15887
- "inputs": [
15888
- {
15889
- "type": "tuple[]",
15890
- "name": "utxos",
15891
- "components": [
15892
- {
15893
- "type": "bytes32",
15894
- "name": "txHash"
15895
- },
15896
- {
15897
- "type": "uint32",
15898
- "name": "txOutputIndex"
15899
- },
15900
- {
15901
- "type": "uint64",
15902
- "name": "txOutputValue"
15903
- }
15904
- ]
15905
- }
15906
- ],
15907
- "outputs": []
15908
- },
15909
- {
15910
- "type": "function",
15911
- "name": "setSweptDeposits",
15912
- "constant": false,
15913
- "payable": false,
15914
- "gas": 29000000,
15915
- "inputs": [
15916
- {
15917
- "type": "tuple[]",
15918
- "name": "utxos",
15919
- "components": [
15920
- {
15921
- "type": "bytes32",
15922
- "name": "txHash"
15923
- },
15924
- {
15925
- "type": "uint32",
15926
- "name": "txOutputIndex"
15927
- },
15928
- {
15929
- "type": "uint64",
15930
- "name": "txOutputValue"
15931
- }
15932
- ]
15933
- }
15934
- ],
15935
- "outputs": []
15936
- },
15937
15678
  {
15938
15679
  "type": "function",
15939
15680
  "name": "setVaultStatus",
@@ -15952,94 +15693,6 @@
15952
15693
  ],
15953
15694
  "outputs": []
15954
15695
  },
15955
- {
15956
- "type": "function",
15957
- "name": "setWallet",
15958
- "constant": false,
15959
- "payable": false,
15960
- "gas": 29000000,
15961
- "inputs": [
15962
- {
15963
- "type": "bytes20",
15964
- "name": "walletPubKeyHash"
15965
- },
15966
- {
15967
- "type": "tuple",
15968
- "name": "wallet",
15969
- "components": [
15970
- {
15971
- "type": "bytes32",
15972
- "name": "ecdsaWalletID"
15973
- },
15974
- {
15975
- "type": "bytes32",
15976
- "name": "mainUtxoHash"
15977
- },
15978
- {
15979
- "type": "uint64",
15980
- "name": "pendingRedemptionsValue"
15981
- },
15982
- {
15983
- "type": "uint32",
15984
- "name": "createdAt"
15985
- },
15986
- {
15987
- "type": "uint32",
15988
- "name": "movingFundsRequestedAt"
15989
- },
15990
- {
15991
- "type": "uint32",
15992
- "name": "closingStartedAt"
15993
- },
15994
- {
15995
- "type": "uint32",
15996
- "name": "pendingMovedFundsSweepRequestsCount"
15997
- },
15998
- {
15999
- "type": "uint8",
16000
- "name": "state"
16001
- },
16002
- {
16003
- "type": "bytes32",
16004
- "name": "movingFundsTargetWalletsCommitmentHash"
16005
- }
16006
- ]
16007
- }
16008
- ],
16009
- "outputs": []
16010
- },
16011
- {
16012
- "type": "function",
16013
- "name": "setWalletMainUtxo",
16014
- "constant": false,
16015
- "payable": false,
16016
- "gas": 29000000,
16017
- "inputs": [
16018
- {
16019
- "type": "bytes20",
16020
- "name": "walletPubKeyHash"
16021
- },
16022
- {
16023
- "type": "tuple",
16024
- "name": "utxo",
16025
- "components": [
16026
- {
16027
- "type": "bytes32",
16028
- "name": "txHash"
16029
- },
16030
- {
16031
- "type": "uint32",
16032
- "name": "txOutputIndex"
16033
- },
16034
- {
16035
- "type": "uint64",
16036
- "name": "txOutputValue"
16037
- }
16038
- ]
16039
- }
16040
- ],
16041
- "outputs": []
16042
- },
16043
15696
  {
16044
15697
  "type": "function",
16045
15698
  "name": "spentMainUTXOs",
@@ -16465,38 +16118,6 @@
16465
16118
  }
16466
16119
  ]
16467
16120
  },
16468
- {
16469
- "type": "function",
16470
- "name": "timeoutPendingMovedFundsSweepRequest",
16471
- "constant": false,
16472
- "payable": false,
16473
- "gas": 29000000,
16474
- "inputs": [
16475
- {
16476
- "type": "bytes20",
16477
- "name": "walletPubKeyHash"
16478
- },
16479
- {
16480
- "type": "tuple",
16481
- "name": "utxo",
16482
- "components": [
16483
- {
16484
- "type": "bytes32",
16485
- "name": "txHash"
16486
- },
16487
- {
16488
- "type": "uint32",
16489
- "name": "txOutputIndex"
16490
- },
16491
- {
16492
- "type": "uint64",
16493
- "name": "txOutputValue"
16494
- }
16495
- ]
16496
- }
16497
- ],
16498
- "outputs": []
16499
- },
16500
16121
  {
16501
16122
  "type": "function",
16502
16123
  "name": "transferGovernance",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keep-network/tbtc-v2",
3
- "version": "0.1.1-dev.90+main.2dc332df7ee85498251060c7bbecc0d4e0f0add0",
3
+ "version": "0.1.1-dev.93+main.559b6e2597a9d2395df901adec25179331f1a16a",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "artifacts/",
@@ -22,7 +22,8 @@
22
22
  "lint:fix:eslint": "eslint . --fix",
23
23
  "lint:sol": "solhint 'contracts/**/*.sol'",
24
24
  "lint:fix:sol": "solhint 'contracts/**/*.sol' --fix",
25
- "test": "hardhat test",
25
+ "test": "TEST_USE_STUBS_TBTC=true hardhat test",
26
+ "test:integration": "NODE_ENV=integration-test hardhat test ./test/integration/*.test.ts",
26
27
  "prepublishOnly": "./scripts/prepare-artifacts.sh --network $npm_config_network"
27
28
  },
28
29
  "dependencies": {