@airgap/coinlib-core 0.12.7-beta.0 → 0.12.7

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 (52) hide show
  1. package/airgap-coinlib-core.min.js +313 -507
  2. package/index.d.ts +1 -2
  3. package/index.js +2 -4
  4. package/index.js.map +1 -1
  5. package/package.json +1 -1
  6. package/protocols/ethereum/BaseEthereumProtocol.js.map +1 -1
  7. package/protocols/substrate/SubstrateDelegateProtocol.js.map +1 -1
  8. package/protocols/substrate/common/node/supported.d.ts +2 -2
  9. package/protocols/substrate/common/node/supported.js +14 -3
  10. package/protocols/substrate/common/node/supported.js.map +1 -1
  11. package/protocols/substrate/moonbeam/controllers/MoonbeamAccountController.js +42 -12
  12. package/protocols/substrate/moonbeam/controllers/MoonbeamAccountController.js.map +1 -1
  13. package/protocols/substrate/moonbeam/data/staking/MoonbeamCandidateMetadata.d.ts +28 -0
  14. package/protocols/substrate/moonbeam/data/staking/MoonbeamCandidateMetadata.js +49 -0
  15. package/protocols/substrate/moonbeam/data/staking/MoonbeamCandidateMetadata.js.map +1 -0
  16. package/protocols/substrate/moonbeam/data/staking/MoonbeamCollatorCandidate.js +1 -0
  17. package/protocols/substrate/moonbeam/data/staking/MoonbeamCollatorCandidate.js.map +1 -1
  18. package/protocols/substrate/moonbeam/moonbase/MoonbaseProtocolOptions.js +1 -1
  19. package/protocols/substrate/moonbeam/moonbase/MoonbaseProtocolOptions.js.map +1 -1
  20. package/protocols/substrate/moonbeam/node/MoonbeamNodeClient.d.ts +6 -2
  21. package/protocols/substrate/moonbeam/node/MoonbeamNodeClient.js +35 -5
  22. package/protocols/substrate/moonbeam/node/MoonbeamNodeClient.js.map +1 -1
  23. package/protocols/tezos/fa/TezosFA1Protocol.js +3 -4
  24. package/protocols/tezos/fa/TezosFA1Protocol.js.map +1 -1
  25. package/protocols/tezos/sapling/TezosSaplingProtocol.d.ts +4 -9
  26. package/protocols/tezos/sapling/TezosSaplingProtocol.js +67 -97
  27. package/protocols/tezos/sapling/TezosSaplingProtocol.js.map +1 -1
  28. package/protocols/tezos/sapling/TezosSaplingProtocolOptions.d.ts +7 -10
  29. package/protocols/tezos/sapling/TezosSaplingProtocolOptions.js +9 -39
  30. package/protocols/tezos/sapling/TezosSaplingProtocolOptions.js.map +1 -1
  31. package/protocols/tezos/sapling/utils/TezosSaplingBookkeeper.js +15 -22
  32. package/protocols/tezos/sapling/utils/TezosSaplingBookkeeper.js.map +1 -1
  33. package/protocols/tezos/types/michelson/MichelsonTypeUtils.js +1 -1
  34. package/protocols/tezos/types/michelson/MichelsonTypeUtils.js.map +1 -1
  35. package/serializer/schemas/definitions/unsigned-transaction-tezos-sapling.d.ts +1 -1
  36. package/serializer/serializer.js +0 -2
  37. package/serializer/serializer.js.map +1 -1
  38. package/serializer/types.d.ts +1 -1
  39. package/serializer-v3/message.js.map +1 -1
  40. package/serializer-v3/schemas/definitions/unsigned-transaction-tezos-sapling.d.ts +1 -1
  41. package/serializer-v3/schemas/generated/transaction-sign-request-tezos-sapling.json +1 -1
  42. package/serializer-v3/serializer.js +0 -2
  43. package/serializer-v3/serializer.js.map +1 -1
  44. package/serializer-v3/types.d.ts +1 -1
  45. package/utils/ProtocolSymbols.d.ts +0 -1
  46. package/utils/ProtocolSymbols.js +0 -1
  47. package/utils/ProtocolSymbols.js.map +1 -1
  48. package/utils/protocolOptionsByIdentifier.js +0 -4
  49. package/utils/protocolOptionsByIdentifier.js.map +1 -1
  50. package/protocols/tezos/sapling/TezosSaplingTokenProtocol.d.ts +0 -23
  51. package/protocols/tezos/sapling/TezosSaplingTokenProtocol.js +0 -234
  52. package/protocols/tezos/sapling/TezosSaplingTokenProtocol.js.map +0 -1
@@ -1,234 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __assign = (this && this.__assign) || function () {
16
- __assign = Object.assign || function(t) {
17
- for (var s, i = 1, n = arguments.length; i < n; i++) {
18
- s = arguments[i];
19
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20
- t[p] = s[p];
21
- }
22
- return t;
23
- };
24
- return __assign.apply(this, arguments);
25
- };
26
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
27
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28
- return new (P || (P = Promise))(function (resolve, reject) {
29
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
30
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
31
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
32
- step((generator = generator.apply(thisArg, _arguments || [])).next());
33
- });
34
- };
35
- var __generator = (this && this.__generator) || function (thisArg, body) {
36
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
37
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
38
- function verb(n) { return function (v) { return step([n, v]); }; }
39
- function step(op) {
40
- if (f) throw new TypeError("Generator is already executing.");
41
- while (_) try {
42
- 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;
43
- if (y = 0, t) op = [op[0] & 2, t.value];
44
- switch (op[0]) {
45
- case 0: case 1: t = op; break;
46
- case 4: _.label++; return { value: op[1], done: false };
47
- case 5: _.label++; y = op[1]; op = [0]; continue;
48
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
49
- default:
50
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
51
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
52
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
53
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
54
- if (t[2]) _.ops.pop();
55
- _.trys.pop(); continue;
56
- }
57
- op = body.call(thisArg, _);
58
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
59
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
60
- }
61
- };
62
- var __importDefault = (this && this.__importDefault) || function (mod) {
63
- return (mod && mod.__esModule) ? mod : { "default": mod };
64
- };
65
- Object.defineProperty(exports, "__esModule", { value: true });
66
- exports.TezosSaplingTokenProtocol = void 0;
67
- var index_1 = __importDefault(require("../../../dependencies/src/axios-0.19.0/index"));
68
- var errors_1 = require("../../../errors");
69
- var coinlib_error_1 = require("../../../errors/coinlib-error");
70
- var MichelsonList_1 = require("../types/michelson/generics/MichelsonList");
71
- var MichelsonPair_1 = require("../types/michelson/generics/MichelsonPair");
72
- var MichelsonBytes_1 = require("../types/michelson/primitives/MichelsonBytes");
73
- var MichelsonString_1 = require("../types/michelson/primitives/MichelsonString");
74
- var TezosSaplingProtocol_1 = require("./TezosSaplingProtocol");
75
- var TezosSaplingProtocolOptions_1 = require("./TezosSaplingProtocolOptions");
76
- var TezosSaplingTokenProtocol = /** @class */ (function (_super) {
77
- __extends(TezosSaplingTokenProtocol, _super);
78
- function TezosSaplingTokenProtocol(options) {
79
- if (options === void 0) { options = new TezosSaplingProtocolOptions_1.TezosSaplingTokenProtocolOptions(); }
80
- var _this = _super.call(this, options) || this;
81
- _this.options = options;
82
- return _this;
83
- }
84
- TezosSaplingTokenProtocol.prototype.prepareContractCalls = function (_transactions) {
85
- return __awaiter(this, void 0, void 0, function () {
86
- return __generator(this, function (_a) {
87
- return [2 /*return*/, []];
88
- });
89
- });
90
- };
91
- TezosSaplingTokenProtocol.prototype.parseParameters = function (parameters) {
92
- return __awaiter(this, void 0, void 0, function () {
93
- var callArgumentsList;
94
- var _this = this;
95
- return __generator(this, function (_a) {
96
- if (parameters.entrypoint === 'default') {
97
- try {
98
- callArgumentsList = MichelsonList_1.MichelsonList.from(parameters.value, function (pairJSON) {
99
- return MichelsonPair_1.MichelsonPair.from(pairJSON, undefined, function (bytesJSON) { return MichelsonBytes_1.MichelsonBytes.from(bytesJSON, 'data'); }, function (signatureJSON) { return MichelsonString_1.MichelsonString.from(signatureJSON, 'signature'); });
100
- }).asRawValue();
101
- return [2 /*return*/, Array.isArray(callArgumentsList)
102
- ? Promise.all(callArgumentsList.map(function (args) { return __awaiter(_this, void 0, void 0, function () {
103
- return __generator(this, function (_a) {
104
- return [2 /*return*/, ({
105
- signed: args.data,
106
- unshieldTarget: undefined
107
- })];
108
- });
109
- }); }))
110
- : []];
111
- }
112
- catch (error) {
113
- console.error(error);
114
- return [2 /*return*/, []];
115
- }
116
- }
117
- return [2 /*return*/, []];
118
- });
119
- });
120
- };
121
- TezosSaplingTokenProtocol.prototype.getTransactionDetails = function (transaction, data) {
122
- return __awaiter(this, void 0, void 0, function () {
123
- var tx, from, wrappedTransactions, parameters;
124
- return __generator(this, function (_a) {
125
- switch (_a.label) {
126
- case 0:
127
- tx = transaction.transaction;
128
- return [4 /*yield*/, this.getAddressFromPublicKey(transaction.publicKey)];
129
- case 1:
130
- from = _a.sent();
131
- wrappedTransactions = [];
132
- if (!tx.callParameters) return [3 /*break*/, 3];
133
- parameters = this.contract.parseParameters(tx.callParameters);
134
- return [4 /*yield*/, this.parseParameters(parameters)];
135
- case 2:
136
- wrappedTransactions = _a.sent();
137
- _a.label = 3;
138
- case 3: return [2 /*return*/, this.filterOutPaybacks(this.bookkeeper.getUnsignedTransactionDetails(from, tx.ins, tx.outs, wrappedTransactions))];
139
- }
140
- });
141
- });
142
- };
143
- TezosSaplingTokenProtocol.prototype.getTransactionDetailsFromSigned = function (transaction, data) {
144
- return __awaiter(this, void 0, void 0, function () {
145
- var partialDetails, _a, _b, _c, _d, _e, _f;
146
- var _this = this;
147
- return __generator(this, function (_g) {
148
- switch (_g.label) {
149
- case 0:
150
- partialDetails = [];
151
- if (!this.contract.areValidParameters(transaction.transaction)) return [3 /*break*/, 2];
152
- _b = (_a = partialDetails.push).apply;
153
- _c = [partialDetails];
154
- return [4 /*yield*/, this.getPartialDetailsFromContractParameters(transaction.transaction, data === null || data === void 0 ? void 0 : data.knownViewingKeys)];
155
- case 1:
156
- _b.apply(_a, _c.concat([(_g.sent())]));
157
- return [3 /*break*/, 4];
158
- case 2:
159
- _e = (_d = partialDetails.push).apply;
160
- _f = [partialDetails];
161
- return [4 /*yield*/, this.bookkeeper.getWrappedTransactionsPartialDetails([{ signed: transaction.transaction }], data === null || data === void 0 ? void 0 : data.knownViewingKeys)];
162
- case 3:
163
- _e.apply(_d, _f.concat([(_g.sent())]));
164
- _g.label = 4;
165
- case 4: return [2 /*return*/, this.filterOutPaybacks(partialDetails.map(function (partial) { return (__assign({ from: ['Shielded Pool'], to: ['Shielded Pool'], isInbound: false, amount: '0', fee: '0', protocolIdentifier: _this.identifier, network: _this.options.network }, partial)); }))];
166
- }
167
- });
168
- });
169
- };
170
- TezosSaplingTokenProtocol.prototype.burn = function (viewingKey, value) {
171
- return __awaiter(this, void 0, void 0, function () {
172
- var _a, stateDiff, chainId, _b, inputs, toSpend, dummyOutput, paybackOutput;
173
- var _c, _d;
174
- return __generator(this, function (_e) {
175
- switch (_e.label) {
176
- case 0: return [4 /*yield*/, Promise.all([
177
- this.nodeClient.getSaplingStateDiff(),
178
- this.nodeClient.getChainId()
179
- ])];
180
- case 1:
181
- _a = _e.sent(), stateDiff = _a[0], chainId = _a[1];
182
- return [4 /*yield*/, this.chooseInputs(viewingKey, stateDiff.commitments_and_ciphertexts, stateDiff.nullifiers, value)];
183
- case 2:
184
- _b = _e.sent(), inputs = _b[0], toSpend = _b[1];
185
- _c = {};
186
- return [4 /*yield*/, this.getDummyAddress()];
187
- case 3:
188
- dummyOutput = (_c.address = (_e.sent()).getValue(),
189
- _c.value = value,
190
- _c.memo = Buffer.from("Burn", 'utf-8').toString('hex'),
191
- _c);
192
- _d = {};
193
- return [4 /*yield*/, this.getAddressFromPublicKey(viewingKey)];
194
- case 4:
195
- paybackOutput = (_d.address = (_e.sent()).getValue(),
196
- _d.value = toSpend.minus(value).toString(),
197
- _d.memo = Buffer.alloc(this.options.config.memoSize).toString('hex'),
198
- _d);
199
- return [2 /*return*/, {
200
- ins: inputs,
201
- outs: [dummyOutput, paybackOutput],
202
- chainId: chainId,
203
- stateDiff: stateDiff,
204
- callParameters: ''
205
- }];
206
- }
207
- });
208
- });
209
- };
210
- TezosSaplingTokenProtocol.prototype.broadcastTransaction = function (rawTransaction) {
211
- return __awaiter(this, void 0, void 0, function () {
212
- var response, error_1;
213
- return __generator(this, function (_a) {
214
- switch (_a.label) {
215
- case 0:
216
- _a.trys.push([0, 2, , 3]);
217
- return [4 /*yield*/, index_1.default.post(this.options.config.injectorUrl + "/sapling_tx", {
218
- transaction: rawTransaction
219
- })];
220
- case 1:
221
- response = _a.sent();
222
- return [2 /*return*/, response.data.hash];
223
- case 2:
224
- error_1 = _a.sent();
225
- throw new errors_1.NetworkError(coinlib_error_1.Domain.TEZOS, error_1);
226
- case 3: return [2 /*return*/];
227
- }
228
- });
229
- });
230
- };
231
- return TezosSaplingTokenProtocol;
232
- }(TezosSaplingProtocol_1.TezosSaplingProtocol));
233
- exports.TezosSaplingTokenProtocol = TezosSaplingTokenProtocol;
234
- //# sourceMappingURL=TezosSaplingTokenProtocol.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TezosSaplingTokenProtocol.js","sourceRoot":"","sources":["../../../../src/protocols/tezos/sapling/TezosSaplingTokenProtocol.ts"],"names":[],"mappings":"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"}