@airgap/optimism 0.13.45-beta.1 → 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 +6 -6
- package/v1/client/info/OptimismInfoClient.d.ts +1 -1
- package/v1/client/node/HttpOptimismNodeClient.js +24 -90
- 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 +71 -161
- package/v1/module/OptimismModule.js.map +1 -1
- package/v1/module.js +2 -3
- package/v1/module.js.map +1 -1
- package/v1/protocol/OptimismBaseProtocol.js +154 -352
- package/v1/protocol/OptimismBaseProtocol.js.map +1 -1
- package/v1/protocol/OptimismProtocol.js +27 -54
- package/v1/protocol/OptimismProtocol.js.map +1 -1
- package/v1/protocol/erc20/ERC20Token.js +63 -169
- 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 +73 -152
- package/v1/serializer/v3/serializer-companion.js.map +1 -1
- package/v1/serializer/v3/validators/transaction-validator.js +3 -23
- 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 +30 -19
- package/v1/utils/protocol.js.map +1 -1
|
@@ -1,52 +1,30 @@
|
|
|
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
|
-
};
|
|
28
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
3
|
+
exports.OPTIMISM_MAINNET_PROTOCOL_NETWORK = void 0;
|
|
4
|
+
exports.createOptimismProtocol = createOptimismProtocol;
|
|
5
|
+
exports.createOptimismProtocolOptions = createOptimismProtocolOptions;
|
|
6
|
+
const coinlib_core_1 = require("@airgap/coinlib-core");
|
|
7
|
+
const v1_1 = require("@airgap/ethereum/v1");
|
|
8
|
+
const module_kit_1 = require("@airgap/module-kit");
|
|
9
|
+
const HttpOptimismNodeClient_1 = require("../client/node/HttpOptimismNodeClient");
|
|
10
|
+
const OptimismBaseProtocol_1 = require("./OptimismBaseProtocol");
|
|
35
11
|
// Implementation
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
var baseProtocolOptions = {
|
|
12
|
+
class OptimismProtocolImpl extends OptimismBaseProtocol_1.OptimismBaseProtocolImpl {
|
|
13
|
+
constructor(options) {
|
|
14
|
+
const completeOptions = createOptimismProtocolOptions(options.network);
|
|
15
|
+
const nodeClient = new HttpOptimismNodeClient_1.HttpOptimismNodeClient(completeOptions.network.rpcUrl);
|
|
16
|
+
const infoClient = new v1_1.EtherscanInfoClient(completeOptions.network.blockExplorerApi);
|
|
17
|
+
const baseProtocolOptions = {
|
|
43
18
|
network: completeOptions.network,
|
|
44
19
|
identifier: coinlib_core_1.MainProtocolSymbols.OPTIMISM,
|
|
45
20
|
name: 'Optimism',
|
|
46
|
-
units:
|
|
47
|
-
|
|
21
|
+
units: {
|
|
22
|
+
...v1_1.DEFAULT_ETHEREUM_UNITS_METADATA,
|
|
23
|
+
ETH: {
|
|
24
|
+
symbol: { ...v1_1.DEFAULT_ETHEREUM_UNITS_METADATA.ETH.symbol, asset: 'OP' },
|
|
48
25
|
decimals: v1_1.DEFAULT_ETHEREUM_UNITS_METADATA.ETH.decimals
|
|
49
|
-
}
|
|
26
|
+
}
|
|
27
|
+
},
|
|
50
28
|
mainUnit: 'ETH',
|
|
51
29
|
// The layer 2 gas price is normally 0.001 gwei, but it increases when experiencing heavy congestion
|
|
52
30
|
feeDefaults: {
|
|
@@ -55,17 +33,14 @@ var OptimismProtocolImpl = /** @class */ (function (_super) {
|
|
|
55
33
|
high: (0, module_kit_1.newAmount)(44.1 /* 21000 GAS * 0.0021 GWEI */, 'GWEI').blockchain(v1_1.DEFAULT_ETHEREUM_UNITS_METADATA)
|
|
56
34
|
}
|
|
57
35
|
};
|
|
58
|
-
|
|
59
|
-
|
|
36
|
+
const ethereumProtocol = new v1_1.EthereumBaseProtocolImpl(nodeClient, infoClient, baseProtocolOptions);
|
|
37
|
+
super(ethereumProtocol, nodeClient, infoClient, completeOptions);
|
|
60
38
|
}
|
|
61
|
-
|
|
62
|
-
}(OptimismBaseProtocol_1.OptimismBaseProtocolImpl));
|
|
39
|
+
}
|
|
63
40
|
// Factory
|
|
64
|
-
function createOptimismProtocol(options) {
|
|
65
|
-
if (options === void 0) { options = {}; }
|
|
41
|
+
function createOptimismProtocol(options = {}) {
|
|
66
42
|
return new OptimismProtocolImpl(options);
|
|
67
43
|
}
|
|
68
|
-
exports.createOptimismProtocol = createOptimismProtocol;
|
|
69
44
|
exports.OPTIMISM_MAINNET_PROTOCOL_NETWORK = {
|
|
70
45
|
name: 'Mainnet',
|
|
71
46
|
type: 'mainnet',
|
|
@@ -75,12 +50,10 @@ exports.OPTIMISM_MAINNET_PROTOCOL_NETWORK = {
|
|
|
75
50
|
blockExplorerApi: 'https://optimism-indexer.prod.gke.papers.tech',
|
|
76
51
|
gasPriceOracleAddress: '0x420000000000000000000000000000000000000F'
|
|
77
52
|
};
|
|
78
|
-
|
|
79
|
-
function createOptimismProtocolOptions(network) {
|
|
80
|
-
if (network === void 0) { network = {}; }
|
|
53
|
+
const DEFAULT_OPTIMISM_PROTOCOL_NETWORK = exports.OPTIMISM_MAINNET_PROTOCOL_NETWORK;
|
|
54
|
+
function createOptimismProtocolOptions(network = {}) {
|
|
81
55
|
return {
|
|
82
|
-
network:
|
|
56
|
+
network: { ...DEFAULT_OPTIMISM_PROTOCOL_NETWORK, ...network }
|
|
83
57
|
};
|
|
84
58
|
}
|
|
85
|
-
exports.createOptimismProtocolOptions = createOptimismProtocolOptions;
|
|
86
59
|
//# 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":";;;AA2DA,wDAEC;AAcD,sEAIC;AA/ED,uDAA0D;AAC1D,4CAM4B;AAC5B,mDAAgE;AAEhE,kFAA8E;AAG9E,iEAAuF;AAMvF,iBAAiB;AAEjB,MAAM,oBAAqB,SAAQ,+CAAwB;IACzD,YAAY,OAAkD;QAC5D,MAAM,eAAe,GAAG,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAEtE,MAAM,UAAU,GAAG,IAAI,+CAAsB,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC7E,MAAM,UAAU,GAAG,IAAI,wBAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAEpF,MAAM,mBAAmB,GAAwE;YAC/F,OAAO,EAAE,eAAe,CAAC,OAAO;YAEhC,UAAU,EAAE,kCAAmB,CAAC,QAAQ;YACxC,IAAI,EAAE,UAAU;YAEhB,KAAK,EAAE;gBACL,GAAG,oCAA+B;gBAClC,GAAG,EAAE;oBACH,MAAM,EAAE,EAAE,GAAG,oCAA+B,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;oBACtE,QAAQ,EAAE,oCAA+B,CAAC,GAAG,CAAC,QAAQ;iBACvD;aACF;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,MAAM,gBAAgB,GAAG,IAAI,6BAAwB,CAAC,UAAU,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAA;QAElG,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,CAAC,CAAA;IAClE,CAAC;CACF;AAED,UAAU;AAEV,SAAgB,sBAAsB,CAAC,UAAqD,EAAE;IAC5F,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAA;AAC1C,CAAC;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,MAAM,iCAAiC,GAA4B,yCAAiC,CAAA;AAEpG,SAAgB,6BAA6B,CAAC,UAA4C,EAAE;IAC1F,OAAO;QACL,OAAO,EAAE,EAAE,GAAG,iCAAiC,EAAE,GAAG,OAAO,EAAE;KAC9D,CAAA;AACH,CAAC"}
|
|
@@ -1,198 +1,92 @@
|
|
|
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
|
-
};
|
|
65
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
66
|
-
exports.
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
4
|
+
exports.OPTIMISM_ERC20_MAINNET_PROTOCOL_NETWORK = void 0;
|
|
5
|
+
exports.createERC20Token = createERC20Token;
|
|
6
|
+
exports.createERC20TokenOptions = createERC20TokenOptions;
|
|
7
|
+
exports.serializeERC20Token = serializeERC20Token;
|
|
8
|
+
exports.deserializeERC20Token = deserializeERC20Token;
|
|
9
|
+
exports.isSerializedERC20Token = isSerializedERC20Token;
|
|
10
|
+
const coinlib_core_1 = require("@airgap/coinlib-core");
|
|
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");
|
|
73
16
|
// Implementation
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return _super.call(this, ethereumProtocol, nodeClient, infoClient, options) || this;
|
|
17
|
+
class ERC20TokenImpl extends OptimismBaseProtocol_1.OptimismBaseProtocolImpl {
|
|
18
|
+
constructor(options) {
|
|
19
|
+
const nodeClient = new HttpOptimismNodeClient_1.HttpOptimismNodeClient(options.network.rpcUrl);
|
|
20
|
+
const infoClient = new v1_1.EtherscanInfoClient(options.network.blockExplorerApi);
|
|
21
|
+
const ethereumProtocol = new v1_1.ERC20TokenImpl(nodeClient, infoClient, options);
|
|
22
|
+
super(ethereumProtocol, nodeClient, infoClient, options);
|
|
81
23
|
}
|
|
82
24
|
// SubProtocol
|
|
83
|
-
|
|
84
|
-
return
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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
|
-
};
|
|
25
|
+
async getType() {
|
|
26
|
+
return this.ethereumProtocol.getType();
|
|
27
|
+
}
|
|
28
|
+
async mainProtocol() {
|
|
29
|
+
return this.ethereumProtocol.mainProtocol();
|
|
30
|
+
}
|
|
31
|
+
async getContractAddress() {
|
|
32
|
+
return this.ethereumProtocol.getContractAddress();
|
|
33
|
+
}
|
|
104
34
|
// Custom
|
|
105
|
-
|
|
106
|
-
return
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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));
|
|
35
|
+
async name() {
|
|
36
|
+
return this.ethereumProtocol.name();
|
|
37
|
+
}
|
|
38
|
+
async symbol() {
|
|
39
|
+
return this.ethereumProtocol.symbol();
|
|
40
|
+
}
|
|
41
|
+
async decimals() {
|
|
42
|
+
return this.ethereumProtocol.decimals();
|
|
43
|
+
}
|
|
44
|
+
async tokenMetadata() {
|
|
45
|
+
const mainUnit = this.options.units[this.options.mainUnit];
|
|
46
|
+
return {
|
|
47
|
+
name: this.options.name,
|
|
48
|
+
identifier: this.options.identifier,
|
|
49
|
+
symbol: mainUnit.symbol.value,
|
|
50
|
+
marketSymbol: mainUnit.symbol.market ?? mainUnit.symbol.value,
|
|
51
|
+
contractAddress: this.options.contractAddress,
|
|
52
|
+
decimals: mainUnit.decimals
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
145
56
|
// Factory
|
|
146
|
-
function createERC20Token(metadata, options) {
|
|
147
|
-
|
|
148
|
-
var completeOptions = createERC20TokenOptions(metadata, options.network);
|
|
57
|
+
function createERC20Token(metadata, options = {}) {
|
|
58
|
+
const completeOptions = createERC20TokenOptions(metadata, options.network);
|
|
149
59
|
return new ERC20TokenImpl(completeOptions);
|
|
150
60
|
}
|
|
151
|
-
exports.createERC20Token = createERC20Token;
|
|
152
61
|
exports.OPTIMISM_ERC20_MAINNET_PROTOCOL_NETWORK = OptimismProtocol_1.OPTIMISM_MAINNET_PROTOCOL_NETWORK;
|
|
153
|
-
|
|
154
|
-
function createERC20TokenOptions(metadata, network) {
|
|
155
|
-
var _a;
|
|
156
|
-
if (network === void 0) { network = {}; }
|
|
62
|
+
const DEFAULT_ERC20_PROTOCOL_NETWORK = exports.OPTIMISM_ERC20_MAINNET_PROTOCOL_NETWORK;
|
|
63
|
+
function createERC20TokenOptions(metadata, network = {}) {
|
|
157
64
|
return {
|
|
158
|
-
network:
|
|
65
|
+
network: { ...DEFAULT_ERC20_PROTOCOL_NETWORK, ...network },
|
|
159
66
|
name: metadata.name,
|
|
160
67
|
identifier: metadata.identifier,
|
|
161
68
|
mainIdentifier: coinlib_core_1.MainProtocolSymbols.OPTIMISM,
|
|
162
69
|
contractAddress: metadata.contractAddress,
|
|
163
|
-
units:
|
|
164
|
-
|
|
70
|
+
units: {
|
|
71
|
+
[metadata.symbol]: {
|
|
165
72
|
symbol: { value: metadata.symbol, market: metadata.marketSymbol },
|
|
166
73
|
decimals: metadata.decimals
|
|
167
|
-
}
|
|
168
|
-
|
|
74
|
+
}
|
|
75
|
+
},
|
|
169
76
|
mainUnit: metadata.symbol
|
|
170
77
|
};
|
|
171
78
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
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
|
-
});
|
|
79
|
+
async function serializeERC20Token(erc20Token) {
|
|
80
|
+
const [tokenMetadata, network] = await Promise.all([
|
|
81
|
+
erc20Token.tokenMetadata(),
|
|
82
|
+
erc20Token.getNetwork()
|
|
83
|
+
]);
|
|
84
|
+
return { metadata: tokenMetadata, network };
|
|
188
85
|
}
|
|
189
|
-
exports.serializeERC20Token = serializeERC20Token;
|
|
190
86
|
function deserializeERC20Token(serialized) {
|
|
191
87
|
return createERC20Token(serialized.metadata, { network: serialized.network });
|
|
192
88
|
}
|
|
193
|
-
exports.deserializeERC20Token = deserializeERC20Token;
|
|
194
89
|
function isSerializedERC20Token(serialized) {
|
|
195
90
|
return (0, module_kit_1.implementsInterface)(serialized, { metadata: 'required', network: 'required' });
|
|
196
91
|
}
|
|
197
|
-
exports.isSerializedERC20Token = isSerializedERC20Token;
|
|
198
92
|
//# 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
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.
|
|
15
|
-
|
|
16
|
-
|
|
3
|
+
exports.optimismUnsignedTransactionToRequest = optimismUnsignedTransactionToRequest;
|
|
4
|
+
exports.optimismSignedTransactionToResponse = optimismSignedTransactionToResponse;
|
|
5
|
+
exports.optimismTransactionSignRequestToUnsigned = optimismTransactionSignRequestToUnsigned;
|
|
6
|
+
exports.optimismTransactionSignResponseToSigned = optimismTransactionSignResponseToSigned;
|
|
7
|
+
const v1_1 = require("@airgap/ethereum/v1");
|
|
8
|
+
const module_kit_1 = require("@airgap/module-kit");
|
|
17
9
|
function optimismUnsignedTransactionToRequest(unsigned, publicKey, callbackUrl) {
|
|
18
|
-
|
|
10
|
+
const ethereumAnyTransactionSignRequest = (0, v1_1.ethereumUnsignedTransactionToRequest)(unsigned, publicKey, callbackUrl);
|
|
19
11
|
if (unsigned.ethereumType === 'raw') {
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
const ethereumTransactionSignRequest = ethereumAnyTransactionSignRequest;
|
|
13
|
+
const optimismTransactionSignRequest = {
|
|
14
|
+
...ethereumTransactionSignRequest,
|
|
15
|
+
transaction: {
|
|
16
|
+
...ethereumTransactionSignRequest.transaction,
|
|
17
|
+
l1DataFee: unsigned.l1DataFee
|
|
18
|
+
}
|
|
19
|
+
};
|
|
22
20
|
return optimismTransactionSignRequest;
|
|
23
21
|
}
|
|
24
22
|
return ethereumAnyTransactionSignRequest;
|
|
25
23
|
}
|
|
26
|
-
exports.optimismUnsignedTransactionToRequest = optimismUnsignedTransactionToRequest;
|
|
27
24
|
function optimismSignedTransactionToResponse(signed, accountIdentifier) {
|
|
28
|
-
return (0, v1_1.ethereumSignedTransactionToResponse)(
|
|
25
|
+
return (0, v1_1.ethereumSignedTransactionToResponse)({
|
|
26
|
+
...signed,
|
|
27
|
+
serialized: signed.l1DataFee ? JSON.stringify({ serialized: signed.serialized, l1DataFee: signed.l1DataFee }) : signed.serialized
|
|
28
|
+
}, accountIdentifier);
|
|
29
29
|
}
|
|
30
|
-
exports.optimismSignedTransactionToResponse = optimismSignedTransactionToResponse;
|
|
31
30
|
function optimismTransactionSignRequestToUnsigned(request) {
|
|
32
|
-
|
|
31
|
+
const ethereumUnsignedTransaction = (0, v1_1.ethereumTransactionSignRequestToUnsigned)(request);
|
|
33
32
|
if (ethereumUnsignedTransaction.ethereumType === 'raw') {
|
|
34
|
-
|
|
35
|
-
return (0, module_kit_1.newUnsignedTransaction)(
|
|
33
|
+
const optimismRawRequest = request;
|
|
34
|
+
return (0, module_kit_1.newUnsignedTransaction)({
|
|
35
|
+
...ethereumUnsignedTransaction,
|
|
36
|
+
l1DataFee: optimismRawRequest.transaction.l1DataFee
|
|
37
|
+
});
|
|
36
38
|
}
|
|
37
39
|
return ethereumUnsignedTransaction;
|
|
38
40
|
}
|
|
39
|
-
exports.optimismTransactionSignRequestToUnsigned = optimismTransactionSignRequestToUnsigned;
|
|
40
41
|
function optimismTransactionSignResponseToSigned(response) {
|
|
41
|
-
|
|
42
|
+
const ethereumSignedTransaction = (0, v1_1.ethereumTransactionSignResponseToSigned)(response);
|
|
42
43
|
try {
|
|
43
|
-
|
|
44
|
+
const { serialized, l1DataFee } = JSON.parse(ethereumSignedTransaction.serialized);
|
|
44
45
|
return (0, module_kit_1.newSignedTransaction)({
|
|
45
|
-
serialized
|
|
46
|
-
l1DataFee
|
|
46
|
+
serialized,
|
|
47
|
+
l1DataFee
|
|
47
48
|
});
|
|
48
49
|
}
|
|
49
|
-
catch
|
|
50
|
+
catch {
|
|
50
51
|
return ethereumSignedTransaction;
|
|
51
52
|
}
|
|
52
53
|
}
|
|
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":";;AAcA,oFAqBC;AAED,kFAWC;AAED,4FAcC;AAED,0FAaC;AA/ED,4CAM4B;AAC5B,mDAAiF;AAOjF,SAAgB,oCAAoC,CAClD,QAAqC,EACrC,SAAiB,EACjB,WAAoB;IAEpB,MAAM,iCAAiC,GAAG,IAAA,yCAAoC,EAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;IAEhH,IAAI,QAAQ,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QACpC,MAAM,8BAA8B,GAAG,iCAAmE,CAAA;QAC1G,MAAM,8BAA8B,GAAmC;YACrE,GAAG,8BAA8B;YACjC,WAAW,EAAE;gBACX,GAAG,8BAA8B,CAAC,WAAW;gBAC7C,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC9B;SACF,CAAA;QAED,OAAO,8BAA8B,CAAA;IACvC,CAAC;IAED,OAAO,iCAAwE,CAAA;AACjF,CAAC;AAED,SAAgB,mCAAmC,CACjD,MAAiC,EACjC,iBAAyB;IAEzB,OAAO,IAAA,wCAAmC,EACxC;QACE,GAAG,MAAM;QACT,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;KAClI,EACD,iBAAiB,CAClB,CAAA;AACH,CAAC;AAED,SAAgB,wCAAwC,CACtD,OAA6E;IAE7E,MAAM,2BAA2B,GAAG,IAAA,6CAAwC,EAAC,OAAO,CAAC,CAAA;IAErF,IAAI,2BAA2B,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QACvD,MAAM,kBAAkB,GAAG,OAAyC,CAAA;QACpE,OAAO,IAAA,mCAAsB,EAAiC;YAC5D,GAAG,2BAA2B;YAC9B,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,SAAS;SACpD,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,2BAA2B,CAAA;AACpC,CAAC;AAED,SAAgB,uCAAuC,CAAC,QAAyC;IAC/F,MAAM,yBAAyB,GAAG,IAAA,4CAAuC,EAAC,QAAQ,CAAC,CAAA;IAEnF,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAA;QAElF,OAAO,IAAA,iCAAoB,EAA4B;YACrD,UAAU;YACV,SAAS;SACV,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,yBAAyB,CAAA;IAClC,CAAC;AACH,CAAC"}
|