@ledgerhq/live-common 21.17.2 → 21.18.0
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/lib/families/ethereum/cli-transaction.d.ts.map +1 -1
- package/lib/families/ethereum/cli-transaction.js +10 -0
- package/lib/families/ethereum/cli-transaction.js.map +1 -1
- package/lib/families/ethereum/modules/erc1155.d.ts +4 -0
- package/lib/families/ethereum/modules/erc1155.d.ts.map +1 -0
- package/lib/families/ethereum/modules/erc1155.js +117 -0
- package/lib/families/ethereum/modules/erc1155.js.map +1 -0
- package/lib/families/ethereum/modules/erc721.d.ts +4 -0
- package/lib/families/ethereum/modules/erc721.d.ts.map +1 -0
- package/lib/families/ethereum/modules/erc721.js +95 -0
- package/lib/families/ethereum/modules/erc721.js.map +1 -0
- package/lib/families/ethereum/modules/index.d.ts +3 -1
- package/lib/families/ethereum/modules/index.d.ts.map +1 -1
- package/lib/families/ethereum/modules/index.js +5 -1
- package/lib/families/ethereum/modules/index.js.map +1 -1
- package/lib/families/ethereum/transaction.d.ts.map +1 -1
- package/lib/families/ethereum/transaction.js +25 -8
- package/lib/families/ethereum/transaction.js.map +1 -1
- package/lib/families/ethereum/types.d.ts +6 -0
- package/lib/families/ethereum/types.d.ts.map +1 -1
- package/lib/families/ethereum/types.js.map +1 -1
- package/package.json +4 -4
- package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +2 -0
- package/src/families/ethereum/cli-transaction.ts +10 -0
- package/src/families/ethereum/modules/erc1155.ts +142 -0
- package/src/families/ethereum/modules/erc721.ts +108 -0
- package/src/families/ethereum/modules/index.ts +12 -1
- package/src/families/ethereum/transaction.ts +38 -8
- package/src/families/ethereum/types.ts +6 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-transaction.d.ts","sourceRoot":"","sources":["../../../src/families/ethereum/cli-transaction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,WAAW,EACX,gBAAgB,EACjB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-transaction.d.ts","sourceRoot":"","sources":["../../../src/families/ethereum/cli-transaction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,WAAW,EACX,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAuDrB,iBAAS,aAAa,CACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,gBAAgB,CA8BlB;AAED,iBAAS,iBAAiB,CACxB,YAAY,EAAE,KAAK,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC,EACF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,EAAE,WAAW,EAAE,EAAE,GAAG,GACnB,WAAW,EAAE,CAqBf;;;;;;;;;;;;;;;;;;;;;;;;AAED,wBAIE"}
|
|
@@ -32,6 +32,16 @@ var options = [
|
|
|
32
32
|
desc: "use an token account children of the account",
|
|
33
33
|
multiple: true
|
|
34
34
|
},
|
|
35
|
+
{
|
|
36
|
+
name: "collection",
|
|
37
|
+
type: String,
|
|
38
|
+
desc: "determine the collection of an NFT (related to the --tokenId)"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: "tokenId",
|
|
42
|
+
type: String,
|
|
43
|
+
desc: "determine the tokenId of an NFT (related to the --colection)"
|
|
44
|
+
},
|
|
35
45
|
{
|
|
36
46
|
name: "gasPrice",
|
|
37
47
|
type: String,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-transaction.js","sourceRoot":"","sources":["../../../src/families/ethereum/cli-transaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-transaction.js","sourceRoot":"","sources":["../../../src/families/ethereum/cli-transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erc1155.d.ts","sourceRoot":"","sources":["../../../../src/families/ethereum/modules/erc1155.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,UAAU,CAAC;AAOxD,oBAAY,KAAK,GAAG,kBAAkB,CAAC;AA2HvC,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,CAE3C,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
exports.__esModule = true;
|
|
17
|
+
exports.modes = void 0;
|
|
18
|
+
var eip55_1 = __importDefault(require("eip55"));
|
|
19
|
+
var ethereumjs_abi_1 = __importDefault(require("ethereumjs-abi"));
|
|
20
|
+
var invariant_1 = __importDefault(require("invariant"));
|
|
21
|
+
var bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
22
|
+
var errors_1 = require("@ledgerhq/errors");
|
|
23
|
+
var transaction_1 = require("../transaction");
|
|
24
|
+
var notOwnedNft = (0, errors_1.createCustomErrorClass)("NotOwnedNft");
|
|
25
|
+
var notEnoughNftOwned = (0, errors_1.createCustomErrorClass)("NotEnoughNftOwned");
|
|
26
|
+
var notTokenIdsProvided = (0, errors_1.createCustomErrorClass)("NotTokenIdsProvided");
|
|
27
|
+
var erc1155Transfer = {
|
|
28
|
+
/**
|
|
29
|
+
* Tx data is filled during the buildEthereumTx
|
|
30
|
+
*/
|
|
31
|
+
fillTransactionData: function (a, t, tx) {
|
|
32
|
+
var data = serializeTransactionData(a, t);
|
|
33
|
+
(0, invariant_1["default"])(data, "serializeTransactionData provided no data");
|
|
34
|
+
tx.data = "0x" + data.toString("hex");
|
|
35
|
+
tx.to = t.collection;
|
|
36
|
+
tx.value = "0x00";
|
|
37
|
+
},
|
|
38
|
+
/**
|
|
39
|
+
* Tx status is filled after the buildEthereumTx
|
|
40
|
+
*/
|
|
41
|
+
fillTransactionStatus: function (a, t, result) {
|
|
42
|
+
var _a;
|
|
43
|
+
(0, transaction_1.validateRecipient)(a.currency, t.recipient, result);
|
|
44
|
+
if (!result.errors.recipient) {
|
|
45
|
+
result.totalSpent = result.estimatedFees;
|
|
46
|
+
result.amount = new bignumber_js_1["default"](t.amount);
|
|
47
|
+
if (result.estimatedFees.gt(a.spendableBalance)) {
|
|
48
|
+
result.errors.amount = new errors_1.NotEnoughBalanceInParentAccount();
|
|
49
|
+
}
|
|
50
|
+
var enoughTokensOwned = ((_a = t.tokenIds) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, tokenId, index) {
|
|
51
|
+
var _a, _b;
|
|
52
|
+
if (acc instanceof Error) {
|
|
53
|
+
return acc;
|
|
54
|
+
}
|
|
55
|
+
var nft = (_a = a.nfts) === null || _a === void 0 ? void 0 : _a.find(function (n) { return n.tokenId === tokenId; });
|
|
56
|
+
var transferQuantity = Number((_b = t.quantities) === null || _b === void 0 ? void 0 : _b[index]);
|
|
57
|
+
if (!nft) {
|
|
58
|
+
return new notOwnedNft();
|
|
59
|
+
}
|
|
60
|
+
if (transferQuantity && !nft.amount.gte(transferQuantity)) {
|
|
61
|
+
return new notEnoughNftOwned();
|
|
62
|
+
}
|
|
63
|
+
return true;
|
|
64
|
+
}, true)) || new notTokenIdsProvided();
|
|
65
|
+
if (!enoughTokensOwned || enoughTokensOwned instanceof Error) {
|
|
66
|
+
result.errors.amount = enoughTokensOwned;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
/**
|
|
71
|
+
* This will only be used by LLM & LLD, not the HW.
|
|
72
|
+
*/
|
|
73
|
+
fillDeviceTransactionConfig: function (input, fields) {
|
|
74
|
+
var _a, _b, _c, _d, _e;
|
|
75
|
+
fields.push({
|
|
76
|
+
type: "text",
|
|
77
|
+
label: "Type",
|
|
78
|
+
value: "ERC721.transfer"
|
|
79
|
+
});
|
|
80
|
+
fields.push({
|
|
81
|
+
type: "text",
|
|
82
|
+
label: "Collection",
|
|
83
|
+
value: (_a = input.transaction.collection) !== null && _a !== void 0 ? _a : ""
|
|
84
|
+
});
|
|
85
|
+
fields.push({
|
|
86
|
+
type: "text",
|
|
87
|
+
label: "Token IDs",
|
|
88
|
+
value: (_c = (_b = input.transaction.tokenIds) === null || _b === void 0 ? void 0 : _b.join(",")) !== null && _c !== void 0 ? _c : ""
|
|
89
|
+
});
|
|
90
|
+
fields.push({
|
|
91
|
+
type: "text",
|
|
92
|
+
label: "Quantities",
|
|
93
|
+
value: (_e = (_d = input.transaction.quantities) === null || _d === void 0 ? void 0 : _d.join(",")) !== null && _e !== void 0 ? _e : ""
|
|
94
|
+
});
|
|
95
|
+
},
|
|
96
|
+
/**
|
|
97
|
+
* Optimistic Operation is filled post signing
|
|
98
|
+
*/
|
|
99
|
+
fillOptimisticOperation: function (a, t, op) {
|
|
100
|
+
op.type = "FEES";
|
|
101
|
+
op.extra = __assign(__assign({}, op.extra), { approving: true });
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
function serializeTransactionData(account, transaction) {
|
|
105
|
+
var _a;
|
|
106
|
+
var from = eip55_1["default"].encode(account.freshAddress);
|
|
107
|
+
var to = eip55_1["default"].encode(transaction.recipient);
|
|
108
|
+
var tokenIds = transaction.tokenIds || [];
|
|
109
|
+
var quantities = ((_a = transaction.quantities) === null || _a === void 0 ? void 0 : _a.map(function (q) { return q.toFixed(); })) || [];
|
|
110
|
+
return (tokenIds === null || tokenIds === void 0 ? void 0 : tokenIds.length) > 1
|
|
111
|
+
? ethereumjs_abi_1["default"].simpleEncode("safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)", from, to, tokenIds, quantities, "0x00")
|
|
112
|
+
: ethereumjs_abi_1["default"].simpleEncode("safeTransferFrom(address,address,uint256,uint256,bytes)", from, to, tokenIds[0], quantities[0], "0x00");
|
|
113
|
+
}
|
|
114
|
+
exports.modes = {
|
|
115
|
+
"erc1155.transfer": erc1155Transfer
|
|
116
|
+
};
|
|
117
|
+
//# sourceMappingURL=erc1155.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erc1155.js","sourceRoot":"","sources":["../../../../src/families/ethereum/modules/erc1155.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erc721.d.ts","sourceRoot":"","sources":["../../../../src/families/ethereum/modules/erc721.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,UAAU,CAAC;AAKxD,oBAAY,KAAK,GAAG,iBAAiB,CAAC;AA2FtC,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,CAE3C,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
exports.__esModule = true;
|
|
17
|
+
exports.modes = void 0;
|
|
18
|
+
var eip55_1 = __importDefault(require("eip55"));
|
|
19
|
+
var ethereumjs_abi_1 = __importDefault(require("ethereumjs-abi"));
|
|
20
|
+
var invariant_1 = __importDefault(require("invariant"));
|
|
21
|
+
var bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
22
|
+
var errors_1 = require("@ledgerhq/errors");
|
|
23
|
+
var transaction_1 = require("../transaction");
|
|
24
|
+
var notOwnedNft = (0, errors_1.createCustomErrorClass)("NotOwnedNft");
|
|
25
|
+
var erc721Transfer = {
|
|
26
|
+
/**
|
|
27
|
+
* Tx data is filled during the buildEthereumTx
|
|
28
|
+
*/
|
|
29
|
+
fillTransactionData: function (a, t, tx) {
|
|
30
|
+
var data = serializeTransactionData(a, t);
|
|
31
|
+
(0, invariant_1["default"])(data, "serializeTransactionData provided no data");
|
|
32
|
+
tx.data = "0x" + data.toString("hex");
|
|
33
|
+
tx.to = t.collection;
|
|
34
|
+
tx.value = "0x00";
|
|
35
|
+
},
|
|
36
|
+
/**
|
|
37
|
+
* Tx status is filled after the buildEthereumTx
|
|
38
|
+
*/
|
|
39
|
+
fillTransactionStatus: function (a, t, result) {
|
|
40
|
+
var _a, _b;
|
|
41
|
+
(0, transaction_1.validateRecipient)(a.currency, t.recipient, result);
|
|
42
|
+
if (!result.errors.recipient) {
|
|
43
|
+
result.totalSpent = result.estimatedFees;
|
|
44
|
+
result.amount = new bignumber_js_1["default"](t.amount);
|
|
45
|
+
if (result.estimatedFees.gt(a.spendableBalance)) {
|
|
46
|
+
result.errors.amount = new errors_1.NotEnoughBalanceInParentAccount();
|
|
47
|
+
}
|
|
48
|
+
if (!((_b = (_a = a.nfts) === null || _a === void 0 ? void 0 : _a.find) === null || _b === void 0 ? void 0 : _b.call(_a, function (n) {
|
|
49
|
+
var _a;
|
|
50
|
+
return n.tokenId === ((_a = t.tokenIds) === null || _a === void 0 ? void 0 : _a[0]) &&
|
|
51
|
+
n.collection.contract === t.collection;
|
|
52
|
+
}))) {
|
|
53
|
+
result.errors.amount = new notOwnedNft();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
/**
|
|
58
|
+
* This will only be used by LLM & LLD, not the HW.
|
|
59
|
+
*/
|
|
60
|
+
fillDeviceTransactionConfig: function (input, fields) {
|
|
61
|
+
var _a, _b, _c;
|
|
62
|
+
fields.push({
|
|
63
|
+
type: "text",
|
|
64
|
+
label: "Type",
|
|
65
|
+
value: "ERC721.transfer"
|
|
66
|
+
});
|
|
67
|
+
fields.push({
|
|
68
|
+
type: "text",
|
|
69
|
+
label: "Collection",
|
|
70
|
+
value: (_a = input.transaction.collection) !== null && _a !== void 0 ? _a : ""
|
|
71
|
+
});
|
|
72
|
+
fields.push({
|
|
73
|
+
type: "text",
|
|
74
|
+
label: "Token ID",
|
|
75
|
+
value: (_c = (_b = input.transaction.tokenIds) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : ""
|
|
76
|
+
});
|
|
77
|
+
},
|
|
78
|
+
/**
|
|
79
|
+
* Optimistic Operation is filled post signing
|
|
80
|
+
*/
|
|
81
|
+
fillOptimisticOperation: function (a, t, op) {
|
|
82
|
+
op.type = "FEES";
|
|
83
|
+
op.extra = __assign(__assign({}, op.extra), { approving: true });
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
function serializeTransactionData(account, transaction) {
|
|
87
|
+
var _a;
|
|
88
|
+
var from = eip55_1["default"].encode(account.freshAddress);
|
|
89
|
+
var to = eip55_1["default"].encode(transaction.recipient);
|
|
90
|
+
return ethereumjs_abi_1["default"].simpleEncode("safeTransferFrom(address,address,uint256,bytes)", from, to, (_a = transaction.tokenIds) === null || _a === void 0 ? void 0 : _a[0], "0x00");
|
|
91
|
+
}
|
|
92
|
+
exports.modes = {
|
|
93
|
+
"erc721.transfer": erc721Transfer
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=erc721.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erc721.js","sourceRoot":"","sources":["../../../../src/families/ethereum/modules/erc721.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,9 @@ import type { DeviceTransactionField } from "../../../transaction";
|
|
|
5
5
|
import type { Modes as CompoundModes } from "./compound";
|
|
6
6
|
import type { Modes as ERC20Modes } from "./erc20";
|
|
7
7
|
import type { Modes as SendModes } from "./send";
|
|
8
|
-
|
|
8
|
+
import type { Modes as ERC721Modes } from "./erc721";
|
|
9
|
+
import type { Modes as ERC1155Modes } from "./erc1155";
|
|
10
|
+
export declare type TransactionMode = CompoundModes | ERC20Modes | SendModes | ERC721Modes | ERC1155Modes;
|
|
9
11
|
/**
|
|
10
12
|
* A ModeModule enable a new transaction mode in Ethereum family
|
|
11
13
|
* for instance --mode send or --mode compound.supply
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/families/ethereum/modules/index.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,OAAO,EACP,iBAAiB,EACjB,SAAS,EACT,WAAW,EACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/families/ethereum/modules/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,10 +64,14 @@ var values_1 = __importDefault(require("lodash/values"));
|
|
|
64
64
|
var compound = __importStar(require("./compound"));
|
|
65
65
|
var erc20 = __importStar(require("./erc20"));
|
|
66
66
|
var send = __importStar(require("./send"));
|
|
67
|
+
var erc721 = __importStar(require("./erc721"));
|
|
68
|
+
var erc1155 = __importStar(require("./erc1155"));
|
|
67
69
|
var modules = {
|
|
68
70
|
erc20: erc20,
|
|
69
71
|
compound: compound,
|
|
70
|
-
send: send
|
|
72
|
+
send: send,
|
|
73
|
+
erc721: erc721,
|
|
74
|
+
erc1155: erc1155
|
|
71
75
|
};
|
|
72
76
|
exports.modes = {};
|
|
73
77
|
function loadModes() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/families/ethereum/modules/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAmC;AAWnC,sCAAsC;AACtC,mDAAuC;AACvC,6CAAiC;AACjC,2CAA+B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/families/ethereum/modules/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/families/ethereum/transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAW1D,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ9E,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,WAe5E;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,MAAM,OAYlB;AACD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,MAAM,EACjB,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAAiB,QAexC;AACD,eAAO,MAAM,iBAAiB,MACzB,WAAW,eACD,OAAO,KACnB,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/families/ethereum/transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAW1D,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ9E,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,WAe5E;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,MAAM,OAYlB;AACD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,MAAM,EACjB,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAAiB,QAexC;AACD,eAAO,MAAM,iBAAiB,MACzB,WAAW,eACD,OAAO,KACnB,MA4CF,CAAC;AAGF,eAAO,MAAM,WAAW,MAAO,WAAW,KAAG,SACa,CAAC;AAC3D,eAAO,MAAM,kBAAkB,OAAQ,cAAc,KAAG,WA0BvD,CAAC;AACF,eAAO,MAAM,gBAAgB,MAAO,WAAW,KAAG,cA0BjD,CAAC;AA+BF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,kDAQ3D;AACD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,MAAM;;;;;EA2Cd;AACD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,GACvB,uBAAuB,CA6BzB;AACD,eAAO,MAAM,gBAAgB,EAAE,CAC7B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,uBAAuB,KAC7B,OAAO,CAAC,SAAS,CA4BrB,CAAC;;;;;;AACF,wBAIE"}
|
|
@@ -83,12 +83,27 @@ var formatTransaction = function (t, mainAccount) {
|
|
|
83
83
|
var account = (t.subAccountId &&
|
|
84
84
|
(mainAccount.subAccounts || []).find(function (a) { return a.id === t.subAccountId; })) ||
|
|
85
85
|
mainAccount;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
86
|
+
var header = (function () {
|
|
87
|
+
var _a, _b;
|
|
88
|
+
switch (t.mode) {
|
|
89
|
+
case "erc721.transfer":
|
|
90
|
+
return t.mode.toUpperCase() + " Collection: " + t.collection + " TokenId: " + ((_a = t.tokenIds) === null || _a === void 0 ? void 0 : _a[0]);
|
|
91
|
+
case "erc1155.transfer":
|
|
92
|
+
return (t.mode.toUpperCase() + " Collection: " + t.collection +
|
|
93
|
+
((_b = t.tokenIds) === null || _b === void 0 ? void 0 : _b.map(function (tokenId, index) {
|
|
94
|
+
var _a, _b, _c;
|
|
95
|
+
return "\n - TokenId: " + tokenId + " Quantity: " + ((_c = (_b = (_a = t.quantities) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b.toFixed()) !== null && _c !== void 0 ? _c : 0);
|
|
96
|
+
}).join(",")));
|
|
97
|
+
default:
|
|
98
|
+
return t.mode.toUpperCase() + " " + (t.useAllAmount
|
|
99
|
+
? "MAX"
|
|
100
|
+
: (0, currencies_1.formatCurrencyUnit)((0, account_1.getAccountUnit)(account), t.amount, {
|
|
101
|
+
showCode: true,
|
|
102
|
+
disableRounding: true
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
})();
|
|
106
|
+
return "\n" + header + "\nTO " + t.recipient + "\nwith gasPrice=" + (0, currencies_1.formatCurrencyUnit)(mainAccount.currency.units[1] || mainAccount.currency.units[0], t.gasPrice || new bignumber_js_1.BigNumber(0)) + "\nwith gasLimit=" + gasLimit.toString();
|
|
92
107
|
};
|
|
93
108
|
exports.formatTransaction = formatTransaction;
|
|
94
109
|
var defaultGasLimit = new bignumber_js_1.BigNumber(0x5208);
|
|
@@ -97,6 +112,7 @@ var getGasLimit = function (t) {
|
|
|
97
112
|
};
|
|
98
113
|
exports.getGasLimit = getGasLimit;
|
|
99
114
|
var fromTransactionRaw = function (tr) {
|
|
115
|
+
var _a;
|
|
100
116
|
var common = (0, common_1.fromTransactionCommonRaw)(tr);
|
|
101
117
|
var networkInfo = tr.networkInfo;
|
|
102
118
|
return __assign(__assign({}, common), { mode: tr.mode, nonce: tr.nonce, data: tr.data ? Buffer.from(tr.data, "hex") : undefined, family: tr.family, gasPrice: tr.gasPrice ? new bignumber_js_1.BigNumber(tr.gasPrice) : null, userGasLimit: tr.userGasLimit ? new bignumber_js_1.BigNumber(tr.userGasLimit) : null, estimatedGasLimit: tr.estimatedGasLimit
|
|
@@ -106,10 +122,11 @@ var fromTransactionRaw = function (tr) {
|
|
|
106
122
|
networkInfo: networkInfo && {
|
|
107
123
|
family: networkInfo.family,
|
|
108
124
|
gasPrice: (0, range_1.fromRangeRaw)(networkInfo.gasPrice)
|
|
109
|
-
}, allowZeroAmount: tr.allowZeroAmount, feesStrategy: tr.feesStrategy });
|
|
125
|
+
}, allowZeroAmount: tr.allowZeroAmount, feesStrategy: tr.feesStrategy, tokenIds: tr.tokenIds, collection: tr.collection, quantities: (_a = tr.quantities) === null || _a === void 0 ? void 0 : _a.map(function (q) { return new bignumber_js_1.BigNumber(q); }) });
|
|
110
126
|
};
|
|
111
127
|
exports.fromTransactionRaw = fromTransactionRaw;
|
|
112
128
|
var toTransactionRaw = function (t) {
|
|
129
|
+
var _a;
|
|
113
130
|
var common = (0, common_1.toTransactionCommonRaw)(t);
|
|
114
131
|
var networkInfo = t.networkInfo;
|
|
115
132
|
return __assign(__assign({}, common), { mode: t.mode, nonce: t.nonce, family: t.family, data: t.data ? t.data.toString("hex") : undefined, gasPrice: t.gasPrice ? t.gasPrice.toString() : null, userGasLimit: t.userGasLimit ? t.userGasLimit.toString() : null, estimatedGasLimit: t.estimatedGasLimit
|
|
@@ -119,7 +136,7 @@ var toTransactionRaw = function (t) {
|
|
|
119
136
|
networkInfo: networkInfo && {
|
|
120
137
|
family: networkInfo.family,
|
|
121
138
|
gasPrice: (0, range_1.toRangeRaw)(networkInfo.gasPrice)
|
|
122
|
-
}, allowZeroAmount: t.allowZeroAmount, feesStrategy: t.feesStrategy });
|
|
139
|
+
}, allowZeroAmount: t.allowZeroAmount, feesStrategy: t.feesStrategy, tokenIds: t.tokenIds, collection: t.collection, quantities: (_a = t.quantities) === null || _a === void 0 ? void 0 : _a.map(function (q) { return q.toString(); }) });
|
|
123
140
|
};
|
|
124
141
|
exports.toTransactionRaw = toTransactionRaw;
|
|
125
142
|
// see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/families/ethereum/transaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wDAAkC;AAClC,6CAAyC;AACzC,uCAAqC;AAMrC,wEAAuC;AACvC,+CAA0D;AAC1D,gDAA0B;AAC1B,2CAI0B;AAC1B,mDAGkC;AAElC,yCAA+C;AAC/C,+CAAsD;AACtD,+CAAoD;AACpD,qCAA2C;AAC3C,iCAAmC;AACnC,qCAAkC;AAClC,qCAAuD;AACvD,SAAgB,gBAAgB,CAAC,SAAyB,EAAE,SAAiB;IAC3E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1D,qEAAqE;IACrE,8CAA8C;IAC9C,kEAAkE;IAClE,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClC,IAAM,WAAW,GAAG,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;IAClD,IAAM,WAAW,GAAG,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;IAClD,IAAI,WAAW,IAAI,WAAW;QAAE,OAAO,IAAI,CAAC;IAE5C,IAAI;QACF,OAAO,kBAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KAChC;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAfD,4CAeC;AACD,mDAAmD;AACnD,SAAgB,mBAAmB,CACjC,QAAwB,EACxB,SAAiB;IAEjB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAAE,OAAO,IAAI,CAAC;IACzD,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClC,IAAM,WAAW,GAAG,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;IAClD,IAAM,WAAW,GAAG,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;IAElD,IAAI,WAAW,IAAI,WAAW,EAAE;QAC9B,OAAO,IAAI,yBAAgB,EAAE,CAAC;KAC/B;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAdD,kDAcC;AACD,SAAgB,iBAAiB,CAC/B,QAAwB,EACxB,SAAiB,EACjB,EAAuC;QAArC,MAAM,YAAA,EAAE,QAAQ,cAAA;IAElB,IAAM,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAElE,IAAI,gBAAgB,EAAE;QACpB,QAAQ,CAAC,SAAS,GAAG,gBAAgB,CAAC;KACvC;IAED,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,CAAC,SAAS,GAAG,IAAI,0BAAiB,CAAC,EAAE,CAAC,CAAC;KAC9C;SAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;QACjD,MAAM,CAAC,SAAS,GAAG,IAAI,uBAAc,CAAC,EAAE,EAAE;YACxC,YAAY,EAAE,QAAQ,CAAC,IAAI;SAC5B,CAAC,CAAC;KACJ;AACH,CAAC;AAlBD,8CAkBC;AACM,IAAM,iBAAiB,GAAG,UAC/B,CAAc,EACd,WAAoB;IAEpB,IAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,CAAC,CAAC,CAAC;IAChC,IAAM,OAAO,GACX,CAAC,CAAC,CAAC,YAAY;QACb,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,YAAY,EAAvB,CAAuB,CAAC,CAAC;QACvE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/families/ethereum/transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,9 @@ export declare type Transaction = TransactionCommon & {
|
|
|
35
35
|
feeCustomUnit: Unit | null | undefined;
|
|
36
36
|
networkInfo: NetworkInfo | null | undefined;
|
|
37
37
|
allowZeroAmount?: boolean;
|
|
38
|
+
collection?: string;
|
|
39
|
+
tokenIds?: string[];
|
|
40
|
+
quantities?: BigNumber[];
|
|
38
41
|
};
|
|
39
42
|
export declare type TransactionRaw = TransactionCommonRaw & {
|
|
40
43
|
family: "ethereum";
|
|
@@ -47,6 +50,9 @@ export declare type TransactionRaw = TransactionCommonRaw & {
|
|
|
47
50
|
feeCustomUnit: Unit | null | undefined;
|
|
48
51
|
networkInfo: NetworkInfoRaw | null | undefined;
|
|
49
52
|
allowZeroAmount?: boolean;
|
|
53
|
+
tokenIds?: string[];
|
|
54
|
+
collection?: string;
|
|
55
|
+
quantities?: string[];
|
|
50
56
|
};
|
|
51
57
|
export declare type TypedMessage = {
|
|
52
58
|
types: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/families/ethereum/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,oBAAY,uBAAuB,GAAG;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,oBAAY,WAAW,GAAG;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;CACjB,CAAC;AACF,oBAAY,cAAc,GAAG;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AACF,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AAC5C,oBAAY,WAAW,GAAG,iBAAiB,GAAG;IAC5C,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,YAAY,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,iBAAiB,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IAChD,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/families/ethereum/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/families/ethereum/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/families/ethereum/types.ts"],"names":[],"mappings":";;;AAgGO,IAAM,OAAO,GAAG,UAAC,QAAa,IAAM,CAAC,CAAC;AAAhC,QAAA,OAAO,WAAyB"}
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "https://github.com/LedgerHQ/ledger-live-common"
|
|
10
10
|
},
|
|
11
|
-
"version": "21.
|
|
11
|
+
"version": "21.18.0",
|
|
12
12
|
"main": "lib/index.js",
|
|
13
13
|
"types": "lib/index.d.ts",
|
|
14
14
|
"license": "Apache-2.0",
|
|
@@ -44,13 +44,13 @@
|
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@crypto-com/chain-jslib": "0.0.19",
|
|
46
46
|
"@ledgerhq/compressjs": "1.3.2",
|
|
47
|
-
"@ledgerhq/cryptoassets": "6.
|
|
47
|
+
"@ledgerhq/cryptoassets": "6.17.0",
|
|
48
48
|
"@ledgerhq/devices": "6.11.2",
|
|
49
49
|
"@ledgerhq/errors": "6.10.0",
|
|
50
50
|
"@ledgerhq/hw-app-algorand": "6.11.2",
|
|
51
|
-
"@ledgerhq/hw-app-btc": "6.
|
|
51
|
+
"@ledgerhq/hw-app-btc": "6.17.0",
|
|
52
52
|
"@ledgerhq/hw-app-cosmos": "6.11.2",
|
|
53
|
-
"@ledgerhq/hw-app-eth": "6.
|
|
53
|
+
"@ledgerhq/hw-app-eth": "6.17.0",
|
|
54
54
|
"@ledgerhq/hw-app-polkadot": "6.11.2",
|
|
55
55
|
"@ledgerhq/hw-app-str": "6.11.2",
|
|
56
56
|
"@ledgerhq/hw-app-tezos": "6.11.2",
|
|
@@ -23,6 +23,16 @@ const options = [
|
|
|
23
23
|
desc: "use an token account children of the account",
|
|
24
24
|
multiple: true,
|
|
25
25
|
},
|
|
26
|
+
{
|
|
27
|
+
name: "collection",
|
|
28
|
+
type: String,
|
|
29
|
+
desc: "determine the collection of an NFT (related to the --tokenId)",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "tokenId",
|
|
33
|
+
type: String,
|
|
34
|
+
desc: "determine the tokenId of an NFT (related to the --colection)",
|
|
35
|
+
},
|
|
26
36
|
{
|
|
27
37
|
name: "gasPrice",
|
|
28
38
|
type: String,
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import eip55 from "eip55";
|
|
2
|
+
import abi from "ethereumjs-abi";
|
|
3
|
+
import invariant from "invariant";
|
|
4
|
+
import BigNumber from "bignumber.js";
|
|
5
|
+
import {
|
|
6
|
+
createCustomErrorClass,
|
|
7
|
+
NotEnoughBalanceInParentAccount,
|
|
8
|
+
} from "@ledgerhq/errors";
|
|
9
|
+
import { validateRecipient } from "../transaction";
|
|
10
|
+
import type { ModeModule, Transaction } from "../types";
|
|
11
|
+
import type { Account } from "../../../types";
|
|
12
|
+
|
|
13
|
+
const notOwnedNft = createCustomErrorClass("NotOwnedNft");
|
|
14
|
+
const notEnoughNftOwned = createCustomErrorClass("NotEnoughNftOwned");
|
|
15
|
+
const notTokenIdsProvided = createCustomErrorClass("NotTokenIdsProvided");
|
|
16
|
+
|
|
17
|
+
export type Modes = "erc1155.transfer";
|
|
18
|
+
|
|
19
|
+
const erc1155Transfer: ModeModule = {
|
|
20
|
+
/**
|
|
21
|
+
* Tx data is filled during the buildEthereumTx
|
|
22
|
+
*/
|
|
23
|
+
fillTransactionData(a, t, tx) {
|
|
24
|
+
const data = serializeTransactionData(a, t);
|
|
25
|
+
invariant(data, "serializeTransactionData provided no data");
|
|
26
|
+
tx.data = "0x" + (data as Buffer).toString("hex");
|
|
27
|
+
tx.to = t.collection;
|
|
28
|
+
tx.value = "0x00";
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Tx status is filled after the buildEthereumTx
|
|
33
|
+
*/
|
|
34
|
+
fillTransactionStatus: (a, t, result) => {
|
|
35
|
+
validateRecipient(a.currency, t.recipient, result);
|
|
36
|
+
|
|
37
|
+
if (!result.errors.recipient) {
|
|
38
|
+
result.totalSpent = result.estimatedFees;
|
|
39
|
+
result.amount = new BigNumber(t.amount);
|
|
40
|
+
|
|
41
|
+
if (result.estimatedFees.gt(a.spendableBalance)) {
|
|
42
|
+
result.errors.amount = new NotEnoughBalanceInParentAccount();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const enoughTokensOwned: true | Error =
|
|
46
|
+
t.tokenIds?.reduce((acc, tokenId, index) => {
|
|
47
|
+
if (acc instanceof Error) {
|
|
48
|
+
return acc;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const nft = a.nfts?.find((n) => n.tokenId === tokenId);
|
|
52
|
+
const transferQuantity = Number(t.quantities?.[index]);
|
|
53
|
+
|
|
54
|
+
if (!nft) {
|
|
55
|
+
return new notOwnedNft();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (transferQuantity && !nft.amount.gte(transferQuantity)) {
|
|
59
|
+
return new notEnoughNftOwned();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return true;
|
|
63
|
+
}, true as true | Error) || new notTokenIdsProvided();
|
|
64
|
+
|
|
65
|
+
if (!enoughTokensOwned || enoughTokensOwned instanceof Error) {
|
|
66
|
+
result.errors.amount = enoughTokensOwned;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* This will only be used by LLM & LLD, not the HW.
|
|
73
|
+
*/
|
|
74
|
+
fillDeviceTransactionConfig(input, fields) {
|
|
75
|
+
fields.push({
|
|
76
|
+
type: "text",
|
|
77
|
+
label: "Type",
|
|
78
|
+
value: `ERC721.transfer`,
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
fields.push({
|
|
82
|
+
type: "text",
|
|
83
|
+
label: "Collection",
|
|
84
|
+
value: input.transaction.collection ?? "",
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
fields.push({
|
|
88
|
+
type: "text",
|
|
89
|
+
label: "Token IDs",
|
|
90
|
+
value: input.transaction.tokenIds?.join(",") ?? "",
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
fields.push({
|
|
94
|
+
type: "text",
|
|
95
|
+
label: "Quantities",
|
|
96
|
+
value: input.transaction.quantities?.join(",") ?? "",
|
|
97
|
+
});
|
|
98
|
+
},
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Optimistic Operation is filled post signing
|
|
102
|
+
*/
|
|
103
|
+
fillOptimisticOperation(a, t, op) {
|
|
104
|
+
op.type = "FEES";
|
|
105
|
+
op.extra = {
|
|
106
|
+
...op.extra,
|
|
107
|
+
approving: true, // workaround to track the status ENABLING
|
|
108
|
+
};
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
function serializeTransactionData(
|
|
113
|
+
account: Account,
|
|
114
|
+
transaction: Transaction
|
|
115
|
+
): Buffer | null | undefined {
|
|
116
|
+
const from = eip55.encode(account.freshAddress);
|
|
117
|
+
const to = eip55.encode(transaction.recipient);
|
|
118
|
+
const tokenIds = transaction.tokenIds || [];
|
|
119
|
+
const quantities = transaction.quantities?.map((q) => q.toFixed()) || [];
|
|
120
|
+
|
|
121
|
+
return tokenIds?.length > 1
|
|
122
|
+
? abi.simpleEncode(
|
|
123
|
+
"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)",
|
|
124
|
+
from,
|
|
125
|
+
to,
|
|
126
|
+
tokenIds,
|
|
127
|
+
quantities,
|
|
128
|
+
"0x00"
|
|
129
|
+
)
|
|
130
|
+
: abi.simpleEncode(
|
|
131
|
+
"safeTransferFrom(address,address,uint256,uint256,bytes)",
|
|
132
|
+
from,
|
|
133
|
+
to,
|
|
134
|
+
tokenIds[0],
|
|
135
|
+
quantities[0],
|
|
136
|
+
"0x00"
|
|
137
|
+
);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export const modes: Record<Modes, ModeModule> = {
|
|
141
|
+
"erc1155.transfer": erc1155Transfer,
|
|
142
|
+
};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import eip55 from "eip55";
|
|
2
|
+
import abi from "ethereumjs-abi";
|
|
3
|
+
import invariant from "invariant";
|
|
4
|
+
import BigNumber from "bignumber.js";
|
|
5
|
+
import {
|
|
6
|
+
createCustomErrorClass,
|
|
7
|
+
NotEnoughBalanceInParentAccount,
|
|
8
|
+
} from "@ledgerhq/errors";
|
|
9
|
+
import { validateRecipient } from "../transaction";
|
|
10
|
+
import type { ModeModule, Transaction } from "../types";
|
|
11
|
+
import type { Account } from "../../../types";
|
|
12
|
+
|
|
13
|
+
const notOwnedNft = createCustomErrorClass("NotOwnedNft");
|
|
14
|
+
|
|
15
|
+
export type Modes = "erc721.transfer";
|
|
16
|
+
|
|
17
|
+
const erc721Transfer: ModeModule = {
|
|
18
|
+
/**
|
|
19
|
+
* Tx data is filled during the buildEthereumTx
|
|
20
|
+
*/
|
|
21
|
+
fillTransactionData(a, t, tx) {
|
|
22
|
+
const data = serializeTransactionData(a, t);
|
|
23
|
+
invariant(data, "serializeTransactionData provided no data");
|
|
24
|
+
tx.data = "0x" + (data as Buffer).toString("hex");
|
|
25
|
+
tx.to = t.collection;
|
|
26
|
+
tx.value = "0x00";
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Tx status is filled after the buildEthereumTx
|
|
31
|
+
*/
|
|
32
|
+
fillTransactionStatus: (a, t, result) => {
|
|
33
|
+
validateRecipient(a.currency, t.recipient, result);
|
|
34
|
+
|
|
35
|
+
if (!result.errors.recipient) {
|
|
36
|
+
result.totalSpent = result.estimatedFees;
|
|
37
|
+
result.amount = new BigNumber(t.amount);
|
|
38
|
+
|
|
39
|
+
if (result.estimatedFees.gt(a.spendableBalance)) {
|
|
40
|
+
result.errors.amount = new NotEnoughBalanceInParentAccount();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (
|
|
44
|
+
!a.nfts?.find?.(
|
|
45
|
+
(n) =>
|
|
46
|
+
n.tokenId === t.tokenIds?.[0] &&
|
|
47
|
+
n.collection.contract === t.collection
|
|
48
|
+
)
|
|
49
|
+
) {
|
|
50
|
+
result.errors.amount = new notOwnedNft();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* This will only be used by LLM & LLD, not the HW.
|
|
57
|
+
*/
|
|
58
|
+
fillDeviceTransactionConfig(input, fields) {
|
|
59
|
+
fields.push({
|
|
60
|
+
type: "text",
|
|
61
|
+
label: "Type",
|
|
62
|
+
value: `ERC721.transfer`,
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
fields.push({
|
|
66
|
+
type: "text",
|
|
67
|
+
label: "Collection",
|
|
68
|
+
value: input.transaction.collection ?? "",
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
fields.push({
|
|
72
|
+
type: "text",
|
|
73
|
+
label: "Token ID",
|
|
74
|
+
value: input.transaction.tokenIds?.[0] ?? "",
|
|
75
|
+
});
|
|
76
|
+
},
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Optimistic Operation is filled post signing
|
|
80
|
+
*/
|
|
81
|
+
fillOptimisticOperation(a, t, op) {
|
|
82
|
+
op.type = "FEES";
|
|
83
|
+
op.extra = {
|
|
84
|
+
...op.extra,
|
|
85
|
+
approving: true, // workaround to track the status ENABLING
|
|
86
|
+
};
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
function serializeTransactionData(
|
|
91
|
+
account: Account,
|
|
92
|
+
transaction: Transaction
|
|
93
|
+
): Buffer | null | undefined {
|
|
94
|
+
const from = eip55.encode(account.freshAddress);
|
|
95
|
+
const to = eip55.encode(transaction.recipient);
|
|
96
|
+
|
|
97
|
+
return abi.simpleEncode(
|
|
98
|
+
"safeTransferFrom(address,address,uint256,bytes)",
|
|
99
|
+
from,
|
|
100
|
+
to,
|
|
101
|
+
transaction.tokenIds?.[0],
|
|
102
|
+
"0x00"
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export const modes: Record<Modes, ModeModule> = {
|
|
107
|
+
"erc721.transfer": erc721Transfer,
|
|
108
|
+
};
|
|
@@ -13,15 +13,26 @@ import type { DeviceTransactionField } from "../../../transaction";
|
|
|
13
13
|
import * as compound from "./compound";
|
|
14
14
|
import * as erc20 from "./erc20";
|
|
15
15
|
import * as send from "./send";
|
|
16
|
+
import * as erc721 from "./erc721";
|
|
17
|
+
import * as erc1155 from "./erc1155";
|
|
16
18
|
import type { Modes as CompoundModes } from "./compound";
|
|
17
19
|
import type { Modes as ERC20Modes } from "./erc20";
|
|
18
20
|
import type { Modes as SendModes } from "./send";
|
|
21
|
+
import type { Modes as ERC721Modes } from "./erc721";
|
|
22
|
+
import type { Modes as ERC1155Modes } from "./erc1155";
|
|
19
23
|
const modules = {
|
|
20
24
|
erc20,
|
|
21
25
|
compound,
|
|
22
26
|
send,
|
|
27
|
+
erc721,
|
|
28
|
+
erc1155,
|
|
23
29
|
};
|
|
24
|
-
export type TransactionMode =
|
|
30
|
+
export type TransactionMode =
|
|
31
|
+
| CompoundModes
|
|
32
|
+
| ERC20Modes
|
|
33
|
+
| SendModes
|
|
34
|
+
| ERC721Modes
|
|
35
|
+
| ERC1155Modes;
|
|
25
36
|
|
|
26
37
|
/**
|
|
27
38
|
* A ModeModule enable a new transaction mode in Ethereum family
|
|
@@ -86,15 +86,38 @@ export const formatTransaction = (
|
|
|
86
86
|
(t.subAccountId &&
|
|
87
87
|
(mainAccount.subAccounts || []).find((a) => a.id === t.subAccountId)) ||
|
|
88
88
|
mainAccount;
|
|
89
|
+
|
|
90
|
+
const header = (() => {
|
|
91
|
+
switch (t.mode) {
|
|
92
|
+
case "erc721.transfer":
|
|
93
|
+
return `${t.mode.toUpperCase()} Collection: ${t.collection} TokenId: ${
|
|
94
|
+
t.tokenIds?.[0]
|
|
95
|
+
}`;
|
|
96
|
+
case "erc1155.transfer":
|
|
97
|
+
return (
|
|
98
|
+
`${t.mode.toUpperCase()} Collection: ${t.collection}` +
|
|
99
|
+
t.tokenIds
|
|
100
|
+
?.map((tokenId, index) => {
|
|
101
|
+
return `\n - TokenId: ${tokenId} Quantity: ${
|
|
102
|
+
t.quantities?.[index]?.toFixed() ?? 0
|
|
103
|
+
}`;
|
|
104
|
+
})
|
|
105
|
+
.join(",")
|
|
106
|
+
);
|
|
107
|
+
default:
|
|
108
|
+
return `${t.mode.toUpperCase()} ${
|
|
109
|
+
t.useAllAmount
|
|
110
|
+
? "MAX"
|
|
111
|
+
: formatCurrencyUnit(getAccountUnit(account), t.amount, {
|
|
112
|
+
showCode: true,
|
|
113
|
+
disableRounding: true,
|
|
114
|
+
})
|
|
115
|
+
}`;
|
|
116
|
+
}
|
|
117
|
+
})();
|
|
118
|
+
|
|
89
119
|
return `
|
|
90
|
-
${
|
|
91
|
-
t.useAllAmount
|
|
92
|
-
? "MAX"
|
|
93
|
-
: formatCurrencyUnit(getAccountUnit(account), t.amount, {
|
|
94
|
-
showCode: true,
|
|
95
|
-
disableRounding: true,
|
|
96
|
-
})
|
|
97
|
-
}
|
|
120
|
+
${header}
|
|
98
121
|
TO ${t.recipient}
|
|
99
122
|
with gasPrice=${formatCurrencyUnit(
|
|
100
123
|
mainAccount.currency.units[1] || mainAccount.currency.units[0],
|
|
@@ -102,6 +125,7 @@ with gasPrice=${formatCurrencyUnit(
|
|
|
102
125
|
)}
|
|
103
126
|
with gasLimit=${gasLimit.toString()}`;
|
|
104
127
|
};
|
|
128
|
+
|
|
105
129
|
const defaultGasLimit = new BigNumber(0x5208);
|
|
106
130
|
export const getGasLimit = (t: Transaction): BigNumber =>
|
|
107
131
|
t.userGasLimit || t.estimatedGasLimit || defaultGasLimit;
|
|
@@ -127,6 +151,9 @@ export const fromTransactionRaw = (tr: TransactionRaw): Transaction => {
|
|
|
127
151
|
},
|
|
128
152
|
allowZeroAmount: tr.allowZeroAmount,
|
|
129
153
|
feesStrategy: tr.feesStrategy,
|
|
154
|
+
tokenIds: tr.tokenIds,
|
|
155
|
+
collection: tr.collection,
|
|
156
|
+
quantities: tr.quantities?.map((q) => new BigNumber(q)),
|
|
130
157
|
};
|
|
131
158
|
};
|
|
132
159
|
export const toTransactionRaw = (t: Transaction): TransactionRaw => {
|
|
@@ -151,6 +178,9 @@ export const toTransactionRaw = (t: Transaction): TransactionRaw => {
|
|
|
151
178
|
},
|
|
152
179
|
allowZeroAmount: t.allowZeroAmount,
|
|
153
180
|
feesStrategy: t.feesStrategy,
|
|
181
|
+
tokenIds: t.tokenIds,
|
|
182
|
+
collection: t.collection,
|
|
183
|
+
quantities: t.quantities?.map((q) => q.toString()),
|
|
154
184
|
};
|
|
155
185
|
};
|
|
156
186
|
|
|
@@ -37,6 +37,9 @@ export type Transaction = TransactionCommon & {
|
|
|
37
37
|
feeCustomUnit: Unit | null | undefined;
|
|
38
38
|
networkInfo: NetworkInfo | null | undefined;
|
|
39
39
|
allowZeroAmount?: boolean;
|
|
40
|
+
collection?: string;
|
|
41
|
+
tokenIds?: string[];
|
|
42
|
+
quantities?: BigNumber[];
|
|
40
43
|
};
|
|
41
44
|
export type TransactionRaw = TransactionCommonRaw & {
|
|
42
45
|
family: "ethereum";
|
|
@@ -49,6 +52,9 @@ export type TransactionRaw = TransactionCommonRaw & {
|
|
|
49
52
|
feeCustomUnit: Unit | null | undefined;
|
|
50
53
|
networkInfo: NetworkInfoRaw | null | undefined;
|
|
51
54
|
allowZeroAmount?: boolean;
|
|
55
|
+
tokenIds?: string[];
|
|
56
|
+
collection?: string;
|
|
57
|
+
quantities?: string[];
|
|
52
58
|
};
|
|
53
59
|
export type TypedMessage = {
|
|
54
60
|
types: {
|