@airgap/ethereum 0.13.16-beta.1 → 0.13.16-beta.3

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 (39) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +1 -1
  3. package/package.json +7 -7
  4. package/v1/block-explorer/EtherscanBlockExplorer.d.ts +1 -1
  5. package/v1/block-explorer/EtherscanBlockExplorer.js +0 -2
  6. package/v1/block-explorer/EtherscanBlockExplorer.js.map +1 -1
  7. package/v1/clients/info/EtherscanInfoClient.d.ts +1 -2
  8. package/v1/clients/info/EtherscanInfoClient.js +4 -6
  9. package/v1/clients/info/EtherscanInfoClient.js.map +1 -1
  10. package/v1/clients/node/AirGapNodeClient.d.ts +0 -18
  11. package/v1/clients/node/AirGapNodeClient.js +1 -2
  12. package/v1/clients/node/AirGapNodeClient.js.map +1 -1
  13. package/v1/index.d.ts +6 -17
  14. package/v1/index.js +3 -26
  15. package/v1/index.js.map +1 -1
  16. package/v1/module/EthereumModule.d.ts +6 -3
  17. package/v1/module/EthereumModule.js +10 -8
  18. package/v1/module/EthereumModule.js.map +1 -1
  19. package/v1/protocol/EthereumBaseProtocol.d.ts +12 -12
  20. package/v1/protocol/EthereumBaseProtocol.js +1 -1
  21. package/v1/protocol/EthereumBaseProtocol.js.map +1 -1
  22. package/v1/protocol/EthereumProtocol.d.ts +4 -2
  23. package/v1/protocol/EthereumProtocol.js +61 -3
  24. package/v1/protocol/EthereumProtocol.js.map +1 -1
  25. package/v1/protocol/erc20/ERC20Token.d.ts +5 -16
  26. package/v1/protocol/erc20/ERC20Token.js +314 -24
  27. package/v1/protocol/erc20/ERC20Token.js.map +1 -1
  28. package/v1/serializer/v3/schemas/converter/transaction-converter.d.ts +5 -1
  29. package/v1/serializer/v3/schemas/converter/transaction-converter.js +5 -1
  30. package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -1
  31. package/v1/serializer/v3/serializer-companion.js +42 -50
  32. package/v1/serializer/v3/serializer-companion.js.map +1 -1
  33. package/v1/types/protocol.d.ts +6 -10
  34. package/v1/utils/EthereumUtils.d.ts +0 -2
  35. package/v1/utils/EthereumUtils.js +0 -9
  36. package/v1/utils/EthereumUtils.js.map +1 -1
  37. package/v1/protocol/erc20/ERC20Protocol.d.ts +0 -26
  38. package/v1/protocol/erc20/ERC20Protocol.js +0 -376
  39. package/v1/protocol/erc20/ERC20Protocol.js.map +0 -1
@@ -25,8 +25,45 @@ var __assign = (this && this.__assign) || function () {
25
25
  };
26
26
  return __assign.apply(this, arguments);
27
27
  };
28
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
+ return new (P || (P = Promise))(function (resolve, reject) {
31
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
35
+ });
36
+ };
37
+ var __generator = (this && this.__generator) || function (thisArg, body) {
38
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
+ function verb(n) { return function (v) { return step([n, v]); }; }
41
+ function step(op) {
42
+ if (f) throw new TypeError("Generator is already executing.");
43
+ while (_) try {
44
+ 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;
45
+ if (y = 0, t) op = [op[0] & 2, t.value];
46
+ switch (op[0]) {
47
+ case 0: case 1: t = op; break;
48
+ case 4: _.label++; return { value: op[1], done: false };
49
+ case 5: _.label++; y = op[1]; op = [0]; continue;
50
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
+ default:
52
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
+ if (t[2]) _.ops.pop();
57
+ _.trys.pop(); continue;
58
+ }
59
+ op = body.call(thisArg, _);
60
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
+ }
63
+ };
28
64
  Object.defineProperty(exports, "__esModule", { value: true });
29
65
  exports.createEthereumProtocolOptions = exports.ETHEREUM_MAINNET_PROTOCOL_NETWORK = exports.createEthereumProtocol = void 0;
66
+ var module_kit_1 = require("@airgap/module-kit");
30
67
  var EtherscanInfoClient_1 = require("../clients/info/EtherscanInfoClient");
31
68
  var AirGapNodeClient_1 = require("../clients/node/AirGapNodeClient");
32
69
  var EthereumBaseProtocol_1 = require("./EthereumBaseProtocol");
@@ -36,8 +73,29 @@ var EthereumProtocolImpl = /** @class */ (function (_super) {
36
73
  function EthereumProtocolImpl(options) {
37
74
  if (options === void 0) { options = {}; }
38
75
  var completeOptions = createEthereumProtocolOptions(options.network);
39
- return _super.call(this, new AirGapNodeClient_1.AirGapNodeClient(completeOptions.network.rpcUrl), new EtherscanInfoClient_1.EtherscanInfoClient(completeOptions.network.blockExplorerApi, completeOptions.network.blockExplorerApiKey), completeOptions) || this;
76
+ return _super.call(this, new AirGapNodeClient_1.AirGapNodeClient(completeOptions.network.rpcUrl), new EtherscanInfoClient_1.EtherscanInfoClient(completeOptions.network.blockExplorerApi), completeOptions) || this;
40
77
  }
78
+ // Custom
79
+ EthereumProtocolImpl.prototype.getGasPrice = function () {
80
+ return __awaiter(this, void 0, void 0, function () {
81
+ var gasPrice;
82
+ return __generator(this, function (_a) {
83
+ switch (_a.label) {
84
+ case 0: return [4 /*yield*/, this.nodeClient.getGasPrice()];
85
+ case 1:
86
+ gasPrice = _a.sent();
87
+ return [2 /*return*/, (0, module_kit_1.newAmount)(gasPrice, 'blockchain')];
88
+ }
89
+ });
90
+ });
91
+ };
92
+ EthereumProtocolImpl.prototype.fetchTransactionCountForAddress = function (address) {
93
+ return __awaiter(this, void 0, void 0, function () {
94
+ return __generator(this, function (_a) {
95
+ return [2 /*return*/, this.nodeClient.fetchTransactionCount(address)];
96
+ });
97
+ });
98
+ };
41
99
  return EthereumProtocolImpl;
42
100
  }(EthereumBaseProtocol_1.DefaultEthereumBaseProtocolImpl));
43
101
  // Factory
@@ -50,9 +108,9 @@ exports.ETHEREUM_MAINNET_PROTOCOL_NETWORK = {
50
108
  name: 'Mainnet',
51
109
  type: 'mainnet',
52
110
  rpcUrl: 'https://eth-rpc-proxy.airgap.prod.gke.papers.tech',
111
+ blockExplorerUrl: 'https://etherscan.io',
53
112
  chainId: 1,
54
- blockExplorerApi: 'https://api.etherscan.io',
55
- blockExplorerApiKey: 'P63MEHEYBM5BGEG5WFN76VPNCET8B2MAP7'
113
+ blockExplorerApi: 'https://api.etherscan.io'
56
114
  };
57
115
  var DEFAULT_ETHEREUM_PROTOCOL_NETWORK = exports.ETHEREUM_MAINNET_PROTOCOL_NETWORK;
58
116
  function createEthereumProtocolOptions(network) {
@@ -1 +1 @@
1
- {"version":3,"file":"EthereumProtocol.js","sourceRoot":"","sources":["../../../src/v1/protocol/EthereumProtocol.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2EAAyE;AACzE,qEAAmE;AAGnE,+DAA8F;AAO9F,iBAAiB;AAEjB;IAAmC,wCAA+B;IAChE,8BAAmB,OAAuD;QAAvD,wBAAA,EAAA,YAAuD;QACxE,IAAM,eAAe,GAA4B,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;eAE/F,kBACE,IAAI,mCAAgB,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EACpD,IAAI,yCAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,eAAe,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC9G,eAAe,CAChB;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,AAVD,CAAmC,sDAA+B,GAUjE;AAED,UAAU;AAEV,SAAgB,sBAAsB,CAAC,OAAuD;IAAvD,wBAAA,EAAA,YAAuD;IAC5F,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAA;AAC1C,CAAC;AAFD,wDAEC;AAEY,QAAA,iCAAiC,GAA4B;IACxE,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,mDAAmD;IAC3D,OAAO,EAAE,CAAC;IACV,gBAAgB,EAAE,0BAA0B;IAC5C,mBAAmB,EAAE,oCAAoC;CAC1D,CAAA;AAED,IAAM,iCAAiC,GAA4B,yCAAiC,CAAA;AAEpG,SAAgB,6BAA6B,CAAC,OAA8C;IAA9C,wBAAA,EAAA,YAA8C;IAC1F,OAAO;QACL,OAAO,wBAAO,iCAAiC,GAAK,OAAO,CAAE;KAC9D,CAAA;AACH,CAAC;AAJD,sEAIC"}
1
+ {"version":3,"file":"EthereumProtocol.js","sourceRoot":"","sources":["../../../src/v1/protocol/EthereumProtocol.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iDAAwE;AAExE,2EAAyE;AACzE,qEAAmE;AAGnE,+DAA8F;AAU9F,iBAAiB;AAEjB;IAAmC,wCAA+B;IAChE,8BAAmB,OAAuD;QAAvD,wBAAA,EAAA,YAAuD;QACxE,IAAM,eAAe,GAA4B,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;eAE/F,kBACE,IAAI,mCAAgB,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EACpD,IAAI,yCAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,EACjE,eAAe,CAChB;IACH,CAAC;IAED,SAAS;IAEI,0CAAW,GAAxB;;;;;4BAC8B,qBAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAA;;wBAAzD,QAAQ,GAAc,SAAmC;wBAE/D,sBAAO,IAAA,sBAAS,EAAC,QAAQ,EAAE,YAAY,CAAC,EAAA;;;;KACzC;IAEY,8DAA+B,GAA5C,UAA6C,OAAe;;;gBAC1D,sBAAO,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAA;;;KACtD;IACH,2BAAC;AAAD,CAAC,AAtBD,CAAmC,sDAA+B,GAsBjE;AAED,UAAU;AAEV,SAAgB,sBAAsB,CAAC,OAAuD;IAAvD,wBAAA,EAAA,YAAuD;IAC5F,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAA;AAC1C,CAAC;AAFD,wDAEC;AAEY,QAAA,iCAAiC,GAA4B;IACxE,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,mDAAmD;IAC3D,gBAAgB,EAAE,sBAAsB;IACxC,OAAO,EAAE,CAAC;IACV,gBAAgB,EAAE,0BAA0B;CAC7C,CAAA;AAED,IAAM,iCAAiC,GAA4B,yCAAiC,CAAA;AAEpG,SAAgB,6BAA6B,CAAC,OAA8C;IAA9C,wBAAA,EAAA,YAA8C;IAC1F,OAAO;QACL,OAAO,wBAAO,iCAAiC,GAAK,OAAO,CAAE;KAC9D,CAAA;AACH,CAAC;AAJD,sEAIC"}
@@ -1,19 +1,8 @@
1
1
  import { AirGapInterface, RecursivePartial } from '@airgap/module-kit';
2
- import { EthereumInfoClient } from '../../clients/info/EthereumInfoClient';
3
- import { EthereumNodeClient } from '../../clients/node/EthereumNodeClient';
4
- import { ERC20TokenMetadata, ERC20TokenOptions, EthereumProtocolNetwork } from '../../types/protocol';
5
- import { ERC20Protocol, ERC20ProtocolImpl } from './ERC20Protocol';
6
- export interface ERC20Token<_ProtocolNetwork extends EthereumProtocolNetwork = EthereumProtocolNetwork> extends AirGapInterface<ERC20Protocol<string, _ProtocolNetwork>, 'SingleTokenSubProtocol'> {
2
+ import { ERC20TokenMetadata, EthereumProtocolNetwork, EthereumProtocolOptions } from '../../types/protocol';
3
+ import { EthereumBaseProtocol } from '../EthereumBaseProtocol';
4
+ export interface ERC20Token extends AirGapInterface<EthereumBaseProtocol<string>, 'SingleTokenSubProtocol'> {
7
5
  }
8
- export declare class ERC20TokenImpl<_ProtocolNetwork extends EthereumProtocolNetwork = EthereumProtocolNetwork> extends ERC20ProtocolImpl<string, _ProtocolNetwork> implements ERC20Token<_ProtocolNetwork> {
9
- constructor(nodeClient: EthereumNodeClient, infoClient: EthereumInfoClient, options: ERC20TokenOptions<_ProtocolNetwork>);
10
- getType(): Promise<'token'>;
11
- private readonly _mainProtocol;
12
- mainProtocol(): Promise<string>;
13
- getContractAddress(): Promise<string>;
14
- }
15
- declare type ERC20TokenOptionsWithoutMetadata = Omit<ERC20TokenOptions, 'name' | 'identifier' | 'contractAddress' | 'symbol' | 'marketSymbol' | 'decimals'>;
16
- export declare function createERC20Token(metadata: ERC20TokenMetadata, options?: RecursivePartial<ERC20TokenOptionsWithoutMetadata>): ERC20Token;
6
+ export declare function createERC20Token(metadata: ERC20TokenMetadata, options?: RecursivePartial<EthereumProtocolOptions>): ERC20Token;
17
7
  export declare const ETHEREUM_ERC20_MAINNET_PROTOCOL_NETWORK: EthereumProtocolNetwork;
18
- export declare function createERC20TokenOptions(metadata: ERC20TokenMetadata, network?: Partial<EthereumProtocolNetwork>, mainIdentifier?: string): ERC20TokenOptions;
19
- export {};
8
+ export declare function createERC20TokenOptions(network?: Partial<EthereumProtocolNetwork>): EthereumProtocolOptions;
@@ -25,6 +25,29 @@ var __assign = (this && this.__assign) || function () {
25
25
  };
26
26
  return __assign.apply(this, arguments);
27
27
  };
28
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
+ if (k2 === undefined) k2 = k;
30
+ var desc = Object.getOwnPropertyDescriptor(m, k);
31
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
32
+ desc = { enumerable: true, get: function() { return m[k]; } };
33
+ }
34
+ Object.defineProperty(o, k2, desc);
35
+ }) : (function(o, m, k, k2) {
36
+ if (k2 === undefined) k2 = k;
37
+ o[k2] = m[k];
38
+ }));
39
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
40
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
41
+ }) : function(o, v) {
42
+ o["default"] = v;
43
+ });
44
+ var __importStar = (this && this.__importStar) || function (mod) {
45
+ if (mod && mod.__esModule) return mod;
46
+ var result = {};
47
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
48
+ __setModuleDefault(result, mod);
49
+ return result;
50
+ };
28
51
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
52
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
53
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -61,19 +84,37 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
61
84
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
85
  }
63
86
  };
87
+ var __importDefault = (this && this.__importDefault) || function (mod) {
88
+ return (mod && mod.__esModule) ? mod : { "default": mod };
89
+ };
64
90
  Object.defineProperty(exports, "__esModule", { value: true });
65
- exports.createERC20TokenOptions = exports.ETHEREUM_ERC20_MAINNET_PROTOCOL_NETWORK = exports.createERC20Token = exports.ERC20TokenImpl = void 0;
91
+ exports.createERC20TokenOptions = exports.ETHEREUM_ERC20_MAINNET_PROTOCOL_NETWORK = exports.createERC20Token = void 0;
66
92
  var coinlib_core_1 = require("@airgap/coinlib-core");
93
+ var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
94
+ // @ts-ignore
95
+ var ethUtil = __importStar(require("@airgap/coinlib-core/dependencies/src/ethereumjs-util-5.2.0"));
96
+ var errors_1 = require("@airgap/coinlib-core/errors");
97
+ var hex_1 = require("@airgap/coinlib-core/utils/hex");
98
+ var module_kit_1 = require("@airgap/module-kit");
99
+ var tx_1 = require("@ethereumjs/tx");
67
100
  var EtherscanInfoClient_1 = require("../../clients/info/EtherscanInfoClient");
68
101
  var AirGapNodeClient_1 = require("../../clients/node/AirGapNodeClient");
102
+ var EthereumUtils_1 = require("../../utils/EthereumUtils");
103
+ var EthereumBaseProtocol_1 = require("../EthereumBaseProtocol");
69
104
  var EthereumProtocol_1 = require("../EthereumProtocol");
70
- var ERC20Protocol_1 = require("./ERC20Protocol");
105
+ var EthereumTransaction = require('@airgap/coinlib-core/dependencies/src/ethereumjs-tx-1.3.7/index');
71
106
  // Implementation
72
107
  var ERC20TokenImpl = /** @class */ (function (_super) {
73
108
  __extends(ERC20TokenImpl, _super);
74
109
  function ERC20TokenImpl(nodeClient, infoClient, options) {
75
- var _this = _super.call(this, nodeClient, infoClient, options) || this;
76
- _this._mainProtocol = options.mainIdentifier;
110
+ var _this = _super.call(this, nodeClient, infoClient, {
111
+ network: options.network,
112
+ name: options.name,
113
+ identifier: options.identifier,
114
+ units: options.units,
115
+ mainUnit: options.mainUnit
116
+ }) || this;
117
+ _this.contractAddress = options.contractAddress;
77
118
  return _this;
78
119
  }
79
120
  // SubProtocol
@@ -87,7 +128,7 @@ var ERC20TokenImpl = /** @class */ (function (_super) {
87
128
  ERC20TokenImpl.prototype.mainProtocol = function () {
88
129
  return __awaiter(this, void 0, void 0, function () {
89
130
  return __generator(this, function (_a) {
90
- return [2 /*return*/, this._mainProtocol];
131
+ return [2 /*return*/, coinlib_core_1.MainProtocolSymbols.ETH];
91
132
  });
92
133
  });
93
134
  };
@@ -98,33 +139,282 @@ var ERC20TokenImpl = /** @class */ (function (_super) {
98
139
  });
99
140
  });
100
141
  };
142
+ // Common
143
+ ERC20TokenImpl.prototype.getDetailsFromTransaction = function (transaction, publicKey) {
144
+ return __awaiter(this, void 0, void 0, function () {
145
+ var ethTransactionDetails;
146
+ return __generator(this, function (_a) {
147
+ switch (_a.label) {
148
+ case 0: return [4 /*yield*/, _super.prototype.getDetailsFromTransaction.call(this, transaction, publicKey)];
149
+ case 1:
150
+ ethTransactionDetails = _a.sent();
151
+ switch (transaction.type) {
152
+ case 'signed':
153
+ return [2 /*return*/, this.getDetailsFromSignedContractTransaction(transaction, ethTransactionDetails)];
154
+ case 'unsigned':
155
+ return [2 /*return*/, this.getDetailsFromUnsignedContractTransaction(transaction, ethTransactionDetails)];
156
+ default:
157
+ (0, coinlib_core_1.assertNever)(transaction);
158
+ throw new errors_1.UnsupportedError(coinlib_core_1.Domain.ETHEREUM, 'Unsupported transaction type.');
159
+ }
160
+ return [2 /*return*/];
161
+ }
162
+ });
163
+ });
164
+ };
165
+ ERC20TokenImpl.prototype.getDetailsFromSignedContractTransaction = function (transaction, ethTransactionDetails) {
166
+ return __awaiter(this, void 0, void 0, function () {
167
+ var extractedTx, tokenTransferDetails;
168
+ return __generator(this, function (_a) {
169
+ if (ethTransactionDetails.length !== 1) {
170
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.ERC20, 'More than one ETH transaction detected.');
171
+ }
172
+ extractedTx = new EthereumTransaction(transaction.serialized);
173
+ tokenTransferDetails = new AirGapNodeClient_1.EthereumRPCDataTransfer("0x".concat(extractedTx.data.toString('hex')));
174
+ return [2 /*return*/, [
175
+ __assign(__assign({}, ethTransactionDetails[0]), { to: [ethUtil.toChecksumAddress(tokenTransferDetails.recipient)], amount: (0, module_kit_1.newAmount)(tokenTransferDetails.amount, 'blockchain') })
176
+ ]];
177
+ });
178
+ });
179
+ };
180
+ ERC20TokenImpl.prototype.getDetailsFromUnsignedContractTransaction = function (transaction, ethTransactionDetails) {
181
+ return __awaiter(this, void 0, void 0, function () {
182
+ var data, typedTransaction, tokenTransferDetails;
183
+ return __generator(this, function (_a) {
184
+ if (ethTransactionDetails.length !== 1) {
185
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.ERC20, 'More than one ETH transaction detected.');
186
+ }
187
+ if (transaction.ethereumType === 'raw') {
188
+ data = transaction.data;
189
+ }
190
+ else {
191
+ typedTransaction = tx_1.TransactionFactory.fromSerializedData(Buffer.from(transaction.serialized, 'hex'));
192
+ data = typedTransaction.data.toString('hex');
193
+ }
194
+ tokenTransferDetails = new AirGapNodeClient_1.EthereumRPCDataTransfer(data);
195
+ return [2 /*return*/, [
196
+ __assign(__assign({}, ethTransactionDetails[0]), { to: [ethUtil.toChecksumAddress(tokenTransferDetails.recipient)], amount: (0, module_kit_1.newAmount)(tokenTransferDetails.amount, 'blockchain') })
197
+ ]];
198
+ });
199
+ });
200
+ };
201
+ // Offline
202
+ ERC20TokenImpl.prototype.signTransactionWithSecretKey = function (transaction, secretKey) {
203
+ return __awaiter(this, void 0, void 0, function () {
204
+ var rawTransaction;
205
+ return __generator(this, function (_a) {
206
+ if (transaction.ethereumType !== 'raw') {
207
+ // no v0 implementation
208
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.ERC20, 'Unsupported unsigned transaction type.');
209
+ }
210
+ rawTransaction = __assign(__assign({}, transaction), { data: !transaction.data || transaction.data === '0x'
211
+ ? new AirGapNodeClient_1.EthereumRPCDataTransfer(transaction.to, transaction.value).abiEncoded()
212
+ : transaction.data });
213
+ return [2 /*return*/, _super.prototype.signTransactionWithSecretKey.call(this, rawTransaction, secretKey)];
214
+ });
215
+ });
216
+ };
217
+ // Online
218
+ ERC20TokenImpl.prototype.getTransactionsForPublicKey = function (publicKey, limit, cursor) {
219
+ return __awaiter(this, void 0, void 0, function () {
220
+ var address;
221
+ return __generator(this, function (_a) {
222
+ switch (_a.label) {
223
+ case 0: return [4 /*yield*/, this.getAddressFromPublicKey(publicKey)];
224
+ case 1:
225
+ address = _a.sent();
226
+ return [2 /*return*/, this.getTransactionsForAddress(address, limit, cursor)];
227
+ }
228
+ });
229
+ });
230
+ };
231
+ ERC20TokenImpl.prototype.getTransactionsForAddress = function (address, limit, cursor) {
232
+ return __awaiter(this, void 0, void 0, function () {
233
+ return __generator(this, function (_a) {
234
+ return [2 /*return*/, this.getTransactionsForAddresses([address], limit, cursor)];
235
+ });
236
+ });
237
+ };
238
+ ERC20TokenImpl.prototype.getTransactionsForAddresses = function (addresses, limit, cursor) {
239
+ return __awaiter(this, void 0, void 0, function () {
240
+ var _this = this;
241
+ return __generator(this, function (_a) {
242
+ return [2 /*return*/, new Promise(function (overallResolve, overallReject) {
243
+ var promises = [];
244
+ for (var _i = 0, addresses_1 = addresses; _i < addresses_1.length; _i++) {
245
+ var address = addresses_1[_i];
246
+ promises.push(_this.infoClient.fetchContractTransactions(_this.contractAddress, address, limit, cursor));
247
+ }
248
+ Promise.all(promises)
249
+ .then(function (values) {
250
+ var page = Math.max.apply(Math, values.map(function (txResult) { return txResult.cursor.page; }));
251
+ var transactions = values.reduce(function (acc, current) {
252
+ return acc.concat(current.transactions.map(function (tx) { return (__assign(__assign({}, tx), { amount: (0, module_kit_1.newAmount)(tx.amount.value, 'blockchain'), fee: (0, module_kit_1.newAmount)(tx.fee.value, 'blockchain'), network: _this.options.network })); }));
253
+ }, []);
254
+ var hasNext = transactions.length >= limit;
255
+ overallResolve({
256
+ transactions: transactions,
257
+ cursor: {
258
+ hasNext: hasNext,
259
+ page: hasNext ? page : undefined
260
+ }
261
+ });
262
+ })
263
+ .catch(overallReject);
264
+ })];
265
+ });
266
+ });
267
+ };
268
+ ERC20TokenImpl.prototype.getBalanceOfPublicKey = function (publicKey) {
269
+ return __awaiter(this, void 0, void 0, function () {
270
+ var address;
271
+ return __generator(this, function (_a) {
272
+ switch (_a.label) {
273
+ case 0: return [4 /*yield*/, this.getAddressFromPublicKey(publicKey)];
274
+ case 1:
275
+ address = _a.sent();
276
+ return [2 /*return*/, this.getBalanceOfAddress(address)];
277
+ }
278
+ });
279
+ });
280
+ };
281
+ ERC20TokenImpl.prototype.getBalanceOfAddress = function (address) {
282
+ return __awaiter(this, void 0, void 0, function () {
283
+ return __generator(this, function (_a) {
284
+ return [2 /*return*/, this.getBalanceOfAddresses([address])];
285
+ });
286
+ });
287
+ };
288
+ ERC20TokenImpl.prototype.getBalanceOfAddresses = function (addresses) {
289
+ return __awaiter(this, void 0, void 0, function () {
290
+ var balances, totalBalance;
291
+ var _this = this;
292
+ return __generator(this, function (_a) {
293
+ switch (_a.label) {
294
+ case 0: return [4 /*yield*/, Promise.all(addresses.map(function (address) {
295
+ return _this.nodeClient.callBalanceOf(_this.contractAddress, address);
296
+ }))];
297
+ case 1:
298
+ balances = _a.sent();
299
+ totalBalance = balances.reduce(function (a, b) { return a.plus(b); });
300
+ return [2 /*return*/, { total: (0, module_kit_1.newAmount)(totalBalance, 'blockchain') }];
301
+ }
302
+ });
303
+ });
304
+ };
305
+ ERC20TokenImpl.prototype.getTransactionMaxAmountWithPublicKey = function (publicKey, to, configuration) {
306
+ var _a;
307
+ return __awaiter(this, void 0, void 0, function () {
308
+ var balance;
309
+ return __generator(this, function (_b) {
310
+ switch (_b.label) {
311
+ case 0: return [4 /*yield*/, this.getBalanceOfPublicKey(publicKey)];
312
+ case 1:
313
+ balance = _b.sent();
314
+ return [2 /*return*/, (_a = balance.transferable) !== null && _a !== void 0 ? _a : balance.total];
315
+ }
316
+ });
317
+ });
318
+ };
319
+ ERC20TokenImpl.prototype.prepareTransactionWithPublicKey = function (publicKey, details, configuration) {
320
+ var _a;
321
+ return __awaiter(this, void 0, void 0, function () {
322
+ var fee, estimatedFee, wrappedFee, wrappedAmount, balance, wrappedBalance, address, ethBalance, wrappedEthBalance, estimatedGas, txCount, gasPrice, transaction;
323
+ return __generator(this, function (_b) {
324
+ switch (_b.label) {
325
+ case 0:
326
+ if (details.length !== 1) {
327
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.ETHEREUM, 'you cannot have 0 transaction details');
328
+ }
329
+ if (!((configuration === null || configuration === void 0 ? void 0 : configuration.fee) !== undefined)) return [3 /*break*/, 1];
330
+ fee = configuration.fee;
331
+ return [3 /*break*/, 3];
332
+ case 1: return [4 /*yield*/, this.getTransactionFeeWithPublicKey(publicKey, details)];
333
+ case 2:
334
+ estimatedFee = _b.sent();
335
+ fee = estimatedFee.medium;
336
+ _b.label = 3;
337
+ case 3:
338
+ wrappedFee = new bignumber_1.default((0, module_kit_1.newAmount)(fee).blockchain(this.feeUnits).value);
339
+ wrappedAmount = new bignumber_1.default((0, module_kit_1.newAmount)(details[0].amount).blockchain(this.units).value);
340
+ return [4 /*yield*/, this.getBalanceOfPublicKey(publicKey)];
341
+ case 4:
342
+ balance = _b.sent();
343
+ wrappedBalance = new bignumber_1.default((0, module_kit_1.newAmount)((_a = balance.transferable) !== null && _a !== void 0 ? _a : balance.total).blockchain(this.units).value);
344
+ if (!wrappedBalance.isGreaterThanOrEqualTo(wrappedAmount)) return [3 /*break*/, 11];
345
+ return [4 /*yield*/, this.getAddressFromPublicKey(publicKey)];
346
+ case 5:
347
+ address = _b.sent();
348
+ return [4 /*yield*/, _super.prototype.getBalanceOfAddress.call(this, address)];
349
+ case 6:
350
+ ethBalance = _b.sent();
351
+ wrappedEthBalance = new bignumber_1.default((0, module_kit_1.newAmount)(ethBalance.total).blockchain(this.units).value);
352
+ return [4 /*yield*/, this.estimateGas(address, details[0].to, wrappedAmount)];
353
+ case 7:
354
+ estimatedGas = _b.sent();
355
+ if (!wrappedEthBalance.isGreaterThanOrEqualTo(wrappedFee)) return [3 /*break*/, 9];
356
+ return [4 /*yield*/, this.nodeClient.fetchTransactionCount(address)];
357
+ case 8:
358
+ txCount = _b.sent();
359
+ gasPrice = wrappedFee.isEqualTo(0)
360
+ ? new bignumber_1.default(0)
361
+ : wrappedFee.div(estimatedGas).integerValue(bignumber_1.default.ROUND_CEIL);
362
+ transaction = (0, module_kit_1.newUnsignedTransaction)({
363
+ ethereumType: 'raw',
364
+ nonce: EthereumUtils_1.EthereumUtils.toHex(txCount),
365
+ gasLimit: EthereumUtils_1.EthereumUtils.toHex(estimatedGas.toFixed()),
366
+ gasPrice: EthereumUtils_1.EthereumUtils.toHex(gasPrice.toFixed()),
367
+ to: this.contractAddress,
368
+ value: EthereumUtils_1.EthereumUtils.toHex(new bignumber_1.default(0).toFixed()),
369
+ chainId: this.options.network.chainId,
370
+ data: new AirGapNodeClient_1.EthereumRPCDataTransfer(details[0].to, EthereumUtils_1.EthereumUtils.toHex(wrappedAmount.toFixed())).abiEncoded()
371
+ });
372
+ return [2 /*return*/, transaction];
373
+ case 9: throw new errors_1.BalanceError(coinlib_core_1.Domain.ERC20, 'not enough ETH balance');
374
+ case 10: return [3 /*break*/, 12];
375
+ case 11: throw new errors_1.BalanceError(coinlib_core_1.Domain.ERC20, 'not enough token balance');
376
+ case 12: return [2 /*return*/];
377
+ }
378
+ });
379
+ });
380
+ };
381
+ // Custom
382
+ ERC20TokenImpl.prototype.estimateGas = function (fromAddress, toAddress, amount, _data) {
383
+ return __awaiter(this, void 0, void 0, function () {
384
+ var hexAmount, blockchainAmount;
385
+ return __generator(this, function (_a) {
386
+ if (typeof amount === 'string' && (0, hex_1.isHex)(amount)) {
387
+ hexAmount = amount;
388
+ }
389
+ else {
390
+ blockchainAmount = (0, module_kit_1.isAmount)(amount) ? (0, module_kit_1.newAmount)(amount).blockchain(this.units) : (0, module_kit_1.newAmount)(amount, 'blockchain');
391
+ hexAmount = EthereumUtils_1.EthereumUtils.toHex(blockchainAmount.value);
392
+ }
393
+ return [2 /*return*/, this.nodeClient.estimateTransferGas(this.contractAddress, fromAddress, toAddress, hexAmount)];
394
+ });
395
+ });
396
+ };
101
397
  return ERC20TokenImpl;
102
- }(ERC20Protocol_1.ERC20ProtocolImpl));
103
- exports.ERC20TokenImpl = ERC20TokenImpl;
398
+ }(EthereumBaseProtocol_1.EthereumBaseProtocolImpl));
399
+ // Factory
104
400
  function createERC20Token(metadata, options) {
105
- if (options === void 0) { options = {}; }
106
- var completeOptions = createERC20TokenOptions(metadata, options.network, options.mainIdentifier);
107
- return new ERC20TokenImpl(new AirGapNodeClient_1.AirGapNodeClient(completeOptions.network.rpcUrl), new EtherscanInfoClient_1.EtherscanInfoClient(completeOptions.network.blockExplorerApi, completeOptions.network.blockExplorerApiKey), completeOptions);
401
+ var _a;
402
+ var protocolOptions = createERC20TokenOptions(options === null || options === void 0 ? void 0 : options.network);
403
+ var tokenOptions = __assign(__assign({}, protocolOptions), { name: metadata.name, identifier: metadata.identifier, contractAddress: metadata.contractAddress, units: (_a = {},
404
+ _a[metadata.symbol] = {
405
+ symbol: { value: metadata.symbol, market: metadata.marketSymbol },
406
+ decimals: metadata.decimals
407
+ },
408
+ _a), mainUnit: metadata.symbol });
409
+ return new ERC20TokenImpl(new AirGapNodeClient_1.AirGapNodeClient(protocolOptions.network.rpcUrl), new EtherscanInfoClient_1.EtherscanInfoClient(protocolOptions.network.blockExplorerApi), tokenOptions);
108
410
  }
109
411
  exports.createERC20Token = createERC20Token;
110
412
  exports.ETHEREUM_ERC20_MAINNET_PROTOCOL_NETWORK = __assign(__assign({}, EthereumProtocol_1.ETHEREUM_MAINNET_PROTOCOL_NETWORK), { chainId: 3 });
111
413
  var DEFAULT_ERC20_PROTOCOL_NETWORK = exports.ETHEREUM_ERC20_MAINNET_PROTOCOL_NETWORK;
112
- function createERC20TokenOptions(metadata, network, mainIdentifier) {
113
- var _a;
414
+ function createERC20TokenOptions(network) {
114
415
  if (network === void 0) { network = {}; }
115
416
  return {
116
- network: __assign(__assign({}, DEFAULT_ERC20_PROTOCOL_NETWORK), network),
117
- name: metadata.name,
118
- identifier: metadata.identifier,
119
- mainIdentifier: mainIdentifier !== null && mainIdentifier !== void 0 ? mainIdentifier : coinlib_core_1.MainProtocolSymbols.ETH,
120
- contractAddress: metadata.contractAddress,
121
- units: (_a = {},
122
- _a[metadata.symbol] = {
123
- symbol: { value: metadata.symbol, market: metadata.marketSymbol },
124
- decimals: metadata.decimals
125
- },
126
- _a),
127
- mainUnit: metadata.symbol
417
+ network: __assign(__assign({}, DEFAULT_ERC20_PROTOCOL_NETWORK), network)
128
418
  };
129
419
  }
130
420
  exports.createERC20TokenOptions = createERC20TokenOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"ERC20Token.js","sourceRoot":"","sources":["../../../../src/v1/protocol/erc20/ERC20Token.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAA0D;AAM1D,8EAA4E;AAC5E,wEAAsE;AAGtE,wDAAuE;AAEvE,iDAAkE;AAOlE,iBAAiB;AAEjB;IACU,kCAA2C;IAEnD,wBAAmB,UAA8B,EAAE,UAA8B,EAAE,OAA4C;QAA/H,YACE,kBAAM,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,SAGvC;QADC,KAAI,CAAC,aAAa,GAAG,OAAO,CAAC,cAAc,CAAA;;IAC7C,CAAC;IAED,cAAc;IAED,gCAAO,GAApB;;;gBACE,sBAAO,OAAO,EAAA;;;KACf;IAGY,qCAAY,GAAzB;;;gBACE,sBAAO,IAAI,CAAC,aAAa,EAAA;;;KAC1B;IAEY,2CAAkB,GAA/B;;;gBACE,sBAAO,IAAI,CAAC,eAAe,EAAA;;;KAC5B;IACH,qBAAC;AAAD,CAAC,AAvBD,CACU,iCAAiB,GAsB1B;AAvBY,wCAAc;AAgC3B,SAAgB,gBAAgB,CAC9B,QAA4B,EAC5B,OAAgE;IAAhE,wBAAA,EAAA,YAAgE;IAEhE,IAAM,eAAe,GAAsB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAErH,OAAO,IAAI,cAAc,CACvB,IAAI,mCAAgB,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EACpD,IAAI,yCAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,eAAe,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC9G,eAAe,CAChB,CAAA;AACH,CAAC;AAXD,4CAWC;AAEY,QAAA,uCAAuC,yBAC/C,oDAAiC,KACpC,OAAO,EAAE,CAAC,IACX;AAED,IAAM,8BAA8B,GAA4B,+CAAuC,CAAA;AAEvG,SAAgB,uBAAuB,CACrC,QAA4B,EAC5B,OAA8C,EAC9C,cAAuB;;IADvB,wBAAA,EAAA,YAA8C;IAG9C,OAAO;QACL,OAAO,wBAAO,8BAA8B,GAAK,OAAO,CAAE;QAC1D,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,cAAc,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,kCAAmB,CAAC,GAAG;QAEzD,eAAe,EAAE,QAAQ,CAAC,eAAe;QAEzC,KAAK;YACH,GAAC,QAAQ,CAAC,MAAM,IAAG;gBACjB,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE;gBACjE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B;eACF;QACD,QAAQ,EAAE,QAAQ,CAAC,MAAM;KAC1B,CAAA;AACH,CAAC;AArBD,0DAqBC"}
1
+ {"version":3,"file":"ERC20Token.js","sourceRoot":"","sources":["../../../../src/v1/protocol/erc20/ERC20Token.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
- import { EthereumSignedTransaction, EthereumUnsignedTransaction } from '../../../../types/transaction';
1
+ import { EthereumRawUnsignedTransaction, EthereumSignedTransaction, EthereumTypedUnsignedTransaction, EthereumUnsignedTransaction } from '../../../../types/transaction';
2
2
  import { EthereumTransactionSignRequest } from '../definitions/transaction-sign-request-ethereum';
3
3
  import { EthereumTypedTransactionSignRequest } from '../definitions/transaction-sign-request-ethereum-typed';
4
4
  import { EthereumTransactionSignResponse } from '../definitions/transaction-sign-response-ethereum';
5
5
  export declare function ethereumUnsignedTransactionToRequest(unsigned: EthereumUnsignedTransaction, publicKey: string, callbackUrl?: string): EthereumTransactionSignRequest | EthereumTypedTransactionSignRequest;
6
+ export declare function ethereumRawUnsignedTransactionToRequest(unsigned: EthereumRawUnsignedTransaction, publicKey: string, callbackUrl?: string): EthereumTransactionSignRequest;
7
+ export declare function ethereumTypedUnsignedTransactionToRequest(unsigned: EthereumTypedUnsignedTransaction, publicKey: string, callbackUrl?: string): EthereumTypedTransactionSignRequest;
6
8
  export declare function ethereumSignedTransactionToResponse(signed: EthereumSignedTransaction, accountIdentifier: string): EthereumTransactionSignResponse;
7
9
  export declare function ethereumTransactionSignRequestToUnsigned(request: EthereumTransactionSignRequest | EthereumTypedTransactionSignRequest): EthereumUnsignedTransaction;
10
+ export declare function ethereumTransactionSignRequestToRawUnsigned(request: EthereumTransactionSignRequest): EthereumRawUnsignedTransaction;
11
+ export declare function ethereumTransactionSignRequestToTypedUnsigned(request: EthereumTypedTransactionSignRequest): EthereumTypedUnsignedTransaction;
8
12
  export declare function ethereumTransactionSignResponseToSigned(response: EthereumTransactionSignResponse): EthereumSignedTransaction;
@@ -22,7 +22,7 @@ var __rest = (this && this.__rest) || function (s, e) {
22
22
  return t;
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.ethereumTransactionSignResponseToSigned = exports.ethereumTransactionSignRequestToUnsigned = exports.ethereumSignedTransactionToResponse = exports.ethereumUnsignedTransactionToRequest = void 0;
25
+ exports.ethereumTransactionSignResponseToSigned = exports.ethereumTransactionSignRequestToTypedUnsigned = exports.ethereumTransactionSignRequestToRawUnsigned = exports.ethereumTransactionSignRequestToUnsigned = exports.ethereumSignedTransactionToResponse = exports.ethereumTypedUnsignedTransactionToRequest = exports.ethereumRawUnsignedTransactionToRequest = exports.ethereumUnsignedTransactionToRequest = void 0;
26
26
  var module_kit_1 = require("@airgap/module-kit");
27
27
  function isEthereumTypedTransactionSignRequest(request) {
28
28
  return (0, module_kit_1.implementsInterface)(request.transaction, {
@@ -45,6 +45,7 @@ function ethereumRawUnsignedTransactionToRequest(unsigned, publicKey, callbackUr
45
45
  callbackURL: callbackUrl
46
46
  };
47
47
  }
48
+ exports.ethereumRawUnsignedTransactionToRequest = ethereumRawUnsignedTransactionToRequest;
48
49
  function ethereumTypedUnsignedTransactionToRequest(unsigned, publicKey, callbackUrl) {
49
50
  var _ = unsigned.type, rest = __rest(unsigned, ["type"]);
50
51
  return {
@@ -53,6 +54,7 @@ function ethereumTypedUnsignedTransactionToRequest(unsigned, publicKey, callback
53
54
  callbackURL: callbackUrl
54
55
  };
55
56
  }
57
+ exports.ethereumTypedUnsignedTransactionToRequest = ethereumTypedUnsignedTransactionToRequest;
56
58
  function ethereumSignedTransactionToResponse(signed, accountIdentifier) {
57
59
  return { transaction: signed.serialized, accountIdentifier: accountIdentifier };
58
60
  }
@@ -66,9 +68,11 @@ exports.ethereumTransactionSignRequestToUnsigned = ethereumTransactionSignReques
66
68
  function ethereumTransactionSignRequestToRawUnsigned(request) {
67
69
  return (0, module_kit_1.newUnsignedTransaction)(__assign({ ethereumType: 'raw' }, request.transaction));
68
70
  }
71
+ exports.ethereumTransactionSignRequestToRawUnsigned = ethereumTransactionSignRequestToRawUnsigned;
69
72
  function ethereumTransactionSignRequestToTypedUnsigned(request) {
70
73
  return (0, module_kit_1.newUnsignedTransaction)(__assign({ ethereumType: 'typed' }, request.transaction));
71
74
  }
75
+ exports.ethereumTransactionSignRequestToTypedUnsigned = ethereumTransactionSignRequestToTypedUnsigned;
72
76
  function ethereumTransactionSignResponseToSigned(response) {
73
77
  return (0, module_kit_1.newSignedTransaction)({ serialized: response.transaction });
74
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-converter.js","sourceRoot":"","sources":["../../../../../../src/v1/serializer/v3/schemas/converter/transaction-converter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAsG;AAetG,SAAS,qCAAqC,CAC5C,OAA6E;IAE7E,OAAO,IAAA,gCAAmB,EAA+C,OAAO,CAAC,WAAW,EAAE;QAC5F,cAAc,EAAE,UAAU;QAC1B,iBAAiB,EAAE,UAAU;QAC7B,UAAU,EAAE,UAAU;KACvB,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,oCAAoC,CAClD,QAAqC,EACrC,SAAiB,EACjB,WAAoB;IAEpB,OAAO,QAAQ,CAAC,YAAY,KAAK,KAAK;QACpC,CAAC,CAAC,uCAAuC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC;QAC3E,CAAC,CAAC,yCAAyC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;AACjF,CAAC;AARD,oFAQC;AAED,SAAS,uCAAuC,CAC9C,QAAwC,EACxC,SAAiB,EACjB,WAAoB;IAEZ,IAAM,CAAC,GAAc,QAAQ,KAAtB,EAAK,IAAI,UAAK,QAAQ,EAA/B,QAAoB,CAAF,CAAa;IAErC,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,SAAS,WAAA;QACT,WAAW,EAAE,WAAW;KACzB,CAAA;AACH,CAAC;AAED,SAAS,yCAAyC,CAChD,QAA0C,EAC1C,SAAiB,EACjB,WAAoB;IAEZ,IAAM,CAAC,GAAc,QAAQ,KAAtB,EAAK,IAAI,UAAK,QAAQ,EAA/B,QAAoB,CAAF,CAAa;IAErC,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,SAAS,WAAA;QACT,WAAW,EAAE,WAAW;KACzB,CAAA;AACH,CAAC;AAED,SAAgB,mCAAmC,CACjD,MAAiC,EACjC,iBAAyB;IAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,iBAAiB,mBAAA,EAAE,CAAA;AAC9D,CAAC;AALD,kFAKC;AAED,SAAgB,wCAAwC,CACtD,OAA6E;IAE7E,OAAO,qCAAqC,CAAC,OAAO,CAAC;QACnD,CAAC,CAAC,6CAA6C,CAAC,OAAO,CAAC;QACxD,CAAC,CAAC,2CAA2C,CAAC,OAAO,CAAC,CAAA;AAC1D,CAAC;AAND,4FAMC;AAED,SAAS,2CAA2C,CAAC,OAAuC;IAC1F,OAAO,IAAA,mCAAsB,aAAmC,YAAY,EAAE,KAAK,IAAK,OAAO,CAAC,WAAW,EAAG,CAAA;AAChH,CAAC;AAED,SAAS,6CAA6C,CAAC,OAA4C;IACjG,OAAO,IAAA,mCAAsB,aAAqC,YAAY,EAAE,OAAO,IAAK,OAAO,CAAC,WAAW,EAAG,CAAA;AACpH,CAAC;AAED,SAAgB,uCAAuC,CAAC,QAAyC;IAC/F,OAAO,IAAA,iCAAoB,EAA4B,EAAE,UAAU,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;AAC9F,CAAC;AAFD,0FAEC"}
1
+ {"version":3,"file":"transaction-converter.js","sourceRoot":"","sources":["../../../../../../src/v1/serializer/v3/schemas/converter/transaction-converter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAsG;AAetG,SAAS,qCAAqC,CAC5C,OAA6E;IAE7E,OAAO,IAAA,gCAAmB,EAA+C,OAAO,CAAC,WAAW,EAAE;QAC5F,cAAc,EAAE,UAAU;QAC1B,iBAAiB,EAAE,UAAU;QAC7B,UAAU,EAAE,UAAU;KACvB,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,oCAAoC,CAClD,QAAqC,EACrC,SAAiB,EACjB,WAAoB;IAEpB,OAAO,QAAQ,CAAC,YAAY,KAAK,KAAK;QACpC,CAAC,CAAC,uCAAuC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC;QAC3E,CAAC,CAAC,yCAAyC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;AACjF,CAAC;AARD,oFAQC;AAED,SAAgB,uCAAuC,CACrD,QAAwC,EACxC,SAAiB,EACjB,WAAoB;IAEZ,IAAM,CAAC,GAAc,QAAQ,KAAtB,EAAK,IAAI,UAAK,QAAQ,EAA/B,QAAoB,CAAF,CAAa;IAErC,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,SAAS,WAAA;QACT,WAAW,EAAE,WAAW;KACzB,CAAA;AACH,CAAC;AAZD,0FAYC;AAED,SAAgB,yCAAyC,CACvD,QAA0C,EAC1C,SAAiB,EACjB,WAAoB;IAEZ,IAAM,CAAC,GAAc,QAAQ,KAAtB,EAAK,IAAI,UAAK,QAAQ,EAA/B,QAAoB,CAAF,CAAa;IAErC,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,SAAS,WAAA;QACT,WAAW,EAAE,WAAW;KACzB,CAAA;AACH,CAAC;AAZD,8FAYC;AAED,SAAgB,mCAAmC,CACjD,MAAiC,EACjC,iBAAyB;IAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,iBAAiB,mBAAA,EAAE,CAAA;AAC9D,CAAC;AALD,kFAKC;AAED,SAAgB,wCAAwC,CACtD,OAA6E;IAE7E,OAAO,qCAAqC,CAAC,OAAO,CAAC;QACnD,CAAC,CAAC,6CAA6C,CAAC,OAAO,CAAC;QACxD,CAAC,CAAC,2CAA2C,CAAC,OAAO,CAAC,CAAA;AAC1D,CAAC;AAND,4FAMC;AAED,SAAgB,2CAA2C,CAAC,OAAuC;IACjG,OAAO,IAAA,mCAAsB,aAAmC,YAAY,EAAE,KAAK,IAAK,OAAO,CAAC,WAAW,EAAG,CAAA;AAChH,CAAC;AAFD,kGAEC;AAED,SAAgB,6CAA6C,CAC3D,OAA4C;IAE5C,OAAO,IAAA,mCAAsB,aAAqC,YAAY,EAAE,OAAO,IAAK,OAAO,CAAC,WAAW,EAAG,CAAA;AACpH,CAAC;AAJD,sGAIC;AAED,SAAgB,uCAAuC,CAAC,QAAyC;IAC/F,OAAO,IAAA,iCAAoB,EAA4B,EAAE,UAAU,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;AAC9F,CAAC;AAFD,0FAEC"}