@ledgerhq/live-common 21.33.1-cosmos.2 → 21.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/lib/account/support.js +1 -1
  2. package/lib/account/support.js.map +1 -1
  3. package/lib/env.js +1 -1
  4. package/lib/env.js.map +1 -1
  5. package/lib/families/bitcoin/bridge/js.d.ts.map +1 -1
  6. package/lib/families/bitcoin/bridge/js.js.map +1 -1
  7. package/lib/families/cosmos/libcore-buildTransaction.d.ts.map +1 -1
  8. package/lib/families/cosmos/libcore-buildTransaction.js +1 -5
  9. package/lib/families/cosmos/libcore-buildTransaction.js.map +1 -1
  10. package/lib/families/cosmos/specs.d.ts.map +1 -1
  11. package/lib/families/cosmos/specs.js +37 -37
  12. package/lib/families/cosmos/specs.js.map +1 -1
  13. package/lib/families/cosmos/test-dataset.js +2 -2
  14. package/lib/families/cosmos/test-dataset.js.map +1 -1
  15. package/lib/families/cosmos/validators.d.ts.map +1 -1
  16. package/lib/families/cosmos/validators.js +15 -61
  17. package/lib/families/cosmos/validators.js.map +1 -1
  18. package/lib/families/filecoin/account.d.ts +8 -0
  19. package/lib/families/filecoin/account.d.ts.map +1 -0
  20. package/lib/families/filecoin/account.js +49 -0
  21. package/lib/families/filecoin/account.js.map +1 -0
  22. package/lib/families/filecoin/bridge/account.d.ts.map +1 -1
  23. package/lib/families/filecoin/bridge/account.js +30 -17
  24. package/lib/families/filecoin/bridge/account.js.map +1 -1
  25. package/lib/families/filecoin/bridge/utils/utils.d.ts +1 -2
  26. package/lib/families/filecoin/bridge/utils/utils.d.ts.map +1 -1
  27. package/lib/families/filecoin/bridge/utils/utils.js +7 -7
  28. package/lib/families/filecoin/bridge/utils/utils.js.map +1 -1
  29. package/lib/families/filecoin/deviceTransactionConfig.d.ts +28 -0
  30. package/lib/families/filecoin/deviceTransactionConfig.d.ts.map +1 -0
  31. package/lib/families/filecoin/deviceTransactionConfig.js +41 -0
  32. package/lib/families/filecoin/deviceTransactionConfig.js.map +1 -0
  33. package/lib/families/filecoin/transaction.d.ts +2 -2
  34. package/lib/families/filecoin/transaction.d.ts.map +1 -1
  35. package/lib/families/filecoin/transaction.js +12 -4
  36. package/lib/families/filecoin/transaction.js.map +1 -1
  37. package/lib/families/filecoin/utils.d.ts +1 -0
  38. package/lib/families/filecoin/utils.d.ts.map +1 -1
  39. package/lib/families/filecoin/utils.js +10 -1
  40. package/lib/families/filecoin/utils.js.map +1 -1
  41. package/lib/generated/account.d.ts +4 -0
  42. package/lib/generated/account.d.ts.map +1 -1
  43. package/lib/generated/account.js +4 -2
  44. package/lib/generated/account.js.map +1 -1
  45. package/lib/generated/bridge/js.d.ts +0 -4
  46. package/lib/generated/bridge/js.d.ts.map +1 -1
  47. package/lib/generated/bridge/js.js +22 -24
  48. package/lib/generated/bridge/js.js.map +1 -1
  49. package/lib/generated/deviceTransactionConfig.d.ts +4 -1
  50. package/lib/generated/deviceTransactionConfig.d.ts.map +1 -1
  51. package/lib/generated/deviceTransactionConfig.js +14 -12
  52. package/lib/generated/deviceTransactionConfig.js.map +1 -1
  53. package/lib/generated/transaction.d.ts +1 -1
  54. package/package.json +1 -5
  55. package/src/__tests__/__snapshots__/all.libcore.ts.snap +0 -875
  56. package/src/account/support.ts +1 -1
  57. package/src/env.ts +1 -1
  58. package/src/families/bitcoin/bridge/js.ts +0 -1
  59. package/src/families/cosmos/libcore-buildTransaction.ts +1 -4
  60. package/src/families/cosmos/specs.ts +43 -45
  61. package/src/families/cosmos/test-dataset.ts +2 -2
  62. package/src/families/cosmos/validators.ts +77 -98
  63. package/src/families/filecoin/account.ts +44 -0
  64. package/src/families/filecoin/bridge/account.ts +34 -18
  65. package/src/families/filecoin/bridge/utils/utils.ts +8 -11
  66. package/src/families/filecoin/deviceTransactionConfig.ts +73 -0
  67. package/src/families/filecoin/transaction.ts +16 -6
  68. package/src/families/filecoin/utils.ts +9 -0
  69. package/src/generated/account.ts +3 -0
  70. package/src/generated/bridge/js.ts +0 -3
  71. package/src/generated/deviceTransactionConfig.ts +5 -0
  72. package/lib/families/cosmos/api/Cosmos.d.ts +0 -24
  73. package/lib/families/cosmos/api/Cosmos.d.ts.map +0 -1
  74. package/lib/families/cosmos/api/Cosmos.js +0 -524
  75. package/lib/families/cosmos/api/Cosmos.js.map +0 -1
  76. package/lib/families/cosmos/bridge/js.d.ts +0 -8
  77. package/lib/families/cosmos/bridge/js.d.ts.map +0 -1
  78. package/lib/families/cosmos/bridge/js.js +0 -103
  79. package/lib/families/cosmos/bridge/js.js.map +0 -1
  80. package/lib/families/cosmos/js-buildTransaction.d.ts +0 -6
  81. package/lib/families/cosmos/js-buildTransaction.d.ts.map +0 -1
  82. package/lib/families/cosmos/js-buildTransaction.js +0 -239
  83. package/lib/families/cosmos/js-buildTransaction.js.map +0 -1
  84. package/lib/families/cosmos/js-createTransaction.d.ts +0 -9
  85. package/lib/families/cosmos/js-createTransaction.d.ts.map +0 -1
  86. package/lib/families/cosmos/js-createTransaction.js +0 -23
  87. package/lib/families/cosmos/js-createTransaction.js.map +0 -1
  88. package/lib/families/cosmos/js-estimateMaxSpendable.d.ts +0 -10
  89. package/lib/families/cosmos/js-estimateMaxSpendable.d.ts.map +0 -1
  90. package/lib/families/cosmos/js-estimateMaxSpendable.js +0 -78
  91. package/lib/families/cosmos/js-estimateMaxSpendable.js.map +0 -1
  92. package/lib/families/cosmos/js-getTransactionStatus.d.ts +0 -5
  93. package/lib/families/cosmos/js-getTransactionStatus.d.ts.map +0 -1
  94. package/lib/families/cosmos/js-getTransactionStatus.js +0 -267
  95. package/lib/families/cosmos/js-getTransactionStatus.js.map +0 -1
  96. package/lib/families/cosmos/js-prepareTransaction.d.ts +0 -14
  97. package/lib/families/cosmos/js-prepareTransaction.d.ts.map +0 -1
  98. package/lib/families/cosmos/js-prepareTransaction.js +0 -149
  99. package/lib/families/cosmos/js-prepareTransaction.js.map +0 -1
  100. package/lib/families/cosmos/js-signOperation.d.ts +0 -10
  101. package/lib/families/cosmos/js-signOperation.d.ts.map +0 -1
  102. package/lib/families/cosmos/js-signOperation.js +0 -171
  103. package/lib/families/cosmos/js-signOperation.js.map +0 -1
  104. package/lib/families/cosmos/js-synchronisation.d.ts +0 -5
  105. package/lib/families/cosmos/js-synchronisation.d.ts.map +0 -1
  106. package/lib/families/cosmos/js-synchronisation.js +0 -277
  107. package/lib/families/cosmos/js-synchronisation.js.map +0 -1
  108. package/lib/families/cosmos/js-updateTransaction.d.ts +0 -4
  109. package/lib/families/cosmos/js-updateTransaction.d.ts.map +0 -1
  110. package/lib/families/cosmos/js-updateTransaction.js +0 -26
  111. package/lib/families/cosmos/js-updateTransaction.js.map +0 -1
  112. package/src/.DS_Store +0 -0
  113. package/src/__tests__/.DS_Store +0 -0
  114. package/src/families/cosmos/api/Cosmos.ts +0 -346
  115. package/src/families/cosmos/bridge/js.ts +0 -68
  116. package/src/families/cosmos/js-buildTransaction.ts +0 -233
  117. package/src/families/cosmos/js-createTransaction.ts +0 -23
  118. package/src/families/cosmos/js-estimateMaxSpendable.ts +0 -33
  119. package/src/families/cosmos/js-getTransactionStatus.ts +0 -292
  120. package/src/families/cosmos/js-prepareTransaction.ts +0 -131
  121. package/src/families/cosmos/js-signOperation.ts +0 -167
  122. package/src/families/cosmos/js-synchronisation.ts +0 -223
  123. package/src/families/cosmos/js-updateTransaction.ts +0 -21
@@ -1,267 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __read = (this && this.__read) || function (o, n) {
39
- var m = typeof Symbol === "function" && o[Symbol.iterator];
40
- if (!m) return o;
41
- var i = m.call(o), r, ar = [], e;
42
- try {
43
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
- }
45
- catch (error) { e = { error: error }; }
46
- finally {
47
- try {
48
- if (r && !r.done && (m = i["return"])) m.call(i);
49
- }
50
- finally { if (e) throw e.error; }
51
- }
52
- return ar;
53
- };
54
- var __importDefault = (this && this.__importDefault) || function (mod) {
55
- return (mod && mod.__esModule) ? mod : { "default": mod };
56
- };
57
- exports.__esModule = true;
58
- exports.getTransactionStatus = void 0;
59
- var errors_1 = require("@ledgerhq/errors");
60
- var errors_2 = require("../../errors");
61
- var bignumber_js_1 = require("bignumber.js");
62
- var logic_1 = require("./logic");
63
- var invariant_1 = __importDefault(require("invariant"));
64
- var Cosmos_1 = require("./api/Cosmos");
65
- var getTransactionStatus = function (a, t) { return __awaiter(void 0, void 0, void 0, function () {
66
- var errors, warnings, redelegationError, _a, first, unbondingError, validatorAmount, estimatedFees, totalSpent, cosmosResources, claimReward;
67
- return __generator(this, function (_b) {
68
- switch (_b.label) {
69
- case 0:
70
- if (!(t.mode === "send")) return [3 /*break*/, 2];
71
- return [4 /*yield*/, getSendTransactionStatus(a, t)];
72
- case 1:
73
- // We isolate the send transaction that it's a little bit different from the rest
74
- return [2 /*return*/, _b.sent()];
75
- case 2:
76
- if (!(t.mode === "delegate")) return [3 /*break*/, 4];
77
- return [4 /*yield*/, getDelegateTransactionStatus(a, t)];
78
- case 3: return [2 /*return*/, _b.sent()];
79
- case 4:
80
- errors = {};
81
- warnings = {};
82
- // here we only treat about all other mode than delegate and send
83
- if (t.validators.some(function (v) { return !v.address || !v.address.includes("cosmosvaloper"); }) ||
84
- t.validators.length === 0)
85
- errors.recipient = new errors_1.InvalidAddress(undefined, {
86
- currencyName: a.currency.name
87
- });
88
- if (t.mode === "redelegate") {
89
- redelegationError = redelegationStatusError(a, t);
90
- if (redelegationError) {
91
- // Note : note sure if I have to put this error on this field
92
- errors.redelegation = redelegationError;
93
- }
94
- }
95
- else if (t.mode === "undelegate") {
96
- (0, invariant_1["default"])(a.cosmosResources &&
97
- a.cosmosResources.unbondings.length < logic_1.COSMOS_MAX_UNBONDINGS, "unbondings should not have more than 6 entries");
98
- if (t.validators.length === 0)
99
- errors.recipient = new errors_1.InvalidAddress(undefined, {
100
- currencyName: a.currency.name
101
- });
102
- _a = __read(t.validators, 1), first = _a[0];
103
- unbondingError = first && isDelegable(a, first.address, first.amount);
104
- if (unbondingError) {
105
- errors.unbonding = unbondingError;
106
- }
107
- }
108
- validatorAmount = t.validators.reduce(function (old, current) { return old.plus(current.amount); }, new bignumber_js_1.BigNumber(0));
109
- if (t.mode !== "claimReward" && validatorAmount.lte(0)) {
110
- errors.amount = new errors_1.AmountRequired();
111
- }
112
- estimatedFees = t.fees || new bignumber_js_1.BigNumber(0);
113
- if (!t.fees) {
114
- errors.fees = new errors_1.FeeNotLoaded();
115
- }
116
- totalSpent = estimatedFees;
117
- if (["claimReward", "claimRewardCompound"].includes(t.mode)) {
118
- cosmosResources = a.cosmosResources;
119
- (0, invariant_1["default"])(cosmosResources, "cosmosResources should exist");
120
- claimReward = t.validators.length && cosmosResources
121
- ? cosmosResources.delegations.find(function (delegation) {
122
- return delegation.validatorAddress === t.validators[0].address;
123
- })
124
- : null;
125
- if (claimReward && estimatedFees.gt(claimReward.pendingRewards)) {
126
- warnings.claimReward = new errors_2.ClaimRewardsFeesWarning();
127
- }
128
- }
129
- if (!errors.recipient &&
130
- !errors.amount &&
131
- (validatorAmount.lt(0) || totalSpent.gt(a.spendableBalance))) {
132
- errors.amount = new errors_1.NotEnoughBalance();
133
- totalSpent = new bignumber_js_1.BigNumber(0);
134
- }
135
- return [2 /*return*/, Promise.resolve({
136
- errors: errors,
137
- warnings: warnings,
138
- estimatedFees: estimatedFees,
139
- amount: new bignumber_js_1.BigNumber(0),
140
- totalSpent: totalSpent
141
- })];
142
- }
143
- });
144
- }); };
145
- exports.getTransactionStatus = getTransactionStatus;
146
- var getDelegateTransactionStatus = function (a, t) { return __awaiter(void 0, void 0, void 0, function () {
147
- var errors, warnings, amount, estimatedFees, totalSpent;
148
- return __generator(this, function (_a) {
149
- errors = {};
150
- warnings = {};
151
- if (t.validators.some(function (v) { return !v.address || !v.address.includes("cosmosvaloper"); }) ||
152
- t.validators.length === 0)
153
- errors.recipient = new errors_1.InvalidAddress(undefined, {
154
- currencyName: a.currency.name
155
- });
156
- if (t.validators.length > logic_1.COSMOS_MAX_DELEGATIONS) {
157
- errors.validators = new errors_2.CosmosTooManyValidators();
158
- }
159
- amount = t.validators.reduce(function (old, current) { return old.plus(current.amount); }, new bignumber_js_1.BigNumber(0));
160
- if (amount.eq(0)) {
161
- errors.amount = new errors_1.AmountRequired();
162
- }
163
- estimatedFees = t.fees || new bignumber_js_1.BigNumber(0);
164
- if (!t.fees) {
165
- errors.fees = new errors_1.FeeNotLoaded();
166
- }
167
- totalSpent = amount.plus(estimatedFees);
168
- if (totalSpent.eq(a.spendableBalance)) {
169
- warnings.delegate = new errors_2.CosmosDelegateAllFundsWarning();
170
- }
171
- if (!errors.recipient &&
172
- !errors.amount &&
173
- (amount.lt(0) || totalSpent.gt(a.spendableBalance))) {
174
- errors.amount = new errors_1.NotEnoughBalance();
175
- amount = new bignumber_js_1.BigNumber(0);
176
- totalSpent = new bignumber_js_1.BigNumber(0);
177
- }
178
- return [2 /*return*/, Promise.resolve({
179
- errors: errors,
180
- warnings: warnings,
181
- estimatedFees: estimatedFees,
182
- amount: amount,
183
- totalSpent: totalSpent
184
- })];
185
- });
186
- }); };
187
- var getSendTransactionStatus = function (a, t) { return __awaiter(void 0, void 0, void 0, function () {
188
- var errors, warnings, amount, estimatedFees, totalSpent;
189
- return __generator(this, function (_a) {
190
- switch (_a.label) {
191
- case 0:
192
- errors = {};
193
- warnings = {};
194
- if (!!t.recipient) return [3 /*break*/, 1];
195
- errors.recipient = new errors_1.RecipientRequired("");
196
- return [3 /*break*/, 4];
197
- case 1:
198
- if (!(a.freshAddress === t.recipient)) return [3 /*break*/, 2];
199
- errors.recipient = new errors_1.InvalidAddressBecauseDestinationIsAlsoSource();
200
- return [3 /*break*/, 4];
201
- case 2: return [4 /*yield*/, (0, Cosmos_1.isValidRecipent)(t.recipient)];
202
- case 3:
203
- if (!(_a.sent())) {
204
- errors.recipient = new errors_1.InvalidAddress(undefined, {
205
- currencyName: a.currency.name
206
- });
207
- }
208
- _a.label = 4;
209
- case 4:
210
- amount = t.amount;
211
- if (amount.lte(0) && !t.useAllAmount) {
212
- errors.amount = new errors_1.AmountRequired();
213
- }
214
- estimatedFees = t.fees || new bignumber_js_1.BigNumber(0);
215
- if (!t.fees || !t.fees.gt(0)) {
216
- errors.fees = new errors_1.FeeNotLoaded();
217
- }
218
- amount = t.useAllAmount ? (0, logic_1.getMaxEstimatedBalance)(a, estimatedFees) : amount;
219
- totalSpent = amount.plus(estimatedFees);
220
- if ((amount.lte(0) && t.useAllAmount) || // if use all Amount sets an amount at 0
221
- (!errors.recipient && !errors.amount && totalSpent.gt(a.spendableBalance)) // if spendable balance lower than total
222
- ) {
223
- errors.amount = new errors_1.NotEnoughBalance();
224
- }
225
- if (a.cosmosResources &&
226
- a.cosmosResources.delegations.length > 0 &&
227
- t.useAllAmount) {
228
- warnings.amount = new errors_1.RecommendUndelegation();
229
- }
230
- return [2 /*return*/, Promise.resolve({
231
- errors: errors,
232
- warnings: warnings,
233
- estimatedFees: estimatedFees,
234
- amount: amount,
235
- totalSpent: totalSpent
236
- })];
237
- }
238
- });
239
- }); };
240
- var redelegationStatusError = function (a, t) {
241
- if (a.cosmosResources) {
242
- var redelegations = a.cosmosResources.redelegations;
243
- (0, invariant_1["default"])(redelegations.length < logic_1.COSMOS_MAX_REDELEGATIONS, "redelegation should not have more than 6 entries");
244
- if (redelegations.some(function (redelegation) {
245
- var dstValidator = redelegation.validatorDstAddress;
246
- return (dstValidator === t.cosmosSourceValidator &&
247
- redelegation.completionDate > new Date());
248
- }))
249
- return new errors_2.CosmosRedelegationInProgress();
250
- if (t.cosmosSourceValidator === t.validators[0].address)
251
- return new errors_1.InvalidAddressBecauseDestinationIsAlsoSource();
252
- }
253
- return isDelegable(a, t.cosmosSourceValidator, t.validators[0].amount);
254
- };
255
- var isDelegable = function (a, address, amount) {
256
- var cosmosResources = a.cosmosResources;
257
- (0, invariant_1["default"])(cosmosResources, "cosmosResources should exist");
258
- if (cosmosResources &&
259
- cosmosResources.delegations.some(function (delegation) {
260
- return delegation.validatorAddress === address && delegation.amount.lt(amount);
261
- })) {
262
- return new errors_2.NotEnoughDelegationBalance();
263
- }
264
- return null;
265
- };
266
- exports["default"] = exports.getTransactionStatus;
267
- //# sourceMappingURL=js-getTransactionStatus.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js-getTransactionStatus.js","sourceRoot":"","sources":["../../../src/families/cosmos/js-getTransactionStatus.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { Account } from "../../types";
2
- import { Transaction } from "./types";
3
- import BigNumber from "bignumber.js";
4
- import { CacheRes } from "../../cache";
5
- export declare const calculateFees: CacheRes<Array<{
6
- account: Account;
7
- transaction: Transaction;
8
- }>, {
9
- estimatedFees: BigNumber;
10
- estimatedGas: BigNumber;
11
- }>;
12
- export declare const prepareTransaction: (account: Account, transaction: Transaction) => Promise<Transaction>;
13
- export default prepareTransaction;
14
- //# sourceMappingURL=js-prepareTransaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js-prepareTransaction.d.ts","sourceRoot":"","sources":["../../../src/families/cosmos/js-prepareTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,SAAS,MAAM,cAAc,CAAC;AAMrC,OAAO,EAAE,QAAQ,EAAgB,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,aAAa,EAAE,QAAQ,CAClC,KAAK,CAAC;IACJ,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC,EACF;IACE,aAAa,EAAE,SAAS,CAAC;IACzB,YAAY,EAAE,SAAS,CAAC;CACzB,CAqBF,CAAC;AA+CF,eAAO,MAAM,kBAAkB,YACpB,OAAO,eACH,WAAW,KACvB,QAAQ,WAAW,CAuCrB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1,149 +0,0 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- 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;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __importDefault = (this && this.__importDefault) || function (mod) {
50
- return (mod && mod.__esModule) ? mod : { "default": mod };
51
- };
52
- exports.__esModule = true;
53
- exports.prepareTransaction = exports.calculateFees = void 0;
54
- var bignumber_js_1 = __importDefault(require("bignumber.js"));
55
- var Cosmos_1 = require("./api/Cosmos");
56
- var proto_signing_1 = require("@cosmjs/proto-signing");
57
- var env_1 = require("../../env");
58
- var js_buildTransaction_1 = require("./js-buildTransaction");
59
- var logic_1 = require("./logic");
60
- var cache_1 = require("../../cache");
61
- exports.calculateFees = (0, cache_1.makeLRUCache)(function (_a) {
62
- var account = _a.account, transaction = _a.transaction;
63
- return __awaiter(void 0, void 0, void 0, function () {
64
- return __generator(this, function (_b) {
65
- switch (_b.label) {
66
- case 0: return [4 /*yield*/, getEstimatedFees(account, transaction)];
67
- case 1: return [2 /*return*/, _b.sent()];
68
- }
69
- });
70
- });
71
- }, function (_a) {
72
- var account = _a.account, transaction = _a.transaction;
73
- return "".concat(account.id, "_").concat(account.currency.id, "_").concat(transaction.amount.toString(), "_").concat(transaction.recipient, "_").concat(String(transaction.useAllAmount), "_").concat(transaction.mode, "_").concat(transaction.validators
74
- ? transaction.validators.map(function (v) { return v.address; }).join("-")
75
- : "", "_").concat(transaction.memo ? transaction.memo.toString() : "", "_").concat(transaction.cosmosSourceValidator ? transaction.cosmosSourceValidator : "");
76
- });
77
- var getEstimatedFees = function (account, transaction) { return __awaiter(void 0, void 0, void 0, function () {
78
- var gasQty, gasPrice, unsignedPayload, pubkey, tx_bytes, gasUsed, estimatedGas, estimatedFees;
79
- return __generator(this, function (_a) {
80
- switch (_a.label) {
81
- case 0:
82
- gasQty = new bignumber_js_1["default"](250000);
83
- gasPrice = new bignumber_js_1["default"]((0, env_1.getEnv)("COSMOS_GAS_PRICE"));
84
- return [4 /*yield*/, (0, js_buildTransaction_1.buildTransaction)(account, transaction)];
85
- case 1:
86
- unsignedPayload = _a.sent();
87
- if (!unsignedPayload) return [3 /*break*/, 4];
88
- pubkey = (0, proto_signing_1.encodePubkey)({
89
- type: "tendermint/PubKeySecp256k1",
90
- value: Buffer.from(account.seedIdentifier, "hex").toString("base64")
91
- });
92
- return [4 /*yield*/, (0, js_buildTransaction_1.postBuildTransaction)(account, transaction, pubkey, unsignedPayload, new Uint8Array(Buffer.from(account.seedIdentifier, "hex")))];
93
- case 2:
94
- tx_bytes = _a.sent();
95
- return [4 /*yield*/, (0, Cosmos_1.simulate)(tx_bytes)];
96
- case 3:
97
- gasUsed = _a.sent();
98
- if (gasUsed.gt(0)) {
99
- gasQty = gasUsed
100
- // Don't known what is going on,
101
- // Ledger Live Desktop return half of what it should,
102
- // Ledger Live Common CLI do the math correctly.
103
- // Use coeff 2 as trick..
104
- // .multipliedBy(new BigNumber(getEnv("COSMOS_GAS_AMPLIFIER")))
105
- .multipliedBy(new bignumber_js_1["default"]((0, env_1.getEnv)("COSMOS_GAS_AMPLIFIER") * 2))
106
- .integerValue();
107
- }
108
- _a.label = 4;
109
- case 4:
110
- estimatedGas = gasQty;
111
- estimatedFees = gasPrice.multipliedBy(gasQty).integerValue();
112
- return [2 /*return*/, { estimatedFees: estimatedFees, estimatedGas: estimatedGas }];
113
- }
114
- });
115
- }); };
116
- var prepareTransaction = function (account, transaction) { return __awaiter(void 0, void 0, void 0, function () {
117
- var memo, amount, _a, estimatedFees, estimatedGas;
118
- return __generator(this, function (_b) {
119
- switch (_b.label) {
120
- case 0:
121
- memo = transaction.memo;
122
- amount = transaction.amount;
123
- if (transaction.mode !== "send" && !transaction.memo) {
124
- memo = "Ledger Live";
125
- }
126
- return [4 /*yield*/, (0, exports.calculateFees)({
127
- account: account,
128
- transaction: __assign(__assign({}, transaction), { amount: transaction.useAllAmount
129
- ? account.spendableBalance.minus(new bignumber_js_1["default"](2500))
130
- : amount, memo: memo })
131
- })];
132
- case 1:
133
- _a = _b.sent(), estimatedFees = _a.estimatedFees, estimatedGas = _a.estimatedGas;
134
- if (transaction.useAllAmount) {
135
- amount = (0, logic_1.getMaxEstimatedBalance)(account, estimatedFees);
136
- }
137
- if (transaction.memo !== memo ||
138
- !estimatedFees.eq(transaction.fees || new bignumber_js_1["default"](0)) ||
139
- !estimatedGas.eq(transaction.gas || new bignumber_js_1["default"](0)) ||
140
- !amount.eq(transaction.amount)) {
141
- return [2 /*return*/, __assign(__assign({}, transaction), { memo: memo, fees: estimatedFees, gas: estimatedGas, amount: amount })];
142
- }
143
- return [2 /*return*/, transaction];
144
- }
145
- });
146
- }); };
147
- exports.prepareTransaction = prepareTransaction;
148
- exports["default"] = exports.prepareTransaction;
149
- //# sourceMappingURL=js-prepareTransaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js-prepareTransaction.js","sourceRoot":"","sources":["../../../src/families/cosmos/js-prepareTransaction.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { Account, SignOperationEvent } from "../../types";
2
- import type { Transaction } from "./types";
3
- import { Observable } from "rxjs";
4
- declare const signOperation: ({ account, deviceId, transaction, }: {
5
- account: Account;
6
- deviceId: any;
7
- transaction: Transaction;
8
- }) => Observable<SignOperationEvent>;
9
- export default signOperation;
10
- //# sourceMappingURL=js-signOperation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js-signOperation.d.ts","sourceRoot":"","sources":["../../../src/families/cosmos/js-signOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAGP,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAYlC,QAAA,MAAM,aAAa;aAKR,OAAO;cACN,GAAG;iBACA,WAAW;MACtB,WAAW,kBAAkB,CAwI9B,CAAC;AAEJ,eAAe,aAAa,CAAC"}
@@ -1,171 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- exports.__esModule = true;
42
- var Cosmos_1 = require("./api/Cosmos");
43
- var rxjs_1 = require("rxjs");
44
- var deviceAccess_1 = require("../../hw/deviceAccess");
45
- var proto_signing_1 = require("@cosmjs/proto-signing");
46
- var operation_1 = require("../../operation");
47
- var ledger_amino_1 = require("@cosmjs/ledger-amino");
48
- var stargate_1 = require("@cosmjs/stargate");
49
- var crypto_1 = require("@cosmjs/crypto");
50
- var js_buildTransaction_1 = require("./js-buildTransaction");
51
- var bignumber_js_1 = __importDefault(require("bignumber.js"));
52
- var aminoTypes = new stargate_1.AminoTypes({ prefix: "cosmos" });
53
- var signOperation = function (_a) {
54
- var account = _a.account, deviceId = _a.deviceId, transaction = _a.transaction;
55
- return (0, deviceAccess_1.withDevice)(deviceId)(function (transport) {
56
- return rxjs_1.Observable.create(function (o) {
57
- var cancelled;
58
- function main() {
59
- var _a, _b;
60
- return __awaiter(this, void 0, void 0, function () {
61
- var _c, accountNumber, sequence, chainId, hdPaths, ledgerSigner, accounts, pubkey, unsignedPayload, msgs, signed, tx_bytes, signature, hash, accountId, fee, type, senders, recipients, operation;
62
- return __generator(this, function (_d) {
63
- switch (_d.label) {
64
- case 0: return [4 /*yield*/, (0, Cosmos_1.getAccount)(account.freshAddress)];
65
- case 1:
66
- _c = _d.sent(), accountNumber = _c.accountNumber, sequence = _c.sequence;
67
- return [4 /*yield*/, (0, Cosmos_1.getChainId)()];
68
- case 2:
69
- chainId = _d.sent();
70
- hdPaths = (0, crypto_1.stringToPath)("m/" + account.freshAddressPath);
71
- ledgerSigner = new ledger_amino_1.LedgerSigner(transport, {
72
- hdPaths: [hdPaths]
73
- });
74
- o.next({ type: "device-signature-requested" });
75
- return [4 /*yield*/, ledgerSigner.getAccounts()];
76
- case 3:
77
- accounts = _d.sent();
78
- accounts.forEach(function (a) {
79
- if (a.address == account.freshAddress) {
80
- pubkey = (0, proto_signing_1.encodePubkey)({
81
- type: "tendermint/PubKeySecp256k1",
82
- value: Buffer.from(a.pubkey).toString("base64")
83
- });
84
- }
85
- });
86
- return [4 /*yield*/, (0, js_buildTransaction_1.buildTransaction)(account, transaction)];
87
- case 4:
88
- unsignedPayload = _d.sent();
89
- msgs = unsignedPayload.map(function (msg) { return aminoTypes.toAmino(msg); });
90
- return [4 /*yield*/, ledgerSigner.signAmino(account.freshAddress, {
91
- chain_id: chainId,
92
- account_number: accountNumber.toString(),
93
- sequence: sequence.toString(),
94
- fee: {
95
- amount: [
96
- {
97
- denom: account.currency.units[1].code,
98
- amount: (_a = transaction.fees) === null || _a === void 0 ? void 0 : _a.toString()
99
- },
100
- ],
101
- gas: (_b = transaction.gas) === null || _b === void 0 ? void 0 : _b.toString()
102
- },
103
- msgs: msgs,
104
- memo: transaction.memo || ""
105
- })];
106
- case 5:
107
- signed = _d.sent();
108
- return [4 /*yield*/, (0, js_buildTransaction_1.postBuildTransaction)(account, transaction, pubkey, unsignedPayload, new Uint8Array(Buffer.from(signed.signature.signature, "base64")))];
109
- case 6:
110
- tx_bytes = _d.sent();
111
- signature = Buffer.from(tx_bytes).toString("hex");
112
- if (cancelled) {
113
- return [2 /*return*/];
114
- }
115
- o.next({ type: "device-signature-granted" });
116
- hash = "";
117
- accountId = account.id;
118
- fee = transaction.fees || new bignumber_js_1["default"](0);
119
- type = transaction.mode === "undelegate"
120
- ? "UNDELEGATE"
121
- : transaction.mode === "delegate"
122
- ? "DELEGATE"
123
- : transaction.mode === "redelegate"
124
- ? "REDELEGATE"
125
- : ["claimReward", "claimRewardCompound"].includes(transaction.mode)
126
- ? "REWARD"
127
- : "OUT";
128
- senders = [];
129
- recipients = [];
130
- if (type === "OUT") {
131
- senders.push(account.freshAddress);
132
- recipients.push(transaction.recipient);
133
- }
134
- operation = {
135
- id: (0, operation_1.encodeOperationId)(accountId, hash, type),
136
- hash: hash,
137
- type: type,
138
- value: transaction.useAllAmount
139
- ? account.spendableBalance
140
- : transaction.amount.plus(fee),
141
- fee: fee,
142
- extra: {},
143
- blockHash: null,
144
- blockHeight: null,
145
- senders: senders,
146
- recipients: recipients,
147
- accountId: accountId,
148
- date: new Date()
149
- };
150
- o.next({
151
- type: "signed",
152
- signedOperation: {
153
- operation: operation,
154
- signature: signature,
155
- expirationDate: null
156
- }
157
- });
158
- return [2 /*return*/];
159
- }
160
- });
161
- });
162
- }
163
- main().then(function () { return o.complete(); }, function (e) { return o.error(e); });
164
- return function () {
165
- cancelled = true;
166
- };
167
- });
168
- });
169
- };
170
- exports["default"] = signOperation;
171
- //# sourceMappingURL=js-signOperation.js.map