@ledgerhq/coin-hedera 1.15.0-nightly.20251206023719 → 1.15.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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +25 -12
- package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -1
- package/lib/bridge/buildOptimisticOperation.js +0 -33
- package/lib/bridge/buildOptimisticOperation.js.map +1 -1
- package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib/bridge/getTransactionStatus.js +0 -54
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/index.d.ts.map +1 -1
- package/lib/bridge/index.js +2 -4
- package/lib/bridge/index.js.map +1 -1
- package/lib/bridge/prepareTransaction.d.ts.map +1 -1
- package/lib/bridge/prepareTransaction.js +0 -16
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/serialization.d.ts.map +1 -1
- package/lib/bridge/serialization.js +0 -20
- package/lib/bridge/serialization.js.map +1 -1
- package/lib/bridge/signOperation.d.ts +4 -4
- package/lib/bridge/signOperation.d.ts.map +1 -1
- package/lib/bridge/signOperation.js +0 -10
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/synchronisation.d.ts.map +1 -1
- package/lib/bridge/synchronisation.js +0 -8
- package/lib/bridge/synchronisation.js.map +1 -1
- package/lib/constants.d.ts +1 -21
- package/lib/constants.d.ts.map +1 -1
- package/lib/constants.js +1 -22
- package/lib/constants.js.map +1 -1
- package/lib/deviceTransactionConfig.d.ts.map +1 -1
- package/lib/deviceTransactionConfig.js +0 -30
- package/lib/deviceTransactionConfig.js.map +1 -1
- package/lib/errors.d.ts +0 -9
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +1 -4
- package/lib/errors.js.map +1 -1
- package/lib/logic/craftTransaction.d.ts +2 -2
- package/lib/logic/craftTransaction.d.ts.map +1 -1
- package/lib/logic/craftTransaction.js +8 -42
- package/lib/logic/craftTransaction.js.map +1 -1
- package/lib/logic/getBlock.d.ts.map +1 -1
- package/lib/logic/getBlock.js +0 -1
- package/lib/logic/getBlock.js.map +1 -1
- package/lib/logic/listOperations.d.ts.map +1 -1
- package/lib/logic/listOperations.js +7 -39
- package/lib/logic/listOperations.js.map +1 -1
- package/lib/logic/utils.d.ts +3 -61
- package/lib/logic/utils.d.ts.map +1 -1
- package/lib/logic/utils.js +3 -116
- package/lib/logic/utils.js.map +1 -1
- package/lib/network/api.d.ts +1 -3
- package/lib/network/api.d.ts.map +1 -1
- package/lib/network/api.js +0 -19
- package/lib/network/api.js.map +1 -1
- package/lib/test/fixtures/account.fixture.d.ts +1 -1
- package/lib/test/fixtures/account.fixture.d.ts.map +1 -1
- package/lib/test/fixtures/account.fixture.js +0 -2
- package/lib/test/fixtures/account.fixture.js.map +1 -1
- package/lib/transaction.d.ts.map +1 -1
- package/lib/transaction.js +0 -34
- package/lib/transaction.js.map +1 -1
- package/lib/types/alpaca.d.ts +0 -3
- package/lib/types/alpaca.d.ts.map +1 -1
- package/lib/types/bridge.d.ts +3 -87
- package/lib/types/bridge.d.ts.map +1 -1
- package/lib/types/logic.d.ts +1 -5
- package/lib/types/logic.d.ts.map +1 -1
- package/lib/types/mirror.d.ts +0 -19
- package/lib/types/mirror.d.ts.map +1 -1
- package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -1
- package/lib-es/bridge/buildOptimisticOperation.js +1 -34
- package/lib-es/bridge/buildOptimisticOperation.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib-es/bridge/getTransactionStatus.js +3 -57
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/index.d.ts.map +1 -1
- package/lib-es/bridge/index.js +2 -4
- package/lib-es/bridge/index.js.map +1 -1
- package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
- package/lib-es/bridge/prepareTransaction.js +2 -15
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/serialization.d.ts.map +1 -1
- package/lib-es/bridge/serialization.js +0 -17
- package/lib-es/bridge/serialization.js.map +1 -1
- package/lib-es/bridge/signOperation.d.ts +4 -4
- package/lib-es/bridge/signOperation.d.ts.map +1 -1
- package/lib-es/bridge/signOperation.js +1 -11
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/bridge/synchronisation.d.ts.map +1 -1
- package/lib-es/bridge/synchronisation.js +0 -8
- package/lib-es/bridge/synchronisation.js.map +1 -1
- package/lib-es/constants.d.ts +1 -21
- package/lib-es/constants.d.ts.map +1 -1
- package/lib-es/constants.js +0 -21
- package/lib-es/constants.js.map +1 -1
- package/lib-es/deviceTransactionConfig.d.ts.map +1 -1
- package/lib-es/deviceTransactionConfig.js +1 -31
- package/lib-es/deviceTransactionConfig.js.map +1 -1
- package/lib-es/errors.d.ts +0 -9
- package/lib-es/errors.d.ts.map +1 -1
- package/lib-es/errors.js +0 -3
- package/lib-es/errors.js.map +1 -1
- package/lib-es/logic/craftTransaction.d.ts +2 -2
- package/lib-es/logic/craftTransaction.d.ts.map +1 -1
- package/lib-es/logic/craftTransaction.js +10 -44
- package/lib-es/logic/craftTransaction.js.map +1 -1
- package/lib-es/logic/getBlock.d.ts.map +1 -1
- package/lib-es/logic/getBlock.js +1 -2
- package/lib-es/logic/getBlock.js.map +1 -1
- package/lib-es/logic/listOperations.d.ts.map +1 -1
- package/lib-es/logic/listOperations.js +7 -39
- package/lib-es/logic/listOperations.js.map +1 -1
- package/lib-es/logic/utils.d.ts +3 -61
- package/lib-es/logic/utils.d.ts.map +1 -1
- package/lib-es/logic/utils.js +3 -106
- package/lib-es/logic/utils.js.map +1 -1
- package/lib-es/network/api.d.ts +1 -3
- package/lib-es/network/api.d.ts.map +1 -1
- package/lib-es/network/api.js +0 -19
- package/lib-es/network/api.js.map +1 -1
- package/lib-es/test/fixtures/account.fixture.d.ts +1 -1
- package/lib-es/test/fixtures/account.fixture.d.ts.map +1 -1
- package/lib-es/test/fixtures/account.fixture.js +0 -2
- package/lib-es/test/fixtures/account.fixture.js.map +1 -1
- package/lib-es/transaction.d.ts.map +1 -1
- package/lib-es/transaction.js +0 -34
- package/lib-es/transaction.js.map +1 -1
- package/lib-es/types/alpaca.d.ts +0 -3
- package/lib-es/types/alpaca.d.ts.map +1 -1
- package/lib-es/types/bridge.d.ts +3 -87
- package/lib-es/types/bridge.d.ts.map +1 -1
- package/lib-es/types/logic.d.ts +1 -5
- package/lib-es/types/logic.d.ts.map +1 -1
- package/lib-es/types/mirror.d.ts +0 -19
- package/lib-es/types/mirror.d.ts.map +1 -1
- package/package.json +11 -12
- package/src/api/index.integ.test.ts +1 -11
- package/src/bridge/buildOptimisticOperation.integration.test.ts +4 -159
- package/src/bridge/buildOptimisticOperation.ts +2 -50
- package/src/bridge/getTransactionStatus.test.ts +21 -191
- package/src/bridge/getTransactionStatus.ts +1 -75
- package/src/bridge/index.ts +2 -4
- package/src/bridge/prepareTransaction.test.ts +8 -112
- package/src/bridge/prepareTransaction.ts +2 -20
- package/src/bridge/serialization.ts +0 -17
- package/src/bridge/signOperation.ts +5 -15
- package/src/bridge/synchronisation.ts +0 -9
- package/src/bridge/utils.integration.test.ts +10 -3
- package/src/constants.ts +0 -22
- package/src/deviceTransactionConfig.ts +1 -37
- package/src/errors.ts +0 -7
- package/src/logic/craftTransaction.ts +13 -70
- package/src/logic/getBalance.test.ts +16 -15
- package/src/logic/getBlock.ts +1 -2
- package/src/logic/listOperations.test.ts +29 -86
- package/src/logic/listOperations.ts +6 -46
- package/src/logic/utils.test.ts +8 -362
- package/src/logic/utils.ts +3 -157
- package/src/network/api.test.ts +6 -58
- package/src/network/api.ts +0 -25
- package/src/network/thirdweb.test.ts +2 -2
- package/src/network/utils.test.ts +6 -4
- package/src/test/fixtures/account.fixture.ts +1 -3
- package/src/transaction.ts +0 -42
- package/src/types/alpaca.ts +0 -4
- package/src/types/bridge.ts +3 -108
- package/src/types/logic.ts +1 -6
- package/src/types/mirror.ts +0 -21
- package/lib/preload-data.d.ts +0 -7
- package/lib/preload-data.d.ts.map +0 -1
- package/lib/preload-data.js +0 -37
- package/lib/preload-data.js.map +0 -1
- package/lib/preload.d.ts +0 -8
- package/lib/preload.d.ts.map +0 -1
- package/lib/preload.js +0 -76
- package/lib/preload.js.map +0 -1
- package/lib-es/preload-data.d.ts +0 -7
- package/lib-es/preload-data.d.ts.map +0 -1
- package/lib-es/preload-data.js +0 -31
- package/lib-es/preload-data.js.map +0 -1
- package/lib-es/preload.d.ts +0 -8
- package/lib-es/preload.d.ts.map +0 -1
- package/lib-es/preload.js +0 -67
- package/lib-es/preload.js.map +0 -1
- package/src/deviceTransactionConfig.test.ts +0 -315
- package/src/preload-data.ts +0 -38
- package/src/preload.test.ts +0 -64
- package/src/preload.ts +0 -80
package/lib-es/constants.js
CHANGED
|
@@ -7,17 +7,12 @@ export var HEDERA_TRANSACTION_MODES;
|
|
|
7
7
|
(function (HEDERA_TRANSACTION_MODES) {
|
|
8
8
|
HEDERA_TRANSACTION_MODES["Send"] = "send";
|
|
9
9
|
HEDERA_TRANSACTION_MODES["TokenAssociate"] = "token-associate";
|
|
10
|
-
HEDERA_TRANSACTION_MODES["Delegate"] = "delegate";
|
|
11
|
-
HEDERA_TRANSACTION_MODES["Undelegate"] = "undelegate";
|
|
12
|
-
HEDERA_TRANSACTION_MODES["Redelegate"] = "redelegate";
|
|
13
|
-
HEDERA_TRANSACTION_MODES["ClaimRewards"] = "claim-rewards";
|
|
14
10
|
})(HEDERA_TRANSACTION_MODES || (HEDERA_TRANSACTION_MODES = {}));
|
|
15
11
|
/**
|
|
16
12
|
* Enum representing the supported Hedera operation types for fee estimation
|
|
17
13
|
*/
|
|
18
14
|
export var HEDERA_OPERATION_TYPES;
|
|
19
15
|
(function (HEDERA_OPERATION_TYPES) {
|
|
20
|
-
HEDERA_OPERATION_TYPES["CryptoUpdate"] = "CryptoUpdate";
|
|
21
16
|
HEDERA_OPERATION_TYPES["CryptoTransfer"] = "CryptoTransfer";
|
|
22
17
|
HEDERA_OPERATION_TYPES["TokenTransfer"] = "TokenTransfer";
|
|
23
18
|
HEDERA_OPERATION_TYPES["TokenAssociate"] = "TokenAssociate";
|
|
@@ -33,15 +28,6 @@ export const ESTIMATED_FEE_SAFETY_RATE = 2;
|
|
|
33
28
|
export const DEFAULT_GAS_LIMIT = new BigNumber(100_000);
|
|
34
29
|
export const DEFAULT_GAS_PRICE_TINYBARS = new BigNumber(100);
|
|
35
30
|
export const HEDERA_MAINNET_CHAIN_ID = 295;
|
|
36
|
-
/**
|
|
37
|
-
* Enum representing the delegation status of a Hedera account
|
|
38
|
-
*/
|
|
39
|
-
export var HEDERA_DELEGATION_STATUS;
|
|
40
|
-
(function (HEDERA_DELEGATION_STATUS) {
|
|
41
|
-
HEDERA_DELEGATION_STATUS["Inactive"] = "inactive";
|
|
42
|
-
HEDERA_DELEGATION_STATUS["Overstaked"] = "overstaked";
|
|
43
|
-
HEDERA_DELEGATION_STATUS["Active"] = "active";
|
|
44
|
-
})(HEDERA_DELEGATION_STATUS || (HEDERA_DELEGATION_STATUS = {}));
|
|
45
31
|
/**
|
|
46
32
|
* https://docs.hedera.com/hedera/networks/mainnet/fees
|
|
47
33
|
*
|
|
@@ -52,7 +38,6 @@ export var HEDERA_DELEGATION_STATUS;
|
|
|
52
38
|
* has sufficient balance to cover the cost of a transaction (e.g. token association).
|
|
53
39
|
*/
|
|
54
40
|
export const BASE_USD_FEE_BY_OPERATION_TYPE = {
|
|
55
|
-
[HEDERA_OPERATION_TYPES.CryptoUpdate]: 0.00022 * 10 ** TINYBAR_SCALE,
|
|
56
41
|
[HEDERA_OPERATION_TYPES.CryptoTransfer]: 0.0001 * 10 ** TINYBAR_SCALE,
|
|
57
42
|
[HEDERA_OPERATION_TYPES.TokenTransfer]: 0.001 * 10 ** TINYBAR_SCALE,
|
|
58
43
|
[HEDERA_OPERATION_TYPES.TokenAssociate]: 0.05 * 10 ** TINYBAR_SCALE,
|
|
@@ -87,10 +72,4 @@ export const SUPPORTED_ERC20_TOKENS = [
|
|
|
87
72
|
tokenId: "0.0.10047837",
|
|
88
73
|
},
|
|
89
74
|
];
|
|
90
|
-
export const MAP_STAKING_MODE_TO_MEMO = {
|
|
91
|
-
[HEDERA_TRANSACTION_MODES.ClaimRewards]: "Collect Staking Rewards",
|
|
92
|
-
[HEDERA_TRANSACTION_MODES.Delegate]: "Stake",
|
|
93
|
-
[HEDERA_TRANSACTION_MODES.Undelegate]: "Unstake",
|
|
94
|
-
[HEDERA_TRANSACTION_MODES.Redelegate]: "Restake",
|
|
95
|
-
};
|
|
96
75
|
//# sourceMappingURL=constants.js.map
|
package/lib-es/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC;;;GAGG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC;;;GAGG;AACH,MAAM,CAAN,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,8DAAkC,CAAA;AACpC,CAAC,EAHW,wBAAwB,KAAxB,wBAAwB,QAGnC;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,2DAAiC,CAAA;IACjC,yDAA+B,CAAA;IAC/B,2DAAiC,CAAA;IACjC,uDAA6B,CAAA;AAC/B,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAE/B,mKAAmK;AACnK,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAEjD,MAAM,CAAC,MAAM,0BAA0B,GACrC,oEAAoE,CAAC;AAEvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAE7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI,aAAa;IACrE,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,EAAE,IAAI,aAAa;IACnE,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,aAAa;IACnE,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,sEAAsE;CACvD,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC;QACE,EAAE,EAAE,8DAA8D;QAClE,eAAe,EAAE,4CAA4C;QAC7D,OAAO,EAAE,aAAa;KACvB;IACD;QACE,EAAE,EAAE,2EAA2E;QAC/E,eAAe,EAAE,4CAA4C;QAC7D,OAAO,EAAE,aAAa;KACvB;IACD;QACE,EAAE,EAAE,8DAA8D;QAClE,eAAe,EAAE,4CAA4C;QAC7D,OAAO,EAAE,aAAa;KACvB;IACD;QACE,EAAE,EAAE,qEAAqE;QACzE,eAAe,EAAE,4CAA4C;QAC7D,OAAO,EAAE,cAAc;KACxB;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,IAAI,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1H,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE9D,iBAAe,0BAA0B,CAAC,EACxC,WAAW,EACX,MAAM,EAAE,EAAE,aAAa,EAAE,GAC1B,EAAE;IACD,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,IAAI,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1H,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE9D,iBAAe,0BAA0B,CAAC,EACxC,WAAW,EACX,MAAM,EAAE,EAAE,aAAa,EAAE,GAC1B,EAAE;IACD,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CA8CzC;AAED,eAAe,0BAA0B,CAAC"}
|
|
@@ -1,37 +1,7 @@
|
|
|
1
1
|
import { HEDERA_TRANSACTION_MODES } from "./constants";
|
|
2
|
-
import { isTokenAssociateTransaction
|
|
2
|
+
import { isTokenAssociateTransaction } from "./logic/utils";
|
|
3
3
|
async function getDeviceTransactionConfig({ transaction, status: { estimatedFees }, }) {
|
|
4
4
|
const fields = [];
|
|
5
|
-
if (isStakingTransaction(transaction)) {
|
|
6
|
-
fields.push({
|
|
7
|
-
type: "text",
|
|
8
|
-
label: "Method",
|
|
9
|
-
value: transaction.mode === HEDERA_TRANSACTION_MODES.ClaimRewards
|
|
10
|
-
? "Claim Rewards"
|
|
11
|
-
: "Update Account",
|
|
12
|
-
});
|
|
13
|
-
if (!estimatedFees.isZero()) {
|
|
14
|
-
fields.push({
|
|
15
|
-
type: "fees",
|
|
16
|
-
label: "Fees",
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
if (typeof transaction.properties?.stakingNodeId === "number") {
|
|
20
|
-
fields.push({
|
|
21
|
-
type: "text",
|
|
22
|
-
label: "Staked Node ID",
|
|
23
|
-
value: transaction.properties.stakingNodeId.toString(),
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
if (transaction.memo) {
|
|
27
|
-
fields.push({
|
|
28
|
-
type: "text",
|
|
29
|
-
label: "Memo",
|
|
30
|
-
value: transaction.memo,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
return fields;
|
|
34
|
-
}
|
|
35
5
|
const method = (() => {
|
|
36
6
|
if (isTokenAssociateTransaction(transaction))
|
|
37
7
|
return "Associate Token";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAG5D,KAAK,UAAU,0BAA0B,CAAC,EACxC,WAAW,EACX,MAAM,EAAE,EAAE,aAAa,EAAE,GAM1B;IACC,MAAM,MAAM,GAAkC,EAAE,CAAC;IAEjD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;QACnB,IAAI,2BAA2B,CAAC,WAAW,CAAC;YAAE,OAAO,iBAAiB,CAAC;aAClE,IAAI,WAAW,CAAC,YAAY;YAAE,OAAO,cAAc,CAAC;;YACpD,OAAO,UAAU,CAAC;IACzB,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,MAAM;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,wBAAwB,CAAC,IAAI,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC/E,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,WAAW,CAAC,IAAI;SACxB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,eAAe,0BAA0B,CAAC"}
|
package/lib-es/errors.d.ts
CHANGED
|
@@ -16,13 +16,4 @@ export declare const HederaRecipientTokenAssociationUnverified: import("@ledgerh
|
|
|
16
16
|
export declare const HederaRecipientEvmAddressVerificationRequired: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
|
|
17
17
|
[key: string]: unknown;
|
|
18
18
|
}>;
|
|
19
|
-
export declare const HederaRedundantStakingNodeIdError: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
|
|
20
|
-
[key: string]: unknown;
|
|
21
|
-
}>;
|
|
22
|
-
export declare const HederaInvalidStakingNodeIdError: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
|
|
23
|
-
[key: string]: unknown;
|
|
24
|
-
}>;
|
|
25
|
-
export declare const HederaNoStakingRewardsError: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
|
|
26
|
-
[key: string]: unknown;
|
|
27
|
-
}>;
|
|
28
19
|
//# sourceMappingURL=errors.d.ts.map
|
package/lib-es/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB;;EAAkD,CAAC;AACrF,eAAO,MAAM,8BAA8B;;EAE1C,CAAC;AACF,eAAO,MAAM,qCAAqC;;EAEjD,CAAC;AACF,eAAO,MAAM,uCAAuC;;EAEnD,CAAC;AACF,eAAO,MAAM,yCAAyC;;EAErD,CAAC;AACF,eAAO,MAAM,6CAA6C;;EAEzD,CAAC
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB;;EAAkD,CAAC;AACrF,eAAO,MAAM,8BAA8B;;EAE1C,CAAC;AACF,eAAO,MAAM,qCAAqC;;EAEjD,CAAC;AACF,eAAO,MAAM,uCAAuC;;EAEnD,CAAC;AACF,eAAO,MAAM,yCAAyC;;EAErD,CAAC;AACF,eAAO,MAAM,6CAA6C;;EAEzD,CAAC"}
|
package/lib-es/errors.js
CHANGED
|
@@ -5,7 +5,4 @@ export const HederaInsufficientFundsForAssociation = createCustomErrorClass("Hed
|
|
|
5
5
|
export const HederaRecipientTokenAssociationRequired = createCustomErrorClass("HederaRecipientTokenAssociationRequired");
|
|
6
6
|
export const HederaRecipientTokenAssociationUnverified = createCustomErrorClass("HederaRecipientTokenAssociationUnverified");
|
|
7
7
|
export const HederaRecipientEvmAddressVerificationRequired = createCustomErrorClass("HederaRecipientEvmAddressVerificationRequired");
|
|
8
|
-
export const HederaRedundantStakingNodeIdError = createCustomErrorClass("HederaRedundantStakingNodeIdError");
|
|
9
|
-
export const HederaInvalidStakingNodeIdError = createCustomErrorClass("HederaInvalidStakingNodeIdError");
|
|
10
|
-
export const HederaNoStakingRewardsError = createCustomErrorClass("HederaNoStakingRewardsError");
|
|
11
8
|
//# sourceMappingURL=errors.js.map
|
package/lib-es/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAClE,gCAAgC,CACjC,CAAC;AACF,MAAM,CAAC,MAAM,qCAAqC,GAAG,sBAAsB,CACzE,uCAAuC,CACxC,CAAC;AACF,MAAM,CAAC,MAAM,uCAAuC,GAAG,sBAAsB,CAC3E,yCAAyC,CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,yCAAyC,GAAG,sBAAsB,CAC7E,2CAA2C,CAC5C,CAAC;AACF,MAAM,CAAC,MAAM,6CAA6C,GAAG,sBAAsB,CACjF,+CAA+C,CAChD,CAAC
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAClE,gCAAgC,CACjC,CAAC;AACF,MAAM,CAAC,MAAM,qCAAqC,GAAG,sBAAsB,CACzE,uCAAuC,CACxC,CAAC;AACF,MAAM,CAAC,MAAM,uCAAuC,GAAG,sBAAsB,CAC3E,yCAAyC,CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,yCAAyC,GAAG,sBAAsB,CAC7E,2CAA2C,CAC5C,CAAC;AACF,MAAM,CAAC,MAAM,6CAA6C,GAAG,sBAAsB,CACjF,+CAA+C,CAChD,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ContractExecuteTransaction, TokenAssociateTransaction, TransferTransaction } from "@hashgraph/sdk";
|
|
2
2
|
import type { FeeEstimation, TransactionIntent } from "@ledgerhq/coin-framework/api/index";
|
|
3
3
|
import type { HederaMemo, HederaTxData } from "../types";
|
|
4
4
|
export declare function craftTransaction(txIntent: TransactionIntent<HederaMemo, HederaTxData>, customFees?: FeeEstimation): Promise<{
|
|
5
|
-
tx: TransferTransaction | ContractExecuteTransaction | TokenAssociateTransaction
|
|
5
|
+
tx: TransferTransaction | ContractExecuteTransaction | TokenAssociateTransaction;
|
|
6
6
|
serializedTx: string;
|
|
7
7
|
}>;
|
|
8
8
|
//# sourceMappingURL=craftTransaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,0BAA0B,EAI1B,yBAAyB,EAEzB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAE3F,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAmJzD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,EACrD,UAAU,CAAC,EAAE,aAAa;;;GA4E3B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import BigNumber from "bignumber.js";
|
|
2
2
|
import invariant from "invariant";
|
|
3
|
-
import { AccountId,
|
|
3
|
+
import { AccountId, ContractExecuteTransaction, ContractFunctionParameters, ContractId, Hbar, TokenAssociateTransaction, TransactionId, TransferTransaction, } from "@hashgraph/sdk";
|
|
4
4
|
import { DEFAULT_GAS_LIMIT, HEDERA_TRANSACTION_MODES } from "../constants";
|
|
5
|
-
import {
|
|
5
|
+
import { serializeTransaction } from "./utils";
|
|
6
6
|
// avoid "sign" prompt loop by having only one node (one transaction)
|
|
7
7
|
// https://github.com/LedgerHQ/ledger-live/pull/72/commits/1e942687d4301660e43e0c4b5419fcfa2733b290
|
|
8
8
|
// changing this will break `getHederaTransactionBodyBytes` from logic/utils.ts
|
|
@@ -70,27 +70,10 @@ async function buildTokenAssociateTransaction({ account, transaction, }) {
|
|
|
70
70
|
}
|
|
71
71
|
return tx.freeze();
|
|
72
72
|
}
|
|
73
|
-
async function buildUnsignedUpdateAccountTransaction({ account, transaction, }) {
|
|
74
|
-
const accountId = account.accountId;
|
|
75
|
-
const tx = new AccountUpdateTransaction()
|
|
76
|
-
.setNodeAccountIds([new AccountId(3)])
|
|
77
|
-
.setTransactionId(TransactionId.generate(accountId))
|
|
78
|
-
.setTransactionMemo(transaction.memo ?? "")
|
|
79
|
-
.setAccountId(accountId);
|
|
80
|
-
if (transaction.maxFee) {
|
|
81
|
-
tx.setMaxTransactionFee(Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
82
|
-
}
|
|
83
|
-
if (typeof transaction.stakingNodeId === "number") {
|
|
84
|
-
tx.setStakedNodeId(transaction.stakingNodeId);
|
|
85
|
-
}
|
|
86
|
-
if (transaction.stakingNodeId === null) {
|
|
87
|
-
tx.clearStakedNodeId();
|
|
88
|
-
}
|
|
89
|
-
return tx.freeze();
|
|
90
|
-
}
|
|
91
73
|
export async function craftTransaction(txIntent, customFees) {
|
|
92
|
-
const account = {
|
|
93
|
-
|
|
74
|
+
const account = {
|
|
75
|
+
accountId: txIntent.sender,
|
|
76
|
+
};
|
|
94
77
|
let tx;
|
|
95
78
|
if (txIntent.type === HEDERA_TRANSACTION_MODES.TokenAssociate) {
|
|
96
79
|
invariant(txIntent.asset.type !== "native", "hedera: invalid asset type");
|
|
@@ -101,7 +84,7 @@ export async function craftTransaction(txIntent, customFees) {
|
|
|
101
84
|
type: txIntent.type,
|
|
102
85
|
tokenId: txIntent.asset.assetReference,
|
|
103
86
|
memo: txIntent.memo.value,
|
|
104
|
-
maxFee,
|
|
87
|
+
maxFee: customFees ? new BigNumber(customFees.value.toString()) : undefined,
|
|
105
88
|
},
|
|
106
89
|
});
|
|
107
90
|
}
|
|
@@ -116,14 +99,14 @@ export async function craftTransaction(txIntent, customFees) {
|
|
|
116
99
|
amount,
|
|
117
100
|
recipient: txIntent.recipient,
|
|
118
101
|
memo: txIntent.memo.value,
|
|
119
|
-
maxFee,
|
|
102
|
+
maxFee: customFees ? new BigNumber(customFees.value.toString()) : undefined,
|
|
120
103
|
},
|
|
121
104
|
});
|
|
122
105
|
}
|
|
123
106
|
else if (txIntent.type === HEDERA_TRANSACTION_MODES.Send && txIntent.asset.type === "erc20") {
|
|
124
107
|
invariant("assetReference" in txIntent.asset, "hedera: no assetReference in token transfer");
|
|
125
108
|
const amount = new BigNumber(txIntent.amount.toString());
|
|
126
|
-
const gasLimit =
|
|
109
|
+
const gasLimit = "data" in txIntent && txIntent.data.gasLimit
|
|
127
110
|
? new BigNumber(txIntent.data.gasLimit.toString())
|
|
128
111
|
: DEFAULT_GAS_LIMIT;
|
|
129
112
|
tx = await buildUnsignedERC20TokenTransaction({
|
|
@@ -134,28 +117,11 @@ export async function craftTransaction(txIntent, customFees) {
|
|
|
134
117
|
amount,
|
|
135
118
|
recipient: txIntent.recipient,
|
|
136
119
|
memo: txIntent.memo.value,
|
|
137
|
-
maxFee,
|
|
120
|
+
maxFee: customFees ? new BigNumber(customFees.value.toString()) : undefined,
|
|
138
121
|
gasLimit,
|
|
139
122
|
},
|
|
140
123
|
});
|
|
141
124
|
}
|
|
142
|
-
else if (txIntent.type === HEDERA_TRANSACTION_MODES.Redelegate ||
|
|
143
|
-
txIntent.type === HEDERA_TRANSACTION_MODES.Undelegate ||
|
|
144
|
-
txIntent.type === HEDERA_TRANSACTION_MODES.Delegate) {
|
|
145
|
-
const stakingNodeId = hasSpecificIntentData(txIntent, "staking")
|
|
146
|
-
? txIntent.data.stakingNodeId
|
|
147
|
-
: undefined;
|
|
148
|
-
tx = await buildUnsignedUpdateAccountTransaction({
|
|
149
|
-
account,
|
|
150
|
-
transaction: {
|
|
151
|
-
type: txIntent.type,
|
|
152
|
-
memo: txIntent.memo.value,
|
|
153
|
-
maxFee,
|
|
154
|
-
stakingNodeId,
|
|
155
|
-
},
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
// HEDERA_TRANSACTION_MODES.ClaimRewards is just a coin transfer that triggers staking rewards claim
|
|
159
125
|
else {
|
|
160
126
|
const amount = new BigNumber(txIntent.amount.toString());
|
|
161
127
|
tx = await buildUnsignedCoinTransaction({
|
|
@@ -165,7 +131,7 @@ export async function craftTransaction(txIntent, customFees) {
|
|
|
165
131
|
amount,
|
|
166
132
|
recipient: txIntent.recipient,
|
|
167
133
|
memo: txIntent.memo.value,
|
|
168
|
-
maxFee,
|
|
134
|
+
maxFee: customFees ? new BigNumber(customFees.value.toString()) : undefined,
|
|
169
135
|
},
|
|
170
136
|
});
|
|
171
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBlock.d.ts","sourceRoot":"","sources":["../../src/logic/getBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,KAAK,EAGN,MAAM,oCAAoC,CAAC;AA0C5C,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"getBlock.d.ts","sourceRoot":"","sources":["../../src/logic/getBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,KAAK,EAGN,MAAM,oCAAoC,CAAC;AA0C5C,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CA0B7D"}
|
package/lib-es/logic/getBlock.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getBlockInfo } from "./getBlockInfo";
|
|
2
2
|
import { apiClient } from "../network/api";
|
|
3
|
-
import {
|
|
3
|
+
import { getTimestampRangeFromBlockHeight } from "./utils";
|
|
4
4
|
function toHederaAsset(mirrorTransfer) {
|
|
5
5
|
if ("token_id" in mirrorTransfer) {
|
|
6
6
|
return {
|
|
@@ -40,7 +40,6 @@ export async function getBlock(height) {
|
|
|
40
40
|
operations,
|
|
41
41
|
fees: BigInt(tx.charged_tx_fee),
|
|
42
42
|
feesPayer: payerAccount,
|
|
43
|
-
details: { memo: getMemoFromBase64(tx.memo_base64) },
|
|
44
43
|
};
|
|
45
44
|
});
|
|
46
45
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBlock.js","sourceRoot":"","sources":["../../src/logic/getBlock.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getBlock.js","sourceRoot":"","sources":["../../src/logic/getBlock.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAE3D,SAAS,aAAa,CACpB,cAAoE;IAEpE,IAAI,UAAU,IAAI,cAAc,EAAE,CAAC;QACjC,OAAO;YACL,IAAI,EAAE,KAAK;YACX,cAAc,EAAE,cAAc,CAAC,QAAQ;SACxC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CACvB,YAAoB,EACpB,UAAkB,EAClB,cAAoE;IAEpE,MAAM,eAAe,GAAG,UAAU,IAAI,cAAc,CAAC;IACrD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;IACvC,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAE3C,uHAAuH;IACvH,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,OAAO;QACP,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAc;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,gCAAgC,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,+BAA+B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEjF,MAAM,iBAAiB,GAAuB,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAClE,MAAM,YAAY,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;QAE9D,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAC7C,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,CAC5D,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,EAAE,CAAC,gBAAgB;YACzB,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS;YAC/B,UAAU;YACV,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC;YAC/B,SAAS,EAAE,YAAY;SACxB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,iBAAiB;KAChC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listOperations.d.ts","sourceRoot":"","sources":["../../src/logic/listOperations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"listOperations.d.ts","sourceRoot":"","sources":["../../src/logic/listOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAMrE,OAAO,KAAK,EAAE,iBAAiB,EAA2B,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAqKjG,wBAAsB,cAAc,CAAC,EACnC,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,UAAU,EACV,aAAa,EACb,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,UAAU,EAAE,UAAU,CAAC;IAEvB,aAAa,EAAE,OAAO,CAAC;IACvB,0BAA0B,EAAE,OAAO,CAAC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,GAAG,OAAO,CAAC;IACV,cAAc,EAAE,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC;IAClD,eAAe,EAAE,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC;IACnD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC,CAqDD"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import BigNumber from "bignumber.js";
|
|
2
|
-
import { getEnv } from "@ledgerhq/live-env";
|
|
3
2
|
import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
|
|
4
3
|
import { encodeAccountId, encodeTokenAccountId } from "@ledgerhq/coin-framework/account/accountId";
|
|
5
4
|
import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
|
|
@@ -9,7 +8,6 @@ import { base64ToUrlSafeBase64, getMemoFromBase64, getSyntheticBlock } from "./u
|
|
|
9
8
|
const txNameToCustomOperationType = {
|
|
10
9
|
TOKENASSOCIATE: "ASSOCIATE_TOKEN",
|
|
11
10
|
CONTRACTCALL: "CONTRACT_CALL",
|
|
12
|
-
CRYPTOUPDATEACCOUNT: "UPDATE_ACCOUNT",
|
|
13
11
|
};
|
|
14
12
|
function getCommonOperationData(rawTx, useEncodedHash, useSyntheticBlocks) {
|
|
15
13
|
const timestamp = new Date(Number.parseInt(rawTx.consensus_timestamp.split(".")[0], 10) * 1000);
|
|
@@ -90,22 +88,13 @@ async function processTokenTransfers({ rawTx, address, currency, ledgerAccountId
|
|
|
90
88
|
};
|
|
91
89
|
}
|
|
92
90
|
function processTransfers({ rawTx, address, ledgerAccountId, commonData, mirrorTokens, }) {
|
|
93
|
-
const coinOperations = [];
|
|
94
91
|
const transfers = rawTx.transfers ?? [];
|
|
95
|
-
if (transfers.length === 0)
|
|
96
|
-
return
|
|
97
|
-
}
|
|
92
|
+
if (transfers.length === 0)
|
|
93
|
+
return null;
|
|
98
94
|
const { type, value, senders, recipients } = parseTransfers(transfers, address);
|
|
99
95
|
const { hash, fee, timestamp, blockHeight, blockHash, hasFailed } = commonData;
|
|
100
96
|
const extra = { ...commonData.extra };
|
|
101
97
|
const operationType = txNameToCustomOperationType[rawTx.name] ?? type;
|
|
102
|
-
const stakingReward = rawTx.staking_reward_transfers.reduce((acc, transfer) => {
|
|
103
|
-
const transferAmount = new BigNumber(transfer.amount);
|
|
104
|
-
if (transfer.account === address) {
|
|
105
|
-
acc = acc.plus(transferAmount);
|
|
106
|
-
}
|
|
107
|
-
return acc;
|
|
108
|
-
}, new BigNumber(0));
|
|
109
98
|
// try to enrich ASSOCIATE_TOKEN operation with extra.associatedTokenId
|
|
110
99
|
// this value is used by custom OperationDetails components in Hedera family
|
|
111
100
|
// accounts or contracts must first associate with an HTS token before they can receive or send that token; without association, token transfers fail
|
|
@@ -117,28 +106,7 @@ function processTransfers({ rawTx, address, ledgerAccountId, commonData, mirrorT
|
|
|
117
106
|
extra.associatedTokenId = relatedMirrorToken.token_id;
|
|
118
107
|
}
|
|
119
108
|
}
|
|
120
|
-
|
|
121
|
-
if (stakingReward.gt(0)) {
|
|
122
|
-
const stakingRewardHash = `${hash}-staking-reward`;
|
|
123
|
-
const stakingRewardType = "REWARD";
|
|
124
|
-
// offset timestamp by +1ms to ensure it appears just before the operation that triggered it
|
|
125
|
-
const stakingRewardTimestamp = new Date(timestamp.getTime() + 1);
|
|
126
|
-
coinOperations.push({
|
|
127
|
-
id: encodeOperationId(ledgerAccountId, stakingRewardHash, stakingRewardType),
|
|
128
|
-
accountId: ledgerAccountId,
|
|
129
|
-
type: stakingRewardType,
|
|
130
|
-
value: stakingReward,
|
|
131
|
-
recipients: [address],
|
|
132
|
-
senders: [getEnv("HEDERA_STAKING_REWARD_ACCOUNT_ID")],
|
|
133
|
-
hash: stakingRewardHash,
|
|
134
|
-
fee: new BigNumber(0),
|
|
135
|
-
date: stakingRewardTimestamp,
|
|
136
|
-
blockHeight,
|
|
137
|
-
blockHash,
|
|
138
|
-
extra,
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
coinOperations.push({
|
|
109
|
+
return {
|
|
142
110
|
id: encodeOperationId(ledgerAccountId, hash, operationType),
|
|
143
111
|
accountId: ledgerAccountId,
|
|
144
112
|
type: operationType,
|
|
@@ -152,8 +120,7 @@ function processTransfers({ rawTx, address, ledgerAccountId, commonData, mirrorT
|
|
|
152
120
|
blockHash,
|
|
153
121
|
hasFailed,
|
|
154
122
|
extra,
|
|
155
|
-
}
|
|
156
|
-
return coinOperations;
|
|
123
|
+
};
|
|
157
124
|
}
|
|
158
125
|
export async function listOperations({ currency, address, mirrorTokens, pagination, fetchAllPages, skipFeesForTokenOperations, useEncodedHash, useSyntheticBlocks, }) {
|
|
159
126
|
const coinOperations = [];
|
|
@@ -189,14 +156,15 @@ export async function listOperations({ currency, address, mirrorTokens, paginati
|
|
|
189
156
|
tokenOperations.push(tokenResult.tokenOperation);
|
|
190
157
|
// process regular transfers only if there were no token transfers
|
|
191
158
|
if (!tokenResult) {
|
|
192
|
-
const
|
|
159
|
+
const coinOperation = processTransfers({
|
|
193
160
|
rawTx,
|
|
194
161
|
address,
|
|
195
162
|
ledgerAccountId,
|
|
196
163
|
commonData,
|
|
197
164
|
mirrorTokens,
|
|
198
165
|
});
|
|
199
|
-
|
|
166
|
+
if (coinOperation)
|
|
167
|
+
coinOperations.push(coinOperation);
|
|
200
168
|
}
|
|
201
169
|
}
|
|
202
170
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listOperations.js","sourceRoot":"","sources":["../../src/logic/listOperations.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"listOperations.js","sourceRoot":"","sources":["../../src/logic/listOperations.ts"],"names":[],"mappings":"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"}
|
package/lib-es/logic/utils.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ import { Transaction as HederaSDKTransaction, TransactionId } from "@hashgraph/s
|
|
|
3
3
|
import type { AssetInfo, TransactionIntent } from "@ledgerhq/coin-framework/api/types";
|
|
4
4
|
import type { Currency, ExplorerView, TokenCurrency } from "@ledgerhq/types-cryptoassets";
|
|
5
5
|
import type { AccountLike, Operation as LiveOperation } from "@ledgerhq/types-live";
|
|
6
|
-
import {
|
|
7
|
-
import type {
|
|
6
|
+
import { HEDERA_OPERATION_TYPES, HEDERA_TRANSACTION_MODES } from "../constants";
|
|
7
|
+
import type { HederaOperationExtra, Transaction, TransactionStatus } from "../types";
|
|
8
8
|
export declare const serializeSignature: (signature: Uint8Array) => string;
|
|
9
9
|
export declare const deserializeSignature: (signature: string) => Buffer;
|
|
10
10
|
export declare const serializeTransaction: (tx: HederaSDKTransaction) => string;
|
|
@@ -18,7 +18,7 @@ export declare const mapIntentToSDKOperation: (txIntent: TransactionIntent) => H
|
|
|
18
18
|
export declare const getMemoFromBase64: (memoBase64: string | undefined) => string | null;
|
|
19
19
|
export declare function base64ToUrlSafeBase64(data: string): string;
|
|
20
20
|
export declare const getTransactionExplorer: (explorerView: ExplorerView | null | undefined, operation: LiveOperation) => string | undefined;
|
|
21
|
-
export declare const isTokenAssociateTransaction: (tx: Transaction
|
|
21
|
+
export declare const isTokenAssociateTransaction: (tx: Transaction) => tx is import("@ledgerhq/types-live").TransactionCommon & {
|
|
22
22
|
family: "hedera";
|
|
23
23
|
memo?: string | undefined;
|
|
24
24
|
maxFee?: BigNumber;
|
|
@@ -33,11 +33,9 @@ export declare const isTokenAssociateTransaction: (tx: Transaction | null | unde
|
|
|
33
33
|
export declare const isAutoTokenAssociationEnabled: (account: AccountLike) => boolean;
|
|
34
34
|
export declare const isTokenAssociationRequired: (account: AccountLike, token: TokenCurrency | null | undefined) => boolean;
|
|
35
35
|
export declare const isValidExtra: (extra: unknown) => extra is HederaOperationExtra;
|
|
36
|
-
export declare const getOperationDetailsExtraFields: (extra: HederaOperationExtra) => OperationDetailsExtraField[];
|
|
37
36
|
export declare const sendRecipientCanNext: (status: TransactionStatus) => boolean;
|
|
38
37
|
export declare const getCurrencyToUSDRate: import("@ledgerhq/live-network/cache").CacheRes<[currency: Currency], BigNumber | null>;
|
|
39
38
|
export declare const checkAccountTokenAssociationStatus: import("@ledgerhq/live-network/cache").CacheRes<[accountId: string, token: TokenCurrency], boolean>;
|
|
40
|
-
export declare const getChecksum: (accountId: string) => string | null;
|
|
41
39
|
export declare const safeParseAccountId: (address: string) => [Error, null] | [null, {
|
|
42
40
|
accountId: string;
|
|
43
41
|
checksum: string | null;
|
|
@@ -88,60 +86,4 @@ export declare const toEVMAddress: (accountId: string) => string | null;
|
|
|
88
86
|
* @returns Hedera account ID in the format `shard.realm.num` or null if conversion fails
|
|
89
87
|
*/
|
|
90
88
|
export declare const fromEVMAddress: (evmAddress: string, shard?: number, realm?: number) => string | null;
|
|
91
|
-
export declare const extractCompanyFromNodeDescription: (description: string) => string;
|
|
92
|
-
export declare const sortValidators: (validators: HederaValidator[]) => HederaValidator[];
|
|
93
|
-
export declare const filterValidatorBySearchTerm: (validator: HederaValidator, search: string) => boolean;
|
|
94
|
-
export declare const getValidatorFromAccount: (account: HederaAccount) => HederaValidator | null;
|
|
95
|
-
export declare const getDefaultValidator: (validators: HederaValidator[]) => HederaValidator | null;
|
|
96
|
-
export declare const getDelegationStatus: (validator: HederaValidator | null) => HEDERA_DELEGATION_STATUS;
|
|
97
|
-
export declare const isStakingTransaction: (tx: Transaction | null | undefined) => tx is TransactionStaking;
|
|
98
|
-
export declare const hasSpecificIntentData: <Type extends "erc20" | "staking">(txIntent: TransactionIntent<HederaMemo, HederaTxData>, expectedType: Type) => txIntent is Extract<{
|
|
99
|
-
intentType: "staking" | "transaction";
|
|
100
|
-
type: string;
|
|
101
|
-
sender: string;
|
|
102
|
-
recipient: string;
|
|
103
|
-
amount: bigint;
|
|
104
|
-
asset: AssetInfo;
|
|
105
|
-
useAllAmount?: boolean;
|
|
106
|
-
feesStrategy?: import("@ledgerhq/coin-framework/api/types").FeesStrategy;
|
|
107
|
-
senderPublicKey?: string;
|
|
108
|
-
sequence?: bigint;
|
|
109
|
-
expiration?: number;
|
|
110
|
-
sponsored?: boolean;
|
|
111
|
-
} & {
|
|
112
|
-
memo: HederaMemo;
|
|
113
|
-
} & {
|
|
114
|
-
data: {
|
|
115
|
-
type: "erc20";
|
|
116
|
-
gasLimit: bigint;
|
|
117
|
-
};
|
|
118
|
-
}, {
|
|
119
|
-
data: {
|
|
120
|
-
type: Type;
|
|
121
|
-
};
|
|
122
|
-
}> | Extract<{
|
|
123
|
-
intentType: "staking" | "transaction";
|
|
124
|
-
type: string;
|
|
125
|
-
sender: string;
|
|
126
|
-
recipient: string;
|
|
127
|
-
amount: bigint;
|
|
128
|
-
asset: AssetInfo;
|
|
129
|
-
useAllAmount?: boolean;
|
|
130
|
-
feesStrategy?: import("@ledgerhq/coin-framework/api/types").FeesStrategy;
|
|
131
|
-
senderPublicKey?: string;
|
|
132
|
-
sequence?: bigint;
|
|
133
|
-
expiration?: number;
|
|
134
|
-
sponsored?: boolean;
|
|
135
|
-
} & {
|
|
136
|
-
memo: HederaMemo;
|
|
137
|
-
} & {
|
|
138
|
-
data: {
|
|
139
|
-
type: "staking";
|
|
140
|
-
stakingNodeId: number | null | undefined;
|
|
141
|
-
};
|
|
142
|
-
}, {
|
|
143
|
-
data: {
|
|
144
|
-
type: Type;
|
|
145
|
-
};
|
|
146
|
-
}>;
|
|
147
89
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/logic/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EAGL,WAAW,IAAI,oBAAoB,EACnC,aAAa,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/logic/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EAGL,WAAW,IAAI,oBAAoB,EACnC,aAAa,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAMvF,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EAEzB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAEV,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EAElB,MAAM,UAAU,CAAC;AAIlB,eAAO,MAAM,kBAAkB,cAAe,UAAU,WAEvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,cAAe,MAAM,WAErD,CAAC;AAEF,eAAO,MAAM,oBAAoB,OAAQ,oBAAoB,WAE5D,CAAC;AAEF,eAAO,MAAM,sBAAsB,OAAQ,MAAM,yBAEhD,CAAC;AAEF,eAAO,MAAM,iBAAiB;WAIrB,SAAS;eACL,cAAc,oBAAoB,CAAC;YAW/C,CAAC;AAMF,eAAO,MAAM,6BAA6B,OAAQ,oBAAoB,eAIrE,CAAC;AAEF,eAAO,MAAM,uBAAuB,aAAc,iBAAiB,2BAclE,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAAgB,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,IAQ3E,CAAC;AAGF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED,eAAO,MAAM,sBAAsB,iBACnB,YAAY,GAAG,IAAI,GAAG,SAAS,aAClC,aAAa,KACvB,MAAM,GAAG,SAOX,CAAC;AAEF,eAAO,MAAM,2BAA2B,OAAQ,WAAW;;;;;;;;;;;CAE1D,CAAC;AAEF,eAAO,MAAM,6BAA6B,YAAa,WAAW,YAIjE,CAAC;AAEF,eAAO,MAAM,0BAA0B,YAC5B,WAAW,SACb,aAAa,GAAG,IAAI,GAAG,SAAS,YAUxC,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,OAAO,kCAE1C,CAAC;AAKF,eAAO,MAAM,oBAAoB,WAAY,iBAAiB,YAI7D,CAAC;AAGF,eAAO,MAAM,oBAAoB,yFAoBhC,CAAC;AAEF,eAAO,MAAM,kCAAkC,qGA4B9C,CAAC;AAEF,eAAO,MAAM,kBAAkB,YACpB,MAAM,KACd,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CA0BvE,CAAC;AAEF,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,SAAiC;;;;EAapD;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,MAAM,EACnB,kBAAkB,SAAiC;;;EASpD;AAED,eAAO,MAAM,mBAAmB,kBAAmB,aAAa,KAAG,MAKlE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,cAAe,MAAM,kBAO7C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,eAAgB,MAAM,qCAAyB,MAAM,GAAG,IAalF,CAAC"}
|