@ledgerhq/coin-filecoin 1.5.2 → 1.5.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/.turbo/turbo-build.log +2 -2
- package/CHANGELOG.md +14 -0
- package/lib/api/api.js +27 -36
- package/lib/api/api.js.map +1 -1
- package/lib/bridge/broadcast.js +3 -12
- package/lib/bridge/broadcast.js.map +1 -1
- package/lib/bridge/buildOptimisticOperation.js +2 -11
- package/lib/bridge/buildOptimisticOperation.js.map +1 -1
- package/lib/bridge/estimateMaxSpendable.js +14 -17
- package/lib/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib/bridge/getTransactionStatus.js +2 -11
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/prepareTransaction.js +11 -14
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/serializer.js +4 -14
- package/lib/bridge/serializer.js.map +1 -1
- package/lib/bridge/signOperation.js +52 -63
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/transaction.js +22 -2
- package/lib/bridge/transaction.js.map +1 -1
- package/lib/common-logic/utils.js +7 -16
- package/lib/common-logic/utils.js.map +1 -1
- package/lib/erc20/tokenAccounts.js +54 -65
- package/lib/erc20/tokenAccounts.js.map +1 -1
- package/lib/hw-signMessage.js +3 -12
- package/lib/hw-signMessage.js.map +1 -1
- package/lib/signer/getAddress.js +6 -15
- package/lib/signer/getAddress.js.map +1 -1
- package/lib/test/bot-specs.js +4 -6
- package/lib/test/bot-specs.js.map +1 -1
- package/lib/test/bridgeDatasetTest.js +1 -1
- package/lib/test/bridgeDatasetTest.js.map +1 -1
- package/lib/test/cli.js +5 -1
- package/lib/test/cli.js.map +1 -1
- package/lib-es/api/api.js +27 -36
- package/lib-es/api/api.js.map +1 -1
- package/lib-es/bridge/broadcast.js +3 -12
- package/lib-es/bridge/broadcast.js.map +1 -1
- package/lib-es/bridge/buildOptimisticOperation.js +2 -11
- package/lib-es/bridge/buildOptimisticOperation.js.map +1 -1
- package/lib-es/bridge/estimateMaxSpendable.js +14 -17
- package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.js +2 -11
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/prepareTransaction.js +11 -14
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/serializer.js +4 -14
- package/lib-es/bridge/serializer.js.map +1 -1
- package/lib-es/bridge/signOperation.js +52 -63
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/bridge/transaction.js +22 -2
- package/lib-es/bridge/transaction.js.map +1 -1
- package/lib-es/common-logic/utils.js +7 -16
- package/lib-es/common-logic/utils.js.map +1 -1
- package/lib-es/erc20/tokenAccounts.js +54 -65
- package/lib-es/erc20/tokenAccounts.js.map +1 -1
- package/lib-es/hw-signMessage.js +3 -12
- package/lib-es/hw-signMessage.js.map +1 -1
- package/lib-es/signer/getAddress.js +6 -15
- package/lib-es/signer/getAddress.js.map +1 -1
- package/lib-es/test/bot-specs.js +4 -6
- package/lib-es/test/bot-specs.js.map +1 -1
- package/lib-es/test/bridgeDatasetTest.js +1 -1
- package/lib-es/test/bridgeDatasetTest.js.map +1 -1
- package/lib-es/test/cli.js +5 -1
- package/lib-es/test/cli.js.map +1 -1
- package/package.json +5 -5
- package/tsconfig.json +3 -2
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @ledgerhq/coin-filecoin@1.5.
|
|
3
|
-
> tsc && tsc -m ES6 --outDir lib-es
|
|
2
|
+
> @ledgerhq/coin-filecoin@1.5.3 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-filecoin
|
|
3
|
+
> tsc --outDir lib --module commonjs --moduleResolution node10 && tsc -m ES6 --outDir lib-es
|
|
4
4
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @ledgerhq/coin-filecoin
|
|
2
2
|
|
|
3
|
+
## 1.5.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`5e18866`](https://github.com/LedgerHQ/ledger-live/commit/5e18866320b843632699659ee66f6c410c108c1e)]:
|
|
8
|
+
- @ledgerhq/coin-framework@1.0.0
|
|
9
|
+
|
|
10
|
+
## 1.5.3-next.0
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies [[`5e18866`](https://github.com/LedgerHQ/ledger-live/commit/5e18866320b843632699659ee66f6c410c108c1e)]:
|
|
15
|
+
- @ledgerhq/coin-framework@1.0.0-next.0
|
|
16
|
+
|
|
3
17
|
## 1.5.2
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/lib/api/api.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -24,20 +15,20 @@ const getFilecoinURL = (path) => {
|
|
|
24
15
|
throw new Error("API base URL not available");
|
|
25
16
|
return `${baseUrl}${path ? path : ""}`;
|
|
26
17
|
};
|
|
27
|
-
const fetch = (path) =>
|
|
18
|
+
const fetch = async (path) => {
|
|
28
19
|
const url = getFilecoinURL(path);
|
|
29
20
|
// We force data to this way as network func is not using the correct param type. Changing that func will generate errors in other implementations
|
|
30
21
|
const opts = {
|
|
31
22
|
method: "GET",
|
|
32
23
|
url,
|
|
33
24
|
};
|
|
34
|
-
const rawResponse =
|
|
25
|
+
const rawResponse = await (0, network_1.default)(opts);
|
|
35
26
|
// We force data to this way as network func is not using the correct param type. Changing that func will generate errors in other implementations
|
|
36
27
|
const { data } = rawResponse;
|
|
37
28
|
(0, logs_1.log)("http", url);
|
|
38
29
|
return data;
|
|
39
|
-
}
|
|
40
|
-
const send = (path, data) =>
|
|
30
|
+
};
|
|
31
|
+
const send = async (path, data) => {
|
|
41
32
|
const url = getFilecoinURL(path);
|
|
42
33
|
const opts = {
|
|
43
34
|
method: "POST",
|
|
@@ -45,55 +36,55 @@ const send = (path, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
45
36
|
data: JSON.stringify(data),
|
|
46
37
|
headers: { "Content-Type": "application/json" },
|
|
47
38
|
};
|
|
48
|
-
const rawResponse =
|
|
39
|
+
const rawResponse = await (0, network_1.default)(opts);
|
|
49
40
|
// We force data to this way as network func is not using generics. Changing that func will generate errors in other implementations
|
|
50
41
|
const { data: responseData } = rawResponse;
|
|
51
42
|
(0, logs_1.log)("http", url);
|
|
52
43
|
return responseData;
|
|
53
|
-
}
|
|
54
|
-
const fetchBalances = (addr) =>
|
|
55
|
-
const data =
|
|
44
|
+
};
|
|
45
|
+
const fetchBalances = async (addr) => {
|
|
46
|
+
const data = await fetch(`/addresses/${addr}/balance`);
|
|
56
47
|
return data; // TODO Validate if the response fits this interface
|
|
57
|
-
}
|
|
48
|
+
};
|
|
58
49
|
exports.fetchBalances = fetchBalances;
|
|
59
|
-
exports.fetchEstimatedFees = (0, cache_1.makeLRUCache)((request) =>
|
|
50
|
+
exports.fetchEstimatedFees = (0, cache_1.makeLRUCache)(async (request) => {
|
|
60
51
|
try {
|
|
61
|
-
const data =
|
|
52
|
+
const data = await send(`/fees/estimate`, request);
|
|
62
53
|
return data; // TODO Validate if the response fits this interface
|
|
63
54
|
}
|
|
64
55
|
catch (e) {
|
|
65
56
|
(0, logs_1.log)("error", "filecoin fetchEstimatedFees", e);
|
|
66
57
|
throw new errors_1.FilecoinFeeEstimationFailed();
|
|
67
58
|
}
|
|
68
|
-
}
|
|
59
|
+
}, request => `${request.from}-${request.to}`, {
|
|
69
60
|
ttl: 5 * 1000, // 5 seconds
|
|
70
61
|
});
|
|
71
|
-
const fetchBlockHeight = () =>
|
|
72
|
-
const data =
|
|
62
|
+
const fetchBlockHeight = async () => {
|
|
63
|
+
const data = await fetch("/network/status");
|
|
73
64
|
return data; // TODO Validate if the response fits this interface
|
|
74
|
-
}
|
|
65
|
+
};
|
|
75
66
|
exports.fetchBlockHeight = fetchBlockHeight;
|
|
76
|
-
const fetchTxs = (addr) =>
|
|
77
|
-
const response =
|
|
67
|
+
const fetchTxs = async (addr) => {
|
|
68
|
+
const response = await fetch(`/addresses/${addr}/transactions`);
|
|
78
69
|
return response.txs; // TODO Validate if the response fits this interface
|
|
79
|
-
}
|
|
70
|
+
};
|
|
80
71
|
exports.fetchTxs = fetchTxs;
|
|
81
|
-
const broadcastTx = (message) =>
|
|
82
|
-
const response =
|
|
72
|
+
const broadcastTx = async (message) => {
|
|
73
|
+
const response = await send(`/transaction/broadcast`, message);
|
|
83
74
|
return response; // TODO Validate if the response fits this interface
|
|
84
|
-
}
|
|
75
|
+
};
|
|
85
76
|
exports.broadcastTx = broadcastTx;
|
|
86
|
-
const fetchERC20TokenBalance = (ethAddr, contractAddr) =>
|
|
87
|
-
const res =
|
|
77
|
+
const fetchERC20TokenBalance = async (ethAddr, contractAddr) => {
|
|
78
|
+
const res = await fetch(`/contract/${contractAddr}/address/${ethAddr}/balance/erc20`);
|
|
88
79
|
if (res.data.length) {
|
|
89
80
|
return res.data[0].balance;
|
|
90
81
|
}
|
|
91
82
|
return "0";
|
|
92
|
-
}
|
|
83
|
+
};
|
|
93
84
|
exports.fetchERC20TokenBalance = fetchERC20TokenBalance;
|
|
94
|
-
const fetchERC20Transactions = (ethAddr) =>
|
|
95
|
-
const res =
|
|
85
|
+
const fetchERC20Transactions = async (ethAddr) => {
|
|
86
|
+
const res = await fetch(`/addresses/${ethAddr}/transactions/erc20`);
|
|
96
87
|
return res.txs.sort((a, b) => b.timestamp - a.timestamp);
|
|
97
|
-
}
|
|
88
|
+
};
|
|
98
89
|
exports.fetchERC20Transactions = fetchERC20Transactions;
|
|
99
90
|
//# sourceMappingURL=api.js.map
|
package/lib/api/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAqC;AAGrC,6EAAqD;AACrD,wDAA4D;AAC5D,iDAA4C;AAe5C,sCAAwD;AAExD,MAAM,cAAc,GAAG,CAAC,IAAa,EAAU,EAAE;IAC/C,MAAM,OAAO,GAAG,IAAA,iBAAM,EAAC,uBAAuB,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAE5D,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,KAAK,EAAK,IAAY,EAAE,EAAE;IACtC,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEjC,kJAAkJ;IAClJ,MAAM,IAAI,GAAuB;QAC/B,MAAM,EAAE,KAAK;QACb,GAAG;KACJ,CAAC;IAEF,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAO,EAAC,IAAI,CAAC,CAAC;IAExC,kJAAkJ;IAClJ,MAAM,EAAE,IAAI,EAAE,GAAG,WAA+B,CAAC;IAEjD,IAAA,UAAG,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,KAAK,EAAK,IAAY,EAAE,IAAyB,EAAE,EAAE;IAChE,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEjC,MAAM,IAAI,GAAuB;QAC/B,MAAM,EAAE,MAAM;QACd,GAAG;QACH,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC;IAEF,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAO,EAAC,IAAI,CAAC,CAAC;IAExC,oIAAoI;IACpI,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,WAA+B,CAAC;IAE/D,IAAA,UAAG,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjB,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,KAAK,EAAE,IAAY,EAA4B,EAAE;IAC5E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAkB,cAAc,IAAI,UAAU,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC,CAAC,oDAAoD;AACnE,CAAC,CAAC;AAHW,QAAA,aAAa,iBAGxB;AAEW,QAAA,kBAAkB,GAAG,IAAA,oBAAY,EAC5C,KAAK,EAAE,OAA6B,EAAkC,EAAE;IACtE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAwB,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,CAAC,oDAAoD;IACnE,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,IAAA,UAAG,EAAC,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,oCAA2B,EAAE,CAAC;IAC1C,CAAC;AACH,CAAC,EACD,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,EAAE,EAC1C;IACE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,YAAY;CAC5B,CACF,CAAC;AAEK,MAAM,gBAAgB,GAAG,KAAK,IAAoC,EAAE;IACzE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAwB,iBAAiB,CAAC,CAAC;IACnE,OAAO,IAA6B,CAAC,CAAC,oDAAoD;AAC5F,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B;AAEK,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAkC,EAAE;IAC7E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAuB,cAAc,IAAI,eAAe,CAAC,CAAC;IACtF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,oDAAoD;AAC3E,CAAC,CAAC;AAHW,QAAA,QAAQ,YAGnB;AAEK,MAAM,WAAW,GAAG,KAAK,EAC9B,OAAoC,EACG,EAAE;IACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAA+B,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC7F,OAAO,QAAQ,CAAC,CAAC,oDAAoD;AACvE,CAAC,CAAC;AALW,QAAA,WAAW,eAKtB;AAEK,MAAM,sBAAsB,GAAG,KAAK,EACzC,OAAe,EACf,YAAoB,EACH,EAAE;IACnB,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,aAAa,YAAY,YAAY,OAAO,gBAAgB,CAC7D,CAAC;IAEF,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAbW,QAAA,sBAAsB,0BAajC;AAEK,MAAM,sBAAsB,GAAG,KAAK,EAAE,OAAe,EAA4B,EAAE;IACxF,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,cAAc,OAAO,qBAAqB,CAC3C,CAAC;IACF,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3D,CAAC,CAAC;AALW,QAAA,sBAAsB,0BAKjC"}
|
package/lib/bridge/broadcast.js
CHANGED
|
@@ -1,27 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.broadcast = void 0;
|
|
13
4
|
const operation_1 = require("@ledgerhq/coin-framework/operation");
|
|
14
5
|
const common_logic_1 = require("../common-logic");
|
|
15
6
|
const api_1 = require("../api");
|
|
16
|
-
const broadcast =
|
|
7
|
+
const broadcast = async ({ signedOperation }) => {
|
|
17
8
|
// log("debug", "[broadcast] start fn");
|
|
18
9
|
const { operation, signature, rawData } = signedOperation;
|
|
19
10
|
const tx = (0, common_logic_1.getTxToBroadcast)(operation, signature, rawData);
|
|
20
|
-
const resp =
|
|
11
|
+
const resp = await (0, api_1.broadcastTx)(tx);
|
|
21
12
|
const { hash } = resp;
|
|
22
13
|
const result = (0, operation_1.patchOperationWithHash)(signedOperation.operation, hash);
|
|
23
14
|
// log("debug", "[broadcast] finish fn");
|
|
24
15
|
return result;
|
|
25
|
-
}
|
|
16
|
+
};
|
|
26
17
|
exports.broadcast = broadcast;
|
|
27
18
|
//# sourceMappingURL=broadcast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../src/bridge/broadcast.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../src/bridge/broadcast.ts"],"names":[],"mappings":";;;AACA,kEAA4E;AAC5E,kDAAmD;AACnD,gCAAqC;AAG9B,MAAM,SAAS,GAA4C,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE;IAC9F,wCAAwC;IACxC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;IAC1D,MAAM,EAAE,GAAG,IAAA,+BAAgB,EAAC,SAAS,EAAE,SAAS,EAAE,OAAQ,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAW,EAAC,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAEtB,MAAM,MAAM,GAAG,IAAA,kCAAsB,EAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAEvE,yCAAyC;IAEzC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAbW,QAAA,SAAS,aAapB"}
|
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.buildOptimisticOperation = void 0;
|
|
13
4
|
const operation_1 = require("@ledgerhq/coin-framework/operation");
|
|
14
5
|
const utils_1 = require("../bridge/utils");
|
|
15
6
|
const network_1 = require("../network");
|
|
16
7
|
const utils_2 = require("../common-logic/utils");
|
|
17
|
-
const buildOptimisticOperation =
|
|
8
|
+
const buildOptimisticOperation = async (account, transaction, serializationRes, operationType = "OUT") => {
|
|
18
9
|
const type = operationType;
|
|
19
10
|
const subAccount = (0, utils_2.getSubAccount)(account, transaction);
|
|
20
11
|
// resolved at broadcast time
|
|
@@ -57,6 +48,6 @@ const buildOptimisticOperation = (account_1, transaction_1, serializationRes_1,
|
|
|
57
48
|
};
|
|
58
49
|
}
|
|
59
50
|
return operation;
|
|
60
|
-
}
|
|
51
|
+
};
|
|
61
52
|
exports.buildOptimisticOperation = buildOptimisticOperation;
|
|
62
53
|
//# sourceMappingURL=buildOptimisticOperation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildOptimisticOperation.js","sourceRoot":"","sources":["../../src/bridge/buildOptimisticOperation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildOptimisticOperation.js","sourceRoot":"","sources":["../../src/bridge/buildOptimisticOperation.ts"],"names":[],"mappings":";;;AACA,kEAAuE;AAGvE,2CAAyD;AACzD,wCAAoD;AACpD,iDAAsD;AAE/C,MAAM,wBAAwB,GAAG,KAAK,EAC3C,OAAgB,EAChB,WAAwB,EACxB,gBAAgC,EAChC,gBAA+B,KAAK,EAChB,EAAE;IACtB,MAAM,IAAI,GAAG,aAAa,CAAC;IAC3B,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACvD,6BAA6B;IAC7B,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;IAC5C,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC;IAChG,MAAM,GAAG,GAAG,IAAA,8BAAsB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAExD,IAAI,SAAoB,CAAC;IACzB,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,gBAAgB,GAAG,IAAA,gCAAsB,EAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvE,SAAS,GAAG;YACV,EAAE,EAAE,IAAA,6BAAiB,EAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC;YACnD,IAAI,EAAE,MAAM;YACZ,IAAI;YACJ,KAAK,EAAE,WAAW;YAClB,GAAG;YACH,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,UAAU,CAAC,EAAE;YACxB,OAAO,EAAE,CAAC,YAAY,CAAC;YACvB,UAAU,EAAE,CAAC,gBAAgB,CAAC;YAC9B,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,SAAS,GAAG;YACV,EAAE,EAAE,IAAA,6BAAiB,EAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC;YAChD,IAAI,EAAE,MAAM;YACZ,IAAI;YACJ,OAAO,EAAE,CAAC,YAAY,CAAC;YACvB,UAAU,EAAE,CAAC,oBAAoB,CAAC;YAClC,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5B,GAAG;YACH,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAjDW,QAAA,wBAAwB,4BAiDnC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -22,8 +13,7 @@ const api_1 = require("../api");
|
|
|
22
13
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
23
14
|
const types_1 = require("../types");
|
|
24
15
|
const tokenAccounts_1 = require("../erc20/tokenAccounts");
|
|
25
|
-
const estimateMaxSpendable =
|
|
26
|
-
var _b, _c;
|
|
16
|
+
const estimateMaxSpendable = async ({ account, parentAccount, transaction, }) => {
|
|
27
17
|
// log("debug", "[estimateMaxSpendable] start fn");
|
|
28
18
|
if (transaction && !transaction.subAccountId) {
|
|
29
19
|
transaction.subAccountId = account.type === "Account" ? null : account.id;
|
|
@@ -37,11 +27,11 @@ const estimateMaxSpendable = (_a) => __awaiter(void 0, [_a], void 0, function* (
|
|
|
37
27
|
}
|
|
38
28
|
if (transaction && transaction.subAccountId && !subAccount) {
|
|
39
29
|
tokenAccountTxn = true;
|
|
40
|
-
subAccount = (
|
|
30
|
+
subAccount = (0, common_logic_1.getSubAccount)(a, transaction) ?? null;
|
|
41
31
|
}
|
|
42
32
|
let { address: sender } = (0, common_logic_1.getAddress)(a);
|
|
43
33
|
let methodNum = utils_1.Methods.Transfer;
|
|
44
|
-
let recipient = transaction
|
|
34
|
+
let recipient = transaction?.recipient;
|
|
45
35
|
const invalidAddressErr = new errors_1.InvalidAddress(undefined, {
|
|
46
36
|
currencyName: subAccount ? subAccount.token.name : a.currency.name,
|
|
47
37
|
});
|
|
@@ -60,10 +50,10 @@ const estimateMaxSpendable = (_a) => __awaiter(void 0, [_a], void 0, function* (
|
|
|
60
50
|
? utils_1.Methods.InvokeEVM
|
|
61
51
|
: utils_1.Methods.Transfer;
|
|
62
52
|
}
|
|
63
|
-
let balance = new bignumber_js_1.default((
|
|
53
|
+
let balance = new bignumber_js_1.default((await (0, api_1.fetchBalances)(sender)).spendable_balance);
|
|
64
54
|
if (balance.eq(0))
|
|
65
55
|
return balance;
|
|
66
|
-
const validatedContractAddress = (0, network_1.validateAddress)(
|
|
56
|
+
const validatedContractAddress = (0, network_1.validateAddress)(subAccount?.token.contractAddress ?? "");
|
|
67
57
|
if (tokenAccountTxn && !validatedContractAddress.isValid) {
|
|
68
58
|
throw invalidAddressErr;
|
|
69
59
|
}
|
|
@@ -75,7 +65,14 @@ const estimateMaxSpendable = (_a) => __awaiter(void 0, [_a], void 0, function* (
|
|
|
75
65
|
const params = tokenAccountTxn && transaction && subAccount
|
|
76
66
|
? (0, tokenAccounts_1.generateTokenTxnParams)(contractAddress, transaction.amount.isZero() ? (0, bignumber_js_1.default)(1) : transaction.amount)
|
|
77
67
|
: undefined;
|
|
78
|
-
const result =
|
|
68
|
+
const result = await (0, api_1.fetchEstimatedFees)({
|
|
69
|
+
to: finalRecipient,
|
|
70
|
+
from: sender,
|
|
71
|
+
methodNum,
|
|
72
|
+
blockIncl: types_1.BroadcastBlockIncl,
|
|
73
|
+
...(params && { params: (0, tokenAccounts_1.encodeTxnParams)(params) }), // If token transfer, the eth call params are required to estimate fees
|
|
74
|
+
...(tokenAccountTxn && { value: "0" }), // If token transfer, the value should be 0 (avoid any native token transfer on fee estimation)
|
|
75
|
+
});
|
|
79
76
|
const gasFeeCap = new bignumber_js_1.default(result.gas_fee_cap);
|
|
80
77
|
const gasLimit = new bignumber_js_1.default(result.gas_limit);
|
|
81
78
|
const estimatedFees = (0, utils_1.calculateEstimatedFees)(gasFeeCap, gasLimit);
|
|
@@ -95,6 +92,6 @@ const estimateMaxSpendable = (_a) => __awaiter(void 0, [_a], void 0, function* (
|
|
|
95
92
|
}
|
|
96
93
|
// log("debug", "[estimateMaxSpendable] finish fn");
|
|
97
94
|
return balance;
|
|
98
|
-
}
|
|
95
|
+
};
|
|
99
96
|
exports.estimateMaxSpendable = estimateMaxSpendable;
|
|
100
97
|
//# sourceMappingURL=estimateMaxSpendable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimateMaxSpendable.js","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"estimateMaxSpendable.js","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.ts"],"names":[],"mappings":";;;;;;AAEA,kEAAwE;AACxE,kDAA4D;AAC5D,mCAAuE;AACvE,6CAI0B;AAC1B,wCAA8D;AAC9D,gCAA2D;AAC3D,gEAAqC;AACrC,oCAA8C;AAC9C,0DAAiF;AAE1E,MAAM,oBAAoB,GAAuD,KAAK,EAAE,EAC7F,OAAO,EACP,aAAa,EACb,WAAW,GACZ,EAAE,EAAE;IACH,mDAAmD;IACnD,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7C,WAAW,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,IAAI,eAAe,GAAY,KAAK,CAAC;IACrC,IAAI,UAA2C,CAAC;IAChD,MAAM,CAAC,GAAG,IAAA,sBAAc,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAW,CAAC,YAAY,EAAE,CAAC;QAC9C,eAAe,GAAG,IAAI,CAAC;QACvB,UAAU,GAAG,OAAO,CAAC;IACvB,CAAC;IACD,IAAI,WAAW,IAAI,WAAW,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3D,eAAe,GAAG,IAAI,CAAC;QACvB,UAAU,GAAG,IAAA,4BAAa,EAAC,CAAC,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC;IACrD,CAAC;IAED,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,yBAAU,EAAC,CAAC,CAAC,CAAC;IAExC,IAAI,SAAS,GAAG,eAAO,CAAC,QAAQ,CAAC;IACjC,IAAI,SAAS,GAAG,WAAW,EAAE,SAAS,CAAC;IAEvC,MAAM,iBAAiB,GAAG,IAAI,uBAAc,CAAC,SAAS,EAAE;QACtD,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI;KACnE,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,IAAA,yBAAe,EAAC,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,gBAAgB,CAAC,OAAO;QAAE,MAAM,iBAAiB,CAAC;IACvD,MAAM,GAAG,gBAAgB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IAEnD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,mBAAmB,GAAG,IAAA,yBAAe,EAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,iBAAiB,CAAC;QAC1B,CAAC;QACD,SAAS,GAAG,mBAAmB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAEzD,SAAS;YACP,IAAA,yBAAe,EAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,eAAe;gBACnE,CAAC,CAAC,eAAO,CAAC,SAAS;gBACnB,CAAC,CAAC,eAAO,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAI,OAAO,GAAG,IAAI,sBAAS,CAAC,CAAC,MAAM,IAAA,mBAAa,EAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAE7E,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IAElC,MAAM,wBAAwB,GAAG,IAAA,yBAAe,EAAC,UAAU,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;IAC1F,IAAI,eAAe,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,CAAC;QACzD,MAAM,iBAAiB,CAAC;IAC1B,CAAC;IACD,MAAM,eAAe,GACnB,eAAe,IAAI,wBAAwB,CAAC,OAAO;QACjD,CAAC,CAAC,wBAAwB,CAAC,aAAa,CAAC,QAAQ,EAAE;QACnD,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;IAErE,kEAAkE;IAClE,MAAM,MAAM,GACV,eAAe,IAAI,WAAW,IAAI,UAAU;QAC1C,CAAC,CAAC,IAAA,sCAAsB,EACpB,eAAe,EACf,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAA,sBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAChE;QACH,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAkB,EAAC;QACtC,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,MAAM;QACZ,SAAS;QACT,SAAS,EAAE,0BAAkB;QAC7B,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,IAAA,+BAAe,EAAC,MAAM,CAAC,EAAE,CAAC,EAAE,uEAAuE;QAC3H,GAAG,CAAC,eAAe,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,+FAA+F;KACxI,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,IAAA,8BAAsB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAElE,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,wCAA+B,CAAC,SAAS,EAAE;gBACnD,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,kCAAyB,CAAC,SAAS,EAAE;YAC7C,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAEvC,IAAI,eAAe,IAAI,UAAU,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,gBAAgB,CAAC;IACrC,CAAC;IACD,oDAAoD;IAEpD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAvGW,QAAA,oBAAoB,wBAuG/B"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.getTransactionStatus = void 0;
|
|
13
4
|
const errors_1 = require("@ledgerhq/errors");
|
|
@@ -15,7 +6,7 @@ const network_1 = require("../network");
|
|
|
15
6
|
const common_logic_1 = require("../common-logic");
|
|
16
7
|
const utils_1 = require("./utils");
|
|
17
8
|
const errors_2 = require("../errors");
|
|
18
|
-
const getTransactionStatus = (account, transaction) =>
|
|
9
|
+
const getTransactionStatus = async (account, transaction) => {
|
|
19
10
|
// log("debug", "[getTransactionStatus] start fn");
|
|
20
11
|
const errors = {};
|
|
21
12
|
const warnings = {};
|
|
@@ -79,6 +70,6 @@ const getTransactionStatus = (account, transaction) => __awaiter(void 0, void 0,
|
|
|
79
70
|
amount,
|
|
80
71
|
totalSpent,
|
|
81
72
|
};
|
|
82
|
-
}
|
|
73
|
+
};
|
|
83
74
|
exports.getTransactionStatus = getTransactionStatus;
|
|
84
75
|
//# sourceMappingURL=getTransactionStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -21,8 +12,7 @@ const utils_1 = require("./utils");
|
|
|
21
12
|
const index_1 = require("../api/index");
|
|
22
13
|
const utils_2 = require("../common-logic/utils");
|
|
23
14
|
const tokenAccounts_1 = require("../erc20/tokenAccounts");
|
|
24
|
-
const prepareTransaction = (account, transaction) =>
|
|
25
|
-
var _a;
|
|
15
|
+
const prepareTransaction = async (account, transaction) => {
|
|
26
16
|
const { balance } = account;
|
|
27
17
|
const { address } = (0, utils_2.getAddress)(account);
|
|
28
18
|
const { useAllAmount } = transaction;
|
|
@@ -37,7 +27,7 @@ const prepareTransaction = (account, transaction) => __awaiter(void 0, void 0, v
|
|
|
37
27
|
const method = (0, network_1.isFilEthAddress)(recipientValidation.parsedAddress) || tokenAccountTxn
|
|
38
28
|
? utils_1.Methods.InvokeEVM
|
|
39
29
|
: utils_1.Methods.Transfer;
|
|
40
|
-
const validatedContractAddress = (0, network_1.validateAddress)(
|
|
30
|
+
const validatedContractAddress = (0, network_1.validateAddress)(subAccount?.token.contractAddress ?? "");
|
|
41
31
|
let finalRecipient = recipientValidation;
|
|
42
32
|
let params = undefined;
|
|
43
33
|
// used as fallback only for estimation of fees
|
|
@@ -53,7 +43,14 @@ const prepareTransaction = (account, transaction) => __awaiter(void 0, void 0, v
|
|
|
53
43
|
}
|
|
54
44
|
}
|
|
55
45
|
const paramsForEstimation = params ? params : fallbackParams;
|
|
56
|
-
const result =
|
|
46
|
+
const result = await (0, index_1.fetchEstimatedFees)({
|
|
47
|
+
to: finalRecipient.parsedAddress.toString(),
|
|
48
|
+
from: senderValidation.parsedAddress.toString(),
|
|
49
|
+
methodNum: method,
|
|
50
|
+
blockIncl: types_1.BroadcastBlockIncl,
|
|
51
|
+
...(tokenAccountTxn && { params: (0, tokenAccounts_1.encodeTxnParams)(paramsForEstimation) }), // If token transfer, the eth call params are required to estimate fees
|
|
52
|
+
...(tokenAccountTxn && { value: "0" }), // If token transfer, the value should be 0 (avoid any native token transfer on fee estimation)
|
|
53
|
+
});
|
|
57
54
|
patch.gasFeeCap = new bignumber_js_1.default(result.gas_fee_cap);
|
|
58
55
|
patch.gasPremium = new bignumber_js_1.default(result.gas_premium);
|
|
59
56
|
patch.gasLimit = new bignumber_js_1.default(result.gas_limit);
|
|
@@ -70,6 +67,6 @@ const prepareTransaction = (account, transaction) => __awaiter(void 0, void 0, v
|
|
|
70
67
|
}
|
|
71
68
|
}
|
|
72
69
|
return transaction;
|
|
73
|
-
}
|
|
70
|
+
};
|
|
74
71
|
exports.prepareTransaction = prepareTransaction;
|
|
75
72
|
//# sourceMappingURL=prepareTransaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"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"}
|
package/lib/bridge/serializer.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -19,15 +10,14 @@ const message_1 = require("iso-filecoin/message");
|
|
|
19
10
|
const tokenAccounts_1 = require("../erc20/tokenAccounts");
|
|
20
11
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
21
12
|
const utils_1 = require("./utils");
|
|
22
|
-
const toCBOR = (account, tx) =>
|
|
23
|
-
var _a;
|
|
13
|
+
const toCBOR = async (account, tx) => {
|
|
24
14
|
const { address: from } = (0, index_1.getAddress)(account);
|
|
25
15
|
const { method, version, nonce, gasLimit, gasPremium, gasFeeCap, amount, recipient } = tx;
|
|
26
16
|
const recipientValidation = (0, network_1.validateAddress)(recipient);
|
|
27
17
|
const fromValidation = (0, network_1.validateAddress)(from);
|
|
28
18
|
const subAccount = (0, index_1.getSubAccount)(account, tx);
|
|
29
19
|
const tokenTransfer = subAccount && subAccount.type === utils_1.AccountType.TokenAccount;
|
|
30
|
-
const params = tokenTransfer ? (0, tokenAccounts_1.encodeTxnParams)(
|
|
20
|
+
const params = tokenTransfer ? (0, tokenAccounts_1.encodeTxnParams)(tx.params ?? "") : undefined;
|
|
31
21
|
if (!recipientValidation.isValid || !fromValidation.isValid)
|
|
32
22
|
throw new Error("recipient and/or from address are not valid");
|
|
33
23
|
let finalRecipient;
|
|
@@ -57,9 +47,9 @@ const toCBOR = (account, tx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
57
47
|
txPayload: message.serialize(),
|
|
58
48
|
recipientToBroadcast: finalRecipient,
|
|
59
49
|
parsedSender: fromValidation.parsedAddress.toString(),
|
|
60
|
-
encodedParams: params
|
|
50
|
+
encodedParams: params ?? "",
|
|
61
51
|
amountToBroadcast: new bignumber_js_1.default(finalAmount),
|
|
62
52
|
};
|
|
63
|
-
}
|
|
53
|
+
};
|
|
64
54
|
exports.toCBOR = toCBOR;
|
|
65
55
|
//# sourceMappingURL=serializer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/bridge/serializer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/bridge/serializer.ts"],"names":[],"mappings":";;;;;;AAGA,iDAAkE;AAClE,wCAA6C;AAC7C,kDAA+C;AAC/C,0DAAyD;AACzD,gEAAqC;AACrC,mCAAsC;AAU/B,MAAM,MAAM,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAe,EAA2B,EAAE;IACzF,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IAC1F,MAAM,mBAAmB,GAAG,IAAA,yBAAe,EAAC,SAAS,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAA,yBAAe,EAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,mBAAW,CAAC,YAAY,CAAC;IACjF,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAA,+BAAe,EAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5E,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO;QACzD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAEjE,IAAI,cAAsB,CAAC;IAC3B,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,IAAA,yBAAe,EAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC/E,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,mBAAmB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAE5D,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC;QAC1B,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE;QAC7C,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;QAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;QAC7B,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;QACjC,MAAM;QACN,KAAK;QACL,MAAM;QACN,OAAO,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACtC,KAAK,EAAE,WAAW;KACnB,CAAC,CAAC;IAEH,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;QAC9B,oBAAoB,EAAE,cAAc;QACpC,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE;QACrD,aAAa,EAAE,MAAM,IAAI,EAAE;QAC3B,iBAAiB,EAAE,IAAI,sBAAS,CAAC,WAAW,CAAC;KAC9C,CAAC;AACJ,CAAC,CAAC;AA5CW,QAAA,MAAM,UA4CjB"}
|