@airgap/moonbeam 0.13.11-beta.1 → 0.13.11-beta.3

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 (162) hide show
  1. package/index.d.ts +1 -0
  2. package/index.js +18 -0
  3. package/index.js.map +1 -0
  4. package/package.json +1 -5
  5. package/v0/index.d.ts +6 -0
  6. package/v0/index.js +37 -0
  7. package/v0/index.js.map +1 -0
  8. package/v0/protocol/moonbase/MoonbaseProtocol.d.ts +17 -0
  9. package/v0/protocol/moonbase/MoonbaseProtocol.js +75 -0
  10. package/v0/protocol/moonbase/MoonbaseProtocol.js.map +1 -0
  11. package/v0/protocol/moonbase/MoonbaseProtocolOptions.d.ts +21 -0
  12. package/v0/protocol/moonbase/MoonbaseProtocolOptions.js +80 -0
  13. package/v0/protocol/moonbase/MoonbaseProtocolOptions.js.map +1 -0
  14. package/v0/protocol/moonbeam/MoonbeamProtocol.d.ts +55 -0
  15. package/v0/protocol/moonbeam/MoonbeamProtocol.js +641 -0
  16. package/v0/protocol/moonbeam/MoonbeamProtocol.js.map +1 -0
  17. package/v0/protocol/moonbeam/MoonbeamProtocolOptions.d.ts +32 -0
  18. package/v0/protocol/moonbeam/MoonbeamProtocolOptions.js +104 -0
  19. package/v0/protocol/moonbeam/MoonbeamProtocolOptions.js.map +1 -0
  20. package/v0/protocol/moonbeam/controllers/MoonbeamAccountController.d.ts +28 -0
  21. package/v0/protocol/moonbeam/controllers/MoonbeamAccountController.js +551 -0
  22. package/v0/protocol/moonbeam/controllers/MoonbeamAccountController.js.map +1 -0
  23. package/v0/protocol/moonbeam/controllers/MoonbeamTransactionController.d.ts +9 -0
  24. package/v0/protocol/moonbeam/controllers/MoonbeamTransactionController.js +75 -0
  25. package/v0/protocol/moonbeam/controllers/MoonbeamTransactionController.js.map +1 -0
  26. package/v0/protocol/moonbeam/data/staking/MoonbeamBond.d.ts +13 -0
  27. package/v0/protocol/moonbeam/data/staking/MoonbeamBond.js +43 -0
  28. package/v0/protocol/moonbeam/data/staking/MoonbeamBond.js.map +1 -0
  29. package/v0/protocol/moonbeam/data/staking/MoonbeamCandidateBondLessRequest.d.ts +11 -0
  30. package/v0/protocol/moonbeam/data/staking/MoonbeamCandidateBondLessRequest.js +43 -0
  31. package/v0/protocol/moonbeam/data/staking/MoonbeamCandidateBondLessRequest.js.map +1 -0
  32. package/v0/protocol/moonbeam/data/staking/MoonbeamCandidateMetadata.d.ts +28 -0
  33. package/v0/protocol/moonbeam/data/staking/MoonbeamCandidateMetadata.js +49 -0
  34. package/v0/protocol/moonbeam/data/staking/MoonbeamCandidateMetadata.js.map +1 -0
  35. package/v0/protocol/moonbeam/data/staking/MoonbeamCollatorDetails.d.ts +9 -0
  36. package/v0/protocol/moonbeam/data/staking/MoonbeamCollatorDetails.js +3 -0
  37. package/v0/protocol/moonbeam/data/staking/MoonbeamCollatorDetails.js.map +1 -0
  38. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegationDetails.d.ts +13 -0
  39. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegationDetails.js +3 -0
  40. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegationDetails.js.map +1 -0
  41. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegationScheduledRequests.d.ts +46 -0
  42. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegationScheduledRequests.js +148 -0
  43. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegationScheduledRequests.js.map +1 -0
  44. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegator.d.ts +40 -0
  45. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegator.js +132 -0
  46. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegator.js.map +1 -0
  47. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegatorDetails.d.ts +5 -0
  48. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegatorDetails.js +3 -0
  49. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegatorDetails.js.map +1 -0
  50. package/v0/protocol/moonbeam/data/staking/MoonbeamRoundInfo.d.ts +8 -0
  51. package/v0/protocol/moonbeam/data/staking/MoonbeamRoundInfo.js +22 -0
  52. package/v0/protocol/moonbeam/data/staking/MoonbeamRoundInfo.js.map +1 -0
  53. package/v0/protocol/moonbeam/data/staking/MoonbeamStakingActionType.d.ts +13 -0
  54. package/v0/protocol/moonbeam/data/staking/MoonbeamStakingActionType.js +18 -0
  55. package/v0/protocol/moonbeam/data/staking/MoonbeamStakingActionType.js.map +1 -0
  56. package/v0/protocol/moonbeam/node/MoonbeamNodeClient.d.ts +26 -0
  57. package/v0/protocol/moonbeam/node/MoonbeamNodeClient.js +220 -0
  58. package/v0/protocol/moonbeam/node/MoonbeamNodeClient.js.map +1 -0
  59. package/v0/protocol/moonriver/MoonriverProtocol.d.ts +17 -0
  60. package/v0/protocol/moonriver/MoonriverProtocol.js +75 -0
  61. package/v0/protocol/moonriver/MoonriverProtocol.js.map +1 -0
  62. package/v0/protocol/moonriver/MoonriverProtocolOptions.d.ts +21 -0
  63. package/v0/protocol/moonriver/MoonriverProtocolOptions.js +80 -0
  64. package/v0/protocol/moonriver/MoonriverProtocolOptions.js.map +1 -0
  65. package/v1/block-explorer/SubscanBlockExplorer.d.ts +4 -0
  66. package/v1/block-explorer/SubscanBlockExplorer.js +21 -0
  67. package/v1/block-explorer/SubscanBlockExplorer.js.map +1 -0
  68. package/v1/controller/MoonbeamAccountController.d.ts +22 -0
  69. package/v1/controller/MoonbeamAccountController.js +494 -0
  70. package/v1/controller/MoonbeamAccountController.js.map +1 -0
  71. package/v1/controller/MoonbeamTransactionController.d.ts +5 -0
  72. package/v1/controller/MoonbeamTransactionController.js +28 -0
  73. package/v1/controller/MoonbeamTransactionController.js.map +1 -0
  74. package/v1/data/staking/MoonbeamBond.d.ts +9 -0
  75. package/v1/data/staking/MoonbeamBond.js +41 -0
  76. package/v1/data/staking/MoonbeamBond.js.map +1 -0
  77. package/v1/data/staking/MoonbeamCandidateBondLessRequest.d.ts +9 -0
  78. package/v1/data/staking/MoonbeamCandidateBondLessRequest.js +41 -0
  79. package/v1/data/staking/MoonbeamCandidateBondLessRequest.js.map +1 -0
  80. package/v1/data/staking/MoonbeamCandidateMetadata.d.ts +27 -0
  81. package/v1/data/staking/MoonbeamCandidateMetadata.js +50 -0
  82. package/v1/data/staking/MoonbeamCandidateMetadata.js.map +1 -0
  83. package/v1/data/staking/MoonbeamCollatorDetails.d.ts +9 -0
  84. package/v1/data/staking/MoonbeamCollatorDetails.js +3 -0
  85. package/v1/data/staking/MoonbeamCollatorDetails.js.map +1 -0
  86. package/v1/data/staking/MoonbeamDelegationDetails.d.ts +13 -0
  87. package/v1/data/staking/MoonbeamDelegationDetails.js +3 -0
  88. package/v1/data/staking/MoonbeamDelegationDetails.js.map +1 -0
  89. package/v1/data/staking/MoonbeamDelegationScheduledRequests.d.ts +40 -0
  90. package/v1/data/staking/MoonbeamDelegationScheduledRequests.js +148 -0
  91. package/v1/data/staking/MoonbeamDelegationScheduledRequests.js.map +1 -0
  92. package/v1/data/staking/MoonbeamDelegator.d.ts +35 -0
  93. package/v1/data/staking/MoonbeamDelegator.js +132 -0
  94. package/v1/data/staking/MoonbeamDelegator.js.map +1 -0
  95. package/v1/data/staking/MoonbeamDelegatorDetails.d.ts +5 -0
  96. package/v1/data/staking/MoonbeamDelegatorDetails.js +3 -0
  97. package/v1/data/staking/MoonbeamDelegatorDetails.js.map +1 -0
  98. package/v1/data/staking/MoonbeamRoundInfo.d.ts +9 -0
  99. package/v1/data/staking/MoonbeamRoundInfo.js +21 -0
  100. package/v1/data/staking/MoonbeamRoundInfo.js.map +1 -0
  101. package/v1/data/staking/MoonbeamStakingActionType.d.ts +13 -0
  102. package/v1/data/staking/MoonbeamStakingActionType.js +18 -0
  103. package/v1/data/staking/MoonbeamStakingActionType.js.map +1 -0
  104. package/v1/data/transaction/method/args.d.ts +2 -0
  105. package/v1/data/transaction/method/args.js +475 -0
  106. package/v1/data/transaction/method/args.js.map +1 -0
  107. package/v1/data/transaction/transaction.d.ts +2 -0
  108. package/v1/data/transaction/transaction.js +29 -0
  109. package/v1/data/transaction/transaction.js.map +1 -0
  110. package/v1/index.d.ts +12 -0
  111. package/v1/index.js +16 -0
  112. package/v1/index.js.map +1 -0
  113. package/v1/module/MoonbeamModule.d.ts +17 -0
  114. package/v1/module/MoonbeamModule.js +121 -0
  115. package/v1/module/MoonbeamModule.js.map +1 -0
  116. package/v1/module.d.ts +3 -0
  117. package/v1/module.js +24 -0
  118. package/v1/module.js.map +1 -0
  119. package/v1/node/MoonbeamNodeClient.d.ts +35 -0
  120. package/v1/node/MoonbeamNodeClient.js +269 -0
  121. package/v1/node/MoonbeamNodeClient.js.map +1 -0
  122. package/v1/protocol/MoonbaseProtocol.d.ts +14 -0
  123. package/v1/protocol/MoonbaseProtocol.js +110 -0
  124. package/v1/protocol/MoonbaseProtocol.js.map +1 -0
  125. package/v1/protocol/MoonbeamBaseProtocol.d.ts +28 -0
  126. package/v1/protocol/MoonbeamBaseProtocol.js +432 -0
  127. package/v1/protocol/MoonbeamBaseProtocol.js.map +1 -0
  128. package/v1/protocol/MoonbeamProtocol.d.ts +14 -0
  129. package/v1/protocol/MoonbeamProtocol.js +125 -0
  130. package/v1/protocol/MoonbeamProtocol.js.map +1 -0
  131. package/v1/protocol/MoonriverProtocol.d.ts +14 -0
  132. package/v1/protocol/MoonriverProtocol.js +110 -0
  133. package/v1/protocol/MoonriverProtocol.js.map +1 -0
  134. package/v1/serializer/v3/schemas/converter/transaction-converter.d.ts +7 -0
  135. package/v1/serializer/v3/schemas/converter/transaction-converter.js +21 -0
  136. package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -0
  137. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-moonbeam.d.ts +3 -0
  138. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-moonbeam.js +3 -0
  139. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-moonbeam.js.map +1 -0
  140. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-moonbeam.d.ts +3 -0
  141. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-moonbeam.js +3 -0
  142. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-moonbeam.js.map +1 -0
  143. package/v1/serializer/v3/schemas/generated/transaction-sign-request-moonbeam.json +36 -0
  144. package/v1/serializer/v3/schemas/generated/transaction-sign-response-moonbeam.json +19 -0
  145. package/v1/serializer/v3/serializer-companion.d.ts +14 -0
  146. package/v1/serializer/v3/serializer-companion.js +189 -0
  147. package/v1/serializer/v3/serializer-companion.js.map +1 -0
  148. package/v1/serializer/v3/validators/transaction-validator.d.ts +4 -0
  149. package/v1/serializer/v3/validators/transaction-validator.js +28 -0
  150. package/v1/serializer/v3/validators/transaction-validator.js.map +1 -0
  151. package/v1/serializer/v3/validators/validators.d.ts +4 -0
  152. package/v1/serializer/v3/validators/validators.js +6 -0
  153. package/v1/serializer/v3/validators/validators.js.map +1 -0
  154. package/v1/types/configuration.d.ts +11 -0
  155. package/v1/types/configuration.js +3 -0
  156. package/v1/types/configuration.js.map +1 -0
  157. package/v1/types/crypto.d.ts +2 -0
  158. package/v1/types/crypto.js +3 -0
  159. package/v1/types/crypto.js.map +1 -0
  160. package/v1/types/protocol.d.ts +13 -0
  161. package/v1/types/protocol.js +3 -0
  162. package/v1/types/protocol.js.map +1 -0
@@ -0,0 +1,432 @@
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
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ 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;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ var __importDefault = (this && this.__importDefault) || function (mod) {
54
+ return (mod && mod.__esModule) ? mod : { "default": mod };
55
+ };
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ exports.MoonbeamBaseProtocolImpl = void 0;
58
+ var coinlib_core_1 = require("@airgap/coinlib-core");
59
+ var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
60
+ var errors_1 = require("@airgap/coinlib-core/errors");
61
+ var module_kit_1 = require("@airgap/module-kit");
62
+ var v1_1 = require("@airgap/substrate/v1");
63
+ var MoonbeamAccountController_1 = require("../controller/MoonbeamAccountController");
64
+ var MoonbeamTransactionController_1 = require("../controller/MoonbeamTransactionController");
65
+ var MoonbeamNodeClient_1 = require("../node/MoonbeamNodeClient");
66
+ // Implementation
67
+ var MoonbeamBaseProtocolImpl = /** @class */ (function (_super) {
68
+ __extends(MoonbeamBaseProtocolImpl, _super);
69
+ function MoonbeamBaseProtocolImpl(options) {
70
+ var nodeClient = new MoonbeamNodeClient_1.MoonbeamNodeClient(options.configuration, options.network.rpcUrl);
71
+ var accountController = new MoonbeamAccountController_1.MoonbeamAccountController(options.configuration, nodeClient);
72
+ var transactionController = new MoonbeamTransactionController_1.MoonbeamTransactionController(options.configuration, nodeClient);
73
+ var blockExplorer = new v1_1.SubscanBlockExplorerClient(options.network.blockExplorerApi);
74
+ return _super.call(this, options, nodeClient, accountController, transactionController, blockExplorer) || this;
75
+ }
76
+ MoonbeamBaseProtocolImpl.prototype.prepareDelegation = function (publicKey, tip, candidate, amount) {
77
+ return __awaiter(this, void 0, void 0, function () {
78
+ var requestedAmount, minAmount, results, delegatorDetails, collatorDetails, maxDelegations, balance, available, encoded;
79
+ return __generator(this, function (_a) {
80
+ switch (_a.label) {
81
+ case 0:
82
+ requestedAmount = new bignumber_1.default(amount);
83
+ return [4 /*yield*/, this.accountController.getMinDelegationAmount(publicKey)];
84
+ case 1:
85
+ minAmount = _a.sent();
86
+ if (requestedAmount.lt(minAmount)) {
87
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.SUBSTRATE, "The amount is too low, it has to be at least ".concat(minAmount.toString()));
88
+ }
89
+ return [4 /*yield*/, Promise.all([
90
+ this.accountController.getDelegatorDetails(publicKey),
91
+ this.accountController.getCollatorDetails(candidate),
92
+ this.nodeClient.getMaxDelegationsPerDelegator(),
93
+ this.getBalanceOfPublicKey(publicKey)
94
+ ])];
95
+ case 2:
96
+ results = _a.sent();
97
+ delegatorDetails = results[0];
98
+ collatorDetails = results[1];
99
+ maxDelegations = results[2];
100
+ balance = results[3];
101
+ if (maxDelegations === null || maxDelegations === void 0 ? void 0 : maxDelegations.lte(delegatorDetails.delegatees.length)) {
102
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.SUBSTRATE, 'This delegator cannot nominate more collators.');
103
+ }
104
+ available = new bignumber_1.default((0, module_kit_1.newAmount)(balance.total).blockchain(this.metadata.units).value).minus(amount);
105
+ return [4 /*yield*/, this.transactionController.prepareSubmittableTransactions(publicKey, available, [
106
+ {
107
+ type: 'delegate',
108
+ tip: tip,
109
+ args: {
110
+ candidate: candidate,
111
+ amount: new bignumber_1.default(amount),
112
+ candidateDelegationCount: collatorDetails.delegators,
113
+ delegationCount: delegatorDetails.delegatees.length
114
+ }
115
+ }
116
+ ])];
117
+ case 3:
118
+ encoded = _a.sent();
119
+ return [2 /*return*/, (0, module_kit_1.newUnsignedTransaction)({ encoded: encoded })];
120
+ }
121
+ });
122
+ });
123
+ };
124
+ MoonbeamBaseProtocolImpl.prototype.prepareScheduleUndelegate = function (publicKey, tip, collator) {
125
+ return __awaiter(this, void 0, void 0, function () {
126
+ var balance, encoded;
127
+ return __generator(this, function (_a) {
128
+ switch (_a.label) {
129
+ case 0: return [4 /*yield*/, this.getBalanceOfPublicKey(publicKey)];
130
+ case 1:
131
+ balance = _a.sent();
132
+ return [4 /*yield*/, this.transactionController.prepareSubmittableTransactions(publicKey, (0, module_kit_1.newAmount)(balance.total).blockchain(this.metadata.units).value, [
133
+ {
134
+ type: 'schedule_revoke_delegation',
135
+ tip: tip,
136
+ args: {
137
+ collator: collator
138
+ }
139
+ }
140
+ ])];
141
+ case 2:
142
+ encoded = _a.sent();
143
+ return [2 /*return*/, (0, module_kit_1.newUnsignedTransaction)({ encoded: encoded })];
144
+ }
145
+ });
146
+ });
147
+ };
148
+ MoonbeamBaseProtocolImpl.prototype.prepareExecuteUndelegate = function (publicKey, tip, candidate) {
149
+ return __awaiter(this, void 0, void 0, function () {
150
+ return __generator(this, function (_a) {
151
+ return [2 /*return*/, this.prepareExecuteDelegationRequest(publicKey, tip, candidate)];
152
+ });
153
+ });
154
+ };
155
+ MoonbeamBaseProtocolImpl.prototype.prepareCancelUndelegate = function (publicKey, tip, candidate) {
156
+ return __awaiter(this, void 0, void 0, function () {
157
+ return __generator(this, function (_a) {
158
+ return [2 /*return*/, this.prepareCancelDelegationRequest(publicKey, tip, candidate)];
159
+ });
160
+ });
161
+ };
162
+ MoonbeamBaseProtocolImpl.prototype.prepareScheduleUndelegateAll = function (publicKey, tip) {
163
+ return __awaiter(this, void 0, void 0, function () {
164
+ var balance, encoded;
165
+ return __generator(this, function (_a) {
166
+ switch (_a.label) {
167
+ case 0: return [4 /*yield*/, this.getBalanceOfPublicKey(publicKey)];
168
+ case 1:
169
+ balance = _a.sent();
170
+ return [4 /*yield*/, this.transactionController.prepareSubmittableTransactions(publicKey, (0, module_kit_1.newAmount)(balance.total).blockchain(this.metadata.units).value, [
171
+ {
172
+ type: 'schedule_leave_delegators',
173
+ tip: tip,
174
+ args: {}
175
+ }
176
+ ])];
177
+ case 2:
178
+ encoded = _a.sent();
179
+ return [2 /*return*/, (0, module_kit_1.newUnsignedTransaction)({ encoded: encoded })];
180
+ }
181
+ });
182
+ });
183
+ };
184
+ MoonbeamBaseProtocolImpl.prototype.prepareExecuteUndelegateAll = function (publicKey, tip) {
185
+ return __awaiter(this, void 0, void 0, function () {
186
+ var results, delegatorDetails, balance, delegator, encoded;
187
+ return __generator(this, function (_a) {
188
+ switch (_a.label) {
189
+ case 0: return [4 /*yield*/, Promise.all([
190
+ this.accountController.getDelegatorDetails(publicKey),
191
+ this.getBalanceOfPublicKey(publicKey),
192
+ this.getAddressFromPublicKey(publicKey)
193
+ ])];
194
+ case 1:
195
+ results = _a.sent();
196
+ delegatorDetails = results[0];
197
+ balance = results[1];
198
+ delegator = results[2];
199
+ return [4 /*yield*/, this.transactionController.prepareSubmittableTransactions(publicKey, (0, module_kit_1.newAmount)(balance.total).blockchain(this.metadata.units).value, [
200
+ {
201
+ type: 'execute_leave_delegators',
202
+ tip: tip,
203
+ args: {
204
+ delegator: delegator,
205
+ delegationCount: delegatorDetails.delegatees.length
206
+ }
207
+ }
208
+ ])];
209
+ case 2:
210
+ encoded = _a.sent();
211
+ return [2 /*return*/, (0, module_kit_1.newUnsignedTransaction)({ encoded: encoded })];
212
+ }
213
+ });
214
+ });
215
+ };
216
+ MoonbeamBaseProtocolImpl.prototype.prepareCancelUndelegateAll = function (publicKey, tip) {
217
+ return __awaiter(this, void 0, void 0, function () {
218
+ var balance, encoded;
219
+ return __generator(this, function (_a) {
220
+ switch (_a.label) {
221
+ case 0: return [4 /*yield*/, this.getBalanceOfPublicKey(publicKey)];
222
+ case 1:
223
+ balance = _a.sent();
224
+ return [4 /*yield*/, this.transactionController.prepareSubmittableTransactions(publicKey, (0, module_kit_1.newAmount)(balance.total).blockchain(this.metadata.units).value, [
225
+ {
226
+ type: 'cancel_leave_delegators',
227
+ tip: tip,
228
+ args: {}
229
+ }
230
+ ])];
231
+ case 2:
232
+ encoded = _a.sent();
233
+ return [2 /*return*/, (0, module_kit_1.newUnsignedTransaction)({ encoded: encoded })];
234
+ }
235
+ });
236
+ });
237
+ };
238
+ MoonbeamBaseProtocolImpl.prototype.prepareDelegatorBondMore = function (publicKey, tip, candidate, more) {
239
+ return __awaiter(this, void 0, void 0, function () {
240
+ var balance, available, encoded;
241
+ return __generator(this, function (_a) {
242
+ switch (_a.label) {
243
+ case 0: return [4 /*yield*/, this.getBalanceOfPublicKey(publicKey)];
244
+ case 1:
245
+ balance = _a.sent();
246
+ available = new bignumber_1.default((0, module_kit_1.newAmount)(balance.total).blockchain(this.metadata.units).value).minus(more);
247
+ return [4 /*yield*/, this.transactionController.prepareSubmittableTransactions(publicKey, available, [
248
+ {
249
+ type: 'delegator_bond_more',
250
+ tip: tip,
251
+ args: {
252
+ candidate: candidate,
253
+ more: new bignumber_1.default(more)
254
+ }
255
+ }
256
+ ])];
257
+ case 2:
258
+ encoded = _a.sent();
259
+ return [2 /*return*/, (0, module_kit_1.newUnsignedTransaction)({ encoded: encoded })];
260
+ }
261
+ });
262
+ });
263
+ };
264
+ MoonbeamBaseProtocolImpl.prototype.prepareScheduleDelegatorBondLess = function (publicKey, tip, candidate, less) {
265
+ return __awaiter(this, void 0, void 0, function () {
266
+ var _a, balance, delegationDetails, bondAmount, requestedAmount, encoded;
267
+ return __generator(this, function (_b) {
268
+ switch (_b.label) {
269
+ case 0: return [4 /*yield*/, Promise.all([
270
+ this.getBalanceOfPublicKey(publicKey),
271
+ this.accountController.getDelegationDetails(publicKey, candidate)
272
+ ])];
273
+ case 1:
274
+ _a = _b.sent(), balance = _a[0], delegationDetails = _a[1];
275
+ bondAmount = new bignumber_1.default(delegationDetails.bond);
276
+ requestedAmount = new bignumber_1.default(less);
277
+ if (requestedAmount.gt(bondAmount)) {
278
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.SUBSTRATE, 'Bond less amount too high');
279
+ }
280
+ else if (requestedAmount.eq(bondAmount)) {
281
+ return [2 /*return*/, this.prepareScheduleUndelegate(publicKey, tip, candidate)];
282
+ }
283
+ return [4 /*yield*/, this.transactionController.prepareSubmittableTransactions(publicKey, (0, module_kit_1.newAmount)(balance.total).blockchain(this.metadata.units).value, [
284
+ {
285
+ type: 'schedule_delegator_bond_less',
286
+ tip: tip,
287
+ args: {
288
+ candidate: candidate,
289
+ less: requestedAmount
290
+ }
291
+ }
292
+ ])];
293
+ case 2:
294
+ encoded = _b.sent();
295
+ return [2 /*return*/, (0, module_kit_1.newUnsignedTransaction)({ encoded: encoded })];
296
+ }
297
+ });
298
+ });
299
+ };
300
+ MoonbeamBaseProtocolImpl.prototype.prepareExecuteDelegatorBondLess = function (publicKey, tip, candidate) {
301
+ return __awaiter(this, void 0, void 0, function () {
302
+ return __generator(this, function (_a) {
303
+ return [2 /*return*/, this.prepareExecuteDelegationRequest(publicKey, tip, candidate)];
304
+ });
305
+ });
306
+ };
307
+ MoonbeamBaseProtocolImpl.prototype.prepareCancelDelegatorBondLess = function (publicKey, tip, candidate) {
308
+ return __awaiter(this, void 0, void 0, function () {
309
+ return __generator(this, function (_a) {
310
+ return [2 /*return*/, this.prepareCancelDelegationRequest(publicKey, tip, candidate)];
311
+ });
312
+ });
313
+ };
314
+ MoonbeamBaseProtocolImpl.prototype.prepareExecuteDelegationRequest = function (publicKey, tip, candidate) {
315
+ return __awaiter(this, void 0, void 0, function () {
316
+ var results, balance, delegator, encoded;
317
+ return __generator(this, function (_a) {
318
+ switch (_a.label) {
319
+ case 0: return [4 /*yield*/, Promise.all([this.getBalanceOfPublicKey(publicKey), this.getAddressFromPublicKey(publicKey)])];
320
+ case 1:
321
+ results = _a.sent();
322
+ balance = results[0];
323
+ delegator = results[1];
324
+ return [4 /*yield*/, this.transactionController.prepareSubmittableTransactions(publicKey, (0, module_kit_1.newAmount)(balance.total).blockchain(this.metadata.units).value, [
325
+ {
326
+ type: 'execute_delegation_request',
327
+ tip: tip,
328
+ args: {
329
+ delegator: delegator,
330
+ candidate: candidate
331
+ }
332
+ }
333
+ ])];
334
+ case 2:
335
+ encoded = _a.sent();
336
+ return [2 /*return*/, (0, module_kit_1.newUnsignedTransaction)({ encoded: encoded })];
337
+ }
338
+ });
339
+ });
340
+ };
341
+ MoonbeamBaseProtocolImpl.prototype.prepareCancelDelegationRequest = function (publicKey, tip, candidate) {
342
+ return __awaiter(this, void 0, void 0, function () {
343
+ var balance, encoded;
344
+ return __generator(this, function (_a) {
345
+ switch (_a.label) {
346
+ case 0: return [4 /*yield*/, this.getBalanceOfPublicKey(publicKey)];
347
+ case 1:
348
+ balance = _a.sent();
349
+ return [4 /*yield*/, this.transactionController.prepareSubmittableTransactions(publicKey, (0, module_kit_1.newAmount)(balance.total).blockchain(this.metadata.units).value, [
350
+ {
351
+ type: 'cancel_delegation_request',
352
+ tip: tip,
353
+ args: {
354
+ candidate: candidate
355
+ }
356
+ }
357
+ ])];
358
+ case 2:
359
+ encoded = _a.sent();
360
+ return [2 /*return*/, (0, module_kit_1.newUnsignedTransaction)({ encoded: encoded })];
361
+ }
362
+ });
363
+ });
364
+ };
365
+ MoonbeamBaseProtocolImpl.prototype.getFutureRequiredTransactions = function (accountId, intention) {
366
+ return __awaiter(this, void 0, void 0, function () {
367
+ var results, isDelegating, balance, transferableBalance, stakingBalance, requiredTransactions;
368
+ return __generator(this, function (_a) {
369
+ switch (_a.label) {
370
+ case 0: return [4 /*yield*/, Promise.all([this.accountController.isDelegating(accountId), this.accountController.getBalance(accountId)])];
371
+ case 1:
372
+ results = _a.sent();
373
+ isDelegating = results[0];
374
+ balance = results[1];
375
+ transferableBalance = balance.transferable.minus(balance.existentialDeposit);
376
+ stakingBalance = balance.transferableCoveringFees;
377
+ requiredTransactions = [];
378
+ if (intention === 'transfer') {
379
+ requiredTransactions.push([
380
+ 'transfer',
381
+ {
382
+ to: v1_1.SubstrateEthAddress.createPlaceholder(),
383
+ value: transferableBalance
384
+ }
385
+ ]);
386
+ }
387
+ if (!isDelegating && intention === 'delegate') {
388
+ // not delegated
389
+ requiredTransactions.push([
390
+ 'delegate',
391
+ {
392
+ candidate: v1_1.SubstrateEthAddress.createPlaceholder(),
393
+ amount: stakingBalance,
394
+ candidateDelegationCount: 0,
395
+ delegationCount: 0
396
+ }
397
+ ], [
398
+ 'schedule_revoke_delegation',
399
+ {
400
+ collator: v1_1.SubstrateEthAddress.createPlaceholder()
401
+ }
402
+ ], [
403
+ 'execute_delegation_request',
404
+ {
405
+ delegator: v1_1.SubstrateEthAddress.createPlaceholder(),
406
+ candidate: v1_1.SubstrateEthAddress.createPlaceholder()
407
+ }
408
+ ]);
409
+ }
410
+ if (isDelegating && intention === 'delegate') {
411
+ requiredTransactions.push([
412
+ 'schedule_revoke_delegation',
413
+ {
414
+ collator: v1_1.SubstrateEthAddress.createPlaceholder()
415
+ }
416
+ ], [
417
+ 'execute_delegation_request',
418
+ {
419
+ delegator: v1_1.SubstrateEthAddress.createPlaceholder(),
420
+ candidate: v1_1.SubstrateEthAddress.createPlaceholder()
421
+ }
422
+ ]);
423
+ }
424
+ return [2 /*return*/, requiredTransactions];
425
+ }
426
+ });
427
+ });
428
+ };
429
+ return MoonbeamBaseProtocolImpl;
430
+ }(v1_1.SubstrateProtocolImpl));
431
+ exports.MoonbeamBaseProtocolImpl = MoonbeamBaseProtocolImpl;
432
+ //# sourceMappingURL=MoonbeamBaseProtocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoonbeamBaseProtocol.js","sourceRoot":"","sources":["../../../src/v1/protocol/MoonbeamBaseProtocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { ProtocolMetadata, RecursivePartial } from '@airgap/module-kit';
2
+ import { MoonbeamProtocolConfiguration } from '../types/configuration';
3
+ import { MoonbeamProtocolNetwork, MoonbeamProtocolOptions, MoonbeamUnits } from '../types/protocol';
4
+ import { MoonbeamBaseProtocol, MoonbeamBaseProtocolImpl } from './MoonbeamBaseProtocol';
5
+ export interface MoonbeamProtocol extends MoonbeamBaseProtocol<MoonbeamUnits> {
6
+ }
7
+ export declare const MOONBEAM_METADATA: ProtocolMetadata<MoonbeamUnits>;
8
+ export declare const MOONBEAM_CONFIGURATION: MoonbeamProtocolConfiguration;
9
+ export declare class MoonbeamProtocolImpl extends MoonbeamBaseProtocolImpl<MoonbeamUnits> implements MoonbeamProtocol {
10
+ constructor(options?: RecursivePartial<MoonbeamProtocolOptions>);
11
+ }
12
+ export declare function createMoonbeamProtocol(options?: RecursivePartial<MoonbeamProtocolOptions>): MoonbeamProtocol;
13
+ export declare const MOONBEAM_MAINNET_PROTOCOL_NETWORK: MoonbeamProtocolNetwork;
14
+ export declare function createMoonbeamProtocolOptions(network?: Partial<MoonbeamProtocolNetwork>): MoonbeamProtocolOptions;
@@ -0,0 +1,125 @@
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
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.createMoonbeamProtocolOptions = exports.MOONBEAM_MAINNET_PROTOCOL_NETWORK = exports.createMoonbeamProtocol = exports.MoonbeamProtocolImpl = exports.MOONBEAM_CONFIGURATION = exports.MOONBEAM_METADATA = void 0;
30
+ var coinlib_core_1 = require("@airgap/coinlib-core");
31
+ var v1_1 = require("@airgap/substrate/v1");
32
+ var transaction_1 = require("../data/transaction/transaction");
33
+ var MoonbeamNodeClient_1 = require("../node/MoonbeamNodeClient");
34
+ var MoonbeamBaseProtocol_1 = require("./MoonbeamBaseProtocol");
35
+ // Implementation
36
+ exports.MOONBEAM_METADATA = {
37
+ identifier: coinlib_core_1.MainProtocolSymbols.MOONBEAM,
38
+ name: 'Moonbeam',
39
+ units: {
40
+ GLMR: {
41
+ symbol: { value: 'GLMR' },
42
+ decimals: 18
43
+ },
44
+ mGLMR: {
45
+ symbol: { value: 'mGLMR' },
46
+ decimals: 15
47
+ },
48
+ uGLMR: {
49
+ symbol: { value: 'uGLMR' },
50
+ decimals: 12
51
+ },
52
+ GWEI: {
53
+ symbol: { value: 'GWEI' },
54
+ decimals: 9
55
+ },
56
+ MWEI: {
57
+ symbol: { value: 'MWEI' },
58
+ decimals: 6
59
+ },
60
+ kWEI: {
61
+ symbol: { value: 'kWEI' },
62
+ decimals: 3
63
+ },
64
+ WEI: {
65
+ symbol: { value: 'WEI' },
66
+ decimals: 0
67
+ }
68
+ },
69
+ mainUnit: 'GLMR',
70
+ account: {
71
+ standardDerivationPath: "m/44'/60'/0'/0/0",
72
+ address: {
73
+ isCaseSensitive: false,
74
+ placeholder: '0xabc...',
75
+ regex: '^0x[a-fA-F0-9]{40}$'
76
+ }
77
+ }
78
+ };
79
+ exports.MOONBEAM_CONFIGURATION = {
80
+ account: { type: 'eth' },
81
+ transaction: {
82
+ types: transaction_1.TRANSACTION_TYPES
83
+ },
84
+ signature: {
85
+ fixedType: v1_1.SubstrateSignatureType.Ecdsa
86
+ },
87
+ rpc: {
88
+ storageEntries: MoonbeamNodeClient_1.STORAGE_ENTRIES,
89
+ calls: MoonbeamNodeClient_1.CALLS,
90
+ constants: MoonbeamNodeClient_1.CONSTANTS
91
+ }
92
+ };
93
+ var MoonbeamProtocolImpl = /** @class */ (function (_super) {
94
+ __extends(MoonbeamProtocolImpl, _super);
95
+ function MoonbeamProtocolImpl(options) {
96
+ if (options === void 0) { options = {}; }
97
+ var completeOptions = createMoonbeamProtocolOptions(options.network);
98
+ var metadata = exports.MOONBEAM_METADATA;
99
+ var configuration = exports.MOONBEAM_CONFIGURATION;
100
+ return _super.call(this, { metadata: metadata, configuration: configuration, network: completeOptions.network }) || this;
101
+ }
102
+ return MoonbeamProtocolImpl;
103
+ }(MoonbeamBaseProtocol_1.MoonbeamBaseProtocolImpl));
104
+ exports.MoonbeamProtocolImpl = MoonbeamProtocolImpl;
105
+ // Factory
106
+ function createMoonbeamProtocol(options) {
107
+ if (options === void 0) { options = {}; }
108
+ return new MoonbeamProtocolImpl(options);
109
+ }
110
+ exports.createMoonbeamProtocol = createMoonbeamProtocol;
111
+ exports.MOONBEAM_MAINNET_PROTOCOL_NETWORK = {
112
+ name: 'Mainnet',
113
+ type: 'mainnet',
114
+ rpcUrl: 'https://moonbeam-proxy.airgap.prod.gke.papers.tech',
115
+ blockExplorerApi: 'https://moonbeam.subscan.prod.gke.papers.tech/api/scan'
116
+ };
117
+ var DEFAULT_MOONBEAM_PROTOCOL_NETWORK = exports.MOONBEAM_MAINNET_PROTOCOL_NETWORK;
118
+ function createMoonbeamProtocolOptions(network) {
119
+ if (network === void 0) { network = {}; }
120
+ return {
121
+ network: __assign(__assign({}, DEFAULT_MOONBEAM_PROTOCOL_NETWORK), network)
122
+ };
123
+ }
124
+ exports.createMoonbeamProtocolOptions = createMoonbeamProtocolOptions;
125
+ //# sourceMappingURL=MoonbeamProtocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoonbeamProtocol.js","sourceRoot":"","sources":["../../../src/v1/protocol/MoonbeamProtocol.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAA0D;AAE1D,2CAA6D;AAE7D,+DAAmE;AACnE,iEAA8E;AAI9E,+DAAuF;AAMvF,iBAAiB;AAEJ,QAAA,iBAAiB,GAAoC;IAChE,UAAU,EAAE,kCAAmB,CAAC,QAAQ;IACxC,IAAI,EAAE,UAAU;IAEhB,KAAK,EAAE;QACL,IAAI,EAAE;YACJ,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACzB,QAAQ,EAAE,EAAE;SACb;QACD,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC1B,QAAQ,EAAE,EAAE;SACb;QACD,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC1B,QAAQ,EAAE,EAAE;SACb;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACzB,QAAQ,EAAE,CAAC;SACZ;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACzB,QAAQ,EAAE,CAAC;SACZ;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACzB,QAAQ,EAAE,CAAC;SACZ;QACD,GAAG,EAAE;YACH,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACxB,QAAQ,EAAE,CAAC;SACZ;KACF;IACD,QAAQ,EAAE,MAAM;IAEhB,OAAO,EAAE;QACP,sBAAsB,EAAE,kBAAkB;QAC1C,OAAO,EAAE;YACP,eAAe,EAAE,KAAK;YACtB,WAAW,EAAE,UAAU;YACvB,KAAK,EAAE,qBAAqB;SAC7B;KACF;CACF,CAAA;AAEY,QAAA,sBAAsB,GAAkC;IACnE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IACxB,WAAW,EAAE;QACX,KAAK,EAAE,+BAAiB;KACzB;IACD,SAAS,EAAE;QACT,SAAS,EAAE,2BAAsB,CAAC,KAAK;KACxC;IACD,GAAG,EAAE;QACH,cAAc,EAAE,oCAAe;QAC/B,KAAK,EAAE,0BAAK;QACZ,SAAS,EAAE,8BAAS;KACrB;CACF,CAAA;AAED;IAA0C,wCAAuC;IAC/E,8BAAmB,OAAuD;QAAvD,wBAAA,EAAA,YAAuD;QACxE,IAAM,eAAe,GAA4B,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAE/F,IAAM,QAAQ,GAAoC,yBAAiB,CAAA;QACnE,IAAM,aAAa,GAAkC,8BAAsB,CAAA;eAE3E,kBAAM,EAAE,QAAQ,UAAA,EAAE,aAAa,eAAA,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC;IACtE,CAAC;IACH,2BAAC;AAAD,CAAC,AATD,CAA0C,+CAAwB,GASjE;AATY,oDAAoB;AAWjC,UAAU;AAEV,SAAgB,sBAAsB,CAAC,OAAuD;IAAvD,wBAAA,EAAA,YAAuD;IAC5F,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAA;AAC1C,CAAC;AAFD,wDAEC;AAEY,QAAA,iCAAiC,GAA4B;IACxE,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,oDAAoD;IAC5D,gBAAgB,EAAE,wDAAwD;CAC3E,CAAA;AAED,IAAM,iCAAiC,GAA4B,yCAAiC,CAAA;AAEpG,SAAgB,6BAA6B,CAAC,OAA8C;IAA9C,wBAAA,EAAA,YAA8C;IAC1F,OAAO;QACL,OAAO,wBAAO,iCAAiC,GAAK,OAAO,CAAE;KAC9D,CAAA;AACH,CAAC;AAJD,sEAIC"}
@@ -0,0 +1,14 @@
1
+ import { ProtocolMetadata, RecursivePartial } from '@airgap/module-kit';
2
+ import { MoonbeamProtocolConfiguration } from '../types/configuration';
3
+ import { MoonbeamProtocolNetwork, MoonbeamProtocolOptions, MoonriverUnits } from '../types/protocol';
4
+ import { MoonbeamBaseProtocol, MoonbeamBaseProtocolImpl } from './MoonbeamBaseProtocol';
5
+ export interface MoonriverProtocol extends MoonbeamBaseProtocol<MoonriverUnits> {
6
+ }
7
+ export declare const MOONRIVER_METADATA: ProtocolMetadata<MoonriverUnits>;
8
+ export declare const MOONRIVER_CONFIGURATION: MoonbeamProtocolConfiguration;
9
+ export declare class MoonriverProtocolImpl extends MoonbeamBaseProtocolImpl<MoonriverUnits> implements MoonriverProtocol {
10
+ constructor(options?: RecursivePartial<MoonbeamProtocolOptions>);
11
+ }
12
+ export declare function createMoonriverProtocol(options?: RecursivePartial<MoonbeamProtocolOptions>): MoonriverProtocol;
13
+ export declare const MOONRIVER_MAINNET_PROTOCOL_NETWORK: MoonbeamProtocolNetwork;
14
+ export declare function createMoonriverProtocolOptions(network?: Partial<MoonbeamProtocolNetwork>): MoonbeamProtocolOptions;