@airgap/coinlib-core 0.12.7-beta.1 → 0.12.8-beta.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 (63) hide show
  1. package/airgap-coinlib-core.min.js +352 -583
  2. package/index.d.ts +2 -3
  3. package/index.js +2 -4
  4. package/index.js.map +1 -1
  5. package/package.json +1 -1
  6. package/protocols/cosmos/CosmosCoin.d.ts +3 -0
  7. package/protocols/cosmos/CosmosCoin.js +19 -0
  8. package/protocols/cosmos/CosmosCoin.js.map +1 -1
  9. package/protocols/cosmos/CosmosNodeClient.d.ts +1 -150
  10. package/protocols/cosmos/CosmosNodeClient.js +7 -7
  11. package/protocols/cosmos/CosmosNodeClient.js.map +1 -1
  12. package/protocols/cosmos/CosmosProtocol.d.ts +2 -1
  13. package/protocols/cosmos/CosmosTypes.d.ts +150 -0
  14. package/protocols/ethereum/BaseEthereumProtocol.js.map +1 -1
  15. package/protocols/substrate/SubstrateDelegateProtocol.js.map +1 -1
  16. package/protocols/substrate/common/node/supported.d.ts +2 -2
  17. package/protocols/substrate/common/node/supported.js +14 -3
  18. package/protocols/substrate/common/node/supported.js.map +1 -1
  19. package/protocols/substrate/moonbeam/controllers/MoonbeamAccountController.js +42 -12
  20. package/protocols/substrate/moonbeam/controllers/MoonbeamAccountController.js.map +1 -1
  21. package/protocols/substrate/moonbeam/data/staking/MoonbeamCandidateMetadata.d.ts +28 -0
  22. package/protocols/substrate/moonbeam/data/staking/MoonbeamCandidateMetadata.js +49 -0
  23. package/protocols/substrate/moonbeam/data/staking/MoonbeamCandidateMetadata.js.map +1 -0
  24. package/protocols/substrate/moonbeam/data/staking/MoonbeamCollatorCandidate.js +1 -0
  25. package/protocols/substrate/moonbeam/data/staking/MoonbeamCollatorCandidate.js.map +1 -1
  26. package/protocols/substrate/moonbeam/moonbase/MoonbaseProtocolOptions.js +1 -1
  27. package/protocols/substrate/moonbeam/moonbase/MoonbaseProtocolOptions.js.map +1 -1
  28. package/protocols/substrate/moonbeam/node/MoonbeamNodeClient.d.ts +6 -2
  29. package/protocols/substrate/moonbeam/node/MoonbeamNodeClient.js +35 -5
  30. package/protocols/substrate/moonbeam/node/MoonbeamNodeClient.js.map +1 -1
  31. package/protocols/tezos/fa/TezosFA1Protocol.js +3 -4
  32. package/protocols/tezos/fa/TezosFA1Protocol.js.map +1 -1
  33. package/protocols/tezos/sapling/TezosSaplingCryptoClient.js +2 -3
  34. package/protocols/tezos/sapling/TezosSaplingCryptoClient.js.map +1 -1
  35. package/protocols/tezos/sapling/TezosSaplingProtocol.d.ts +5 -10
  36. package/protocols/tezos/sapling/TezosSaplingProtocol.js +71 -105
  37. package/protocols/tezos/sapling/TezosSaplingProtocol.js.map +1 -1
  38. package/protocols/tezos/sapling/TezosSaplingProtocolOptions.d.ts +7 -10
  39. package/protocols/tezos/sapling/TezosSaplingProtocolOptions.js +12 -42
  40. package/protocols/tezos/sapling/TezosSaplingProtocolOptions.js.map +1 -1
  41. package/protocols/tezos/sapling/utils/TezosSaplingBookkeeper.d.ts +2 -6
  42. package/protocols/tezos/sapling/utils/TezosSaplingBookkeeper.js +17 -39
  43. package/protocols/tezos/sapling/utils/TezosSaplingBookkeeper.js.map +1 -1
  44. package/protocols/tezos/types/michelson/MichelsonTypeUtils.js +1 -1
  45. package/protocols/tezos/types/michelson/MichelsonTypeUtils.js.map +1 -1
  46. package/serializer/schemas/definitions/unsigned-transaction-tezos-sapling.d.ts +1 -1
  47. package/serializer/serializer.js +0 -2
  48. package/serializer/serializer.js.map +1 -1
  49. package/serializer/types.d.ts +1 -1
  50. package/serializer-v3/message.js.map +1 -1
  51. package/serializer-v3/schemas/definitions/unsigned-transaction-tezos-sapling.d.ts +1 -1
  52. package/serializer-v3/schemas/generated/transaction-sign-request-tezos-sapling.json +1 -1
  53. package/serializer-v3/serializer.js +0 -2
  54. package/serializer-v3/serializer.js.map +1 -1
  55. package/serializer-v3/types.d.ts +1 -1
  56. package/utils/ProtocolSymbols.d.ts +0 -1
  57. package/utils/ProtocolSymbols.js +0 -1
  58. package/utils/ProtocolSymbols.js.map +1 -1
  59. package/utils/protocolOptionsByIdentifier.js +0 -4
  60. package/utils/protocolOptionsByIdentifier.js.map +1 -1
  61. package/protocols/tezos/sapling/TezosSaplingTokenProtocol.d.ts +0 -24
  62. package/protocols/tezos/sapling/TezosSaplingTokenProtocol.js +0 -270
  63. package/protocols/tezos/sapling/TezosSaplingTokenProtocol.js.map +0 -1
@@ -1,24 +0,0 @@
1
- import { IAirGapTransaction } from '../../../interfaces/IAirGapTransaction';
2
- import { SignedTezosSaplingTransaction } from '../../../serializer/schemas/definitions/signed-transaction-tezos-sapling';
3
- import { UnsignedTezosSaplingTransaction } from '../../../serializer/schemas/definitions/unsigned-transaction-tezos-sapling';
4
- import { RawTezosSaplingTransaction } from '../../../serializer/types';
5
- import { TezosContractCall } from '../contract/TezosContractCall';
6
- import { TezosTransactionParameters } from '../types/operations/Transaction';
7
- import { TezosSaplingWrappedTransaction } from '../types/sapling/TezosSaplingWrappedTransaction';
8
- import { TezosSaplingProtocol } from './TezosSaplingProtocol';
9
- import { TezosSaplingTokenProtocolOptions } from './TezosSaplingProtocolOptions';
10
- export declare class TezosSaplingTokenProtocol extends TezosSaplingProtocol {
11
- readonly options: TezosSaplingTokenProtocolOptions;
12
- constructor(options?: TezosSaplingTokenProtocolOptions);
13
- prepareContractCalls(_transactions: TezosSaplingWrappedTransaction[]): Promise<TezosContractCall[]>;
14
- parseParameters(parameters: TezosTransactionParameters): Promise<TezosSaplingWrappedTransaction[]>;
15
- getTransactionDetails(transaction: UnsignedTezosSaplingTransaction, data?: {
16
- knownViewingKeys: string[];
17
- }): Promise<IAirGapTransaction[]>;
18
- getTransactionDetailsFromSigned(transaction: SignedTezosSaplingTransaction, data?: {
19
- knownViewingKeys: string[];
20
- }): Promise<IAirGapTransaction[]>;
21
- mint(recipient: string, value: string): Promise<string>;
22
- burn(viewingKey: string, value: string): Promise<RawTezosSaplingTransaction>;
23
- broadcastTransaction(rawTransaction: string): Promise<string>;
24
- }
@@ -1,270 +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 padStart_1 = require("../../../utils/padStart");
71
- var MichelsonList_1 = require("../types/michelson/generics/MichelsonList");
72
- var MichelsonPair_1 = require("../types/michelson/generics/MichelsonPair");
73
- var MichelsonBytes_1 = require("../types/michelson/primitives/MichelsonBytes");
74
- var MichelsonString_1 = require("../types/michelson/primitives/MichelsonString");
75
- var TezosSaplingAddress_1 = require("./TezosSaplingAddress");
76
- var TezosSaplingProtocol_1 = require("./TezosSaplingProtocol");
77
- var TezosSaplingProtocolOptions_1 = require("./TezosSaplingProtocolOptions");
78
- var TezosSaplingTokenProtocol = /** @class */ (function (_super) {
79
- __extends(TezosSaplingTokenProtocol, _super);
80
- function TezosSaplingTokenProtocol(options) {
81
- if (options === void 0) { options = new TezosSaplingProtocolOptions_1.TezosSaplingTokenProtocolOptions(); }
82
- var _this = _super.call(this, options) || this;
83
- _this.options = options;
84
- return _this;
85
- }
86
- TezosSaplingTokenProtocol.prototype.prepareContractCalls = function (_transactions) {
87
- return __awaiter(this, void 0, void 0, function () {
88
- return __generator(this, function (_a) {
89
- return [2 /*return*/, []];
90
- });
91
- });
92
- };
93
- TezosSaplingTokenProtocol.prototype.parseParameters = function (parameters) {
94
- return __awaiter(this, void 0, void 0, function () {
95
- var callArgumentsList;
96
- var _this = this;
97
- return __generator(this, function (_a) {
98
- if (parameters.entrypoint === 'default') {
99
- try {
100
- callArgumentsList = MichelsonList_1.MichelsonList.from(parameters.value, function (pairJSON) {
101
- 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'); });
102
- }).asRawValue();
103
- return [2 /*return*/, Array.isArray(callArgumentsList)
104
- ? Promise.all(callArgumentsList.map(function (args) { return __awaiter(_this, void 0, void 0, function () {
105
- return __generator(this, function (_a) {
106
- return [2 /*return*/, ({
107
- signed: args.data,
108
- unshieldTarget: undefined
109
- })];
110
- });
111
- }); }))
112
- : []];
113
- }
114
- catch (error) {
115
- console.error(error);
116
- return [2 /*return*/, []];
117
- }
118
- }
119
- return [2 /*return*/, []];
120
- });
121
- });
122
- };
123
- TezosSaplingTokenProtocol.prototype.getTransactionDetails = function (transaction, data) {
124
- return __awaiter(this, void 0, void 0, function () {
125
- var tx, from, wrappedTransactions, parameters;
126
- return __generator(this, function (_a) {
127
- switch (_a.label) {
128
- case 0:
129
- tx = transaction.transaction;
130
- return [4 /*yield*/, this.getAddressFromPublicKey(transaction.publicKey)];
131
- case 1:
132
- from = _a.sent();
133
- wrappedTransactions = [];
134
- if (!tx.callParameters) return [3 /*break*/, 3];
135
- parameters = this.contract.parseParameters(tx.callParameters);
136
- return [4 /*yield*/, this.parseParameters(parameters)];
137
- case 2:
138
- wrappedTransactions = _a.sent();
139
- _a.label = 3;
140
- case 3: return [2 /*return*/, this.filterOutPaybacks(this.bookkeeper.getUnsignedTransactionDetails(from, tx.ins, tx.outs, wrappedTransactions))];
141
- }
142
- });
143
- });
144
- };
145
- TezosSaplingTokenProtocol.prototype.getTransactionDetailsFromSigned = function (transaction, data) {
146
- return __awaiter(this, void 0, void 0, function () {
147
- var partialDetails, _a, _b, _c, _d, _e, _f;
148
- var _this = this;
149
- return __generator(this, function (_g) {
150
- switch (_g.label) {
151
- case 0:
152
- partialDetails = [];
153
- if (!this.contract.areValidParameters(transaction.transaction)) return [3 /*break*/, 2];
154
- _b = (_a = partialDetails.push).apply;
155
- _c = [partialDetails];
156
- return [4 /*yield*/, this.getPartialDetailsFromContractParameters(transaction.transaction, data === null || data === void 0 ? void 0 : data.knownViewingKeys)];
157
- case 1:
158
- _b.apply(_a, _c.concat([(_g.sent())]));
159
- return [3 /*break*/, 4];
160
- case 2:
161
- _e = (_d = partialDetails.push).apply;
162
- _f = [partialDetails];
163
- return [4 /*yield*/, this.bookkeeper.getWrappedTransactionsPartialDetails([{ signed: transaction.transaction }], data === null || data === void 0 ? void 0 : data.knownViewingKeys)];
164
- case 3:
165
- _e.apply(_d, _f.concat([(_g.sent())]));
166
- _g.label = 4;
167
- 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)); }))];
168
- }
169
- });
170
- });
171
- };
172
- TezosSaplingTokenProtocol.prototype.mint = function (recipient, value) {
173
- return __awaiter(this, void 0, void 0, function () {
174
- var _a, saplingStateDiff, chainId, output, stateTree, forgedTransaction;
175
- var _b;
176
- return __generator(this, function (_c) {
177
- switch (_c.label) {
178
- case 0:
179
- if (!TezosSaplingAddress_1.TezosSaplingAddress.isZetAddress(recipient)) {
180
- return [2 /*return*/, Promise.reject("Invalid recipient, expected a 'zet' address, got " + recipient)];
181
- }
182
- return [4 /*yield*/, Promise.all([
183
- this.nodeClient.getSaplingStateDiff(),
184
- this.nodeClient.getChainId()
185
- ])];
186
- case 1:
187
- _a = _c.sent(), saplingStateDiff = _a[0], chainId = _a[1];
188
- _b = {};
189
- return [4 /*yield*/, TezosSaplingAddress_1.TezosSaplingAddress.fromValue(recipient)];
190
- case 2:
191
- output = (_b.address = (_c.sent()).getValue(),
192
- _b.value = value,
193
- _b.memo = padStart_1.padStart(Buffer.from("Mint", 'utf-8').toString('hex'), 16, '0'),
194
- _b);
195
- return [4 /*yield*/, this.state.getStateTreeFromStateDiff(saplingStateDiff, true)];
196
- case 3:
197
- stateTree = _c.sent();
198
- return [4 /*yield*/, this.forger.forgeSaplingTransaction([], [output], stateTree, this.getAntiReplay(chainId))];
199
- case 4:
200
- forgedTransaction = _c.sent();
201
- return [2 /*return*/, this.encoder.encodeTransaction(forgedTransaction).toString('hex')];
202
- }
203
- });
204
- });
205
- };
206
- TezosSaplingTokenProtocol.prototype.burn = function (viewingKey, value) {
207
- return __awaiter(this, void 0, void 0, function () {
208
- var _a, stateDiff, chainId, _b, inputs, toSpend, dummyOutput, paybackOutput;
209
- var _c, _d;
210
- return __generator(this, function (_e) {
211
- switch (_e.label) {
212
- case 0: return [4 /*yield*/, Promise.all([
213
- this.nodeClient.getSaplingStateDiff(),
214
- this.nodeClient.getChainId()
215
- ])];
216
- case 1:
217
- _a = _e.sent(), stateDiff = _a[0], chainId = _a[1];
218
- return [4 /*yield*/, this.chooseInputs(viewingKey, stateDiff.commitments_and_ciphertexts, stateDiff.nullifiers, value)];
219
- case 2:
220
- _b = _e.sent(), inputs = _b[0], toSpend = _b[1];
221
- _c = {};
222
- return [4 /*yield*/, this.getDummyAddress()];
223
- case 3:
224
- dummyOutput = (_c.address = (_e.sent()).getValue(),
225
- _c.value = value,
226
- _c.memo = padStart_1.padStart(Buffer.from("Burn", 'utf-8').toString('hex'), 16, '0'),
227
- _c);
228
- _d = {};
229
- return [4 /*yield*/, this.getAddressFromPublicKey(viewingKey)];
230
- case 4:
231
- paybackOutput = (_d.address = (_e.sent()).getValue(),
232
- _d.value = toSpend.minus(value).toString(),
233
- _d.memo = Buffer.alloc(this.options.config.memoSize).toString('hex'),
234
- _d);
235
- return [2 /*return*/, {
236
- ins: inputs,
237
- outs: [dummyOutput, paybackOutput],
238
- chainId: chainId,
239
- stateDiff: stateDiff,
240
- callParameters: ''
241
- }];
242
- }
243
- });
244
- });
245
- };
246
- TezosSaplingTokenProtocol.prototype.broadcastTransaction = function (rawTransaction) {
247
- return __awaiter(this, void 0, void 0, function () {
248
- var response, error_1;
249
- return __generator(this, function (_a) {
250
- switch (_a.label) {
251
- case 0:
252
- _a.trys.push([0, 2, , 3]);
253
- return [4 /*yield*/, index_1.default.post(this.options.config.injectorUrl + "/sapling_tx", {
254
- transaction: rawTransaction
255
- })];
256
- case 1:
257
- response = _a.sent();
258
- return [2 /*return*/, response.data.hash];
259
- case 2:
260
- error_1 = _a.sent();
261
- throw new errors_1.NetworkError(coinlib_error_1.Domain.TEZOS, error_1);
262
- case 3: return [2 /*return*/];
263
- }
264
- });
265
- });
266
- };
267
- return TezosSaplingTokenProtocol;
268
- }(TezosSaplingProtocol_1.TezosSaplingProtocol));
269
- exports.TezosSaplingTokenProtocol = TezosSaplingTokenProtocol;
270
- //# 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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"}