@wallfree-dev/moonbeam 0.13.42

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 (161) hide show
  1. package/LICENSE.md +7 -0
  2. package/index.d.ts +1 -0
  3. package/index.js +18 -0
  4. package/index.js.map +1 -0
  5. package/package.json +63 -0
  6. package/readme.md +121 -0
  7. package/v0/index.d.ts +6 -0
  8. package/v0/index.js +37 -0
  9. package/v0/index.js.map +1 -0
  10. package/v0/protocol/moonbase/MoonbaseProtocol.d.ts +17 -0
  11. package/v0/protocol/moonbase/MoonbaseProtocol.js +75 -0
  12. package/v0/protocol/moonbase/MoonbaseProtocol.js.map +1 -0
  13. package/v0/protocol/moonbase/MoonbaseProtocolOptions.d.ts +21 -0
  14. package/v0/protocol/moonbase/MoonbaseProtocolOptions.js +80 -0
  15. package/v0/protocol/moonbase/MoonbaseProtocolOptions.js.map +1 -0
  16. package/v0/protocol/moonbeam/MoonbeamProtocol.d.ts +55 -0
  17. package/v0/protocol/moonbeam/MoonbeamProtocol.js +641 -0
  18. package/v0/protocol/moonbeam/MoonbeamProtocol.js.map +1 -0
  19. package/v0/protocol/moonbeam/MoonbeamProtocolOptions.d.ts +32 -0
  20. package/v0/protocol/moonbeam/MoonbeamProtocolOptions.js +104 -0
  21. package/v0/protocol/moonbeam/MoonbeamProtocolOptions.js.map +1 -0
  22. package/v0/protocol/moonbeam/controllers/MoonbeamAccountController.d.ts +28 -0
  23. package/v0/protocol/moonbeam/controllers/MoonbeamAccountController.js +551 -0
  24. package/v0/protocol/moonbeam/controllers/MoonbeamAccountController.js.map +1 -0
  25. package/v0/protocol/moonbeam/controllers/MoonbeamTransactionController.d.ts +9 -0
  26. package/v0/protocol/moonbeam/controllers/MoonbeamTransactionController.js +75 -0
  27. package/v0/protocol/moonbeam/controllers/MoonbeamTransactionController.js.map +1 -0
  28. package/v0/protocol/moonbeam/data/staking/MoonbeamBond.d.ts +13 -0
  29. package/v0/protocol/moonbeam/data/staking/MoonbeamBond.js +43 -0
  30. package/v0/protocol/moonbeam/data/staking/MoonbeamBond.js.map +1 -0
  31. package/v0/protocol/moonbeam/data/staking/MoonbeamCandidateBondLessRequest.d.ts +11 -0
  32. package/v0/protocol/moonbeam/data/staking/MoonbeamCandidateBondLessRequest.js +43 -0
  33. package/v0/protocol/moonbeam/data/staking/MoonbeamCandidateBondLessRequest.js.map +1 -0
  34. package/v0/protocol/moonbeam/data/staking/MoonbeamCandidateMetadata.d.ts +28 -0
  35. package/v0/protocol/moonbeam/data/staking/MoonbeamCandidateMetadata.js +49 -0
  36. package/v0/protocol/moonbeam/data/staking/MoonbeamCandidateMetadata.js.map +1 -0
  37. package/v0/protocol/moonbeam/data/staking/MoonbeamCollatorDetails.d.ts +9 -0
  38. package/v0/protocol/moonbeam/data/staking/MoonbeamCollatorDetails.js +3 -0
  39. package/v0/protocol/moonbeam/data/staking/MoonbeamCollatorDetails.js.map +1 -0
  40. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegationDetails.d.ts +13 -0
  41. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegationDetails.js +3 -0
  42. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegationDetails.js.map +1 -0
  43. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegationScheduledRequests.d.ts +46 -0
  44. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegationScheduledRequests.js +148 -0
  45. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegationScheduledRequests.js.map +1 -0
  46. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegator.d.ts +40 -0
  47. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegator.js +132 -0
  48. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegator.js.map +1 -0
  49. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegatorDetails.d.ts +5 -0
  50. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegatorDetails.js +3 -0
  51. package/v0/protocol/moonbeam/data/staking/MoonbeamDelegatorDetails.js.map +1 -0
  52. package/v0/protocol/moonbeam/data/staking/MoonbeamRoundInfo.d.ts +8 -0
  53. package/v0/protocol/moonbeam/data/staking/MoonbeamRoundInfo.js +22 -0
  54. package/v0/protocol/moonbeam/data/staking/MoonbeamRoundInfo.js.map +1 -0
  55. package/v0/protocol/moonbeam/data/staking/MoonbeamStakingActionType.d.ts +13 -0
  56. package/v0/protocol/moonbeam/data/staking/MoonbeamStakingActionType.js +18 -0
  57. package/v0/protocol/moonbeam/data/staking/MoonbeamStakingActionType.js.map +1 -0
  58. package/v0/protocol/moonbeam/node/MoonbeamNodeClient.d.ts +26 -0
  59. package/v0/protocol/moonbeam/node/MoonbeamNodeClient.js +220 -0
  60. package/v0/protocol/moonbeam/node/MoonbeamNodeClient.js.map +1 -0
  61. package/v0/protocol/moonriver/MoonriverProtocol.d.ts +17 -0
  62. package/v0/protocol/moonriver/MoonriverProtocol.js +75 -0
  63. package/v0/protocol/moonriver/MoonriverProtocol.js.map +1 -0
  64. package/v0/protocol/moonriver/MoonriverProtocolOptions.d.ts +21 -0
  65. package/v0/protocol/moonriver/MoonriverProtocolOptions.js +80 -0
  66. package/v0/protocol/moonriver/MoonriverProtocolOptions.js.map +1 -0
  67. package/v1/controller/MoonbeamAccountController.d.ts +22 -0
  68. package/v1/controller/MoonbeamAccountController.js +494 -0
  69. package/v1/controller/MoonbeamAccountController.js.map +1 -0
  70. package/v1/controller/MoonbeamTransactionController.d.ts +5 -0
  71. package/v1/controller/MoonbeamTransactionController.js +28 -0
  72. package/v1/controller/MoonbeamTransactionController.js.map +1 -0
  73. package/v1/data/staking/MoonbeamBond.d.ts +9 -0
  74. package/v1/data/staking/MoonbeamBond.js +41 -0
  75. package/v1/data/staking/MoonbeamBond.js.map +1 -0
  76. package/v1/data/staking/MoonbeamCandidateBondLessRequest.d.ts +9 -0
  77. package/v1/data/staking/MoonbeamCandidateBondLessRequest.js +41 -0
  78. package/v1/data/staking/MoonbeamCandidateBondLessRequest.js.map +1 -0
  79. package/v1/data/staking/MoonbeamCandidateMetadata.d.ts +27 -0
  80. package/v1/data/staking/MoonbeamCandidateMetadata.js +50 -0
  81. package/v1/data/staking/MoonbeamCandidateMetadata.js.map +1 -0
  82. package/v1/data/staking/MoonbeamCollatorDetails.d.ts +9 -0
  83. package/v1/data/staking/MoonbeamCollatorDetails.js +3 -0
  84. package/v1/data/staking/MoonbeamCollatorDetails.js.map +1 -0
  85. package/v1/data/staking/MoonbeamDelegationDetails.d.ts +13 -0
  86. package/v1/data/staking/MoonbeamDelegationDetails.js +3 -0
  87. package/v1/data/staking/MoonbeamDelegationDetails.js.map +1 -0
  88. package/v1/data/staking/MoonbeamDelegationScheduledRequests.d.ts +40 -0
  89. package/v1/data/staking/MoonbeamDelegationScheduledRequests.js +148 -0
  90. package/v1/data/staking/MoonbeamDelegationScheduledRequests.js.map +1 -0
  91. package/v1/data/staking/MoonbeamDelegator.d.ts +35 -0
  92. package/v1/data/staking/MoonbeamDelegator.js +132 -0
  93. package/v1/data/staking/MoonbeamDelegator.js.map +1 -0
  94. package/v1/data/staking/MoonbeamDelegatorDetails.d.ts +5 -0
  95. package/v1/data/staking/MoonbeamDelegatorDetails.js +3 -0
  96. package/v1/data/staking/MoonbeamDelegatorDetails.js.map +1 -0
  97. package/v1/data/staking/MoonbeamRoundInfo.d.ts +9 -0
  98. package/v1/data/staking/MoonbeamRoundInfo.js +21 -0
  99. package/v1/data/staking/MoonbeamRoundInfo.js.map +1 -0
  100. package/v1/data/staking/MoonbeamStakingActionType.d.ts +13 -0
  101. package/v1/data/staking/MoonbeamStakingActionType.js +18 -0
  102. package/v1/data/staking/MoonbeamStakingActionType.js.map +1 -0
  103. package/v1/data/transaction/method/args.d.ts +2 -0
  104. package/v1/data/transaction/method/args.js +475 -0
  105. package/v1/data/transaction/method/args.js.map +1 -0
  106. package/v1/data/transaction/transaction.d.ts +2 -0
  107. package/v1/data/transaction/transaction.js +29 -0
  108. package/v1/data/transaction/transaction.js.map +1 -0
  109. package/v1/index.d.ts +15 -0
  110. package/v1/index.js +14 -0
  111. package/v1/index.js.map +1 -0
  112. package/v1/module/MoonbeamModule.d.ts +19 -0
  113. package/v1/module/MoonbeamModule.js +113 -0
  114. package/v1/module/MoonbeamModule.js.map +1 -0
  115. package/v1/module.d.ts +3 -0
  116. package/v1/module.js +24 -0
  117. package/v1/module.js.map +1 -0
  118. package/v1/node/MoonbeamNodeClient.d.ts +35 -0
  119. package/v1/node/MoonbeamNodeClient.js +269 -0
  120. package/v1/node/MoonbeamNodeClient.js.map +1 -0
  121. package/v1/protocol/MoonbaseProtocol.d.ts +14 -0
  122. package/v1/protocol/MoonbaseProtocol.js +111 -0
  123. package/v1/protocol/MoonbaseProtocol.js.map +1 -0
  124. package/v1/protocol/MoonbeamBaseProtocol.d.ts +56 -0
  125. package/v1/protocol/MoonbeamBaseProtocol.js +649 -0
  126. package/v1/protocol/MoonbeamBaseProtocol.js.map +1 -0
  127. package/v1/protocol/MoonbeamProtocol.d.ts +14 -0
  128. package/v1/protocol/MoonbeamProtocol.js +127 -0
  129. package/v1/protocol/MoonbeamProtocol.js.map +1 -0
  130. package/v1/protocol/MoonriverProtocol.d.ts +14 -0
  131. package/v1/protocol/MoonriverProtocol.js +111 -0
  132. package/v1/protocol/MoonriverProtocol.js.map +1 -0
  133. package/v1/serializer/v3/schemas/converter/transaction-converter.d.ts +7 -0
  134. package/v1/serializer/v3/schemas/converter/transaction-converter.js +21 -0
  135. package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -0
  136. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-moonbeam.d.ts +3 -0
  137. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-moonbeam.js +3 -0
  138. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-moonbeam.js.map +1 -0
  139. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-moonbeam.d.ts +3 -0
  140. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-moonbeam.js +3 -0
  141. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-moonbeam.js.map +1 -0
  142. package/v1/serializer/v3/schemas/generated/transaction-sign-request-moonbeam.json +36 -0
  143. package/v1/serializer/v3/schemas/generated/transaction-sign-response-moonbeam.json +19 -0
  144. package/v1/serializer/v3/serializer-companion.d.ts +14 -0
  145. package/v1/serializer/v3/serializer-companion.js +189 -0
  146. package/v1/serializer/v3/serializer-companion.js.map +1 -0
  147. package/v1/serializer/v3/validators/transaction-validator.d.ts +4 -0
  148. package/v1/serializer/v3/validators/transaction-validator.js +28 -0
  149. package/v1/serializer/v3/validators/transaction-validator.js.map +1 -0
  150. package/v1/serializer/v3/validators/validators.d.ts +4 -0
  151. package/v1/serializer/v3/validators/validators.js +6 -0
  152. package/v1/serializer/v3/validators/validators.js.map +1 -0
  153. package/v1/types/configuration.d.ts +11 -0
  154. package/v1/types/configuration.js +3 -0
  155. package/v1/types/configuration.js.map +1 -0
  156. package/v1/types/crypto.d.ts +2 -0
  157. package/v1/types/crypto.js +3 -0
  158. package/v1/types/crypto.js.map +1 -0
  159. package/v1/types/protocol.d.ts +14 -0
  160. package/v1/types/protocol.js +3 -0
  161. package/v1/types/protocol.js.map +1 -0
@@ -0,0 +1,111 @@
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.createMoonbaseProtocolOptions = exports.MOONBASE_MAINNET_PROTOCOL_NETWORK = exports.createMoonbaseProtocol = exports.MoonbaseProtocolImpl = exports.MOONBASE_CONFIGURATION = exports.MOONBASE_METADATA = void 0;
30
+ var coinlib_core_1 = require("@wallfree-dev/coinlib-core");
31
+ var MoonbeamBaseProtocol_1 = require("./MoonbeamBaseProtocol");
32
+ var MoonbeamProtocol_1 = require("./MoonbeamProtocol");
33
+ // Implementation
34
+ exports.MOONBASE_METADATA = {
35
+ identifier: coinlib_core_1.MainProtocolSymbols.MOONBASE,
36
+ name: 'Moonbase',
37
+ units: {
38
+ DEV: {
39
+ symbol: { value: 'DEV' },
40
+ decimals: 18
41
+ },
42
+ mDEV: {
43
+ symbol: { value: 'mDEV' },
44
+ decimals: 15
45
+ },
46
+ uDEV: {
47
+ symbol: { value: 'uDEV' },
48
+ decimals: 12
49
+ },
50
+ nDEV: {
51
+ symbol: { value: 'nDEV' },
52
+ decimals: 9
53
+ },
54
+ pDEV: {
55
+ symbol: { value: 'pDEV' },
56
+ decimals: 6
57
+ },
58
+ fDEV: {
59
+ symbol: { value: 'fDEV' },
60
+ decimals: 3
61
+ },
62
+ aDEV: {
63
+ symbol: { value: 'aDEV' },
64
+ decimals: 0
65
+ }
66
+ },
67
+ mainUnit: 'DEV',
68
+ account: {
69
+ standardDerivationPath: "m/44'/60'/0'/0/0",
70
+ address: {
71
+ isCaseSensitive: false,
72
+ placeholder: '0xabc...',
73
+ regex: '^0x[a-fA-F0-9]{40}$'
74
+ }
75
+ }
76
+ };
77
+ exports.MOONBASE_CONFIGURATION = MoonbeamProtocol_1.MOONBEAM_CONFIGURATION;
78
+ var MoonbaseProtocolImpl = /** @class */ (function (_super) {
79
+ __extends(MoonbaseProtocolImpl, _super);
80
+ function MoonbaseProtocolImpl(options) {
81
+ if (options === void 0) { options = {}; }
82
+ var completeOptions = createMoonbaseProtocolOptions(options.network);
83
+ var metadata = exports.MOONBASE_METADATA;
84
+ var configuration = exports.MOONBASE_CONFIGURATION;
85
+ return _super.call(this, { metadata: metadata, configuration: configuration, network: completeOptions.network }) || this;
86
+ }
87
+ return MoonbaseProtocolImpl;
88
+ }(MoonbeamBaseProtocol_1.MoonbeamBaseProtocolImpl));
89
+ exports.MoonbaseProtocolImpl = MoonbaseProtocolImpl;
90
+ // Factory
91
+ function createMoonbaseProtocol(options) {
92
+ if (options === void 0) { options = {}; }
93
+ return new MoonbaseProtocolImpl(options);
94
+ }
95
+ exports.createMoonbaseProtocol = createMoonbaseProtocol;
96
+ exports.MOONBASE_MAINNET_PROTOCOL_NETWORK = {
97
+ name: 'Mainnet',
98
+ type: 'mainnet',
99
+ rpcUrl: 'https://moonbeam-alpha.api.onfinality.io/public',
100
+ blockExplorerUrl: 'https://moonbase.subscan.io',
101
+ blockExplorerApi: 'https://moonbase.subscan.io/api/scan'
102
+ };
103
+ var DEFAULT_MOONBASE_PROTOCOL_NETWORK = exports.MOONBASE_MAINNET_PROTOCOL_NETWORK;
104
+ function createMoonbaseProtocolOptions(network) {
105
+ if (network === void 0) { network = {}; }
106
+ return {
107
+ network: __assign(__assign({}, DEFAULT_MOONBASE_PROTOCOL_NETWORK), network)
108
+ };
109
+ }
110
+ exports.createMoonbaseProtocolOptions = createMoonbaseProtocolOptions;
111
+ //# sourceMappingURL=MoonbaseProtocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoonbaseProtocol.js","sourceRoot":"","sources":["../../../src/v1/protocol/MoonbaseProtocol.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAAgE;AAMhE,+DAAuF;AACvF,uDAA2D;AAM3D,iBAAiB;AAEJ,QAAA,iBAAiB,GAAoC;IAChE,UAAU,EAAE,kCAAmB,CAAC,QAAQ;IACxC,IAAI,EAAE,UAAU;IAEhB,KAAK,EAAE;QACL,GAAG,EAAE;YACH,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACxB,QAAQ,EAAE,EAAE;SACb;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACzB,QAAQ,EAAE,EAAE;SACb;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACzB,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,IAAI,EAAE;YACJ,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACzB,QAAQ,EAAE,CAAC;SACZ;KACF;IACD,QAAQ,EAAE,KAAK;IAEf,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,yCAAsB,CAAA;AAE3F;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,iDAAiD;IACzD,gBAAgB,EAAE,6BAA6B;IAC/C,gBAAgB,EAAE,sCAAsC;CACzD,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,56 @@
1
+ import { DelegateeDetails, DelegationDetails, DelegatorDetails } from '@wallfree-dev/coinlib-core';
2
+ import BigNumber from '@wallfree-dev/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber';
3
+ import { PublicKey } from '@wallfree-dev/module-kit';
4
+ import { AirGapDelegateProtocol } from '@wallfree-dev/module-kit/internal';
5
+ import { SubstrateAccountId, SubstrateEthAddress, SubstrateStakingProtocol, SubstrateStakingProtocolImpl, SubstrateTransactionType, SubstrateUnsignedTransaction } from '@wallfree-dev/substrate/v1';
6
+ import { MoonbeamAccountController } from '../controller/MoonbeamAccountController';
7
+ import { MoonbeamTransactionController } from '../controller/MoonbeamTransactionController';
8
+ import { MoonbeamCollatorDetails } from '../data/staking/MoonbeamCollatorDetails';
9
+ import { MoonbeamDelegationDetails } from '../data/staking/MoonbeamDelegationDetails';
10
+ import { MoonbeamNodeClient } from '../node/MoonbeamNodeClient';
11
+ import { MoonbeamProtocolConfiguration } from '../types/configuration';
12
+ import { MoonbeamCryptoConfiguration } from '../types/crypto';
13
+ import { MoonbeamBaseProtocolOptions, MoonbeamProtocolNetwork } from '../types/protocol';
14
+ export interface MoonbeamBaseProtocol<_Units extends string = string> extends SubstrateStakingProtocol<MoonbeamProtocolConfiguration, _Units, MoonbeamProtocolNetwork, MoonbeamCryptoConfiguration>, AirGapDelegateProtocol {
15
+ getMinDelegationAmountWithPublicKey(publicKey: PublicKey): Promise<string>;
16
+ getMinDelegationAmountWithAddress(address: string): Promise<string>;
17
+ getStakingDetails(address: string, collator: string): Promise<MoonbeamDelegationDetails>;
18
+ getCollatorDetails(address: string): Promise<MoonbeamCollatorDetails>;
19
+ getMaxDelegationsPerDelegator(): Promise<string | undefined>;
20
+ getMaxTopDelegationsPerCandidate(): Promise<string | undefined>;
21
+ }
22
+ export declare abstract class MoonbeamBaseProtocolImpl<_Units extends string> extends SubstrateStakingProtocolImpl<_Units, MoonbeamProtocolConfiguration, MoonbeamProtocolNetwork, MoonbeamNodeClient, MoonbeamAccountController, MoonbeamTransactionController> implements MoonbeamBaseProtocol<_Units> {
23
+ protected readonly defaultValidator?: string;
24
+ constructor(options: MoonbeamBaseProtocolOptions<_Units>);
25
+ getDefaultDelegatee(): Promise<string>;
26
+ getCurrentDelegateesForPublicKey(publicKey: PublicKey): Promise<string[]>;
27
+ getCurrentDelegateesForAddress(address: string): Promise<string[]>;
28
+ getDelegateeDetails(address: string): Promise<DelegateeDetails>;
29
+ isPublicKeyDelegating(publicKey: PublicKey): Promise<boolean>;
30
+ isAddressDelegating(address: string): Promise<boolean>;
31
+ getDelegatorDetailsFromPublicKey(publicKey: PublicKey): Promise<DelegatorDetails>;
32
+ getDelegatorDetailsFromAddress(address: string): Promise<DelegatorDetails>;
33
+ getDelegationDetailsFromPublicKey(publicKey: PublicKey, delegatees: string[]): Promise<DelegationDetails>;
34
+ getDelegationDetailsFromAddress(address: string, delegatees: string[]): Promise<DelegationDetails>;
35
+ prepareDelegatorActionFromPublicKey(publicKey: PublicKey, type: any, data?: any): Promise<any[]>;
36
+ prepareDelegation(publicKey: PublicKey, tip: string | number | BigNumber, candidate: string, amount: string | number | BigNumber): Promise<SubstrateUnsignedTransaction[]>;
37
+ prepareScheduleUndelegate(publicKey: PublicKey, tip: string | number | BigNumber, collator: string): Promise<SubstrateUnsignedTransaction[]>;
38
+ prepareExecuteUndelegate(publicKey: PublicKey, tip: string | number | BigNumber, candidate: string): Promise<SubstrateUnsignedTransaction[]>;
39
+ prepareCancelUndelegate(publicKey: PublicKey, tip: string | number | BigNumber, candidate: string): Promise<SubstrateUnsignedTransaction[]>;
40
+ prepareScheduleUndelegateAll(publicKey: PublicKey, tip: string | number | BigNumber): Promise<SubstrateUnsignedTransaction[]>;
41
+ prepareExecuteUndelegateAll(publicKey: PublicKey, tip: string | number | BigNumber): Promise<SubstrateUnsignedTransaction[]>;
42
+ prepareCancelUndelegateAll(publicKey: PublicKey, tip: string | number | BigNumber): Promise<SubstrateUnsignedTransaction[]>;
43
+ prepareDelegatorBondMore(publicKey: PublicKey, tip: string | number | BigNumber, candidate: string, more: string | number | BigNumber): Promise<SubstrateUnsignedTransaction[]>;
44
+ prepareScheduleDelegatorBondLess(publicKey: PublicKey, tip: string | number | BigNumber, candidate: string, less: string | number | BigNumber): Promise<SubstrateUnsignedTransaction[]>;
45
+ prepareExecuteDelegatorBondLess(publicKey: PublicKey, tip: string | number | BigNumber, candidate: string): Promise<SubstrateUnsignedTransaction[]>;
46
+ prepareCancelDelegatorBondLess(publicKey: PublicKey, tip: string | number | BigNumber, candidate: string): Promise<SubstrateUnsignedTransaction[]>;
47
+ private prepareExecuteDelegationRequest;
48
+ private prepareCancelDelegationRequest;
49
+ getMinDelegationAmountWithPublicKey(publicKey: PublicKey): Promise<string>;
50
+ getMinDelegationAmountWithAddress(address: string): Promise<string>;
51
+ getStakingDetails(address: string, collator: string): Promise<MoonbeamDelegationDetails>;
52
+ getCollatorDetails(address: string): Promise<MoonbeamCollatorDetails>;
53
+ getMaxDelegationsPerDelegator(): Promise<string | undefined>;
54
+ getMaxTopDelegationsPerCandidate(): Promise<string | undefined>;
55
+ protected getFutureRequiredTransactions(accountId: SubstrateAccountId<SubstrateEthAddress>, intention: 'transfer' | 'check' | 'delegate'): Promise<[SubstrateTransactionType<MoonbeamProtocolConfiguration>, any][]>;
56
+ }