@airgap/ethereum 0.13.45-beta.2 → 0.13.45-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.
- package/package.json +5 -5
- package/v0/index.js +10 -10
- package/v0/index.js.map +1 -1
- package/v0/protocol/BaseEthereumProtocol.d.ts +0 -1
- package/v0/protocol/BaseEthereumProtocol.js +460 -872
- package/v0/protocol/BaseEthereumProtocol.js.map +1 -1
- package/v0/protocol/EthereumAddress.d.ts +0 -1
- package/v0/protocol/EthereumAddress.js +26 -17
- package/v0/protocol/EthereumAddress.js.map +1 -1
- package/v0/protocol/EthereumClassicProtocol.js +6 -23
- package/v0/protocol/EthereumClassicProtocol.js.map +1 -1
- package/v0/protocol/EthereumCryptoClient.js +66 -125
- package/v0/protocol/EthereumCryptoClient.js.map +1 -1
- package/v0/protocol/EthereumProtocol.js +9 -28
- package/v0/protocol/EthereumProtocol.js.map +1 -1
- package/v0/protocol/EthereumProtocolOptions.d.ts +1 -1
- package/v0/protocol/EthereumProtocolOptions.js +36 -117
- package/v0/protocol/EthereumProtocolOptions.js.map +1 -1
- package/v0/protocol/EthereumRopstenProtocol.js +6 -23
- package/v0/protocol/EthereumRopstenProtocol.js.map +1 -1
- package/v0/protocol/clients/info-clients/EtherscanInfoClient.js +86 -186
- package/v0/protocol/clients/info-clients/EtherscanInfoClient.js.map +1 -1
- package/v0/protocol/clients/info-clients/InfoClient.js +3 -4
- package/v0/protocol/clients/info-clients/InfoClient.js.map +1 -1
- package/v0/protocol/clients/node-clients/AirGapNodeClient.js +126 -298
- package/v0/protocol/clients/node-clients/AirGapNodeClient.js.map +1 -1
- package/v0/protocol/clients/node-clients/NodeClient.js +3 -4
- package/v0/protocol/clients/node-clients/NodeClient.js.map +1 -1
- package/v0/protocol/erc20/ERC20.js +4 -4
- package/v0/protocol/erc20/ERC20.js.map +1 -1
- package/v0/protocol/erc20/GenericERC20.js +161 -300
- package/v0/protocol/erc20/GenericERC20.js.map +1 -1
- package/v0/protocol/utils/utils.js +52 -55
- package/v0/protocol/utils/utils.js.map +1 -1
- package/v0/serializer/validators/transaction-validator.js +23 -31
- package/v0/serializer/validators/transaction-validator.js.map +1 -1
- package/v0/serializer/validators/validators.js +25 -73
- package/v0/serializer/validators/validators.js.map +1 -1
- package/v1/block-explorer/EtherscanBlockExplorer.js +12 -61
- package/v1/block-explorer/EtherscanBlockExplorer.js.map +1 -1
- package/v1/clients/crypto/EthereumCryptoClient.js +69 -124
- package/v1/clients/crypto/EthereumCryptoClient.js.map +1 -1
- package/v1/clients/info/EthereumInfoClient.d.ts +1 -1
- package/v1/clients/info/EthereumInfoClient.js +3 -4
- package/v1/clients/info/EthereumInfoClient.js.map +1 -1
- package/v1/clients/info/EtherscanInfoClient.js +84 -162
- package/v1/clients/info/EtherscanInfoClient.js.map +1 -1
- package/v1/clients/node/HttpEthereumNodeClient.d.ts +2 -2
- package/v1/clients/node/HttpEthereumNodeClient.js +164 -375
- package/v1/clients/node/HttpEthereumNodeClient.js.map +1 -1
- package/v1/data/EthereumAddress.js +29 -20
- package/v1/data/EthereumAddress.js.map +1 -1
- package/v1/index.js +14 -14
- package/v1/index.js.map +1 -1
- package/v1/module/EthereumModule.js +43 -112
- package/v1/module/EthereumModule.js.map +1 -1
- package/v1/module.js +2 -3
- package/v1/module.js.map +1 -1
- package/v1/protocol/EthereumBaseProtocol.js +467 -788
- package/v1/protocol/EthereumBaseProtocol.js.map +1 -1
- package/v1/protocol/EthereumProtocol.js +15 -46
- package/v1/protocol/EthereumProtocol.js.map +1 -1
- package/v1/protocol/erc20/ERC20Protocol.js +213 -360
- package/v1/protocol/erc20/ERC20Protocol.js.map +1 -1
- package/v1/protocol/erc20/ERC20Token.d.ts +1 -1
- package/v1/protocol/erc20/ERC20Token.js +35 -113
- package/v1/protocol/erc20/ERC20Token.js.map +1 -1
- package/v1/serializer/v3/schemas/converter/transaction-converter.js +25 -42
- package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -1
- package/v1/serializer/v3/serializer-companion.js +71 -148
- package/v1/serializer/v3/serializer-companion.js.map +1 -1
- package/v1/serializer/v3/validators/transaction-validator.js +14 -17
- package/v1/serializer/v3/validators/transaction-validator.js.map +1 -1
- package/v1/types/crypto.d.ts +1 -1
- package/v1/types/protocol.d.ts +1 -1
- package/v1/types/transaction.d.ts +1 -1
- package/v1/utils/EthereumUtils.js +57 -60
- package/v1/utils/EthereumUtils.js.map +1 -1
- package/v1/utils/key.js +28 -19
- package/v1/utils/key.js.map +1 -1
- package/v1/utils/protocol.js +33 -21
- package/v1/utils/protocol.js.map +1 -1
|
@@ -1,130 +1,54 @@
|
|
|
1
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
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
-
function step(op) {
|
|
31
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
-
while (_) try {
|
|
33
|
-
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;
|
|
34
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
-
switch (op[0]) {
|
|
36
|
-
case 0: case 1: t = op; break;
|
|
37
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
-
default:
|
|
41
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
-
if (t[2]) _.ops.pop();
|
|
46
|
-
_.trys.pop(); continue;
|
|
47
|
-
}
|
|
48
|
-
op = body.call(thisArg, _);
|
|
49
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
3
|
exports.EthereumERC20ProtocolOptions = exports.EthereumERC20ProtocolConfig = exports.EthereumProtocolOptions = exports.EthereumProtocolConfig = exports.EthereumProtocolNetwork = exports.EtherscanBlockExplorer = exports.EthereumProtocolNetworkExtras = exports.BLOCK_EXPLORER_API = exports.NODE_URL = void 0;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
4
|
+
const ProtocolNetwork_1 = require("@airgap/coinlib-core/utils/ProtocolNetwork");
|
|
5
|
+
const EtherscanInfoClient_1 = require("./clients/info-clients/EtherscanInfoClient");
|
|
6
|
+
const AirGapNodeClient_1 = require("./clients/node-clients/AirGapNodeClient");
|
|
58
7
|
// tslint:disable:max-classes-per-file
|
|
59
|
-
|
|
8
|
+
const MAINNET_NAME = 'Mainnet';
|
|
60
9
|
exports.NODE_URL = 'https://eth-rpc-proxy.airgap.prod.gke.papers.tech';
|
|
61
|
-
|
|
10
|
+
const BLOCK_EXPLORER_URL = 'https://etherscan.io';
|
|
62
11
|
exports.BLOCK_EXPLORER_API = 'https://api.etherscan.io';
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
if (chainID === void 0) { chainID = 1; }
|
|
66
|
-
if (blockExplorerApi === void 0) { blockExplorerApi = exports.BLOCK_EXPLORER_API; }
|
|
12
|
+
class EthereumProtocolNetworkExtras {
|
|
13
|
+
constructor(chainID = 1, blockExplorerApi = exports.BLOCK_EXPLORER_API) {
|
|
67
14
|
this.chainID = chainID;
|
|
68
15
|
this.blockExplorerApi = blockExplorerApi;
|
|
69
16
|
}
|
|
70
|
-
|
|
71
|
-
}());
|
|
17
|
+
}
|
|
72
18
|
exports.EthereumProtocolNetworkExtras = EthereumProtocolNetworkExtras;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if (blockExplorer === void 0) { blockExplorer = BLOCK_EXPLORER_URL; }
|
|
19
|
+
class EtherscanBlockExplorer {
|
|
20
|
+
constructor(blockExplorer = BLOCK_EXPLORER_URL) {
|
|
76
21
|
this.blockExplorer = blockExplorer;
|
|
77
22
|
}
|
|
78
|
-
|
|
79
|
-
return
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
EtherscanBlockExplorer.prototype.getTransactionLink = function (transactionId) {
|
|
86
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
87
|
-
return __generator(this, function (_a) {
|
|
88
|
-
return [2 /*return*/, "".concat(this.blockExplorer, "/tx/").concat(transactionId)];
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
};
|
|
92
|
-
return EtherscanBlockExplorer;
|
|
93
|
-
}());
|
|
23
|
+
async getAddressLink(address) {
|
|
24
|
+
return `${this.blockExplorer}/address/${address}`;
|
|
25
|
+
}
|
|
26
|
+
async getTransactionLink(transactionId) {
|
|
27
|
+
return `${this.blockExplorer}/tx/${transactionId}`;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
94
30
|
exports.EtherscanBlockExplorer = EtherscanBlockExplorer;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
if (name === void 0) { name = MAINNET_NAME; }
|
|
99
|
-
if (type === void 0) { type = ProtocolNetwork_1.NetworkType.MAINNET; }
|
|
100
|
-
if (rpcUrl === void 0) { rpcUrl = exports.NODE_URL; }
|
|
101
|
-
if (blockExplorer === void 0) { blockExplorer = new EtherscanBlockExplorer(); }
|
|
102
|
-
if (extras === void 0) { extras = new EthereumProtocolNetworkExtras(); }
|
|
103
|
-
return _super.call(this, name, type, rpcUrl, blockExplorer, extras) || this;
|
|
31
|
+
class EthereumProtocolNetwork extends ProtocolNetwork_1.ProtocolNetwork {
|
|
32
|
+
constructor(name = MAINNET_NAME, type = ProtocolNetwork_1.NetworkType.MAINNET, rpcUrl = exports.NODE_URL, blockExplorer = new EtherscanBlockExplorer(), extras = new EthereumProtocolNetworkExtras()) {
|
|
33
|
+
super(name, type, rpcUrl, blockExplorer, extras);
|
|
104
34
|
}
|
|
105
|
-
|
|
106
|
-
}(ProtocolNetwork_1.ProtocolNetwork));
|
|
35
|
+
}
|
|
107
36
|
exports.EthereumProtocolNetwork = EthereumProtocolNetwork;
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
return EthereumProtocolConfig;
|
|
112
|
-
}());
|
|
37
|
+
class EthereumProtocolConfig {
|
|
38
|
+
constructor() { }
|
|
39
|
+
}
|
|
113
40
|
exports.EthereumProtocolConfig = EthereumProtocolConfig;
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
if (network === void 0) { network = new EthereumProtocolNetwork(); }
|
|
117
|
-
if (config === void 0) { config = new EthereumProtocolConfig(); }
|
|
41
|
+
class EthereumProtocolOptions {
|
|
42
|
+
constructor(network = new EthereumProtocolNetwork(), config = new EthereumProtocolConfig()) {
|
|
118
43
|
this.network = network;
|
|
119
44
|
this.config = config;
|
|
120
45
|
this.nodeClient = new AirGapNodeClient_1.AirGapNodeClient(network.rpcUrl);
|
|
121
46
|
this.infoClient = new EtherscanInfoClient_1.EtherscanInfoClient(network.extras.blockExplorerApi);
|
|
122
47
|
}
|
|
123
|
-
|
|
124
|
-
}());
|
|
48
|
+
}
|
|
125
49
|
exports.EthereumProtocolOptions = EthereumProtocolOptions;
|
|
126
|
-
|
|
127
|
-
|
|
50
|
+
class EthereumERC20ProtocolConfig {
|
|
51
|
+
constructor(symbol, name, marketSymbol, identifier, contractAddress, decimals) {
|
|
128
52
|
this.symbol = symbol;
|
|
129
53
|
this.name = name;
|
|
130
54
|
this.marketSymbol = marketSymbol;
|
|
@@ -132,19 +56,14 @@ var EthereumERC20ProtocolConfig = /** @class */ (function () {
|
|
|
132
56
|
this.contractAddress = contractAddress;
|
|
133
57
|
this.decimals = decimals;
|
|
134
58
|
}
|
|
135
|
-
|
|
136
|
-
}());
|
|
59
|
+
}
|
|
137
60
|
exports.EthereumERC20ProtocolConfig = EthereumERC20ProtocolConfig;
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
_this.network = network;
|
|
144
|
-
_this.config = config;
|
|
145
|
-
return _this;
|
|
61
|
+
class EthereumERC20ProtocolOptions extends EthereumProtocolOptions {
|
|
62
|
+
constructor(network = new EthereumProtocolNetwork(), config) {
|
|
63
|
+
super(network, config);
|
|
64
|
+
this.network = network;
|
|
65
|
+
this.config = config;
|
|
146
66
|
}
|
|
147
|
-
|
|
148
|
-
}(EthereumProtocolOptions));
|
|
67
|
+
}
|
|
149
68
|
exports.EthereumERC20ProtocolOptions = EthereumERC20ProtocolOptions;
|
|
150
69
|
//# sourceMappingURL=EthereumProtocolOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EthereumProtocolOptions.js","sourceRoot":"","sources":["../../../src/v0/protocol/EthereumProtocolOptions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EthereumProtocolOptions.js","sourceRoot":"","sources":["../../../src/v0/protocol/EthereumProtocolOptions.ts"],"names":[],"mappings":";;;AACA,gFAAyF;AAIzF,oFAAgF;AAEhF,8EAA0E;AAG1E,sCAAsC;AAEtC,MAAM,YAAY,GAAW,SAAS,CAAA;AAEzB,QAAA,QAAQ,GAAW,mDAAmD,CAAA;AAEnF,MAAM,kBAAkB,GAAW,sBAAsB,CAAA;AAC5C,QAAA,kBAAkB,GAAW,0BAA0B,CAAA;AAEpE,MAAa,6BAA6B;IACxC,YAA4B,UAAkB,CAAC,EAAkB,mBAA2B,0BAAkB;QAAlF,YAAO,GAAP,OAAO,CAAY;QAAkB,qBAAgB,GAAhB,gBAAgB,CAA6B;IAAG,CAAC;CACnH;AAFD,sEAEC;AAED,MAAa,sBAAsB;IACjC,YAA4B,gBAAwB,kBAAkB;QAA1C,kBAAa,GAAb,aAAa,CAA6B;IAAG,CAAC;IAEnE,KAAK,CAAC,cAAc,CAAC,OAAe;QACzC,OAAO,GAAG,IAAI,CAAC,aAAa,YAAY,OAAO,EAAE,CAAA;IACnD,CAAC;IACM,KAAK,CAAC,kBAAkB,CAAC,aAAqB;QACnD,OAAO,GAAG,IAAI,CAAC,aAAa,OAAO,aAAa,EAAE,CAAA;IACpD,CAAC;CACF;AATD,wDASC;AAED,MAAa,uBAAwB,SAAQ,iCAA8C;IACzF,YACE,OAAe,YAAY,EAC3B,OAAoB,6BAAW,CAAC,OAAO,EACvC,SAAiB,gBAAQ,EACzB,gBAAuC,IAAI,sBAAsB,EAAE,EACnE,SAAwC,IAAI,6BAA6B,EAAE;QAE3E,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;IAClD,CAAC;CACF;AAVD,0DAUC;AAED,MAAa,sBAAsB;IACjC,gBAAe,CAAC;CACjB;AAFD,wDAEC;AAED,MAAa,uBAAuB;IAIlC,YACkB,UAAmC,IAAI,uBAAuB,EAAE,EAChE,SAAiC,IAAI,sBAAsB,EAAE;QAD7D,YAAO,GAAP,OAAO,CAAyD;QAChE,WAAM,GAAN,MAAM,CAAuD;QAE7E,IAAI,CAAC,UAAU,GAAG,IAAI,mCAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACtD,IAAI,CAAC,UAAU,GAAG,IAAI,yCAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAC5E,CAAC;CACF;AAXD,0DAWC;AAED,MAAa,2BAA2B;IACtC,YACkB,MAAc,EACd,IAAY,EACZ,YAAoB,EACpB,UAA8B,EAC9B,eAAuB,EACvB,QAAgB;QALhB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAQ;QACZ,iBAAY,GAAZ,YAAY,CAAQ;QACpB,eAAU,GAAV,UAAU,CAAoB;QAC9B,oBAAe,GAAf,eAAe,CAAQ;QACvB,aAAQ,GAAR,QAAQ,CAAQ;IAC/B,CAAC;CACL;AATD,kEASC;AAED,MAAa,4BAA6B,SAAQ,uBAAuB;IACvE,YACkB,UAAmC,IAAI,uBAAuB,EAAE,EAChE,MAAmC;QAEnD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAHN,YAAO,GAAP,OAAO,CAAyD;QAChE,WAAM,GAAN,MAAM,CAA6B;IAGrD,CAAC;CACF;AAPD,oEAOC"}
|
|
@@ -1,30 +1,13 @@
|
|
|
1
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
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.EthereumRopstenProtocol = void 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
function EthereumRopstenProtocol() {
|
|
4
|
+
const BaseEthereumProtocol_1 = require("./BaseEthereumProtocol");
|
|
5
|
+
const EthereumProtocolOptions_1 = require("./EthereumProtocolOptions");
|
|
6
|
+
class EthereumRopstenProtocol extends BaseEthereumProtocol_1.BaseEthereumProtocol {
|
|
7
|
+
constructor() {
|
|
24
8
|
// we probably need another network here, explorer is ok
|
|
25
|
-
|
|
9
|
+
super(new EthereumProtocolOptions_1.EthereumProtocolOptions(new EthereumProtocolOptions_1.EthereumProtocolNetwork(undefined, undefined, 'https://ropsten.infura.io', undefined, new EthereumProtocolOptions_1.EthereumProtocolNetworkExtras(3, 'https://api-ropsten.etherscan.io/'))));
|
|
26
10
|
}
|
|
27
|
-
|
|
28
|
-
}(BaseEthereumProtocol_1.BaseEthereumProtocol));
|
|
11
|
+
}
|
|
29
12
|
exports.EthereumRopstenProtocol = EthereumRopstenProtocol;
|
|
30
13
|
//# sourceMappingURL=EthereumRopstenProtocol.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EthereumRopstenProtocol.js","sourceRoot":"","sources":["../../../src/v0/protocol/EthereumRopstenProtocol.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EthereumRopstenProtocol.js","sourceRoot":"","sources":["../../../src/v0/protocol/EthereumRopstenProtocol.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,uEAA2H;AAE3H,MAAa,uBAAwB,SAAQ,2CAA2D;IACtG;QACE,wDAAwD;QACxD,KAAK,CACH,IAAI,iDAAuB,CACzB,IAAI,iDAAuB,CACzB,SAAS,EACT,SAAS,EACT,2BAA2B,EAC3B,SAAS,EACT,IAAI,uDAA6B,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAC1E,CACF,CACF,CAAA;IACH,CAAC;CACF;AAfD,0DAeC"}
|
|
@@ -1,195 +1,95 @@
|
|
|
1
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
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
-
function step(op) {
|
|
31
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
-
while (_) try {
|
|
33
|
-
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;
|
|
34
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
-
switch (op[0]) {
|
|
36
|
-
case 0: case 1: t = op; break;
|
|
37
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
-
default:
|
|
41
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
-
if (t[2]) _.ops.pop();
|
|
46
|
-
_.trys.pop(); continue;
|
|
47
|
-
}
|
|
48
|
-
op = body.call(thisArg, _);
|
|
49
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
54
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
55
4
|
};
|
|
56
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
6
|
exports.EtherscanInfoClient = void 0;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
7
|
+
const axios_0_19_0_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/axios-0.19.0"));
|
|
8
|
+
const bignumber_1 = require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber");
|
|
9
|
+
const validate_1 = require("@airgap/coinlib-core/dependencies/src/validate.js-0.13.1/validate");
|
|
10
|
+
const IAirGapTransaction_1 = require("@airgap/coinlib-core/interfaces/IAirGapTransaction");
|
|
11
|
+
const EthereumProtocolOptions_1 = require("../../EthereumProtocolOptions");
|
|
12
|
+
const InfoClient_1 = require("./InfoClient");
|
|
13
|
+
const errors_1 = require("@airgap/coinlib-core/errors");
|
|
14
|
+
const coinlib_error_1 = require("@airgap/coinlib-core/errors/coinlib-error");
|
|
15
|
+
class EtherscanInfoClient extends InfoClient_1.EthereumInfoClient {
|
|
16
|
+
constructor(baseURL = EthereumProtocolOptions_1.BLOCK_EXPLORER_API) {
|
|
17
|
+
super(baseURL);
|
|
18
|
+
}
|
|
19
|
+
async fetchTransactions(protocol, address, limit, cursor) {
|
|
20
|
+
const airGapTransactions = [];
|
|
21
|
+
const url = cursor
|
|
22
|
+
? `${this.baseURL}/api?module=account&action=txlist&address=${address}&page=${cursor.page}&offset=${limit}&sort=desc&apiKey=P63MEHEYBM5BGEG5WFN76VPNCET8B2MAP7`
|
|
23
|
+
: `${this.baseURL}/api?module=account&action=txlist&address=${address}&page=1&offset=${limit}&sort=desc&apiKey=P63MEHEYBM5BGEG5WFN76VPNCET8B2MAP7`;
|
|
24
|
+
const response = await axios_0_19_0_1.default.get(url);
|
|
25
|
+
const transactionResponse = response.data;
|
|
26
|
+
const transactions = transactionResponse.result;
|
|
27
|
+
if (transactionResponse.status === '0' && (transactions === undefined || !(0, validate_1.isArray)(transactions))) {
|
|
28
|
+
throw new errors_1.NetworkError(coinlib_error_1.Domain.ETHEREUM, { response });
|
|
29
|
+
}
|
|
30
|
+
for (const transaction of transactions) {
|
|
31
|
+
const fee = new bignumber_1.BigNumber(transaction.gas).times(new bignumber_1.BigNumber(transaction.gasPrice));
|
|
32
|
+
const airGapTransaction = {
|
|
33
|
+
hash: transaction.hash,
|
|
34
|
+
from: [transaction.from],
|
|
35
|
+
to: [transaction.to],
|
|
36
|
+
isInbound: transaction.to.toLowerCase() === address.toLowerCase(),
|
|
37
|
+
amount: new bignumber_1.BigNumber(transaction.value).toString(10),
|
|
38
|
+
fee: fee.toString(10),
|
|
39
|
+
blockHeight: transaction.blockNumber,
|
|
40
|
+
protocolIdentifier: await protocol.getIdentifier(),
|
|
41
|
+
network: (await protocol.getOptions()).network,
|
|
42
|
+
timestamp: parseInt(transaction.timeStamp, 10),
|
|
43
|
+
status: transaction.txreceipt_status === undefined || transaction.txreceipt_status === '1'
|
|
44
|
+
? IAirGapTransaction_1.AirGapTransactionStatus.APPLIED
|
|
45
|
+
: IAirGapTransaction_1.AirGapTransactionStatus.FAILED
|
|
46
|
+
};
|
|
47
|
+
airGapTransactions.push(airGapTransaction);
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
transactions: airGapTransactions,
|
|
51
|
+
cursor: {
|
|
52
|
+
page: cursor ? cursor.page + 1 : 2
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
async fetchContractTransactions(protocol, contractAddress, address, limit, cursor) {
|
|
57
|
+
const airGapTransactions = [];
|
|
58
|
+
const url = cursor
|
|
59
|
+
? `${this.baseURL}/api?module=account&action=tokentx&address=${address}&contractAddress=${contractAddress}&page=${cursor.page}&offset=${limit}&sort=desc&apiKey=P63MEHEYBM5BGEG5WFN76VPNCET8B2MAP7`
|
|
60
|
+
: `${this.baseURL}/api?module=account&action=tokentx&address=${address}&contractAddress=${contractAddress}&page=1&offset=${limit}&sort=desc&apiKey=P63MEHEYBM5BGEG5WFN76VPNCET8B2MAP7`;
|
|
61
|
+
const response = await axios_0_19_0_1.default.get(url);
|
|
62
|
+
const transactionResponse = response.data;
|
|
63
|
+
const transactions = transactionResponse.result;
|
|
64
|
+
if (transactionResponse.status === '0' && (transactions === undefined || !(0, validate_1.isArray)(transactions))) {
|
|
65
|
+
throw new errors_1.NetworkError(coinlib_error_1.Domain.ETHEREUM, { response });
|
|
66
|
+
}
|
|
67
|
+
for (const transaction of transactions) {
|
|
68
|
+
const fee = new bignumber_1.BigNumber(transaction.gas).times(new bignumber_1.BigNumber(transaction.gasPrice));
|
|
69
|
+
const airGapTransaction = {
|
|
70
|
+
hash: transaction.hash,
|
|
71
|
+
from: [transaction.from],
|
|
72
|
+
to: [transaction.to],
|
|
73
|
+
isInbound: transaction.to.toLowerCase() === address.toLowerCase(),
|
|
74
|
+
blockHeight: transaction.blockNumber,
|
|
75
|
+
protocolIdentifier: await protocol.getIdentifier(),
|
|
76
|
+
network: (await protocol.getOptions()).network,
|
|
77
|
+
amount: new bignumber_1.BigNumber(transaction.value).toString(10),
|
|
78
|
+
fee: fee.toString(10),
|
|
79
|
+
timestamp: parseInt(transaction.timeStamp, 10),
|
|
80
|
+
status: transaction.txreceipt_status === undefined || transaction.txreceipt_status === '1'
|
|
81
|
+
? IAirGapTransaction_1.AirGapTransactionStatus.APPLIED
|
|
82
|
+
: IAirGapTransaction_1.AirGapTransactionStatus.FAILED
|
|
83
|
+
};
|
|
84
|
+
airGapTransactions.push(airGapTransaction);
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
transactions: airGapTransactions,
|
|
88
|
+
cursor: {
|
|
89
|
+
page: cursor ? cursor.page + 1 : 2
|
|
90
|
+
}
|
|
91
|
+
};
|
|
71
92
|
}
|
|
72
|
-
|
|
73
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
74
|
-
var airGapTransactions, url, response, transactionResponse, transactions, _i, transactions_1, transaction, fee, airGapTransaction;
|
|
75
|
-
var _a;
|
|
76
|
-
return __generator(this, function (_b) {
|
|
77
|
-
switch (_b.label) {
|
|
78
|
-
case 0:
|
|
79
|
-
airGapTransactions = [];
|
|
80
|
-
url = cursor
|
|
81
|
-
? "".concat(this.baseURL, "/api?module=account&action=txlist&address=").concat(address, "&page=").concat(cursor.page, "&offset=").concat(limit, "&sort=desc&apiKey=P63MEHEYBM5BGEG5WFN76VPNCET8B2MAP7")
|
|
82
|
-
: "".concat(this.baseURL, "/api?module=account&action=txlist&address=").concat(address, "&page=1&offset=").concat(limit, "&sort=desc&apiKey=P63MEHEYBM5BGEG5WFN76VPNCET8B2MAP7");
|
|
83
|
-
return [4 /*yield*/, axios_0_19_0_1.default.get(url)];
|
|
84
|
-
case 1:
|
|
85
|
-
response = _b.sent();
|
|
86
|
-
transactionResponse = response.data;
|
|
87
|
-
transactions = transactionResponse.result;
|
|
88
|
-
if (transactionResponse.status === '0' && (transactions === undefined || !(0, validate_1.isArray)(transactions))) {
|
|
89
|
-
throw new errors_1.NetworkError(coinlib_error_1.Domain.ETHEREUM, { response: response });
|
|
90
|
-
}
|
|
91
|
-
_i = 0, transactions_1 = transactions;
|
|
92
|
-
_b.label = 2;
|
|
93
|
-
case 2:
|
|
94
|
-
if (!(_i < transactions_1.length)) return [3 /*break*/, 6];
|
|
95
|
-
transaction = transactions_1[_i];
|
|
96
|
-
fee = new bignumber_1.BigNumber(transaction.gas).times(new bignumber_1.BigNumber(transaction.gasPrice));
|
|
97
|
-
_a = {
|
|
98
|
-
hash: transaction.hash,
|
|
99
|
-
from: [transaction.from],
|
|
100
|
-
to: [transaction.to],
|
|
101
|
-
isInbound: transaction.to.toLowerCase() === address.toLowerCase(),
|
|
102
|
-
amount: new bignumber_1.BigNumber(transaction.value).toString(10),
|
|
103
|
-
fee: fee.toString(10),
|
|
104
|
-
blockHeight: transaction.blockNumber
|
|
105
|
-
};
|
|
106
|
-
return [4 /*yield*/, protocol.getIdentifier()];
|
|
107
|
-
case 3:
|
|
108
|
-
_a.protocolIdentifier = _b.sent();
|
|
109
|
-
return [4 /*yield*/, protocol.getOptions()];
|
|
110
|
-
case 4:
|
|
111
|
-
airGapTransaction = (_a.network = (_b.sent()).network,
|
|
112
|
-
_a.timestamp = parseInt(transaction.timeStamp, 10),
|
|
113
|
-
_a.status = transaction.txreceipt_status === undefined || transaction.txreceipt_status === '1'
|
|
114
|
-
? IAirGapTransaction_1.AirGapTransactionStatus.APPLIED
|
|
115
|
-
: IAirGapTransaction_1.AirGapTransactionStatus.FAILED,
|
|
116
|
-
_a);
|
|
117
|
-
airGapTransactions.push(airGapTransaction);
|
|
118
|
-
_b.label = 5;
|
|
119
|
-
case 5:
|
|
120
|
-
_i++;
|
|
121
|
-
return [3 /*break*/, 2];
|
|
122
|
-
case 6: return [2 /*return*/, {
|
|
123
|
-
transactions: airGapTransactions,
|
|
124
|
-
cursor: {
|
|
125
|
-
page: cursor ? cursor.page + 1 : 2
|
|
126
|
-
}
|
|
127
|
-
}];
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
};
|
|
132
|
-
EtherscanInfoClient.prototype.fetchContractTransactions = function (protocol, contractAddress, address, limit, cursor) {
|
|
133
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
134
|
-
var airGapTransactions, url, response, transactionResponse, transactions, _i, transactions_2, transaction, fee, airGapTransaction;
|
|
135
|
-
var _a;
|
|
136
|
-
return __generator(this, function (_b) {
|
|
137
|
-
switch (_b.label) {
|
|
138
|
-
case 0:
|
|
139
|
-
airGapTransactions = [];
|
|
140
|
-
url = cursor
|
|
141
|
-
? "".concat(this.baseURL, "/api?module=account&action=tokentx&address=").concat(address, "&contractAddress=").concat(contractAddress, "&page=").concat(cursor.page, "&offset=").concat(limit, "&sort=desc&apiKey=P63MEHEYBM5BGEG5WFN76VPNCET8B2MAP7")
|
|
142
|
-
: "".concat(this.baseURL, "/api?module=account&action=tokentx&address=").concat(address, "&contractAddress=").concat(contractAddress, "&page=1&offset=").concat(limit, "&sort=desc&apiKey=P63MEHEYBM5BGEG5WFN76VPNCET8B2MAP7");
|
|
143
|
-
return [4 /*yield*/, axios_0_19_0_1.default.get(url)];
|
|
144
|
-
case 1:
|
|
145
|
-
response = _b.sent();
|
|
146
|
-
transactionResponse = response.data;
|
|
147
|
-
transactions = transactionResponse.result;
|
|
148
|
-
if (transactionResponse.status === '0' && (transactions === undefined || !(0, validate_1.isArray)(transactions))) {
|
|
149
|
-
throw new errors_1.NetworkError(coinlib_error_1.Domain.ETHEREUM, { response: response });
|
|
150
|
-
}
|
|
151
|
-
_i = 0, transactions_2 = transactions;
|
|
152
|
-
_b.label = 2;
|
|
153
|
-
case 2:
|
|
154
|
-
if (!(_i < transactions_2.length)) return [3 /*break*/, 6];
|
|
155
|
-
transaction = transactions_2[_i];
|
|
156
|
-
fee = new bignumber_1.BigNumber(transaction.gas).times(new bignumber_1.BigNumber(transaction.gasPrice));
|
|
157
|
-
_a = {
|
|
158
|
-
hash: transaction.hash,
|
|
159
|
-
from: [transaction.from],
|
|
160
|
-
to: [transaction.to],
|
|
161
|
-
isInbound: transaction.to.toLowerCase() === address.toLowerCase(),
|
|
162
|
-
blockHeight: transaction.blockNumber
|
|
163
|
-
};
|
|
164
|
-
return [4 /*yield*/, protocol.getIdentifier()];
|
|
165
|
-
case 3:
|
|
166
|
-
_a.protocolIdentifier = _b.sent();
|
|
167
|
-
return [4 /*yield*/, protocol.getOptions()];
|
|
168
|
-
case 4:
|
|
169
|
-
airGapTransaction = (_a.network = (_b.sent()).network,
|
|
170
|
-
_a.amount = new bignumber_1.BigNumber(transaction.value).toString(10),
|
|
171
|
-
_a.fee = fee.toString(10),
|
|
172
|
-
_a.timestamp = parseInt(transaction.timeStamp, 10),
|
|
173
|
-
_a.status = transaction.txreceipt_status === undefined || transaction.txreceipt_status === '1'
|
|
174
|
-
? IAirGapTransaction_1.AirGapTransactionStatus.APPLIED
|
|
175
|
-
: IAirGapTransaction_1.AirGapTransactionStatus.FAILED,
|
|
176
|
-
_a);
|
|
177
|
-
airGapTransactions.push(airGapTransaction);
|
|
178
|
-
_b.label = 5;
|
|
179
|
-
case 5:
|
|
180
|
-
_i++;
|
|
181
|
-
return [3 /*break*/, 2];
|
|
182
|
-
case 6: return [2 /*return*/, {
|
|
183
|
-
transactions: airGapTransactions,
|
|
184
|
-
cursor: {
|
|
185
|
-
page: cursor ? cursor.page + 1 : 2
|
|
186
|
-
}
|
|
187
|
-
}];
|
|
188
|
-
}
|
|
189
|
-
});
|
|
190
|
-
});
|
|
191
|
-
};
|
|
192
|
-
return EtherscanInfoClient;
|
|
193
|
-
}(InfoClient_1.EthereumInfoClient));
|
|
93
|
+
}
|
|
194
94
|
exports.EtherscanInfoClient = EtherscanInfoClient;
|
|
195
95
|
//# sourceMappingURL=EtherscanInfoClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EtherscanInfoClient.js","sourceRoot":"","sources":["../../../../../src/v0/protocol/clients/info-clients/EtherscanInfoClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EtherscanInfoClient.js","sourceRoot":"","sources":["../../../../../src/v0/protocol/clients/info-clients/EtherscanInfoClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EthereumInfoClient = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
class EthereumInfoClient {
|
|
5
|
+
constructor(baseURL) {
|
|
6
6
|
this.baseURL = baseURL;
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
}());
|
|
8
|
+
}
|
|
10
9
|
exports.EthereumInfoClient = EthereumInfoClient;
|
|
11
10
|
//# sourceMappingURL=InfoClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoClient.js","sourceRoot":"","sources":["../../../../../src/v0/protocol/clients/info-clients/InfoClient.ts"],"names":[],"mappings":";;;AAGA;
|
|
1
|
+
{"version":3,"file":"InfoClient.js","sourceRoot":"","sources":["../../../../../src/v0/protocol/clients/info-clients/InfoClient.ts"],"names":[],"mappings":";;;AAGA,MAAsB,kBAAkB;IAGtC,YAAY,OAAe;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CAeF;AApBD,gDAoBC"}
|