@airgap/optimism 0.13.45-beta.3 → 0.13.45-beta.4
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 +6 -6
- package/v1/client/info/OptimismInfoClient.d.ts +1 -1
- package/v1/client/node/HttpOptimismNodeClient.js +90 -24
- package/v1/client/node/HttpOptimismNodeClient.js.map +1 -1
- package/v1/index.js +4 -4
- package/v1/index.js.map +1 -1
- package/v1/module/OptimismModule.js +161 -71
- package/v1/module/OptimismModule.js.map +1 -1
- package/v1/module.js +3 -2
- package/v1/module.js.map +1 -1
- package/v1/protocol/OptimismBaseProtocol.js +352 -154
- package/v1/protocol/OptimismBaseProtocol.js.map +1 -1
- package/v1/protocol/OptimismProtocol.js +54 -27
- package/v1/protocol/OptimismProtocol.js.map +1 -1
- package/v1/protocol/erc20/ERC20Token.js +169 -63
- package/v1/protocol/erc20/ERC20Token.js.map +1 -1
- package/v1/serializer/v3/schemas/converter/transaction-converter.js +30 -30
- package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -1
- package/v1/serializer/v3/serializer-companion.js +152 -73
- package/v1/serializer/v3/serializer-companion.js.map +1 -1
- package/v1/serializer/v3/validators/transaction-validator.js +23 -3
- package/v1/serializer/v3/validators/transaction-validator.js.map +1 -1
- package/v1/types/crypto.d.ts +1 -1
- package/v1/types/transaction.d.ts +3 -3
- package/v1/utils/protocol.js +19 -30
- package/v1/utils/protocol.js.map +1 -1
|
@@ -1,30 +1,52 @@
|
|
|
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 __assign = (this && this.__assign) || function () {
|
|
18
|
+
__assign = Object.assign || function(t) {
|
|
19
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
+
s = arguments[i];
|
|
21
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
+
t[p] = s[p];
|
|
23
|
+
}
|
|
24
|
+
return t;
|
|
25
|
+
};
|
|
26
|
+
return __assign.apply(this, arguments);
|
|
27
|
+
};
|
|
2
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OPTIMISM_MAINNET_PROTOCOL_NETWORK = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const HttpOptimismNodeClient_1 = require("../client/node/HttpOptimismNodeClient");
|
|
10
|
-
const OptimismBaseProtocol_1 = require("./OptimismBaseProtocol");
|
|
29
|
+
exports.createOptimismProtocolOptions = exports.OPTIMISM_MAINNET_PROTOCOL_NETWORK = exports.createOptimismProtocol = void 0;
|
|
30
|
+
var coinlib_core_1 = require("@airgap/coinlib-core");
|
|
31
|
+
var v1_1 = require("@airgap/ethereum/v1");
|
|
32
|
+
var module_kit_1 = require("@airgap/module-kit");
|
|
33
|
+
var HttpOptimismNodeClient_1 = require("../client/node/HttpOptimismNodeClient");
|
|
34
|
+
var OptimismBaseProtocol_1 = require("./OptimismBaseProtocol");
|
|
11
35
|
// Implementation
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
36
|
+
var OptimismProtocolImpl = /** @class */ (function (_super) {
|
|
37
|
+
__extends(OptimismProtocolImpl, _super);
|
|
38
|
+
function OptimismProtocolImpl(options) {
|
|
39
|
+
var completeOptions = createOptimismProtocolOptions(options.network);
|
|
40
|
+
var nodeClient = new HttpOptimismNodeClient_1.HttpOptimismNodeClient(completeOptions.network.rpcUrl);
|
|
41
|
+
var infoClient = new v1_1.EtherscanInfoClient(completeOptions.network.blockExplorerApi);
|
|
42
|
+
var baseProtocolOptions = {
|
|
18
43
|
network: completeOptions.network,
|
|
19
44
|
identifier: coinlib_core_1.MainProtocolSymbols.OPTIMISM,
|
|
20
45
|
name: 'Optimism',
|
|
21
|
-
units: {
|
|
22
|
-
|
|
23
|
-
ETH: {
|
|
24
|
-
symbol: { ...v1_1.DEFAULT_ETHEREUM_UNITS_METADATA.ETH.symbol, asset: 'OP' },
|
|
46
|
+
units: __assign(__assign({}, v1_1.DEFAULT_ETHEREUM_UNITS_METADATA), { ETH: {
|
|
47
|
+
symbol: __assign(__assign({}, v1_1.DEFAULT_ETHEREUM_UNITS_METADATA.ETH.symbol), { asset: 'OP' }),
|
|
25
48
|
decimals: v1_1.DEFAULT_ETHEREUM_UNITS_METADATA.ETH.decimals
|
|
26
|
-
}
|
|
27
|
-
},
|
|
49
|
+
} }),
|
|
28
50
|
mainUnit: 'ETH',
|
|
29
51
|
// The layer 2 gas price is normally 0.001 gwei, but it increases when experiencing heavy congestion
|
|
30
52
|
feeDefaults: {
|
|
@@ -33,14 +55,17 @@ class OptimismProtocolImpl extends OptimismBaseProtocol_1.OptimismBaseProtocolIm
|
|
|
33
55
|
high: (0, module_kit_1.newAmount)(44.1 /* 21000 GAS * 0.0021 GWEI */, 'GWEI').blockchain(v1_1.DEFAULT_ETHEREUM_UNITS_METADATA)
|
|
34
56
|
}
|
|
35
57
|
};
|
|
36
|
-
|
|
37
|
-
|
|
58
|
+
var ethereumProtocol = new v1_1.EthereumBaseProtocolImpl(nodeClient, infoClient, baseProtocolOptions);
|
|
59
|
+
return _super.call(this, ethereumProtocol, nodeClient, infoClient, completeOptions) || this;
|
|
38
60
|
}
|
|
39
|
-
|
|
61
|
+
return OptimismProtocolImpl;
|
|
62
|
+
}(OptimismBaseProtocol_1.OptimismBaseProtocolImpl));
|
|
40
63
|
// Factory
|
|
41
|
-
function createOptimismProtocol(options
|
|
64
|
+
function createOptimismProtocol(options) {
|
|
65
|
+
if (options === void 0) { options = {}; }
|
|
42
66
|
return new OptimismProtocolImpl(options);
|
|
43
67
|
}
|
|
68
|
+
exports.createOptimismProtocol = createOptimismProtocol;
|
|
44
69
|
exports.OPTIMISM_MAINNET_PROTOCOL_NETWORK = {
|
|
45
70
|
name: 'Mainnet',
|
|
46
71
|
type: 'mainnet',
|
|
@@ -50,10 +75,12 @@ exports.OPTIMISM_MAINNET_PROTOCOL_NETWORK = {
|
|
|
50
75
|
blockExplorerApi: 'https://optimism-indexer.prod.gke.papers.tech',
|
|
51
76
|
gasPriceOracleAddress: '0x420000000000000000000000000000000000000F'
|
|
52
77
|
};
|
|
53
|
-
|
|
54
|
-
function createOptimismProtocolOptions(network
|
|
78
|
+
var DEFAULT_OPTIMISM_PROTOCOL_NETWORK = exports.OPTIMISM_MAINNET_PROTOCOL_NETWORK;
|
|
79
|
+
function createOptimismProtocolOptions(network) {
|
|
80
|
+
if (network === void 0) { network = {}; }
|
|
55
81
|
return {
|
|
56
|
-
network: {
|
|
82
|
+
network: __assign(__assign({}, DEFAULT_OPTIMISM_PROTOCOL_NETWORK), network)
|
|
57
83
|
};
|
|
58
84
|
}
|
|
85
|
+
exports.createOptimismProtocolOptions = createOptimismProtocolOptions;
|
|
59
86
|
//# sourceMappingURL=OptimismProtocol.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptimismProtocol.js","sourceRoot":"","sources":["../../../src/v1/protocol/OptimismProtocol.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OptimismProtocol.js","sourceRoot":"","sources":["../../../src/v1/protocol/OptimismProtocol.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAA0D;AAC1D,0CAM4B;AAC5B,iDAAgE;AAEhE,gFAA8E;AAG9E,+DAAuF;AAMvF,iBAAiB;AAEjB;IAAmC,wCAAwB;IACzD,8BAAY,OAAkD;QAC5D,IAAM,eAAe,GAAG,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAEtE,IAAM,UAAU,GAAG,IAAI,+CAAsB,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC7E,IAAM,UAAU,GAAG,IAAI,wBAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAEpF,IAAM,mBAAmB,GAAwE;YAC/F,OAAO,EAAE,eAAe,CAAC,OAAO;YAEhC,UAAU,EAAE,kCAAmB,CAAC,QAAQ;YACxC,IAAI,EAAE,UAAU;YAEhB,KAAK,wBACA,oCAA+B,KAClC,GAAG,EAAE;oBACH,MAAM,wBAAO,oCAA+B,CAAC,GAAG,CAAC,MAAM,KAAE,KAAK,EAAE,IAAI,GAAE;oBACtE,QAAQ,EAAE,oCAA+B,CAAC,GAAG,CAAC,QAAQ;iBACvD,GACF;YACD,QAAQ,EAAE,KAAK;YAEf,oGAAoG;YACpG,WAAW,EAAE;gBACX,GAAG,EAAE,IAAA,sBAAS,EAAC,KAAK,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,oCAA+B,CAAC;gBACxG,MAAM,EAAE,IAAA,sBAAS,EAAC,KAAK,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,oCAA+B,CAAC;gBAC3G,IAAI,EAAE,IAAA,sBAAS,EAAC,IAAI,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,oCAA+B,CAAC;aACxG;SACF,CAAA;QAED,IAAM,gBAAgB,GAAG,IAAI,6BAAwB,CAAC,UAAU,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAA;eAElG,kBAAM,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,CAAC;IAClE,CAAC;IACH,2BAAC;AAAD,CAAC,AAlCD,CAAmC,+CAAwB,GAkC1D;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,4CAA4C;IACpD,OAAO,EAAE,EAAE;IACX,gBAAgB,EAAE,iCAAiC;IACnD,gBAAgB,EAAE,+CAA+C;IACjE,qBAAqB,EAAE,4CAA4C;CACpE,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,92 +1,198 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Factory
|
|
3
|
+
var __extends = (this && this.__extends) || (function () {
|
|
4
|
+
var extendStatics = function (d, b) {
|
|
5
|
+
extendStatics = Object.setPrototypeOf ||
|
|
6
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
7
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
8
|
+
return extendStatics(d, b);
|
|
9
|
+
};
|
|
10
|
+
return function (d, b) {
|
|
11
|
+
if (typeof b !== "function" && b !== null)
|
|
12
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
13
|
+
extendStatics(d, b);
|
|
14
|
+
function __() { this.constructor = d; }
|
|
15
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
16
|
+
};
|
|
17
|
+
})();
|
|
18
|
+
var __assign = (this && this.__assign) || function () {
|
|
19
|
+
__assign = Object.assign || function(t) {
|
|
20
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
21
|
+
s = arguments[i];
|
|
22
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
23
|
+
t[p] = s[p];
|
|
24
|
+
}
|
|
25
|
+
return t;
|
|
26
|
+
};
|
|
27
|
+
return __assign.apply(this, arguments);
|
|
28
|
+
};
|
|
29
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
30
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
31
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
32
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
33
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
34
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
35
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
39
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
40
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
41
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
42
|
+
function step(op) {
|
|
43
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
44
|
+
while (_) try {
|
|
45
|
+
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;
|
|
46
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
47
|
+
switch (op[0]) {
|
|
48
|
+
case 0: case 1: t = op; break;
|
|
49
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
50
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
51
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
52
|
+
default:
|
|
53
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
54
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
55
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
56
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
57
|
+
if (t[2]) _.ops.pop();
|
|
58
|
+
_.trys.pop(); continue;
|
|
59
|
+
}
|
|
60
|
+
op = body.call(thisArg, _);
|
|
61
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
62
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
63
|
+
}
|
|
64
|
+
};
|
|
3
65
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.OPTIMISM_ERC20_MAINNET_PROTOCOL_NETWORK = void 0;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const v1_1 = require("@airgap/ethereum/v1");
|
|
12
|
-
const module_kit_1 = require("@airgap/module-kit");
|
|
13
|
-
const HttpOptimismNodeClient_1 = require("../../client/node/HttpOptimismNodeClient");
|
|
14
|
-
const OptimismBaseProtocol_1 = require("../OptimismBaseProtocol");
|
|
15
|
-
const OptimismProtocol_1 = require("../OptimismProtocol");
|
|
66
|
+
exports.isSerializedERC20Token = exports.deserializeERC20Token = exports.serializeERC20Token = exports.createERC20TokenOptions = exports.OPTIMISM_ERC20_MAINNET_PROTOCOL_NETWORK = exports.createERC20Token = void 0;
|
|
67
|
+
var coinlib_core_1 = require("@airgap/coinlib-core");
|
|
68
|
+
var v1_1 = require("@airgap/ethereum/v1");
|
|
69
|
+
var module_kit_1 = require("@airgap/module-kit");
|
|
70
|
+
var HttpOptimismNodeClient_1 = require("../../client/node/HttpOptimismNodeClient");
|
|
71
|
+
var OptimismBaseProtocol_1 = require("../OptimismBaseProtocol");
|
|
72
|
+
var OptimismProtocol_1 = require("../OptimismProtocol");
|
|
16
73
|
// Implementation
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
74
|
+
var ERC20TokenImpl = /** @class */ (function (_super) {
|
|
75
|
+
__extends(ERC20TokenImpl, _super);
|
|
76
|
+
function ERC20TokenImpl(options) {
|
|
77
|
+
var nodeClient = new HttpOptimismNodeClient_1.HttpOptimismNodeClient(options.network.rpcUrl);
|
|
78
|
+
var infoClient = new v1_1.EtherscanInfoClient(options.network.blockExplorerApi);
|
|
79
|
+
var ethereumProtocol = new v1_1.ERC20TokenImpl(nodeClient, infoClient, options);
|
|
80
|
+
return _super.call(this, ethereumProtocol, nodeClient, infoClient, options) || this;
|
|
23
81
|
}
|
|
24
82
|
// SubProtocol
|
|
25
|
-
|
|
26
|
-
return this
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
83
|
+
ERC20TokenImpl.prototype.getType = function () {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
85
|
+
return __generator(this, function (_a) {
|
|
86
|
+
return [2 /*return*/, this.ethereumProtocol.getType()];
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
ERC20TokenImpl.prototype.mainProtocol = function () {
|
|
91
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
92
|
+
return __generator(this, function (_a) {
|
|
93
|
+
return [2 /*return*/, this.ethereumProtocol.mainProtocol()];
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
ERC20TokenImpl.prototype.getContractAddress = function () {
|
|
98
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
99
|
+
return __generator(this, function (_a) {
|
|
100
|
+
return [2 /*return*/, this.ethereumProtocol.getContractAddress()];
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
};
|
|
34
104
|
// Custom
|
|
35
|
-
|
|
36
|
-
return this
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
105
|
+
ERC20TokenImpl.prototype.name = function () {
|
|
106
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
107
|
+
return __generator(this, function (_a) {
|
|
108
|
+
return [2 /*return*/, this.ethereumProtocol.name()];
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
ERC20TokenImpl.prototype.symbol = function () {
|
|
113
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
114
|
+
return __generator(this, function (_a) {
|
|
115
|
+
return [2 /*return*/, this.ethereumProtocol.symbol()];
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
ERC20TokenImpl.prototype.decimals = function () {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
121
|
+
return __generator(this, function (_a) {
|
|
122
|
+
return [2 /*return*/, this.ethereumProtocol.decimals()];
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
ERC20TokenImpl.prototype.tokenMetadata = function () {
|
|
127
|
+
var _a;
|
|
128
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
129
|
+
var mainUnit;
|
|
130
|
+
return __generator(this, function (_b) {
|
|
131
|
+
mainUnit = this.options.units[this.options.mainUnit];
|
|
132
|
+
return [2 /*return*/, {
|
|
133
|
+
name: this.options.name,
|
|
134
|
+
identifier: this.options.identifier,
|
|
135
|
+
symbol: mainUnit.symbol.value,
|
|
136
|
+
marketSymbol: (_a = mainUnit.symbol.market) !== null && _a !== void 0 ? _a : mainUnit.symbol.value,
|
|
137
|
+
contractAddress: this.options.contractAddress,
|
|
138
|
+
decimals: mainUnit.decimals
|
|
139
|
+
}];
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
return ERC20TokenImpl;
|
|
144
|
+
}(OptimismBaseProtocol_1.OptimismBaseProtocolImpl));
|
|
56
145
|
// Factory
|
|
57
|
-
function createERC20Token(metadata, options
|
|
58
|
-
|
|
146
|
+
function createERC20Token(metadata, options) {
|
|
147
|
+
if (options === void 0) { options = {}; }
|
|
148
|
+
var completeOptions = createERC20TokenOptions(metadata, options.network);
|
|
59
149
|
return new ERC20TokenImpl(completeOptions);
|
|
60
150
|
}
|
|
151
|
+
exports.createERC20Token = createERC20Token;
|
|
61
152
|
exports.OPTIMISM_ERC20_MAINNET_PROTOCOL_NETWORK = OptimismProtocol_1.OPTIMISM_MAINNET_PROTOCOL_NETWORK;
|
|
62
|
-
|
|
63
|
-
function createERC20TokenOptions(metadata, network
|
|
153
|
+
var DEFAULT_ERC20_PROTOCOL_NETWORK = exports.OPTIMISM_ERC20_MAINNET_PROTOCOL_NETWORK;
|
|
154
|
+
function createERC20TokenOptions(metadata, network) {
|
|
155
|
+
var _a;
|
|
156
|
+
if (network === void 0) { network = {}; }
|
|
64
157
|
return {
|
|
65
|
-
network: {
|
|
158
|
+
network: __assign(__assign({}, DEFAULT_ERC20_PROTOCOL_NETWORK), network),
|
|
66
159
|
name: metadata.name,
|
|
67
160
|
identifier: metadata.identifier,
|
|
68
161
|
mainIdentifier: coinlib_core_1.MainProtocolSymbols.OPTIMISM,
|
|
69
162
|
contractAddress: metadata.contractAddress,
|
|
70
|
-
units: {
|
|
71
|
-
[metadata.symbol]
|
|
163
|
+
units: (_a = {},
|
|
164
|
+
_a[metadata.symbol] = {
|
|
72
165
|
symbol: { value: metadata.symbol, market: metadata.marketSymbol },
|
|
73
166
|
decimals: metadata.decimals
|
|
74
|
-
}
|
|
75
|
-
|
|
167
|
+
},
|
|
168
|
+
_a),
|
|
76
169
|
mainUnit: metadata.symbol
|
|
77
170
|
};
|
|
78
171
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
172
|
+
exports.createERC20TokenOptions = createERC20TokenOptions;
|
|
173
|
+
function serializeERC20Token(erc20Token) {
|
|
174
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
175
|
+
var _a, tokenMetadata, network;
|
|
176
|
+
return __generator(this, function (_b) {
|
|
177
|
+
switch (_b.label) {
|
|
178
|
+
case 0: return [4 /*yield*/, Promise.all([
|
|
179
|
+
erc20Token.tokenMetadata(),
|
|
180
|
+
erc20Token.getNetwork()
|
|
181
|
+
])];
|
|
182
|
+
case 1:
|
|
183
|
+
_a = _b.sent(), tokenMetadata = _a[0], network = _a[1];
|
|
184
|
+
return [2 /*return*/, { metadata: tokenMetadata, network: network }];
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
});
|
|
85
188
|
}
|
|
189
|
+
exports.serializeERC20Token = serializeERC20Token;
|
|
86
190
|
function deserializeERC20Token(serialized) {
|
|
87
191
|
return createERC20Token(serialized.metadata, { network: serialized.network });
|
|
88
192
|
}
|
|
193
|
+
exports.deserializeERC20Token = deserializeERC20Token;
|
|
89
194
|
function isSerializedERC20Token(serialized) {
|
|
90
195
|
return (0, module_kit_1.implementsInterface)(serialized, { metadata: 'required', network: 'required' });
|
|
91
196
|
}
|
|
197
|
+
exports.isSerializedERC20Token = isSerializedERC20Token;
|
|
92
198
|
//# sourceMappingURL=ERC20Token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ERC20Token.js","sourceRoot":"","sources":["../../../../src/v1/protocol/erc20/ERC20Token.ts"],"names":[],"mappings":";AAAA,UAAU
|
|
1
|
+
{"version":3,"file":"ERC20Token.js","sourceRoot":"","sources":["../../../../src/v1/protocol/erc20/ERC20Token.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,54 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.optimismUnsignedTransactionToRequest =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.optimismTransactionSignResponseToSigned = optimismTransactionSignResponseToSigned;
|
|
7
|
-
const v1_1 = require("@airgap/ethereum/v1");
|
|
8
|
-
const module_kit_1 = require("@airgap/module-kit");
|
|
14
|
+
exports.optimismTransactionSignResponseToSigned = exports.optimismTransactionSignRequestToUnsigned = exports.optimismSignedTransactionToResponse = exports.optimismUnsignedTransactionToRequest = void 0;
|
|
15
|
+
var v1_1 = require("@airgap/ethereum/v1");
|
|
16
|
+
var module_kit_1 = require("@airgap/module-kit");
|
|
9
17
|
function optimismUnsignedTransactionToRequest(unsigned, publicKey, callbackUrl) {
|
|
10
|
-
|
|
18
|
+
var ethereumAnyTransactionSignRequest = (0, v1_1.ethereumUnsignedTransactionToRequest)(unsigned, publicKey, callbackUrl);
|
|
11
19
|
if (unsigned.ethereumType === 'raw') {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
...ethereumTransactionSignRequest,
|
|
15
|
-
transaction: {
|
|
16
|
-
...ethereumTransactionSignRequest.transaction,
|
|
17
|
-
l1DataFee: unsigned.l1DataFee
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
+
var ethereumTransactionSignRequest = ethereumAnyTransactionSignRequest;
|
|
21
|
+
var optimismTransactionSignRequest = __assign(__assign({}, ethereumTransactionSignRequest), { transaction: __assign(__assign({}, ethereumTransactionSignRequest.transaction), { l1DataFee: unsigned.l1DataFee }) });
|
|
20
22
|
return optimismTransactionSignRequest;
|
|
21
23
|
}
|
|
22
24
|
return ethereumAnyTransactionSignRequest;
|
|
23
25
|
}
|
|
26
|
+
exports.optimismUnsignedTransactionToRequest = optimismUnsignedTransactionToRequest;
|
|
24
27
|
function optimismSignedTransactionToResponse(signed, accountIdentifier) {
|
|
25
|
-
return (0, v1_1.ethereumSignedTransactionToResponse)({
|
|
26
|
-
...signed,
|
|
27
|
-
serialized: signed.l1DataFee ? JSON.stringify({ serialized: signed.serialized, l1DataFee: signed.l1DataFee }) : signed.serialized
|
|
28
|
-
}, accountIdentifier);
|
|
28
|
+
return (0, v1_1.ethereumSignedTransactionToResponse)(__assign(__assign({}, signed), { serialized: signed.l1DataFee ? JSON.stringify({ serialized: signed.serialized, l1DataFee: signed.l1DataFee }) : signed.serialized }), accountIdentifier);
|
|
29
29
|
}
|
|
30
|
+
exports.optimismSignedTransactionToResponse = optimismSignedTransactionToResponse;
|
|
30
31
|
function optimismTransactionSignRequestToUnsigned(request) {
|
|
31
|
-
|
|
32
|
+
var ethereumUnsignedTransaction = (0, v1_1.ethereumTransactionSignRequestToUnsigned)(request);
|
|
32
33
|
if (ethereumUnsignedTransaction.ethereumType === 'raw') {
|
|
33
|
-
|
|
34
|
-
return (0, module_kit_1.newUnsignedTransaction)({
|
|
35
|
-
...ethereumUnsignedTransaction,
|
|
36
|
-
l1DataFee: optimismRawRequest.transaction.l1DataFee
|
|
37
|
-
});
|
|
34
|
+
var optimismRawRequest = request;
|
|
35
|
+
return (0, module_kit_1.newUnsignedTransaction)(__assign(__assign({}, ethereumUnsignedTransaction), { l1DataFee: optimismRawRequest.transaction.l1DataFee }));
|
|
38
36
|
}
|
|
39
37
|
return ethereumUnsignedTransaction;
|
|
40
38
|
}
|
|
39
|
+
exports.optimismTransactionSignRequestToUnsigned = optimismTransactionSignRequestToUnsigned;
|
|
41
40
|
function optimismTransactionSignResponseToSigned(response) {
|
|
42
|
-
|
|
41
|
+
var ethereumSignedTransaction = (0, v1_1.ethereumTransactionSignResponseToSigned)(response);
|
|
43
42
|
try {
|
|
44
|
-
|
|
43
|
+
var _a = JSON.parse(ethereumSignedTransaction.serialized), serialized = _a.serialized, l1DataFee = _a.l1DataFee;
|
|
45
44
|
return (0, module_kit_1.newSignedTransaction)({
|
|
46
|
-
serialized,
|
|
47
|
-
l1DataFee
|
|
45
|
+
serialized: serialized,
|
|
46
|
+
l1DataFee: l1DataFee
|
|
48
47
|
});
|
|
49
48
|
}
|
|
50
|
-
catch {
|
|
49
|
+
catch (_b) {
|
|
51
50
|
return ethereumSignedTransaction;
|
|
52
51
|
}
|
|
53
52
|
}
|
|
53
|
+
exports.optimismTransactionSignResponseToSigned = optimismTransactionSignResponseToSigned;
|
|
54
54
|
//# sourceMappingURL=transaction-converter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-converter.js","sourceRoot":"","sources":["../../../../../../src/v1/serializer/v3/schemas/converter/transaction-converter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transaction-converter.js","sourceRoot":"","sources":["../../../../../../src/v1/serializer/v3/schemas/converter/transaction-converter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,0CAM4B;AAC5B,iDAAiF;AAOjF,SAAgB,oCAAoC,CAClD,QAAqC,EACrC,SAAiB,EACjB,WAAoB;IAEpB,IAAM,iCAAiC,GAAG,IAAA,yCAAoC,EAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;IAEhH,IAAI,QAAQ,CAAC,YAAY,KAAK,KAAK,EAAE;QACnC,IAAM,8BAA8B,GAAG,iCAAmE,CAAA;QAC1G,IAAM,8BAA8B,yBAC/B,8BAA8B,KACjC,WAAW,wBACN,8BAA8B,CAAC,WAAW,KAC7C,SAAS,EAAE,QAAQ,CAAC,SAAS,MAEhC,CAAA;QAED,OAAO,8BAA8B,CAAA;KACtC;IAED,OAAO,iCAAwE,CAAA;AACjF,CAAC;AArBD,oFAqBC;AAED,SAAgB,mCAAmC,CACjD,MAAiC,EACjC,iBAAyB;IAEzB,OAAO,IAAA,wCAAmC,wBAEnC,MAAM,KACT,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,KAEnI,iBAAiB,CAClB,CAAA;AACH,CAAC;AAXD,kFAWC;AAED,SAAgB,wCAAwC,CACtD,OAA6E;IAE7E,IAAM,2BAA2B,GAAG,IAAA,6CAAwC,EAAC,OAAO,CAAC,CAAA;IAErF,IAAI,2BAA2B,CAAC,YAAY,KAAK,KAAK,EAAE;QACtD,IAAM,kBAAkB,GAAG,OAAyC,CAAA;QACpE,OAAO,IAAA,mCAAsB,wBACxB,2BAA2B,KAC9B,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,SAAS,IACnD,CAAA;KACH;IAED,OAAO,2BAA2B,CAAA;AACpC,CAAC;AAdD,4FAcC;AAED,SAAgB,uCAAuC,CAAC,QAAyC;IAC/F,IAAM,yBAAyB,GAAG,IAAA,4CAAuC,EAAC,QAAQ,CAAC,CAAA;IAEnF,IAAI;QACI,IAAA,KAA4B,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAA1E,UAAU,gBAAA,EAAE,SAAS,eAAqD,CAAA;QAElF,OAAO,IAAA,iCAAoB,EAA4B;YACrD,UAAU,YAAA;YACV,SAAS,WAAA;SACV,CAAC,CAAA;KACH;IAAC,WAAM;QACN,OAAO,yBAAyB,CAAA;KACjC;AACH,CAAC;AAbD,0FAaC"}
|