@airgap/moonbeam 0.13.7-beta.11

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 (64) hide show
  1. package/LICENSE.md +7 -0
  2. package/airgap-coinlib-moonbeam.min.js +103205 -0
  3. package/index.d.ts +6 -0
  4. package/index.js +22 -0
  5. package/index.js.map +1 -0
  6. package/package.json +62 -0
  7. package/protocol/moonbase/MoonbaseProtocol.d.ts +17 -0
  8. package/protocol/moonbase/MoonbaseProtocol.js +73 -0
  9. package/protocol/moonbase/MoonbaseProtocol.js.map +1 -0
  10. package/protocol/moonbase/MoonbaseProtocolOptions.d.ts +21 -0
  11. package/protocol/moonbase/MoonbaseProtocolOptions.js +78 -0
  12. package/protocol/moonbase/MoonbaseProtocolOptions.js.map +1 -0
  13. package/protocol/moonbeam/MoonbeamProtocol.d.ts +55 -0
  14. package/protocol/moonbeam/MoonbeamProtocol.js +639 -0
  15. package/protocol/moonbeam/MoonbeamProtocol.js.map +1 -0
  16. package/protocol/moonbeam/MoonbeamProtocolOptions.d.ts +32 -0
  17. package/protocol/moonbeam/MoonbeamProtocolOptions.js +102 -0
  18. package/protocol/moonbeam/MoonbeamProtocolOptions.js.map +1 -0
  19. package/protocol/moonbeam/controllers/MoonbeamAccountController.d.ts +28 -0
  20. package/protocol/moonbeam/controllers/MoonbeamAccountController.js +543 -0
  21. package/protocol/moonbeam/controllers/MoonbeamAccountController.js.map +1 -0
  22. package/protocol/moonbeam/controllers/MoonbeamTransactionController.d.ts +9 -0
  23. package/protocol/moonbeam/controllers/MoonbeamTransactionController.js +73 -0
  24. package/protocol/moonbeam/controllers/MoonbeamTransactionController.js.map +1 -0
  25. package/protocol/moonbeam/data/staking/MoonbeamBond.d.ts +13 -0
  26. package/protocol/moonbeam/data/staking/MoonbeamBond.js +41 -0
  27. package/protocol/moonbeam/data/staking/MoonbeamBond.js.map +1 -0
  28. package/protocol/moonbeam/data/staking/MoonbeamCandidateBondLessRequest.d.ts +11 -0
  29. package/protocol/moonbeam/data/staking/MoonbeamCandidateBondLessRequest.js +41 -0
  30. package/protocol/moonbeam/data/staking/MoonbeamCandidateBondLessRequest.js.map +1 -0
  31. package/protocol/moonbeam/data/staking/MoonbeamCandidateMetadata.d.ts +28 -0
  32. package/protocol/moonbeam/data/staking/MoonbeamCandidateMetadata.js +49 -0
  33. package/protocol/moonbeam/data/staking/MoonbeamCandidateMetadata.js.map +1 -0
  34. package/protocol/moonbeam/data/staking/MoonbeamCollatorDetails.d.ts +9 -0
  35. package/protocol/moonbeam/data/staking/MoonbeamCollatorDetails.js +3 -0
  36. package/protocol/moonbeam/data/staking/MoonbeamCollatorDetails.js.map +1 -0
  37. package/protocol/moonbeam/data/staking/MoonbeamDelegationDetails.d.ts +13 -0
  38. package/protocol/moonbeam/data/staking/MoonbeamDelegationDetails.js +3 -0
  39. package/protocol/moonbeam/data/staking/MoonbeamDelegationDetails.js.map +1 -0
  40. package/protocol/moonbeam/data/staking/MoonbeamDelegationScheduledRequests.d.ts +46 -0
  41. package/protocol/moonbeam/data/staking/MoonbeamDelegationScheduledRequests.js +144 -0
  42. package/protocol/moonbeam/data/staking/MoonbeamDelegationScheduledRequests.js.map +1 -0
  43. package/protocol/moonbeam/data/staking/MoonbeamDelegator.d.ts +40 -0
  44. package/protocol/moonbeam/data/staking/MoonbeamDelegator.js +128 -0
  45. package/protocol/moonbeam/data/staking/MoonbeamDelegator.js.map +1 -0
  46. package/protocol/moonbeam/data/staking/MoonbeamDelegatorDetails.d.ts +5 -0
  47. package/protocol/moonbeam/data/staking/MoonbeamDelegatorDetails.js +3 -0
  48. package/protocol/moonbeam/data/staking/MoonbeamDelegatorDetails.js.map +1 -0
  49. package/protocol/moonbeam/data/staking/MoonbeamRoundInfo.d.ts +8 -0
  50. package/protocol/moonbeam/data/staking/MoonbeamRoundInfo.js +22 -0
  51. package/protocol/moonbeam/data/staking/MoonbeamRoundInfo.js.map +1 -0
  52. package/protocol/moonbeam/data/staking/MoonbeamStakingActionType.d.ts +13 -0
  53. package/protocol/moonbeam/data/staking/MoonbeamStakingActionType.js +18 -0
  54. package/protocol/moonbeam/data/staking/MoonbeamStakingActionType.js.map +1 -0
  55. package/protocol/moonbeam/node/MoonbeamNodeClient.d.ts +26 -0
  56. package/protocol/moonbeam/node/MoonbeamNodeClient.js +218 -0
  57. package/protocol/moonbeam/node/MoonbeamNodeClient.js.map +1 -0
  58. package/protocol/moonriver/MoonriverProtocol.d.ts +17 -0
  59. package/protocol/moonriver/MoonriverProtocol.js +73 -0
  60. package/protocol/moonriver/MoonriverProtocol.js.map +1 -0
  61. package/protocol/moonriver/MoonriverProtocolOptions.d.ts +21 -0
  62. package/protocol/moonriver/MoonriverProtocolOptions.js +78 -0
  63. package/protocol/moonriver/MoonriverProtocolOptions.js.map +1 -0
  64. package/readme.md +121 -0
@@ -0,0 +1,543 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
35
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
36
+ return new (P || (P = Promise))(function (resolve, reject) {
37
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
38
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
39
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
40
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
41
+ });
42
+ };
43
+ var __generator = (this && this.__generator) || function (thisArg, body) {
44
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
45
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
46
+ function verb(n) { return function (v) { return step([n, v]); }; }
47
+ function step(op) {
48
+ if (f) throw new TypeError("Generator is already executing.");
49
+ while (_) try {
50
+ 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;
51
+ if (y = 0, t) op = [op[0] & 2, t.value];
52
+ switch (op[0]) {
53
+ case 0: case 1: t = op; break;
54
+ case 4: _.label++; return { value: op[1], done: false };
55
+ case 5: _.label++; y = op[1]; op = [0]; continue;
56
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
57
+ default:
58
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
59
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
60
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
61
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
62
+ if (t[2]) _.ops.pop();
63
+ _.trys.pop(); continue;
64
+ }
65
+ op = body.call(thisArg, _);
66
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
67
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
68
+ }
69
+ };
70
+ var __importDefault = (this && this.__importDefault) || function (mod) {
71
+ return (mod && mod.__esModule) ? mod : { "default": mod };
72
+ };
73
+ Object.defineProperty(exports, "__esModule", { value: true });
74
+ exports.MoonbeamAccountController = void 0;
75
+ var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
76
+ var bip39_2_5_0_1 = require("@airgap/coinlib-core/dependencies/src/bip39-2.5.0");
77
+ var bitcoinJS = __importStar(require("@airgap/coinlib-core/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src"));
78
+ var errors_1 = require("@airgap/coinlib-core/errors");
79
+ var coinlib_error_1 = require("@airgap/coinlib-core/errors/coinlib-error");
80
+ var array_1 = require("@airgap/coinlib-core/utils/array");
81
+ var SubstrateAccountController_1 = require("@airgap/substrate/protocol/common/SubstrateAccountController");
82
+ var MoonbeamAddress_1 = require("@airgap/substrate/protocol/moonbeam/MoonbeamAddress");
83
+ var MoonbeamCandidateMetadata_1 = require("../data/staking/MoonbeamCandidateMetadata");
84
+ var MoonbeamDelegationScheduledRequests_1 = require("../data/staking/MoonbeamDelegationScheduledRequests");
85
+ var MoonbeamDelegator_1 = require("../data/staking/MoonbeamDelegator");
86
+ var MoonbeamStakingActionType_1 = require("../data/staking/MoonbeamStakingActionType");
87
+ var MoonbeamAccountController = /** @class */ (function (_super) {
88
+ __extends(MoonbeamAccountController, _super);
89
+ function MoonbeamAccountController() {
90
+ return _super !== null && _super.apply(this, arguments) || this;
91
+ }
92
+ MoonbeamAccountController.prototype.createKeyPairFromMnemonic = function (mnemonic, derivationPath, password) {
93
+ return __awaiter(this, void 0, void 0, function () {
94
+ var secret;
95
+ return __generator(this, function (_a) {
96
+ secret = bip39_2_5_0_1.mnemonicToSeed(mnemonic || '', password);
97
+ return [2 /*return*/, this.createKeyPairFromHexSecret(Buffer.from(secret).toString('hex'), derivationPath)];
98
+ });
99
+ });
100
+ };
101
+ MoonbeamAccountController.prototype.createKeyPairFromHexSecret = function (secret, derivationPath) {
102
+ return __awaiter(this, void 0, void 0, function () {
103
+ var ethereumNode, hdNode;
104
+ return __generator(this, function (_a) {
105
+ ethereumNode = bitcoinJS.HDNode.fromSeedHex(secret, bitcoinJS.networks.bitcoin);
106
+ hdNode = ethereumNode.derivePath(derivationPath);
107
+ return [2 /*return*/, {
108
+ privateKey: hdNode.keyPair.d.toBuffer(32),
109
+ publicKey: hdNode.neutered().getPublicKeyBuffer().toString('hex')
110
+ }];
111
+ });
112
+ });
113
+ };
114
+ MoonbeamAccountController.prototype.createAddressFromPublicKey = function (publicKey) {
115
+ return __awaiter(this, void 0, void 0, function () {
116
+ return __generator(this, function (_a) {
117
+ return [2 /*return*/, MoonbeamAddress_1.MoonbeamAddress.from(publicKey)];
118
+ });
119
+ });
120
+ };
121
+ MoonbeamAccountController.prototype.isDelegating = function (accountId) {
122
+ return __awaiter(this, void 0, void 0, function () {
123
+ var delegatorState;
124
+ return __generator(this, function (_a) {
125
+ switch (_a.label) {
126
+ case 0: return [4 /*yield*/, this.nodeClient.getDelegatorState(MoonbeamAddress_1.MoonbeamAddress.from(accountId))];
127
+ case 1:
128
+ delegatorState = _a.sent();
129
+ return [2 /*return*/, delegatorState ? delegatorState.delegations.elements.length > 0 : false];
130
+ }
131
+ });
132
+ });
133
+ };
134
+ MoonbeamAccountController.prototype.getMinDelegationAmount = function (accountId) {
135
+ return __awaiter(this, void 0, void 0, function () {
136
+ var isDelegating, minAmount, _a;
137
+ return __generator(this, function (_b) {
138
+ switch (_b.label) {
139
+ case 0: return [4 /*yield*/, this.isDelegating(accountId)];
140
+ case 1:
141
+ isDelegating = _b.sent();
142
+ if (!isDelegating) return [3 /*break*/, 3];
143
+ return [4 /*yield*/, this.nodeClient.getMinDelegation()];
144
+ case 2:
145
+ _a = _b.sent();
146
+ return [3 /*break*/, 5];
147
+ case 3: return [4 /*yield*/, this.nodeClient.getMinDelegatorStake()];
148
+ case 4:
149
+ _a = _b.sent();
150
+ _b.label = 5;
151
+ case 5:
152
+ minAmount = _a;
153
+ if (!minAmount) {
154
+ throw new errors_1.OperationFailedError(coinlib_error_1.Domain.SUBSTRATE, 'Could not fetch network constants');
155
+ }
156
+ return [2 /*return*/, minAmount.toFixed()];
157
+ }
158
+ });
159
+ });
160
+ };
161
+ MoonbeamAccountController.prototype.getCurrentCollators = function (accountId) {
162
+ return __awaiter(this, void 0, void 0, function () {
163
+ var delegatorState;
164
+ return __generator(this, function (_a) {
165
+ switch (_a.label) {
166
+ case 0: return [4 /*yield*/, this.nodeClient.getDelegatorState(MoonbeamAddress_1.MoonbeamAddress.from(accountId))];
167
+ case 1:
168
+ delegatorState = _a.sent();
169
+ if (delegatorState) {
170
+ return [2 /*return*/, delegatorState.delegations.elements.map(function (collatorDetails) { return collatorDetails.owner.asAddress(); })];
171
+ }
172
+ return [2 /*return*/, []];
173
+ }
174
+ });
175
+ });
176
+ };
177
+ MoonbeamAccountController.prototype.getDelegatorDetails = function (accountId) {
178
+ var _a, _b;
179
+ return __awaiter(this, void 0, void 0, function () {
180
+ var address, results, balance, delegatorState, totalBond, status;
181
+ var _c;
182
+ return __generator(this, function (_d) {
183
+ switch (_d.label) {
184
+ case 0:
185
+ address = MoonbeamAddress_1.MoonbeamAddress.from(accountId);
186
+ return [4 /*yield*/, Promise.all([this.getBalance(address), this.nodeClient.getDelegatorState(address)])];
187
+ case 1:
188
+ results = _d.sent();
189
+ balance = results[0];
190
+ delegatorState = results[1];
191
+ if (!balance) {
192
+ return [2 /*return*/, Promise.reject('Could not fetch delegator details.')];
193
+ }
194
+ totalBond = (_a = delegatorState === null || delegatorState === void 0 ? void 0 : delegatorState.total.value) !== null && _a !== void 0 ? _a : new bignumber_1.default(0);
195
+ switch (delegatorState === null || delegatorState === void 0 ? void 0 : delegatorState.status.type.value) {
196
+ case MoonbeamDelegator_1.MoonbeamDelegatorStatusRaw.ACTIVE:
197
+ status = 'Active';
198
+ break;
199
+ case MoonbeamDelegator_1.MoonbeamDelegatorStatusRaw.LEAVING:
200
+ status = 'Leaving';
201
+ break;
202
+ }
203
+ _c = {
204
+ address: address.asString(),
205
+ balance: balance.toString(),
206
+ totalBond: totalBond.toString(),
207
+ delegatees: (_b = delegatorState === null || delegatorState === void 0 ? void 0 : delegatorState.delegations.elements.map(function (bond) { return bond.owner.asAddress(); })) !== null && _b !== void 0 ? _b : []
208
+ };
209
+ return [4 /*yield*/, this.getStakingActions(delegatorState)];
210
+ case 2: return [2 /*return*/, (_c.availableActions = _d.sent(),
211
+ _c.status = status,
212
+ _c)];
213
+ }
214
+ });
215
+ });
216
+ };
217
+ MoonbeamAccountController.prototype.getCollatorDetails = function (accountId) {
218
+ return __awaiter(this, void 0, void 0, function () {
219
+ var address, results, candidateInfo, commission, status;
220
+ return __generator(this, function (_a) {
221
+ switch (_a.label) {
222
+ case 0:
223
+ address = MoonbeamAddress_1.MoonbeamAddress.from(accountId);
224
+ return [4 /*yield*/, Promise.all([this.nodeClient.getCandidateInfo(address), this.nodeClient.getCollatorCommission()])];
225
+ case 1:
226
+ results = _a.sent();
227
+ candidateInfo = results[0];
228
+ commission = results[1];
229
+ if (!candidateInfo || !commission) {
230
+ return [2 /*return*/, Promise.reject('Could not fetch collator details.')];
231
+ }
232
+ switch (candidateInfo.status.value) {
233
+ case MoonbeamCandidateMetadata_1.MoonbeamCollatorStatus.ACTIVE:
234
+ status = 'Active';
235
+ break;
236
+ case MoonbeamCandidateMetadata_1.MoonbeamCollatorStatus.IDLE:
237
+ status = 'Idle';
238
+ break;
239
+ case MoonbeamCandidateMetadata_1.MoonbeamCollatorStatus.LEAVING:
240
+ status = 'Leaving';
241
+ }
242
+ return [2 /*return*/, {
243
+ address: address.asString(),
244
+ status: status,
245
+ minEligibleBalance: candidateInfo.lowestTopDelegationAmount.toString(),
246
+ ownStakingBalance: candidateInfo.bond.toString(),
247
+ totalStakingBalance: candidateInfo.totalCounted.toString(),
248
+ commission: commission.dividedBy(1000000000).toString(),
249
+ delegators: candidateInfo.delegationCount.toNumber()
250
+ }];
251
+ }
252
+ });
253
+ });
254
+ };
255
+ MoonbeamAccountController.prototype.getDelegationDetails = function (accountId, collator) {
256
+ var _a, _b, _c, _d, _e;
257
+ return __awaiter(this, void 0, void 0, function () {
258
+ var delegatorAddress, collatorAddress, results, balance, delegatorState, collatorDetails, delegationScheduledRequests, currentRound, bond, totalBond, status, delegatorDetails, changeRequest;
259
+ var _f;
260
+ return __generator(this, function (_g) {
261
+ switch (_g.label) {
262
+ case 0:
263
+ delegatorAddress = MoonbeamAddress_1.MoonbeamAddress.from(accountId);
264
+ collatorAddress = MoonbeamAddress_1.MoonbeamAddress.from(collator);
265
+ return [4 /*yield*/, Promise.all([
266
+ this.getBalance(delegatorAddress),
267
+ this.nodeClient.getDelegatorState(delegatorAddress),
268
+ this.getCollatorDetails(collator),
269
+ this.nodeClient.getDelegationScheduledRequests(collatorAddress),
270
+ this.nodeClient.getRound()
271
+ ])];
272
+ case 1:
273
+ results = _g.sent();
274
+ balance = results[0];
275
+ delegatorState = results[1];
276
+ collatorDetails = results[2];
277
+ delegationScheduledRequests = results[3];
278
+ currentRound = (_a = results[4]) === null || _a === void 0 ? void 0 : _a.current;
279
+ if (!balance || !collatorDetails) {
280
+ return [2 /*return*/, Promise.reject('Could not fetch delegation details.')];
281
+ }
282
+ bond = (_c = (_b = delegatorState === null || delegatorState === void 0 ? void 0 : delegatorState.delegations.elements.find(function (bond) { return bond.owner.compare(collator) === 0; })) === null || _b === void 0 ? void 0 : _b.amount.value) !== null && _c !== void 0 ? _c : new bignumber_1.default(0);
283
+ totalBond = (_d = delegatorState === null || delegatorState === void 0 ? void 0 : delegatorState.total.value) !== null && _d !== void 0 ? _d : new bignumber_1.default(0);
284
+ switch (delegatorState === null || delegatorState === void 0 ? void 0 : delegatorState.status.type.value) {
285
+ case MoonbeamDelegator_1.MoonbeamDelegatorStatusRaw.ACTIVE:
286
+ status = 'Active';
287
+ break;
288
+ case MoonbeamDelegator_1.MoonbeamDelegatorStatusRaw.LEAVING:
289
+ status = (currentRound === null || currentRound === void 0 ? void 0 : currentRound.gte(delegatorState.status.roundIndex)) ? 'ReadyToLeave' : 'Leaving';
290
+ break;
291
+ }
292
+ _f = {
293
+ address: delegatorAddress.asString(),
294
+ balance: balance.toString(),
295
+ totalBond: totalBond.toString(),
296
+ delegatees: (_e = delegatorState === null || delegatorState === void 0 ? void 0 : delegatorState.delegations.elements.map(function (bond) { return bond.owner.asAddress(); })) !== null && _e !== void 0 ? _e : []
297
+ };
298
+ return [4 /*yield*/, this.getStakingActions(delegatorState, collatorDetails, delegationScheduledRequests)];
299
+ case 2:
300
+ delegatorDetails = (_f.availableActions = _g.sent(),
301
+ _f.status = status,
302
+ _f);
303
+ changeRequest = delegationScheduledRequests === null || delegationScheduledRequests === void 0 ? void 0 : delegationScheduledRequests.requests.elements.find(function (request) { return request.delegator.asAddress() === delegatorDetails.address; });
304
+ return [2 /*return*/, {
305
+ delegatorDetails: delegatorDetails,
306
+ collatorDetails: collatorDetails,
307
+ bond: bond.toString(),
308
+ pendingRequest: changeRequest
309
+ ? {
310
+ type: changeRequest.action.type.value === MoonbeamDelegationScheduledRequests_1.MoonbeamDelegationActionRaw.REVOKE ? 'revoke' : 'decrease',
311
+ amount: changeRequest.action.amount.toString(),
312
+ executableIn: currentRound
313
+ ? bignumber_1.default.max(changeRequest.whenExecutable.value.minus(currentRound.value), 0).toNumber()
314
+ : undefined
315
+ }
316
+ : undefined
317
+ }];
318
+ }
319
+ });
320
+ });
321
+ };
322
+ MoonbeamAccountController.prototype.getStakingActions = function (delegator, collator, delegationScheduledRequests) {
323
+ var _a, _b;
324
+ return __awaiter(this, void 0, void 0, function () {
325
+ var actions, scheduledLeaving, _c, scheduledRequests, delegations, maxDelegations, canDelegateToCollator, isDelegatingCollator, currentRound, _d, _e, _f, _g, _h, _j, _k;
326
+ return __generator(this, function (_l) {
327
+ switch (_l.label) {
328
+ case 0:
329
+ actions = [];
330
+ if (!delegator) return [3 /*break*/, 2];
331
+ return [4 /*yield*/, this.getScheduledLeaving(delegator)];
332
+ case 1:
333
+ _c = _l.sent();
334
+ return [3 /*break*/, 3];
335
+ case 2:
336
+ _c = undefined;
337
+ _l.label = 3;
338
+ case 3:
339
+ scheduledLeaving = _c;
340
+ scheduledRequests = delegationScheduledRequests
341
+ ? delegator && collator
342
+ ? delegationScheduledRequests.requests.elements.filter(function (value) { return value.delegator.asAddress() === delegator.id.asAddress(); })
343
+ : []
344
+ : undefined;
345
+ delegations = (_a = delegator === null || delegator === void 0 ? void 0 : delegator.delegations.elements) !== null && _a !== void 0 ? _a : [];
346
+ return [4 /*yield*/, this.nodeClient.getMaxDelegationsPerDelegator()];
347
+ case 4:
348
+ maxDelegations = _l.sent();
349
+ canDelegateToCollator = (maxDelegations === null || maxDelegations === void 0 ? void 0 : maxDelegations.gt(delegations.length)) && collator && !delegations.some(function (bond) { return bond.owner.compare(collator.address) === 0; });
350
+ isDelegatingCollator = !!collator && delegations.some(function (bond) { return bond.owner.compare(collator.address) === 0; });
351
+ if (!(scheduledLeaving || scheduledRequests)) return [3 /*break*/, 6];
352
+ return [4 /*yield*/, this.nodeClient.getRound()];
353
+ case 5:
354
+ _d = (_b = (_l.sent())) === null || _b === void 0 ? void 0 : _b.current.value;
355
+ return [3 /*break*/, 7];
356
+ case 6:
357
+ _d = undefined;
358
+ _l.label = 7;
359
+ case 7:
360
+ currentRound = _d;
361
+ if (canDelegateToCollator && !scheduledLeaving && (scheduledRequests === null || scheduledRequests === void 0 ? void 0 : scheduledRequests.length) === 0) {
362
+ actions.push.apply(actions, this.getUndelegatedActions());
363
+ }
364
+ if (delegations.length > 0 && !scheduledLeaving && (scheduledRequests === null || scheduledRequests === void 0 ? void 0 : scheduledRequests.length) === 0) {
365
+ actions.push.apply(actions, this.getDelegatedActions(isDelegatingCollator));
366
+ }
367
+ if (!(scheduledLeaving && currentRound)) return [3 /*break*/, 9];
368
+ _f = (_e = actions.push).apply;
369
+ _g = [actions];
370
+ return [4 /*yield*/, this.getLeavingActions(currentRound, scheduledLeaving)];
371
+ case 8:
372
+ _f.apply(_e, _g.concat([(_l.sent())]));
373
+ _l.label = 9;
374
+ case 9:
375
+ if (!(scheduledRequests && scheduledRequests.length > 0 && currentRound)) return [3 /*break*/, 11];
376
+ _j = (_h = actions.push).apply;
377
+ _k = [actions];
378
+ return [4 /*yield*/, this.getRequestActions(currentRound, scheduledRequests)];
379
+ case 10:
380
+ _j.apply(_h, _k.concat([(_l.sent())]));
381
+ _l.label = 11;
382
+ case 11: return [2 /*return*/, actions];
383
+ }
384
+ });
385
+ });
386
+ };
387
+ MoonbeamAccountController.prototype.getScheduledLeaving = function (delegator) {
388
+ return __awaiter(this, void 0, void 0, function () {
389
+ var allDelegationScheduledRequests;
390
+ var _this = this;
391
+ return __generator(this, function (_a) {
392
+ switch (_a.label) {
393
+ case 0:
394
+ if (delegator.status instanceof MoonbeamDelegator_1.MoonbeamDelegatorStatusLeaving) {
395
+ return [2 /*return*/, delegator.status.roundIndex.value];
396
+ }
397
+ return [4 /*yield*/, Promise.all(delegator.delegations.elements.map(function (bond) {
398
+ var collator = MoonbeamAddress_1.MoonbeamAddress.from(bond.owner.address);
399
+ return _this.nodeClient.getDelegationScheduledRequests(collator);
400
+ }))];
401
+ case 1:
402
+ allDelegationScheduledRequests = _a.sent();
403
+ return [2 /*return*/, allDelegationScheduledRequests.reduce(function (acc, requests) {
404
+ var _a;
405
+ if (acc === undefined) {
406
+ return undefined;
407
+ }
408
+ var whenExecutable = (_a = requests === null || requests === void 0 ? void 0 : requests.requests.elements.find(function (request) {
409
+ request.delegator.asAddress() === delegator.id.asAddress() && request.action.type.value === MoonbeamDelegationScheduledRequests_1.MoonbeamDelegationActionRaw.REVOKE;
410
+ })) === null || _a === void 0 ? void 0 : _a.whenExecutable.value;
411
+ if (whenExecutable === undefined) {
412
+ return undefined;
413
+ }
414
+ if (acc.eq(whenExecutable) || acc.eq(-1)) {
415
+ return whenExecutable;
416
+ }
417
+ else {
418
+ return undefined;
419
+ }
420
+ }, new bignumber_1.default(-1))];
421
+ }
422
+ });
423
+ });
424
+ };
425
+ MoonbeamAccountController.prototype.getUndelegatedActions = function () {
426
+ return [
427
+ {
428
+ type: MoonbeamStakingActionType_1.MoonbeamStakingActionType.DELEGATE,
429
+ args: ['candidate', 'amount']
430
+ }
431
+ ];
432
+ };
433
+ MoonbeamAccountController.prototype.getDelegatedActions = function (isDelegatingCollator) {
434
+ var actions = [];
435
+ actions.push({
436
+ type: MoonbeamStakingActionType_1.MoonbeamStakingActionType.SCHEDULE_UNDELEGATE_ALL
437
+ });
438
+ if (isDelegatingCollator) {
439
+ actions.push({
440
+ type: MoonbeamStakingActionType_1.MoonbeamStakingActionType.BOND_MORE,
441
+ args: ['candidate', 'more']
442
+ }, {
443
+ type: MoonbeamStakingActionType_1.MoonbeamStakingActionType.SCHEDULE_BOND_LESS,
444
+ args: ['candidate', 'less']
445
+ }, {
446
+ type: MoonbeamStakingActionType_1.MoonbeamStakingActionType.SCHEDULE_UNDELEGATE,
447
+ args: ['collator']
448
+ });
449
+ }
450
+ return actions;
451
+ };
452
+ MoonbeamAccountController.prototype.getLeavingActions = function (currentRound, scheduledLeaving) {
453
+ return __awaiter(this, void 0, void 0, function () {
454
+ return __generator(this, function (_a) {
455
+ if (currentRound.gte(scheduledLeaving)) {
456
+ return [2 /*return*/, [
457
+ {
458
+ type: MoonbeamStakingActionType_1.MoonbeamStakingActionType.EXECUTE_UNDELEGATE_ALL
459
+ }
460
+ ]];
461
+ }
462
+ else {
463
+ return [2 /*return*/, [
464
+ {
465
+ type: MoonbeamStakingActionType_1.MoonbeamStakingActionType.CANCEL_UNDELEGATE_ALL
466
+ }
467
+ ]];
468
+ }
469
+ return [2 /*return*/];
470
+ });
471
+ });
472
+ };
473
+ MoonbeamAccountController.prototype.getRequestActions = function (currentRound, scheduledRequests) {
474
+ return __awaiter(this, void 0, void 0, function () {
475
+ var actions;
476
+ var _this = this;
477
+ return __generator(this, function (_a) {
478
+ switch (_a.label) {
479
+ case 0: return [4 /*yield*/, Promise.all(scheduledRequests.map(function (request) {
480
+ if (request.action.type.value === MoonbeamDelegationScheduledRequests_1.MoonbeamDelegationActionRaw.REVOKE) {
481
+ return _this.getRevokeRequestActions(currentRound, request);
482
+ }
483
+ if (request.action.type.value === MoonbeamDelegationScheduledRequests_1.MoonbeamDelegationActionRaw.DECREASE) {
484
+ return _this.getDecreaseRequestActions(currentRound, request);
485
+ }
486
+ return [];
487
+ }))];
488
+ case 1:
489
+ actions = _a.sent();
490
+ return [2 /*return*/, array_1.flattenArray(actions)];
491
+ }
492
+ });
493
+ });
494
+ };
495
+ MoonbeamAccountController.prototype.getRevokeRequestActions = function (currentRound, scheduledRequest) {
496
+ return __awaiter(this, void 0, void 0, function () {
497
+ return __generator(this, function (_a) {
498
+ if (currentRound.gte(scheduledRequest.whenExecutable.value)) {
499
+ return [2 /*return*/, [
500
+ {
501
+ type: MoonbeamStakingActionType_1.MoonbeamStakingActionType.EXECUTE_UNDELEGATE,
502
+ args: ['candidate']
503
+ }
504
+ ]];
505
+ }
506
+ else {
507
+ return [2 /*return*/, [
508
+ {
509
+ type: MoonbeamStakingActionType_1.MoonbeamStakingActionType.CANCEL_UNDELEGATE,
510
+ args: ['candidate']
511
+ }
512
+ ]];
513
+ }
514
+ return [2 /*return*/];
515
+ });
516
+ });
517
+ };
518
+ MoonbeamAccountController.prototype.getDecreaseRequestActions = function (currentRound, scheduledRequest) {
519
+ return __awaiter(this, void 0, void 0, function () {
520
+ return __generator(this, function (_a) {
521
+ if (currentRound.gte(scheduledRequest.whenExecutable.value)) {
522
+ return [2 /*return*/, [
523
+ {
524
+ type: MoonbeamStakingActionType_1.MoonbeamStakingActionType.EXECUTE_BOND_LESS,
525
+ args: ['candidate']
526
+ }
527
+ ]];
528
+ }
529
+ else {
530
+ return [2 /*return*/, [
531
+ {
532
+ type: MoonbeamStakingActionType_1.MoonbeamStakingActionType.CANCEL_BOND_LESS
533
+ }
534
+ ]];
535
+ }
536
+ return [2 /*return*/];
537
+ });
538
+ });
539
+ };
540
+ return MoonbeamAccountController;
541
+ }(SubstrateAccountController_1.SubstrateAccountController));
542
+ exports.MoonbeamAccountController = MoonbeamAccountController;
543
+ //# sourceMappingURL=MoonbeamAccountController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoonbeamAccountController.js","sourceRoot":"","sources":["../../../../src/protocol/moonbeam/controllers/MoonbeamAccountController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="node" />
2
+ import { SubstrateSignatureType } from '@airgap/substrate/protocol/common/data/transaction/SubstrateSignature';
3
+ import { SubstrateTransaction } from '@airgap/substrate/protocol/common/data/transaction/SubstrateTransaction';
4
+ import { SubstrateTransactionController } from '@airgap/substrate/protocol/common/SubstrateTransactionController';
5
+ import { SubstrateNetwork } from '@airgap/substrate/protocol/SubstrateNetwork';
6
+ export declare class MoonbeamTransactionController extends SubstrateTransactionController<SubstrateNetwork.MOONBEAM> {
7
+ getDefaultSignatureType(): SubstrateSignatureType;
8
+ signTransaction(privateKey: Buffer, transaction: SubstrateTransaction<SubstrateNetwork.MOONBEAM>, payload: string): Promise<SubstrateTransaction<SubstrateNetwork.MOONBEAM>>;
9
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
16
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17
+ return new (P || (P = Promise))(function (resolve, reject) {
18
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
19
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
20
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
21
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
22
+ });
23
+ };
24
+ var __generator = (this && this.__generator) || function (thisArg, body) {
25
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
26
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
27
+ function verb(n) { return function (v) { return step([n, v]); }; }
28
+ function step(op) {
29
+ if (f) throw new TypeError("Generator is already executing.");
30
+ while (_) try {
31
+ 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;
32
+ if (y = 0, t) op = [op[0] & 2, t.value];
33
+ switch (op[0]) {
34
+ case 0: case 1: t = op; break;
35
+ case 4: _.label++; return { value: op[1], done: false };
36
+ case 5: _.label++; y = op[1]; op = [0]; continue;
37
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
38
+ default:
39
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
40
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
41
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
42
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
43
+ if (t[2]) _.ops.pop();
44
+ _.trys.pop(); continue;
45
+ }
46
+ op = body.call(thisArg, _);
47
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
48
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
49
+ }
50
+ };
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.MoonbeamTransactionController = void 0;
53
+ var SubstrateSignature_1 = require("@airgap/substrate/protocol/common/data/transaction/SubstrateSignature");
54
+ var SubstrateTransactionController_1 = require("@airgap/substrate/protocol/common/SubstrateTransactionController");
55
+ var MoonbeamTransactionController = /** @class */ (function (_super) {
56
+ __extends(MoonbeamTransactionController, _super);
57
+ function MoonbeamTransactionController() {
58
+ return _super !== null && _super.apply(this, arguments) || this;
59
+ }
60
+ MoonbeamTransactionController.prototype.getDefaultSignatureType = function () {
61
+ return SubstrateSignature_1.SubstrateSignatureType.Ecdsa;
62
+ };
63
+ MoonbeamTransactionController.prototype.signTransaction = function (privateKey, transaction, payload) {
64
+ return __awaiter(this, void 0, void 0, function () {
65
+ return __generator(this, function (_a) {
66
+ return [2 /*return*/, this.signWithPrivateKey(privateKey, transaction, payload, SubstrateSignature_1.SubstrateSignatureType.Ecdsa)];
67
+ });
68
+ });
69
+ };
70
+ return MoonbeamTransactionController;
71
+ }(SubstrateTransactionController_1.SubstrateTransactionController));
72
+ exports.MoonbeamTransactionController = MoonbeamTransactionController;
73
+ //# sourceMappingURL=MoonbeamTransactionController.js.map