@keep-network/tbtc-v2 1.0.3-dev.3 → 1.1.0

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 (104) hide show
  1. package/artifacts/.chainId +1 -1
  2. package/artifacts/Bank.json +40 -50
  3. package/artifacts/Bridge.json +32 -449
  4. package/artifacts/BridgeGovernance.json +24 -24
  5. package/artifacts/BridgeGovernanceParameters.json +10 -10
  6. package/artifacts/Deposit.json +13 -13
  7. package/artifacts/DepositSweep.json +13 -13
  8. package/artifacts/DonationVault.json +17 -17
  9. package/artifacts/Fraud.json +14 -14
  10. package/artifacts/LightRelay.json +38 -38
  11. package/artifacts/MaintainerProxy.json +47 -47
  12. package/artifacts/MovingFunds.json +14 -14
  13. package/artifacts/Redemption.json +13 -13
  14. package/artifacts/TBTC.json +36 -37
  15. package/artifacts/TBTCVault.json +47 -47
  16. package/artifacts/VendingMachine.json +34 -35
  17. package/artifacts/VendingMachineV2.json +19 -19
  18. package/artifacts/VendingMachineV3.json +19 -19
  19. package/artifacts/Wallets.json +13 -13
  20. package/artifacts/solcInputs/7cc3eda3cb3ff2522d18b5e7b31ea228.json +102 -0
  21. package/artifacts/solcInputs/802132f7da69a8a4226cb9424480847b.json +218 -0
  22. package/artifacts/solcInputs/887fad6b16575ba42183543c324eeb0e.json +335 -0
  23. package/artifacts/solcInputs/{cc4433405642a987910ddb374547d19a.json → fccb130292c8c7cc958ab4fa31a3e180.json} +12 -15
  24. package/export/deploy/00_resolve_relay.js +83 -0
  25. package/export/deploy/01_deploy_tbtc_v2_token.js +70 -0
  26. package/export/deploy/02_deploy_vending_machine.js +84 -0
  27. package/export/deploy/03_transfer_vending_machine_roles.js +69 -0
  28. package/export/deploy/04_deploy_bank.js +73 -0
  29. package/export/deploy/05_deploy_bridge.js +178 -0
  30. package/export/{test/integration/utils/staking.js → deploy/06_deploy_tbtc_vault.js} +32 -35
  31. package/export/deploy/07_deploy_bridge_governance.js +87 -0
  32. package/export/deploy/08_deploy_maintainer_proxy.js +80 -0
  33. package/export/deploy/09_bank_update_bridge.js +63 -0
  34. package/export/deploy/10_authorize_spv_maintainer_in_bridge.js +61 -0
  35. package/export/deploy/11_transfer_bank_ownership.js +60 -0
  36. package/export/deploy/12_transfer_bridge_governance.js +63 -0
  37. package/export/deploy/13_transfer_bridge_governance_ownership.js +60 -0
  38. package/export/deploy/14_transfer_tbtc_vault_ownership.js +60 -0
  39. package/export/deploy/15_transfer_maintainer_proxy_ownership.js +60 -0
  40. package/export/deploy/16_initialize_wallet_owner.js +63 -0
  41. package/export/deploy/16_transfer_proxy_admin_ownership.js +73 -0
  42. package/export/deploy/17_authorize_maintainer_proxy_in_bridge.js +63 -0
  43. package/export/deploy/17_transfer_proxy_admin_ownership.js +73 -0
  44. package/export/deploy/18_authorize_maintainer_proxy_in_bridge.js +63 -0
  45. package/export/deploy/18_authorize_maintainer_proxy_in_reimbursement_pool.js +63 -0
  46. package/export/deploy/19_authorize_bridge_in_reimbursement_pool.js +63 -0
  47. package/export/deploy/19_authorize_maintainer_proxy_in_reimbursement_pool.js +63 -0
  48. package/export/deploy/20_authorize_bridge_in_reimbursement_pool.js +63 -0
  49. package/export/deploy/20_deploy_proxy_admin_with_deputy.js +80 -0
  50. package/export/deploy/21_transfer_reimbursement_pool_ownership.js +60 -0
  51. package/export/deploy/22_deploy_proxy_admin_with_deputy.js +80 -0
  52. package/export/deploy/24_transfer_maintainer_proxy_ownership.js +60 -0
  53. package/export/deploy/25_transfer_proxy_admin_ownership.js +73 -0
  54. package/export/deploy/26_authorize_maintainer_proxy_in_reimbursement_pool.js +70 -0
  55. package/export/deploy/27_authorize_bridge_in_reimbursement_pool.js +70 -0
  56. package/export/deploy/28_deploy_proxy_admin_with_deputy.js +80 -0
  57. package/export/typechain/RelayStub.js +2 -0
  58. package/export/typechain/TestRelay.js +2 -0
  59. package/export/typechain/factories/RelayStub__factory.js +546 -0
  60. package/export/typechain/factories/TestRelay__factory.js +168 -0
  61. package/export.json +566 -55
  62. package/package.json +5 -5
  63. package/artifacts/BLS.json +0 -223
  64. package/artifacts/BeaconAuthorization.json +0 -273
  65. package/artifacts/BeaconDkg.json +0 -241
  66. package/artifacts/BeaconDkgValidator.json +0 -501
  67. package/artifacts/BeaconInactivity.json +0 -151
  68. package/artifacts/BeaconSortitionPool.json +0 -1187
  69. package/artifacts/EcdsaDkgValidator.json +0 -517
  70. package/artifacts/EcdsaInactivity.json +0 -156
  71. package/artifacts/EcdsaSortitionPool.json +0 -1187
  72. package/artifacts/KeepRegistry.json +0 -99
  73. package/artifacts/KeepStake.json +0 -286
  74. package/artifacts/KeepToken.json +0 -711
  75. package/artifacts/KeepTokenStaking.json +0 -483
  76. package/artifacts/NuCypherStakingEscrow.json +0 -287
  77. package/artifacts/NuCypherToken.json +0 -711
  78. package/artifacts/RandomBeacon.json +0 -3271
  79. package/artifacts/RandomBeaconChaosnet.json +0 -252
  80. package/artifacts/RandomBeaconGovernance.json +0 -3499
  81. package/artifacts/ReimbursementPool.json +0 -509
  82. package/artifacts/T.json +0 -1148
  83. package/artifacts/TBTCToken.json +0 -738
  84. package/artifacts/TokenStaking.json +0 -2288
  85. package/artifacts/TokenholderGovernor.json +0 -1795
  86. package/artifacts/TokenholderTimelock.json +0 -1058
  87. package/artifacts/VendingMachineKeep.json +0 -400
  88. package/artifacts/VendingMachineNuCypher.json +0 -400
  89. package/artifacts/WalletRegistry.json +0 -1962
  90. package/artifacts/WalletRegistryGovernance.json +0 -2863
  91. package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +0 -11975
  92. package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +0 -51806
  93. package/export/artifacts/contracts/test/GoerliLightRelay.sol/GoerliLightRelay.json +0 -11988
  94. package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +0 -822
  95. package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +0 -12729
  96. package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +0 -2160
  97. package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +0 -3407
  98. package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +0 -14263
  99. package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +0 -10644
  100. package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +0 -1160
  101. package/export/test/integration/data/bls.js +0 -12
  102. package/export/test/integration/data/integration.js +0 -133
  103. package/export/test/integration/utils/ecdsa-wallet-registry.js +0 -370
  104. package/export/test/integration/utils/random-beacon.js +0 -193
@@ -1,193 +0,0 @@
1
- "use strict";
2
- /* eslint-disable no-await-in-loop */
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
- var __generator = (this && this.__generator) || function (thisArg, body) {
13
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
14
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
15
- function verb(n) { return function (v) { return step([n, v]); }; }
16
- function step(op) {
17
- if (f) throw new TypeError("Generator is already executing.");
18
- while (_) try {
19
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
20
- if (y = 0, t) op = [op[0] & 2, t.value];
21
- switch (op[0]) {
22
- case 0: case 1: t = op; break;
23
- case 4: _.label++; return { value: op[1], done: false };
24
- case 5: _.label++; y = op[1]; op = [0]; continue;
25
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
26
- default:
27
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
28
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
29
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
30
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
31
- if (t[2]) _.ops.pop();
32
- _.trys.pop(); continue;
33
- }
34
- op = body.call(thisArg, _);
35
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
36
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
- }
38
- };
39
- var __read = (this && this.__read) || function (o, n) {
40
- var m = typeof Symbol === "function" && o[Symbol.iterator];
41
- if (!m) return o;
42
- var i = m.call(o), r, ar = [], e;
43
- try {
44
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
45
- }
46
- catch (error) { e = { error: error }; }
47
- finally {
48
- try {
49
- if (r && !r.done && (m = i["return"])) m.call(i);
50
- }
51
- finally { if (e) throw e.error; }
52
- }
53
- return ar;
54
- };
55
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
56
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
57
- if (ar || !(i in from)) {
58
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
59
- ar[i] = from[i];
60
- }
61
- }
62
- return to.concat(ar || Array.prototype.slice.call(from));
63
- };
64
- Object.defineProperty(exports, "__esModule", { value: true });
65
- exports.hashDKGMembers = exports.signDkgResult = exports.selectGroup = exports.getGenesisSeed = exports.updateDkgResultChallengePeriodLength = void 0;
66
- var integration_1 = require("../data/integration");
67
- function updateDkgResultChallengePeriodLength(hre, governance, randomBeaconGovernance) {
68
- return __awaiter(this, void 0, void 0, function () {
69
- var helpers;
70
- return __generator(this, function (_a) {
71
- switch (_a.label) {
72
- case 0:
73
- helpers = hre.helpers;
74
- return [4 /*yield*/, randomBeaconGovernance
75
- .connect(governance)
76
- .beginDkgResultChallengePeriodLengthUpdate(integration_1.dkgResultChallengePeriodLength)];
77
- case 1:
78
- _a.sent();
79
- return [4 /*yield*/, helpers.time.increaseTime(integration_1.governanceDelay)];
80
- case 2:
81
- _a.sent();
82
- return [4 /*yield*/, randomBeaconGovernance
83
- .connect(governance)
84
- .finalizeDkgResultChallengePeriodLengthUpdate()];
85
- case 3:
86
- _a.sent();
87
- return [2 /*return*/];
88
- }
89
- });
90
- });
91
- }
92
- exports.updateDkgResultChallengePeriodLength = updateDkgResultChallengePeriodLength;
93
- function getGenesisSeed(hre, genesisBlock) {
94
- return __awaiter(this, void 0, void 0, function () {
95
- var ethers;
96
- return __generator(this, function (_a) {
97
- ethers = hre.ethers;
98
- return [2 /*return*/, ethers.BigNumber.from(ethers.utils.keccak256(ethers.utils.solidityPack(["uint256", "uint256"], [
99
- "31415926535897932384626433832795028841971693993751058209749445923078164062862",
100
- genesisBlock,
101
- ])))];
102
- });
103
- });
104
- }
105
- exports.getGenesisSeed = getGenesisSeed;
106
- function selectGroup(hre, sortitionPool, seed) {
107
- return __awaiter(this, void 0, void 0, function () {
108
- var ethers, identifiers, addresses;
109
- var _this = this;
110
- return __generator(this, function (_a) {
111
- switch (_a.label) {
112
- case 0:
113
- ethers = hre.ethers;
114
- return [4 /*yield*/, sortitionPool.selectGroup(64, ethers.utils.hexZeroPad(seed.toHexString(), 32))];
115
- case 1:
116
- identifiers = _a.sent();
117
- return [4 /*yield*/, sortitionPool.getIDOperators(identifiers)];
118
- case 2:
119
- addresses = _a.sent();
120
- return [2 /*return*/, Promise.all(identifiers.map(function (identifier, i) { return __awaiter(_this, void 0, void 0, function () {
121
- var _a;
122
- return __generator(this, function (_b) {
123
- switch (_b.label) {
124
- case 0:
125
- _a = {
126
- id: identifier
127
- };
128
- return [4 /*yield*/, ethers.getSigner(addresses[i])];
129
- case 1: return [2 /*return*/, (_a.signer = _b.sent(),
130
- _a)];
131
- }
132
- });
133
- }); }))];
134
- }
135
- });
136
- });
137
- }
138
- exports.selectGroup = selectGroup;
139
- function signDkgResult(hre, signers, groupPublicKey, misbehavedMembersIndices, startBlock, numberOfSignatures) {
140
- return __awaiter(this, void 0, void 0, function () {
141
- var ethers, hardhatNetworkId, resultHash, members, signingMembersIndices, signatures, i, _a, id, ethersSigner, signerIndex, signature, signaturesBytes;
142
- return __generator(this, function (_b) {
143
- switch (_b.label) {
144
- case 0:
145
- ethers = hre.ethers;
146
- hardhatNetworkId = 31337;
147
- resultHash = ethers.utils.keccak256(ethers.utils.defaultAbiCoder.encode(["uint256", "bytes", "uint8[]", "uint256"], [hardhatNetworkId, groupPublicKey, misbehavedMembersIndices, startBlock]));
148
- members = [];
149
- signingMembersIndices = [];
150
- signatures = [];
151
- i = 0;
152
- _b.label = 1;
153
- case 1:
154
- if (!(i < signers.length)) return [3 /*break*/, 4];
155
- _a = signers[i], id = _a.id, ethersSigner = _a.signer;
156
- members.push(id);
157
- if (signatures.length === numberOfSignatures) {
158
- // eslint-disable-next-line no-continue
159
- return [3 /*break*/, 3];
160
- }
161
- signerIndex = i + 1;
162
- signingMembersIndices.push(signerIndex);
163
- return [4 /*yield*/, ethersSigner.signMessage(ethers.utils.arrayify(resultHash))];
164
- case 2:
165
- signature = _b.sent();
166
- signatures.push(signature);
167
- _b.label = 3;
168
- case 3:
169
- i++;
170
- return [3 /*break*/, 1];
171
- case 4:
172
- signaturesBytes = ethers.utils.hexConcat(signatures);
173
- return [2 /*return*/, { members: members, signingMembersIndices: signingMembersIndices, signaturesBytes: signaturesBytes }];
174
- }
175
- });
176
- });
177
- }
178
- exports.signDkgResult = signDkgResult;
179
- // Creates a members hash that actively participated in dkg
180
- function hashDKGMembers(hre, members, misbehavedMembersIndices) {
181
- var ethers = hre.ethers;
182
- if (misbehavedMembersIndices.length > 0) {
183
- var activeDkgMembers = __spreadArray([], __read(members), false);
184
- for (var i = 0; i < misbehavedMembersIndices.length; i++) {
185
- if (misbehavedMembersIndices[i] !== 0) {
186
- activeDkgMembers.splice(misbehavedMembersIndices[i] - i - 1, 1);
187
- }
188
- }
189
- return ethers.utils.keccak256(ethers.utils.defaultAbiCoder.encode(["uint32[]"], [activeDkgMembers]));
190
- }
191
- return ethers.utils.keccak256(ethers.utils.defaultAbiCoder.encode(["uint32[]"], [members]));
192
- }
193
- exports.hashDKGMembers = hashDKGMembers;