@ledgerhq/coin-polkadot 0.0.2

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 (181) hide show
  1. package/.eslintrc.js +57 -0
  2. package/.turbo/turbo-build.log +4 -0
  3. package/CHANGELOG.md +12 -0
  4. package/jest.config.js +10 -0
  5. package/lib/account.d.ts +15 -0
  6. package/lib/account.d.ts.map +1 -0
  7. package/lib/account.js +133 -0
  8. package/lib/account.js.map +1 -0
  9. package/lib/address.d.ts +7 -0
  10. package/lib/address.d.ts.map +1 -0
  11. package/lib/address.js +28 -0
  12. package/lib/address.js.map +1 -0
  13. package/lib/api/bisontrails.d.ts +11 -0
  14. package/lib/api/bisontrails.d.ts.map +1 -0
  15. package/lib/api/bisontrails.js +351 -0
  16. package/lib/api/bisontrails.js.map +1 -0
  17. package/lib/api/common.d.ts +12 -0
  18. package/lib/api/common.d.ts.map +1 -0
  19. package/lib/api/common.js +41 -0
  20. package/lib/api/common.js.map +1 -0
  21. package/lib/api/index.d.ts +3 -0
  22. package/lib/api/index.d.ts.map +1 -0
  23. package/lib/api/index.js +53 -0
  24. package/lib/api/index.js.map +1 -0
  25. package/lib/api/sidecar.d.ts +193 -0
  26. package/lib/api/sidecar.d.ts.map +1 -0
  27. package/lib/api/sidecar.js +844 -0
  28. package/lib/api/sidecar.js.map +1 -0
  29. package/lib/api/sidecar.types.d.ts +163 -0
  30. package/lib/api/sidecar.types.d.ts.map +1 -0
  31. package/lib/api/sidecar.types.js +3 -0
  32. package/lib/api/sidecar.types.js.map +1 -0
  33. package/lib/api/subscan.d.ts +6 -0
  34. package/lib/api/subscan.d.ts.map +1 -0
  35. package/lib/api/subscan.js +375 -0
  36. package/lib/api/subscan.js.map +1 -0
  37. package/lib/api/websocket.d.ts +92 -0
  38. package/lib/api/websocket.d.ts.map +1 -0
  39. package/lib/api/websocket.js +759 -0
  40. package/lib/api/websocket.js.map +1 -0
  41. package/lib/bridge/js.d.ts +6 -0
  42. package/lib/bridge/js.d.ts.map +1 -0
  43. package/lib/bridge/js.js +120 -0
  44. package/lib/bridge/js.js.map +1 -0
  45. package/lib/bridge.integration.test.d.ts +4 -0
  46. package/lib/bridge.integration.test.d.ts.map +1 -0
  47. package/lib/bridge.integration.test.js +795 -0
  48. package/lib/bridge.integration.test.js.map +1 -0
  49. package/lib/cache.d.ts +65 -0
  50. package/lib/cache.d.ts.map +1 -0
  51. package/lib/cache.js +182 -0
  52. package/lib/cache.js.map +1 -0
  53. package/lib/cli-transaction.d.ts +44 -0
  54. package/lib/cli-transaction.d.ts.map +1 -0
  55. package/lib/cli-transaction.js +148 -0
  56. package/lib/cli-transaction.js.map +1 -0
  57. package/lib/deviceTransactionConfig.d.ts +16 -0
  58. package/lib/deviceTransactionConfig.d.ts.map +1 -0
  59. package/lib/deviceTransactionConfig.js +171 -0
  60. package/lib/deviceTransactionConfig.js.map +1 -0
  61. package/lib/errors.d.ts +37 -0
  62. package/lib/errors.d.ts.map +1 -0
  63. package/lib/errors.js +17 -0
  64. package/lib/errors.js.map +1 -0
  65. package/lib/hw-getAddress.d.ts +4 -0
  66. package/lib/hw-getAddress.d.ts.map +1 -0
  67. package/lib/hw-getAddress.js +64 -0
  68. package/lib/hw-getAddress.js.map +1 -0
  69. package/lib/js-buildTransaction.d.ts +25 -0
  70. package/lib/js-buildTransaction.d.ts.map +1 -0
  71. package/lib/js-buildTransaction.js +265 -0
  72. package/lib/js-buildTransaction.js.map +1 -0
  73. package/lib/js-createTransaction.d.ts +9 -0
  74. package/lib/js-createTransaction.d.ts.map +1 -0
  75. package/lib/js-createTransaction.js +22 -0
  76. package/lib/js-createTransaction.js.map +1 -0
  77. package/lib/js-estimateMaxSpendable.d.ts +15 -0
  78. package/lib/js-estimateMaxSpendable.d.ts.map +1 -0
  79. package/lib/js-estimateMaxSpendable.js +89 -0
  80. package/lib/js-estimateMaxSpendable.js.map +1 -0
  81. package/lib/js-getFeesForTransaction.d.ts +14 -0
  82. package/lib/js-getFeesForTransaction.d.ts.map +1 -0
  83. package/lib/js-getFeesForTransaction.js +94 -0
  84. package/lib/js-getFeesForTransaction.js.map +1 -0
  85. package/lib/js-getTransactionStatus.d.ts +18 -0
  86. package/lib/js-getTransactionStatus.d.ts.map +1 -0
  87. package/lib/js-getTransactionStatus.js +316 -0
  88. package/lib/js-getTransactionStatus.js.map +1 -0
  89. package/lib/js-prepareTransaction.d.ts +9 -0
  90. package/lib/js-prepareTransaction.d.ts.map +1 -0
  91. package/lib/js-prepareTransaction.js +83 -0
  92. package/lib/js-prepareTransaction.js.map +1 -0
  93. package/lib/js-signOperation.d.ts +27 -0
  94. package/lib/js-signOperation.d.ts.map +1 -0
  95. package/lib/js-signOperation.js +235 -0
  96. package/lib/js-signOperation.js.map +1 -0
  97. package/lib/js-synchronisation.d.ts +3 -0
  98. package/lib/js-synchronisation.d.ts.map +1 -0
  99. package/lib/js-synchronisation.js +104 -0
  100. package/lib/js-synchronisation.js.map +1 -0
  101. package/lib/logic.d.ts +107 -0
  102. package/lib/logic.d.ts.map +1 -0
  103. package/lib/logic.js +242 -0
  104. package/lib/logic.js.map +1 -0
  105. package/lib/platformAdapter.d.ts +11 -0
  106. package/lib/platformAdapter.d.ts.map +1 -0
  107. package/lib/platformAdapter.js +25 -0
  108. package/lib/platformAdapter.js.map +1 -0
  109. package/lib/platformAdapter.test.d.ts +2 -0
  110. package/lib/platformAdapter.test.d.ts.map +1 -0
  111. package/lib/platformAdapter.test.js +51 -0
  112. package/lib/platformAdapter.test.js.map +1 -0
  113. package/lib/polkadot-crypto.d.ts +2 -0
  114. package/lib/polkadot-crypto.d.ts.map +1 -0
  115. package/lib/polkadot-crypto.js +14 -0
  116. package/lib/polkadot-crypto.js.map +1 -0
  117. package/lib/preload.d.ts +14 -0
  118. package/lib/preload.d.ts.map +1 -0
  119. package/lib/preload.js +173 -0
  120. package/lib/preload.js.map +1 -0
  121. package/lib/serialization.d.ts +4 -0
  122. package/lib/serialization.d.ts.map +1 -0
  123. package/lib/serialization.js +51 -0
  124. package/lib/serialization.js.map +1 -0
  125. package/lib/specs.d.ts +7 -0
  126. package/lib/specs.d.ts.map +1 -0
  127. package/lib/specs.js +274 -0
  128. package/lib/specs.js.map +1 -0
  129. package/lib/speculos-deviceActions.d.ts +4 -0
  130. package/lib/speculos-deviceActions.d.ts.map +1 -0
  131. package/lib/speculos-deviceActions.js +85 -0
  132. package/lib/speculos-deviceActions.js.map +1 -0
  133. package/lib/transaction.d.ts +15 -0
  134. package/lib/transaction.d.ts.map +1 -0
  135. package/lib/transaction.js +51 -0
  136. package/lib/transaction.js.map +1 -0
  137. package/lib/types.d.ts +96 -0
  138. package/lib/types.d.ts.map +1 -0
  139. package/lib/types.js +3 -0
  140. package/lib/types.js.map +1 -0
  141. package/lib/validators.d.ts +3 -0
  142. package/lib/validators.d.ts.map +1 -0
  143. package/lib/validators.js +7 -0
  144. package/lib/validators.js.map +1 -0
  145. package/package.json +95 -0
  146. package/src/account.ts +170 -0
  147. package/src/address.ts +28 -0
  148. package/src/api/bisontrails.ts +343 -0
  149. package/src/api/common.ts +52 -0
  150. package/src/api/index.ts +38 -0
  151. package/src/api/sidecar.ts +735 -0
  152. package/src/api/sidecar.types.ts +162 -0
  153. package/src/api/subscan.ts +362 -0
  154. package/src/api/websocket.ts +535 -0
  155. package/src/bridge/js.ts +81 -0
  156. package/src/bridge.integration.test.ts +764 -0
  157. package/src/cache.ts +202 -0
  158. package/src/cli-transaction.ts +184 -0
  159. package/src/deviceTransactionConfig.ts +209 -0
  160. package/src/errors.ts +39 -0
  161. package/src/hw-getAddress.ts +14 -0
  162. package/src/js-buildTransaction.ts +206 -0
  163. package/src/js-createTransaction.ts +22 -0
  164. package/src/js-estimateMaxSpendable.ts +37 -0
  165. package/src/js-getFeesForTransaction.ts +41 -0
  166. package/src/js-getTransactionStatus.ts +350 -0
  167. package/src/js-prepareTransaction.ts +27 -0
  168. package/src/js-signOperation.ts +232 -0
  169. package/src/js-synchronisation.ts +57 -0
  170. package/src/logic.ts +266 -0
  171. package/src/platformAdapter.test.ts +61 -0
  172. package/src/platformAdapter.ts +29 -0
  173. package/src/polkadot-crypto.ts +10 -0
  174. package/src/preload.ts +148 -0
  175. package/src/serialization.ts +48 -0
  176. package/src/specs.ts +305 -0
  177. package/src/speculos-deviceActions.ts +84 -0
  178. package/src/transaction.ts +64 -0
  179. package/src/types.ts +118 -0
  180. package/src/validators.ts +2 -0
  181. package/tsconfig.json +21 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAEzC,SAAgB,sBAAsB,CACpC,CAAoB;;IAEZ,IAAA,KAAK,GAAwB,CAAC,MAAzB,EAAE,UAAU,GAAY,CAAC,WAAb,EAAE,KAAK,GAAK,CAAC,MAAN,CAAO;IACvC,OAAO;QACL,UAAU,YAAA;QACV,KAAK,OAAA;QACL,KAAK,OAAA;QACL,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE;QACzC,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE;QAC7C,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC/C,UAAU,EAAE,MAAA,CAAC,CAAC,UAAU,0CAAE,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC;YACpC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC3B,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE;SAC/C,CAAC,EAHmC,CAGnC,CAAC;QACH,WAAW,EAAE,MAAA,CAAC,CAAC,WAAW,0CAAE,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC;YACtC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;YACzB,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,EAJqC,CAIrC,CAAC;QACH,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;KACrC,CAAC;AACJ,CAAC;AAtBD,wDAsBC;AACD,SAAgB,wBAAwB,CACtC,CAAuB;;IAEf,IAAA,KAAK,GAAwB,CAAC,MAAzB,EAAE,UAAU,GAAY,CAAC,WAAb,EAAE,KAAK,GAAK,CAAC,MAAN,CAAO;IACvC,OAAO;QACL,UAAU,YAAA;QACV,KAAK,OAAA;QACL,KAAK,OAAA;QACL,aAAa,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC,aAAa,CAAC;QAC7C,eAAe,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC,eAAe,CAAC;QACjD,gBAAgB,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACnD,UAAU,EAAE,MAAA,CAAC,CAAC,UAAU,0CAAE,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC;YACpC,MAAM,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/B,cAAc,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;SAC3C,CAAC,EAHmC,CAGnC,CAAC;QACH,WAAW,EAAE,MAAA,CAAC,CAAC,WAAW,0CAAE,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC;YACtC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,KAAK,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7B,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,EAJqC,CAIrC,CAAC;QACH,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;KAClD,CAAC;AACJ,CAAC;AAtBD,4DAsBC"}
package/lib/specs.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import type { Transaction } from "./types";
2
+ import type { AppSpec } from "@ledgerhq/coin-framework/bot/types";
3
+ declare const _default: {
4
+ polkadot: AppSpec<Transaction>;
5
+ };
6
+ export default _default;
7
+ //# sourceMappingURL=specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../src/specs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAsC,WAAW,EAAE,MAAM,SAAS,CAAC;AAW/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;;;;AA8RlE,wBAEE"}
package/lib/specs.js ADDED
@@ -0,0 +1,274 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
30
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
31
+ if (ar || !(i in from)) {
32
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
33
+ ar[i] = from[i];
34
+ }
35
+ }
36
+ return to.concat(ar || Array.prototype.slice.call(from));
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ exports.__esModule = true;
42
+ var expect_1 = __importDefault(require("expect"));
43
+ var invariant_1 = __importDefault(require("invariant"));
44
+ var sampleSize_1 = __importDefault(require("lodash/sampleSize"));
45
+ var bignumber_js_1 = require("bignumber.js");
46
+ var preload_1 = require("./preload");
47
+ var index_1 = require("@ledgerhq/coin-framework/currencies/index");
48
+ var specs_1 = require("@ledgerhq/coin-framework/bot/specs");
49
+ var index_2 = require("@ledgerhq/coin-framework/account/index");
50
+ var logic_1 = require("./logic");
51
+ var devices_1 = require("@ledgerhq/devices");
52
+ var speculos_deviceActions_1 = require("./speculos-deviceActions");
53
+ var maxAccounts = 32;
54
+ var currency = (0, index_1.getCryptoCurrencyById)("polkadot");
55
+ // FIXME Should be replaced with EXISTENTIAL_DEPOSIT_RECOMMENDED_MARGIN in logic.ts
56
+ var POLKADOT_MIN_SAFE = (0, index_1.parseCurrencyUnit)(currency.units[0], "0.1");
57
+ // FIXME Should be replaced with EXISTENTIAL_DEPOSIT in logic.ts
58
+ var EXISTENTIAL_DEPOSIT = (0, index_1.parseCurrencyUnit)(currency.units[0], "1.0");
59
+ var MIN_LOCKED_BALANCE_REQ = (0, index_1.parseCurrencyUnit)(currency.units[0], "1.0");
60
+ var polkadot = {
61
+ name: "Polkadot",
62
+ currency: (0, index_1.getCryptoCurrencyById)("polkadot"),
63
+ appQuery: {
64
+ model: devices_1.DeviceModelId.nanoS,
65
+ appName: "Polkadot"
66
+ },
67
+ testTimeout: 2 * 60 * 1000,
68
+ genericDeviceAction: speculos_deviceActions_1.acceptTransaction,
69
+ minViableAmount: POLKADOT_MIN_SAFE,
70
+ transactionCheck: function (_a) {
71
+ var maxSpendable = _a.maxSpendable;
72
+ (0, invariant_1["default"])(maxSpendable.gt(POLKADOT_MIN_SAFE), "balance is too low");
73
+ },
74
+ test: function (_a) {
75
+ var operation = _a.operation, optimisticOperation = _a.optimisticOperation;
76
+ var opExpected = (0, index_2.toOperationRaw)(__assign({}, optimisticOperation));
77
+ delete opExpected.value;
78
+ delete opExpected.fee;
79
+ delete opExpected.date;
80
+ delete opExpected.blockHash;
81
+ delete opExpected.blockHeight;
82
+ (0, specs_1.botTest)("optimistic operation matches", function () {
83
+ return (0, expect_1["default"])((0, index_2.toOperationRaw)(operation)).toMatchObject(opExpected);
84
+ });
85
+ },
86
+ mutations: [
87
+ {
88
+ name: "send 50%~",
89
+ maxRun: 4,
90
+ testDestination: specs_1.genericTestDestination,
91
+ transaction: function (_a) {
92
+ var account = _a.account, siblings = _a.siblings, bridge = _a.bridge;
93
+ (0, invariant_1["default"])(account.polkadotResources, "polkadot resource");
94
+ var sibling = (0, specs_1.pickSiblings)(siblings, maxAccounts);
95
+ var amount = account.spendableBalance
96
+ .minus(EXISTENTIAL_DEPOSIT)
97
+ .div(1.9 + 0.2 * Math.random())
98
+ .integerValue();
99
+ if (!sibling.used && amount.lt(EXISTENTIAL_DEPOSIT)) {
100
+ (0, invariant_1["default"])(account.spendableBalance.gt(EXISTENTIAL_DEPOSIT.plus(POLKADOT_MIN_SAFE)), "send is too low to activate account");
101
+ amount = EXISTENTIAL_DEPOSIT;
102
+ }
103
+ var minimumBalanceExistential = (0, logic_1.getMinimumBalance)(account);
104
+ var leftover = account.spendableBalance.minus(amount.plus(POLKADOT_MIN_SAFE));
105
+ if (minimumBalanceExistential.gt(0) &&
106
+ leftover.lt(minimumBalanceExistential) &&
107
+ leftover.gt(0)) {
108
+ throw new Error("risk of PolkadotDoMaxSendInstead");
109
+ }
110
+ return {
111
+ transaction: bridge.createTransaction(account),
112
+ updates: [
113
+ {
114
+ recipient: sibling.freshAddress
115
+ },
116
+ {
117
+ amount: amount
118
+ },
119
+ ]
120
+ };
121
+ }
122
+ },
123
+ {
124
+ name: "send max",
125
+ maxRun: 1,
126
+ testDestination: specs_1.genericTestDestination,
127
+ transaction: function (_a) {
128
+ var account = _a.account, siblings = _a.siblings, bridge = _a.bridge;
129
+ (0, invariant_1["default"])(account.polkadotResources, "polkadot resources");
130
+ var sibling = (0, specs_1.pickSiblings)(siblings, maxAccounts);
131
+ return {
132
+ transaction: bridge.createTransaction(account),
133
+ updates: [
134
+ {
135
+ recipient: sibling.freshAddress
136
+ },
137
+ {
138
+ useAllAmount: true
139
+ },
140
+ ]
141
+ };
142
+ }
143
+ },
144
+ {
145
+ name: "bond - bondExtra",
146
+ maxRun: 1,
147
+ transaction: function (_a) {
148
+ var siblings = _a.siblings, account = _a.account, bridge = _a.bridge;
149
+ (0, specs_1.expectSiblingsHaveSpendablePartGreaterThan)(siblings, 0.5);
150
+ (0, invariant_1["default"])(account.polkadotResources, "polkadot");
151
+ (0, invariant_1["default"])((0, logic_1.canBond)(account), "can't bond");
152
+ (0, invariant_1["default"])((0, logic_1.hasMinimumBondBalance)(account), "not enough balance to bond");
153
+ var options = [];
154
+ if ((0, logic_1.isFirstBond)(account)) {
155
+ (0, invariant_1["default"])(account.balance.gt(EXISTENTIAL_DEPOSIT.plus(POLKADOT_MIN_SAFE)), "cant cover fee + bonding amount");
156
+ options.push({
157
+ recipient: account.freshAddress,
158
+ rewardDestination: "Stash"
159
+ });
160
+ options.push({
161
+ amount: EXISTENTIAL_DEPOSIT
162
+ });
163
+ }
164
+ else {
165
+ (0, invariant_1["default"])(account.spendableBalance.gt(POLKADOT_MIN_SAFE), "cant cover fee + bonding amount");
166
+ options.push({
167
+ amount: new bignumber_js_1.BigNumber(100000)
168
+ });
169
+ }
170
+ return {
171
+ transaction: bridge.createTransaction(account),
172
+ updates: __spreadArray([
173
+ {
174
+ mode: "bond"
175
+ }
176
+ ], __read(options), false)
177
+ };
178
+ }
179
+ },
180
+ {
181
+ name: "unbond",
182
+ maxRun: 2,
183
+ transaction: function (_a) {
184
+ var account = _a.account, bridge = _a.bridge;
185
+ var polkadotResources = account.polkadotResources;
186
+ (0, invariant_1["default"])(polkadotResources, "polkadot");
187
+ (0, invariant_1["default"])((0, logic_1.canUnbond)(account), "can't unbond");
188
+ (0, invariant_1["default"])(account.spendableBalance.gt(POLKADOT_MIN_SAFE), "can't cover fee");
189
+ var amount = polkadotResources.lockedBalance
190
+ .minus(polkadotResources.unlockingBalance)
191
+ .times(0.2);
192
+ return {
193
+ transaction: bridge.createTransaction(account),
194
+ updates: [
195
+ {
196
+ mode: "unbond"
197
+ },
198
+ {
199
+ amount: amount
200
+ },
201
+ ]
202
+ };
203
+ }
204
+ },
205
+ {
206
+ name: "rebond",
207
+ maxRun: 1,
208
+ transaction: function (_a) {
209
+ var account = _a.account, bridge = _a.bridge;
210
+ var polkadotResources = account.polkadotResources;
211
+ (0, invariant_1["default"])(polkadotResources, "polkadot");
212
+ (0, invariant_1["default"])(polkadotResources === null || polkadotResources === void 0 ? void 0 : polkadotResources.unlockingBalance.gt(MIN_LOCKED_BALANCE_REQ), "can't rebond");
213
+ (0, invariant_1["default"])(account.spendableBalance.gt(POLKADOT_MIN_SAFE), "can't cover fee");
214
+ var amount = bignumber_js_1.BigNumber.maximum(polkadotResources.unlockingBalance.times(0.2), MIN_LOCKED_BALANCE_REQ);
215
+ return {
216
+ transaction: bridge.createTransaction(account),
217
+ updates: [
218
+ {
219
+ mode: "rebond"
220
+ },
221
+ {
222
+ amount: amount
223
+ },
224
+ ]
225
+ };
226
+ }
227
+ },
228
+ {
229
+ name: "nominate",
230
+ maxRun: 1,
231
+ transaction: function (_a) {
232
+ var account = _a.account, bridge = _a.bridge;
233
+ (0, invariant_1["default"])(account.polkadotResources, "polkadot");
234
+ (0, invariant_1["default"])((0, logic_1.canNominate)(account), "can't nominate");
235
+ (0, invariant_1["default"])(account.spendableBalance.gt(POLKADOT_MIN_SAFE), "cant cover fee");
236
+ var data = (0, preload_1.getCurrentPolkadotPreloadData)();
237
+ var validators = (0, sampleSize_1["default"])(data.validators.map(function (v) { return v.address; }), 2);
238
+ return {
239
+ transaction: bridge.createTransaction(account),
240
+ updates: __spreadArray([
241
+ {
242
+ mode: "nominate"
243
+ }
244
+ ], __read(validators.map(function (_, i) { return ({
245
+ validators: validators.slice(0, i + 1)
246
+ }); })), false)
247
+ };
248
+ }
249
+ },
250
+ {
251
+ name: "withdraw",
252
+ maxRun: 2,
253
+ transaction: function (_a) {
254
+ var account = _a.account, bridge = _a.bridge;
255
+ var polkadotResources = account.polkadotResources;
256
+ (0, invariant_1["default"])(polkadotResources, "polkadot");
257
+ (0, invariant_1["default"])(polkadotResources === null || polkadotResources === void 0 ? void 0 : polkadotResources.unlockedBalance.gt(0), "nothing to withdraw");
258
+ (0, invariant_1["default"])(account.spendableBalance.gt(POLKADOT_MIN_SAFE), "can't cover fee");
259
+ return {
260
+ transaction: bridge.createTransaction(account),
261
+ updates: [
262
+ {
263
+ mode: "withdrawUnbonded"
264
+ },
265
+ ]
266
+ };
267
+ }
268
+ },
269
+ ]
270
+ };
271
+ exports["default"] = {
272
+ polkadot: polkadot
273
+ };
274
+ //# sourceMappingURL=specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specs.js","sourceRoot":"","sources":["../src/specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { DeviceAction } from "@ledgerhq/coin-framework/bot/types";
2
+ import type { Transaction } from "./types";
3
+ export declare const acceptTransaction: DeviceAction<Transaction, any>;
4
+ //# sourceMappingURL=speculos-deviceActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../src/speculos-deviceActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAmB,WAAW,EAAE,MAAM,SAAS,CAAC;AAO5D,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,EAAE,GAAG,CA2EzD,CAAC"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.acceptTransaction = void 0;
4
+ var specs_1 = require("@ledgerhq/coin-framework/bot/specs");
5
+ exports.acceptTransaction = (0, specs_1.deviceActionFlow)({
6
+ steps: [
7
+ {
8
+ title: "Staking",
9
+ button: specs_1.SpeculosButton.RIGHT
10
+ },
11
+ {
12
+ title: "Balances",
13
+ button: specs_1.SpeculosButton.RIGHT
14
+ },
15
+ {
16
+ title: "Dest",
17
+ button: specs_1.SpeculosButton.RIGHT,
18
+ expectedValue: function (_a) {
19
+ var transaction = _a.transaction;
20
+ return transaction.recipient;
21
+ }
22
+ },
23
+ {
24
+ title: "Amount",
25
+ button: specs_1.SpeculosButton.RIGHT,
26
+ expectedValue: function (_a) {
27
+ var account = _a.account, status = _a.status;
28
+ return (0, specs_1.formatDeviceAmount)(account.currency, status.amount, {
29
+ forceFloating: true
30
+ });
31
+ }
32
+ },
33
+ {
34
+ title: "Chain",
35
+ button: specs_1.SpeculosButton.RIGHT,
36
+ expectedValue: function () { return "Polkadot"; }
37
+ },
38
+ {
39
+ title: "Nonce",
40
+ button: specs_1.SpeculosButton.RIGHT,
41
+ expectedValue: function (_a) {
42
+ var _b;
43
+ var account = _a.account;
44
+ return (((_b = account.polkadotResources) === null || _b === void 0 ? void 0 : _b.nonce) || 0).toString();
45
+ }
46
+ },
47
+ {
48
+ title: "Tip",
49
+ button: specs_1.SpeculosButton.RIGHT
50
+ },
51
+ {
52
+ title: "Controller",
53
+ button: specs_1.SpeculosButton.RIGHT
54
+ },
55
+ {
56
+ title: "Payee",
57
+ button: specs_1.SpeculosButton.RIGHT
58
+ },
59
+ {
60
+ title: "Max additional",
61
+ button: specs_1.SpeculosButton.RIGHT
62
+ },
63
+ {
64
+ title: "Targets",
65
+ button: specs_1.SpeculosButton.RIGHT
66
+ },
67
+ {
68
+ title: "Era Phase",
69
+ button: specs_1.SpeculosButton.RIGHT
70
+ },
71
+ {
72
+ title: "Era Period",
73
+ button: specs_1.SpeculosButton.RIGHT
74
+ },
75
+ {
76
+ title: "Block",
77
+ button: specs_1.SpeculosButton.RIGHT
78
+ },
79
+ {
80
+ title: "APPROVE",
81
+ button: specs_1.SpeculosButton.BOTH
82
+ },
83
+ ]
84
+ });
85
+ //# sourceMappingURL=speculos-deviceActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../src/speculos-deviceActions.ts"],"names":[],"mappings":";;;AAEA,4DAI4C;AAE/B,QAAA,iBAAiB,GAC5B,IAAA,wBAAgB,EAAC;IACf,KAAK,EAAE;QACL;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,sBAAc,CAAC,KAAK;YAC5B,aAAa,EAAE,UAAC,EAAe;oBAAb,WAAW,iBAAA;gBAAO,OAAA,WAAW,CAAC,SAAS;YAArB,CAAqB;SAC1D;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,sBAAc,CAAC,KAAK;YAC5B,aAAa,EAAE,UAAC,EAAmB;oBAAjB,OAAO,aAAA,EAAE,MAAM,YAAA;gBAC/B,OAAO,IAAA,0BAAkB,EAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;oBACzD,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;YACL,CAAC;SACF;QACD;YACE,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,sBAAc,CAAC,KAAK;YAC5B,aAAa,EAAE,cAAM,OAAA,UAAU,EAAV,CAAU;SAChC;QACD;YACE,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,sBAAc,CAAC,KAAK;YAC5B,aAAa,EAAE,UAAC,EAAW;;oBAAT,OAAO,aAAA;gBACvB,OAAA,CACE,CAAA,MAAC,OAA2B,CAAC,iBAAiB,0CAAE,KAAK,KAAI,CAAC,CAC3D,CAAC,QAAQ,EAAE,CAAA;aAAA;SACf;QACD;YACE,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,sBAAc,CAAC,IAAI;SAC5B;KACF;CACF,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Transaction, TransactionRaw } from "./types";
2
+ import type { Account } from "@ledgerhq/types-live";
3
+ export declare const formatTransaction: ({ mode, amount, recipient, validators, useAllAmount }: Transaction, account: Account) => string;
4
+ export declare const fromTransactionRaw: (tr: TransactionRaw) => Transaction;
5
+ export declare const toTransactionRaw: (t: Transaction) => TransactionRaw;
6
+ declare const _default: {
7
+ formatTransaction: ({ mode, amount, recipient, validators, useAllAmount }: Transaction, account: Account) => string;
8
+ fromTransactionRaw: (tr: TransactionRaw) => Transaction;
9
+ toTransactionRaw: (t: Transaction) => TransactionRaw;
10
+ fromTransactionStatusRaw: (ts: import("@ledgerhq/types-live").TransactionStatusCommonRaw) => import("@ledgerhq/types-live").TransactionStatusCommon;
11
+ toTransactionStatusRaw: (ts: import("@ledgerhq/types-live").TransactionStatusCommon) => import("@ledgerhq/types-live").TransactionStatusCommonRaw;
12
+ formatTransactionStatus: (t: import("@ledgerhq/types-live").TransactionCommon, { errors, warnings, estimatedFees, amount, totalSpent, }: import("@ledgerhq/types-live").TransactionStatusCommon, mainAccount: Account) => string;
13
+ };
14
+ export default _default;
15
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAS3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD,eAAO,MAAM,iBAAiB,0DAC2B,WAAW,WACzD,OAAO,KACf,MAaD,CAAC;AACH,eAAO,MAAM,kBAAkB,OAAQ,cAAc,KAAG,WAYvD,CAAC;AACF,eAAO,MAAM,gBAAgB,MAAO,WAAW,KAAG,cAYjD,CAAC;;;;;;;;;AAEF,wBAOE"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ exports.__esModule = true;
14
+ exports.toTransactionRaw = exports.fromTransactionRaw = exports.formatTransaction = void 0;
15
+ var bignumber_js_1 = require("bignumber.js");
16
+ var common_1 = require("@ledgerhq/coin-framework/transaction/common");
17
+ var index_1 = require("@ledgerhq/coin-framework/account/index");
18
+ var index_2 = require("@ledgerhq/coin-framework/currencies/index");
19
+ var formatTransaction = function (_a, account) {
20
+ var mode = _a.mode, amount = _a.amount, recipient = _a.recipient, validators = _a.validators, useAllAmount = _a.useAllAmount;
21
+ return "\n".concat(mode.toUpperCase(), " ").concat(useAllAmount
22
+ ? "MAX"
23
+ : amount.isZero()
24
+ ? ""
25
+ : " " +
26
+ (0, index_2.formatCurrencyUnit)((0, index_1.getAccountUnit)(account), amount, {
27
+ showCode: true,
28
+ disableRounding: true
29
+ })).concat(recipient ? "\nTO ".concat(recipient) : "").concat(!validators ? "" : validators.join("\n"));
30
+ };
31
+ exports.formatTransaction = formatTransaction;
32
+ var fromTransactionRaw = function (tr) {
33
+ var common = (0, common_1.fromTransactionCommonRaw)(tr);
34
+ return __assign(__assign({}, common), { family: tr.family, mode: tr.mode, fees: tr.fees ? new bignumber_js_1.BigNumber(tr.fees) : null, validators: tr.validators, era: tr.era, rewardDestination: tr.rewardDestination, numSlashingSpans: tr.numSlashingSpans });
35
+ };
36
+ exports.fromTransactionRaw = fromTransactionRaw;
37
+ var toTransactionRaw = function (t) {
38
+ var _a;
39
+ var common = (0, common_1.toTransactionCommonRaw)(t);
40
+ return __assign(__assign({}, common), { family: t.family, mode: t.mode, fees: ((_a = t.fees) === null || _a === void 0 ? void 0 : _a.toString()) || null, validators: t.validators, era: t.era, rewardDestination: t.rewardDestination, numSlashingSpans: t.numSlashingSpans });
41
+ };
42
+ exports.toTransactionRaw = toTransactionRaw;
43
+ exports["default"] = {
44
+ formatTransaction: exports.formatTransaction,
45
+ fromTransactionRaw: exports.fromTransactionRaw,
46
+ toTransactionRaw: exports.toTransactionRaw,
47
+ fromTransactionStatusRaw: common_1.fromTransactionStatusRawCommon,
48
+ toTransactionStatusRaw: common_1.toTransactionStatusRawCommon,
49
+ formatTransactionStatus: common_1.formatTransactionStatusCommon
50
+ };
51
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,6CAAyC;AACzC,sEAMqD;AAErD,gEAAwE;AACxE,mEAA+E;AACxE,IAAM,iBAAiB,GAAG,UAC/B,EAAkE,EAClE,OAAgB;QADd,IAAI,UAAA,EAAE,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,UAAU,gBAAA,EAAE,YAAY,kBAAA;IAExC,OAAA,YACX,IAAI,CAAC,WAAW,EAAE,cAClB,YAAY;QACV,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;YACjB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,GAAG;gBACH,IAAA,0BAAkB,EAAC,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE,MAAM,EAAE;oBAClD,QAAQ,EAAE,IAAI;oBACd,eAAe,EAAE,IAAI;iBACtB,CAAC,SACL,SAAS,CAAC,CAAC,CAAC,eAAQ,SAAS,CAAE,CAAC,CAAC,CAAC,EAAE,SACrC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CACxC;AAbW,CAaX,CAAC;AAhBU,QAAA,iBAAiB,qBAgB3B;AACI,IAAM,kBAAkB,GAAG,UAAC,EAAkB;IACnD,IAAM,MAAM,GAAG,IAAA,iCAAwB,EAAC,EAAE,CAAC,CAAC;IAC5C,6BACK,MAAM,KACT,MAAM,EAAE,EAAE,CAAC,MAAM,EACjB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAC7C,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,GAAG,EAAE,EAAE,CAAC,GAAG,EACX,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,EACvC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,IACrC;AACJ,CAAC,CAAC;AAZW,QAAA,kBAAkB,sBAY7B;AACK,IAAM,gBAAgB,GAAG,UAAC,CAAc;;IAC7C,IAAM,MAAM,GAAG,IAAA,+BAAsB,EAAC,CAAC,CAAC,CAAC;IACzC,6BACK,MAAM,KACT,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,IAAI,EAAE,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,QAAQ,EAAE,KAAI,IAAI,EAChC,UAAU,EAAE,CAAC,CAAC,UAAU,EACxB,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,EACtC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IACpC;AACJ,CAAC,CAAC;AAZW,QAAA,gBAAgB,oBAY3B;AAEF,qBAAe;IACb,iBAAiB,2BAAA;IACjB,kBAAkB,4BAAA;IAClB,gBAAgB,0BAAA;IAChB,wBAAwB,yCAAA;IACxB,sBAAsB,uCAAA;IACtB,uBAAuB,wCAAA;CACxB,CAAC"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,96 @@
1
+ import type { Account, AccountRaw, TransactionCommon, TransactionCommonRaw, TransactionStatusCommon, TransactionStatusCommonRaw } from "@ledgerhq/types-live";
2
+ import type { BigNumber } from "bignumber.js";
3
+ export type RewardDestinationType = "Staked" | "Stash" | "Account" | "Controller";
4
+ export type PolkadotNominationStatus = "active" | "inactive" | "waiting" | null;
5
+ export type PolkadotOperationMode = "send" | "bond" | "unbond" | "rebond" | "withdrawUnbonded" | "setController" | "nominate" | "chill" | "claimReward";
6
+ export type PolkadotNomination = {
7
+ address: string;
8
+ value: BigNumber;
9
+ status: PolkadotNominationStatus;
10
+ };
11
+ export type PolkadotNominationRaw = {
12
+ address: string;
13
+ value: string;
14
+ status: PolkadotNominationStatus;
15
+ };
16
+ export type PolkadotUnlocking = {
17
+ amount: BigNumber;
18
+ completionDate: Date;
19
+ };
20
+ export type PolkadotUnlockingRaw = {
21
+ amount: string;
22
+ completionDate: string;
23
+ };
24
+ export type PolkadotResources = {
25
+ controller: string | null | undefined;
26
+ stash: string | null | undefined;
27
+ nonce: number;
28
+ lockedBalance: BigNumber;
29
+ unlockedBalance: BigNumber;
30
+ unlockingBalance: BigNumber;
31
+ unlockings: PolkadotUnlocking[] | null | undefined;
32
+ nominations: PolkadotNomination[] | null | undefined;
33
+ numSlashingSpans: number;
34
+ };
35
+ export type PolkadotResourcesRaw = {
36
+ controller: string | null | undefined;
37
+ stash: string | null | undefined;
38
+ nonce: number;
39
+ lockedBalance: string;
40
+ unlockedBalance: string;
41
+ unlockingBalance: string;
42
+ unlockings: PolkadotUnlockingRaw[] | null | undefined;
43
+ nominations: PolkadotNominationRaw[] | null | undefined;
44
+ numSlashingSpans: number;
45
+ };
46
+ export type Transaction = TransactionCommon & {
47
+ mode: PolkadotOperationMode;
48
+ family: "polkadot";
49
+ fees: BigNumber | null | undefined;
50
+ validators: string[] | null | undefined;
51
+ era: string | null | undefined;
52
+ rewardDestination: string | null | undefined;
53
+ numSlashingSpans: number | null | undefined;
54
+ };
55
+ export type TransactionRaw = TransactionCommonRaw & {
56
+ family: "polkadot";
57
+ mode: PolkadotOperationMode;
58
+ fees: string | null | undefined;
59
+ validators: string[] | null | undefined;
60
+ era: string | null | undefined;
61
+ rewardDestination: string | null | undefined;
62
+ numSlashingSpans: number | null | undefined;
63
+ };
64
+ export type PolkadotValidator = {
65
+ address: string;
66
+ identity: string;
67
+ nominatorsCount: number;
68
+ rewardPoints: BigNumber | null;
69
+ commission: BigNumber;
70
+ totalBonded: BigNumber;
71
+ selfBonded: BigNumber;
72
+ isElected: boolean;
73
+ isOversubscribed: boolean;
74
+ };
75
+ export type PolkadotNominationInfo = string;
76
+ export type PolkadotStakingProgress = {
77
+ activeEra: number;
78
+ electionClosed: boolean;
79
+ maxNominatorRewardedPerValidator: number;
80
+ bondingDuration: number;
81
+ };
82
+ export type PolkadotPreloadData = {
83
+ validators: PolkadotValidator[];
84
+ staking: PolkadotStakingProgress | undefined;
85
+ minimumBondBalance: string;
86
+ };
87
+ export type PolkadotSearchFilter = (query: string) => (validator: PolkadotValidator) => boolean;
88
+ export type PolkadotAccount = Account & {
89
+ polkadotResources: PolkadotResources;
90
+ };
91
+ export type PolkadotAccountRaw = AccountRaw & {
92
+ polkadotResources: PolkadotResourcesRaw;
93
+ };
94
+ export type TransactionStatus = TransactionStatusCommon;
95
+ export type TransactionStatusRaw = TransactionStatusCommonRaw;
96
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { getValidators, getStakingProgress } from "./api";
2
+ export { getValidators, getStakingProgress };
3
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.getStakingProgress = exports.getValidators = void 0;
4
+ var api_1 = require("./api");
5
+ exports.getValidators = api_1.getValidators;
6
+ exports.getStakingProgress = api_1.getStakingProgress;
7
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":";;;AAAA,6BAA0D;AACjD,wBADA,mBAAa,CACA;AAAE,6BADA,wBAAkB,CACA"}