@ledgerhq/coin-hedera 1.15.0 → 1.16.0-nightly.20251210120335
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/CHANGELOG.md +24 -0
- package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -1
- package/lib/bridge/buildOptimisticOperation.js +33 -0
- package/lib/bridge/buildOptimisticOperation.js.map +1 -1
- package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib/bridge/getTransactionStatus.js +54 -0
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/index.d.ts.map +1 -1
- package/lib/bridge/index.js +4 -2
- package/lib/bridge/index.js.map +1 -1
- package/lib/bridge/prepareTransaction.d.ts.map +1 -1
- package/lib/bridge/prepareTransaction.js +16 -0
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/serialization.d.ts.map +1 -1
- package/lib/bridge/serialization.js +20 -0
- 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 +10 -0
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/synchronisation.d.ts.map +1 -1
- package/lib/bridge/synchronisation.js +8 -0
- package/lib/bridge/synchronisation.js.map +1 -1
- package/lib/constants.d.ts +21 -1
- package/lib/constants.d.ts.map +1 -1
- package/lib/constants.js +22 -1
- package/lib/constants.js.map +1 -1
- package/lib/deviceTransactionConfig.d.ts.map +1 -1
- package/lib/deviceTransactionConfig.js +30 -0
- package/lib/deviceTransactionConfig.js.map +1 -1
- package/lib/errors.d.ts +9 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +4 -1
- 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 +42 -8
- package/lib/logic/craftTransaction.js.map +1 -1
- package/lib/logic/getBlock.d.ts.map +1 -1
- package/lib/logic/getBlock.js +1 -0
- package/lib/logic/getBlock.js.map +1 -1
- package/lib/logic/listOperations.d.ts.map +1 -1
- package/lib/logic/listOperations.js +39 -7
- package/lib/logic/listOperations.js.map +1 -1
- package/lib/logic/utils.d.ts +61 -3
- package/lib/logic/utils.d.ts.map +1 -1
- package/lib/logic/utils.js +117 -4
- package/lib/logic/utils.js.map +1 -1
- package/lib/network/api.d.ts +3 -1
- package/lib/network/api.d.ts.map +1 -1
- package/lib/network/api.js +19 -0
- package/lib/network/api.js.map +1 -1
- package/lib/preload-data.d.ts +7 -0
- package/lib/preload-data.d.ts.map +1 -0
- package/lib/preload-data.js +37 -0
- package/lib/preload-data.js.map +1 -0
- package/lib/preload.d.ts +8 -0
- package/lib/preload.d.ts.map +1 -0
- package/lib/preload.js +76 -0
- package/lib/preload.js.map +1 -0
- 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 +2 -0
- package/lib/test/fixtures/account.fixture.js.map +1 -1
- package/lib/transaction.d.ts.map +1 -1
- package/lib/transaction.js +34 -0
- package/lib/transaction.js.map +1 -1
- package/lib/types/alpaca.d.ts +3 -0
- package/lib/types/alpaca.d.ts.map +1 -1
- package/lib/types/bridge.d.ts +87 -3
- package/lib/types/bridge.d.ts.map +1 -1
- package/lib/types/logic.d.ts +5 -1
- package/lib/types/logic.d.ts.map +1 -1
- package/lib/types/mirror.d.ts +19 -0
- 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 +34 -1
- 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 +57 -3
- 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 +4 -2
- 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 +15 -2
- 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 +17 -0
- 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 +11 -1
- 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 +8 -0
- package/lib-es/bridge/synchronisation.js.map +1 -1
- package/lib-es/constants.d.ts +21 -1
- package/lib-es/constants.d.ts.map +1 -1
- package/lib-es/constants.js +21 -0
- package/lib-es/constants.js.map +1 -1
- package/lib-es/deviceTransactionConfig.d.ts.map +1 -1
- package/lib-es/deviceTransactionConfig.js +31 -1
- package/lib-es/deviceTransactionConfig.js.map +1 -1
- package/lib-es/errors.d.ts +9 -0
- package/lib-es/errors.d.ts.map +1 -1
- package/lib-es/errors.js +3 -0
- 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 +44 -10
- 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 +2 -1
- 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 +39 -7
- package/lib-es/logic/listOperations.js.map +1 -1
- package/lib-es/logic/utils.d.ts +61 -3
- package/lib-es/logic/utils.d.ts.map +1 -1
- package/lib-es/logic/utils.js +107 -4
- package/lib-es/logic/utils.js.map +1 -1
- package/lib-es/network/api.d.ts +3 -1
- package/lib-es/network/api.d.ts.map +1 -1
- package/lib-es/network/api.js +19 -0
- package/lib-es/network/api.js.map +1 -1
- package/lib-es/preload-data.d.ts +7 -0
- package/lib-es/preload-data.d.ts.map +1 -0
- package/lib-es/preload-data.js +31 -0
- package/lib-es/preload-data.js.map +1 -0
- package/lib-es/preload.d.ts +8 -0
- package/lib-es/preload.d.ts.map +1 -0
- package/lib-es/preload.js +67 -0
- package/lib-es/preload.js.map +1 -0
- 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 +2 -0
- 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 +34 -0
- package/lib-es/transaction.js.map +1 -1
- package/lib-es/types/alpaca.d.ts +3 -0
- package/lib-es/types/alpaca.d.ts.map +1 -1
- package/lib-es/types/bridge.d.ts +87 -3
- package/lib-es/types/bridge.d.ts.map +1 -1
- package/lib-es/types/logic.d.ts +5 -1
- package/lib-es/types/logic.d.ts.map +1 -1
- package/lib-es/types/mirror.d.ts +19 -0
- package/lib-es/types/mirror.d.ts.map +1 -1
- package/package.json +13 -12
- package/src/api/index.integ.test.ts +11 -1
- package/src/bridge/buildOptimisticOperation.integration.test.ts +159 -4
- package/src/bridge/buildOptimisticOperation.ts +50 -2
- package/src/bridge/getTransactionStatus.test.ts +191 -21
- package/src/bridge/getTransactionStatus.ts +75 -1
- package/src/bridge/index.ts +4 -2
- package/src/bridge/prepareTransaction.test.ts +112 -8
- package/src/bridge/prepareTransaction.ts +20 -2
- package/src/bridge/serialization.ts +17 -0
- package/src/bridge/signOperation.ts +15 -5
- package/src/bridge/synchronisation.ts +9 -0
- package/src/bridge/utils.integration.test.ts +3 -10
- package/src/constants.ts +22 -0
- package/src/deviceTransactionConfig.test.ts +315 -0
- package/src/deviceTransactionConfig.ts +37 -1
- package/src/errors.ts +7 -0
- package/src/logic/craftTransaction.ts +70 -13
- package/src/logic/getBalance.test.ts +15 -16
- package/src/logic/getBlock.ts +2 -1
- package/src/logic/listOperations.test.ts +86 -29
- package/src/logic/listOperations.ts +46 -6
- package/src/logic/utils.test.ts +362 -8
- package/src/logic/utils.ts +158 -4
- package/src/network/api.test.ts +58 -6
- package/src/network/api.ts +25 -0
- package/src/network/thirdweb.test.ts +2 -2
- package/src/network/utils.test.ts +4 -6
- package/src/preload-data.ts +38 -0
- package/src/preload.test.ts +64 -0
- package/src/preload.ts +80 -0
- package/src/test/fixtures/account.fixture.ts +3 -1
- package/src/transaction.ts +42 -0
- package/src/types/alpaca.ts +4 -0
- package/src/types/bridge.ts +108 -3
- package/src/types/logic.ts +6 -1
- package/src/types/mirror.ts +21 -0
|
@@ -4,7 +4,7 @@ import { buildOptimisticOperation } from "./buildOptimisticOperation";
|
|
|
4
4
|
import { DEFAULT_GAS_LIMIT, HEDERA_TRANSACTION_MODES } from "../constants";
|
|
5
5
|
import { combine } from "../logic/combine";
|
|
6
6
|
import { craftTransaction } from "../logic/craftTransaction";
|
|
7
|
-
import { serializeSignature, serializeTransaction, getHederaTransactionBodyBytes, isTokenAssociateTransaction, } from "../logic/utils";
|
|
7
|
+
import { serializeSignature, serializeTransaction, getHederaTransactionBodyBytes, isTokenAssociateTransaction, isStakingTransaction, } from "../logic/utils";
|
|
8
8
|
export const buildSignOperation = (signerContext) => ({ account, transaction, deviceId }) => new Observable(o => {
|
|
9
9
|
void (async function () {
|
|
10
10
|
try {
|
|
@@ -48,6 +48,16 @@ export const buildSignOperation = (signerContext) => ({ account, transaction, de
|
|
|
48
48
|
gasLimit: BigInt((transaction.gasLimit ?? DEFAULT_GAS_LIMIT).toString()),
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
+
else if (isStakingTransaction(transaction)) {
|
|
52
|
+
type = transaction.mode;
|
|
53
|
+
asset = {
|
|
54
|
+
type: "native",
|
|
55
|
+
};
|
|
56
|
+
data = {
|
|
57
|
+
type: "staking",
|
|
58
|
+
stakingNodeId: transaction.properties?.stakingNodeId,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
51
61
|
else {
|
|
52
62
|
type = HEDERA_TRANSACTION_MODES.Send;
|
|
53
63
|
asset = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,6BAA6B,EAC7B,2BAA2B,
|
|
1
|
+
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronisation.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACrB,MAAM,2CAA2C,CAAC;AAGnD,OAAO,KAAK,EAAE,OAAO,EAAa,MAAM,sBAAsB,CAAC;AAM/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAS9C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"synchronisation.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACrB,MAAM,2CAA2C,CAAC;AAGnD,OAAO,KAAK,EAAE,OAAO,EAAa,MAAM,sBAAsB,CAAC;AAM/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAS9C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,aAAa,CAmJ1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,oBAqBhC,CAAC;AAGF,eAAO,MAAM,QAAQ,aAAc,OAAO,UAAU,OAAO,KAAG,OAgB7D,CAAC"}
|
|
@@ -76,6 +76,13 @@ export const getAccountShape = async (info, { blacklistedTokenIds }) => {
|
|
|
76
76
|
const operations = shouldSyncFromScratch
|
|
77
77
|
? enrichedNewOperations
|
|
78
78
|
: mergeOps(oldOperations, enrichedNewOperations);
|
|
79
|
+
const delegation = typeof mirrorAccount.staked_node_id === "number"
|
|
80
|
+
? {
|
|
81
|
+
nodeId: mirrorAccount.staked_node_id,
|
|
82
|
+
delegated: accountBalance,
|
|
83
|
+
pendingReward: new BigNumber(mirrorAccount.pending_reward),
|
|
84
|
+
}
|
|
85
|
+
: null;
|
|
79
86
|
// how ERC20 operations are handled:
|
|
80
87
|
// - mirror node doesn't include "IN" erc20 token transactions
|
|
81
88
|
// - mirror node returns "CONTRACT_CALL" (OUT) erc20 token transactions made from given account address
|
|
@@ -124,6 +131,7 @@ export const getAccountShape = async (info, { blacklistedTokenIds }) => {
|
|
|
124
131
|
hederaResources: {
|
|
125
132
|
maxAutomaticTokenAssociations: mirrorAccount.max_automatic_token_associations,
|
|
126
133
|
isAutoTokenAssociationEnabled: mirrorAccount.max_automatic_token_associations === -1,
|
|
134
|
+
delegation,
|
|
127
135
|
},
|
|
128
136
|
};
|
|
129
137
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"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"}
|
package/lib-es/constants.d.ts
CHANGED
|
@@ -5,12 +5,17 @@ import BigNumber from "bignumber.js";
|
|
|
5
5
|
*/
|
|
6
6
|
export declare enum HEDERA_TRANSACTION_MODES {
|
|
7
7
|
Send = "send",
|
|
8
|
-
TokenAssociate = "token-associate"
|
|
8
|
+
TokenAssociate = "token-associate",
|
|
9
|
+
Delegate = "delegate",
|
|
10
|
+
Undelegate = "undelegate",
|
|
11
|
+
Redelegate = "redelegate",
|
|
12
|
+
ClaimRewards = "claim-rewards"
|
|
9
13
|
}
|
|
10
14
|
/**
|
|
11
15
|
* Enum representing the supported Hedera operation types for fee estimation
|
|
12
16
|
*/
|
|
13
17
|
export declare enum HEDERA_OPERATION_TYPES {
|
|
18
|
+
CryptoUpdate = "CryptoUpdate",
|
|
14
19
|
CryptoTransfer = "CryptoTransfer",
|
|
15
20
|
TokenTransfer = "TokenTransfer",
|
|
16
21
|
TokenAssociate = "TokenAssociate",
|
|
@@ -25,6 +30,14 @@ export declare const ESTIMATED_FEE_SAFETY_RATE = 2;
|
|
|
25
30
|
export declare const DEFAULT_GAS_LIMIT: BigNumber;
|
|
26
31
|
export declare const DEFAULT_GAS_PRICE_TINYBARS: BigNumber;
|
|
27
32
|
export declare const HEDERA_MAINNET_CHAIN_ID = 295;
|
|
33
|
+
/**
|
|
34
|
+
* Enum representing the delegation status of a Hedera account
|
|
35
|
+
*/
|
|
36
|
+
export declare enum HEDERA_DELEGATION_STATUS {
|
|
37
|
+
Inactive = "inactive",
|
|
38
|
+
Overstaked = "overstaked",
|
|
39
|
+
Active = "active"
|
|
40
|
+
}
|
|
28
41
|
/**
|
|
29
42
|
* https://docs.hedera.com/hedera/networks/mainnet/fees
|
|
30
43
|
*
|
|
@@ -35,6 +48,7 @@ export declare const HEDERA_MAINNET_CHAIN_ID = 295;
|
|
|
35
48
|
* has sufficient balance to cover the cost of a transaction (e.g. token association).
|
|
36
49
|
*/
|
|
37
50
|
export declare const BASE_USD_FEE_BY_OPERATION_TYPE: {
|
|
51
|
+
readonly CryptoUpdate: number;
|
|
38
52
|
readonly CryptoTransfer: number;
|
|
39
53
|
readonly TokenTransfer: number;
|
|
40
54
|
readonly TokenAssociate: number;
|
|
@@ -52,4 +66,10 @@ export declare const SUPPORTED_ERC20_TOKENS: {
|
|
|
52
66
|
contractAddress: string;
|
|
53
67
|
tokenId: string;
|
|
54
68
|
}[];
|
|
69
|
+
export declare const MAP_STAKING_MODE_TO_MEMO: {
|
|
70
|
+
readonly "claim-rewards": "Collect Staking Rewards";
|
|
71
|
+
readonly delegate: "Stake";
|
|
72
|
+
readonly undelegate: "Unstake";
|
|
73
|
+
readonly redelegate: "Restake";
|
|
74
|
+
};
|
|
55
75
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC;;;GAGG;AACH,oBAAY,wBAAwB;IAClC,IAAI,SAAS;IACb,cAAc,oBAAoB;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC;;;GAGG;AACH,oBAAY,wBAAwB;IAClC,IAAI,SAAS;IACb,cAAc,oBAAoB;IAClC,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,YAAY,kBAAkB;CAC/B;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;CAC9B;AAED,eAAO,MAAM,aAAa,IAAI,CAAC;AAG/B,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,eAAO,MAAM,0BAA0B,uEAC+B,CAAC;AAEvE,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,eAAO,MAAM,iBAAiB,WAAyB,CAAC;AAExD,eAAO,MAAM,0BAA0B,WAAqB,CAAC;AAE7D,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C;;GAEG;AACH,oBAAY,wBAAwB;IAClC,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B;;;;;;CAMgB,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;GAqBlC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;CAK3B,CAAC"}
|
package/lib-es/constants.js
CHANGED
|
@@ -7,12 +7,17 @@ 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";
|
|
10
14
|
})(HEDERA_TRANSACTION_MODES || (HEDERA_TRANSACTION_MODES = {}));
|
|
11
15
|
/**
|
|
12
16
|
* Enum representing the supported Hedera operation types for fee estimation
|
|
13
17
|
*/
|
|
14
18
|
export var HEDERA_OPERATION_TYPES;
|
|
15
19
|
(function (HEDERA_OPERATION_TYPES) {
|
|
20
|
+
HEDERA_OPERATION_TYPES["CryptoUpdate"] = "CryptoUpdate";
|
|
16
21
|
HEDERA_OPERATION_TYPES["CryptoTransfer"] = "CryptoTransfer";
|
|
17
22
|
HEDERA_OPERATION_TYPES["TokenTransfer"] = "TokenTransfer";
|
|
18
23
|
HEDERA_OPERATION_TYPES["TokenAssociate"] = "TokenAssociate";
|
|
@@ -28,6 +33,15 @@ export const ESTIMATED_FEE_SAFETY_RATE = 2;
|
|
|
28
33
|
export const DEFAULT_GAS_LIMIT = new BigNumber(100_000);
|
|
29
34
|
export const DEFAULT_GAS_PRICE_TINYBARS = new BigNumber(100);
|
|
30
35
|
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 = {}));
|
|
31
45
|
/**
|
|
32
46
|
* https://docs.hedera.com/hedera/networks/mainnet/fees
|
|
33
47
|
*
|
|
@@ -38,6 +52,7 @@ export const HEDERA_MAINNET_CHAIN_ID = 295;
|
|
|
38
52
|
* has sufficient balance to cover the cost of a transaction (e.g. token association).
|
|
39
53
|
*/
|
|
40
54
|
export const BASE_USD_FEE_BY_OPERATION_TYPE = {
|
|
55
|
+
[HEDERA_OPERATION_TYPES.CryptoUpdate]: 0.00022 * 10 ** TINYBAR_SCALE,
|
|
41
56
|
[HEDERA_OPERATION_TYPES.CryptoTransfer]: 0.0001 * 10 ** TINYBAR_SCALE,
|
|
42
57
|
[HEDERA_OPERATION_TYPES.TokenTransfer]: 0.001 * 10 ** TINYBAR_SCALE,
|
|
43
58
|
[HEDERA_OPERATION_TYPES.TokenAssociate]: 0.05 * 10 ** TINYBAR_SCALE,
|
|
@@ -72,4 +87,10 @@ export const SUPPORTED_ERC20_TOKENS = [
|
|
|
72
87
|
tokenId: "0.0.10047837",
|
|
73
88
|
},
|
|
74
89
|
];
|
|
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
|
+
};
|
|
75
96
|
//# 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,wBAOX;AAPD,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,8DAAkC,CAAA;IAClC,iDAAqB,CAAA;IACrB,qDAAyB,CAAA;IACzB,qDAAyB,CAAA;IACzB,0DAA8B,CAAA;AAChC,CAAC,EAPW,wBAAwB,KAAxB,wBAAwB,QAOnC;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,sBAMX;AAND,WAAY,sBAAsB;IAChC,uDAA6B,CAAA;IAC7B,2DAAiC,CAAA;IACjC,yDAA+B,CAAA;IAC/B,2DAAiC,CAAA;IACjC,uDAA6B,CAAA;AAC/B,CAAC,EANW,sBAAsB,KAAtB,sBAAsB,QAMjC;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;;GAEG;AACH,MAAM,CAAN,IAAY,wBAIX;AAJD,WAAY,wBAAwB;IAClC,iDAAqB,CAAA;IACrB,qDAAyB,CAAA;IACzB,6CAAiB,CAAA;AACnB,CAAC,EAJW,wBAAwB,KAAxB,wBAAwB,QAInC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,EAAE,IAAI,aAAa;IACpE,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;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE,yBAAyB;IAClE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,OAAO;IAC5C,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,SAAS;IAChD,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,SAAS;CACxC,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,CAkFzC;AAED,eAAe,0BAA0B,CAAC"}
|
|
@@ -1,7 +1,37 @@
|
|
|
1
1
|
import { HEDERA_TRANSACTION_MODES } from "./constants";
|
|
2
|
-
import { isTokenAssociateTransaction } from "./logic/utils";
|
|
2
|
+
import { isTokenAssociateTransaction, isStakingTransaction } 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
|
+
}
|
|
5
35
|
const method = (() => {
|
|
6
36
|
if (isTokenAssociateTransaction(transaction))
|
|
7
37
|
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,MAAM,eAAe,CAAC;
|
|
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,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGlF,KAAK,UAAU,0BAA0B,CAAC,EACxC,WAAW,EACX,MAAM,EAAE,EAAE,aAAa,EAAE,GAM1B;IACC,MAAM,MAAM,GAAkC,EAAE,CAAC;IAEjD,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,QAAQ;YACf,KAAK,EACH,WAAW,CAAC,IAAI,KAAK,wBAAwB,CAAC,YAAY;gBACxD,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,gBAAgB;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,WAAW,CAAC,UAAU,EAAE,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE;aACvD,CAAC,CAAC;QACL,CAAC;QAED,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,WAAW,CAAC,IAAI;aACxB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,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,4 +16,13 @@ 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
|
+
}>;
|
|
19
28
|
//# 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;AACF,eAAO,MAAM,iCAAiC;;EAE7C,CAAC;AACF,eAAO,MAAM,+BAA+B;;EAE3C,CAAC;AACF,eAAO,MAAM,2BAA2B;;EAAwD,CAAC"}
|
package/lib-es/errors.js
CHANGED
|
@@ -5,4 +5,7 @@ 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");
|
|
8
11
|
//# 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;AACF,MAAM,CAAC,MAAM,iCAAiC,GAAG,sBAAsB,CACrE,mCAAmC,CACpC,CAAC;AACF,MAAM,CAAC,MAAM,+BAA+B,GAAG,sBAAsB,CACnE,iCAAiC,CAClC,CAAC;AACF,MAAM,CAAC,MAAM,2BAA2B,GAAG,sBAAsB,CAAC,6BAA6B,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ContractExecuteTransaction, TokenAssociateTransaction, TransferTransaction } from "@hashgraph/sdk";
|
|
1
|
+
import { AccountUpdateTransaction, 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 | AccountUpdateTransaction;
|
|
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,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;
|
|
1
|
+
{"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,wBAAwB,EACxB,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;AAyLzD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,EACrD,UAAU,CAAC,EAAE,aAAa;;;GA8F3B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import BigNumber from "bignumber.js";
|
|
2
2
|
import invariant from "invariant";
|
|
3
|
-
import { AccountId, ContractExecuteTransaction, ContractFunctionParameters, ContractId, Hbar, TokenAssociateTransaction, TransactionId, TransferTransaction, } from "@hashgraph/sdk";
|
|
3
|
+
import { AccountId, AccountUpdateTransaction, ContractExecuteTransaction, ContractFunctionParameters, ContractId, Hbar, TokenAssociateTransaction, TransactionId, TransferTransaction, } from "@hashgraph/sdk";
|
|
4
4
|
import { DEFAULT_GAS_LIMIT, HEDERA_TRANSACTION_MODES } from "../constants";
|
|
5
|
-
import { serializeTransaction } from "./utils";
|
|
5
|
+
import { hasSpecificIntentData, 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,10 +70,27 @@ 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
|
+
}
|
|
73
91
|
export async function craftTransaction(txIntent, customFees) {
|
|
74
|
-
const account = {
|
|
75
|
-
|
|
76
|
-
};
|
|
92
|
+
const account = { accountId: txIntent.sender };
|
|
93
|
+
const maxFee = customFees ? new BigNumber(customFees.value.toString()) : undefined;
|
|
77
94
|
let tx;
|
|
78
95
|
if (txIntent.type === HEDERA_TRANSACTION_MODES.TokenAssociate) {
|
|
79
96
|
invariant(txIntent.asset.type !== "native", "hedera: invalid asset type");
|
|
@@ -84,7 +101,7 @@ export async function craftTransaction(txIntent, customFees) {
|
|
|
84
101
|
type: txIntent.type,
|
|
85
102
|
tokenId: txIntent.asset.assetReference,
|
|
86
103
|
memo: txIntent.memo.value,
|
|
87
|
-
maxFee
|
|
104
|
+
maxFee,
|
|
88
105
|
},
|
|
89
106
|
});
|
|
90
107
|
}
|
|
@@ -99,14 +116,14 @@ export async function craftTransaction(txIntent, customFees) {
|
|
|
99
116
|
amount,
|
|
100
117
|
recipient: txIntent.recipient,
|
|
101
118
|
memo: txIntent.memo.value,
|
|
102
|
-
maxFee
|
|
119
|
+
maxFee,
|
|
103
120
|
},
|
|
104
121
|
});
|
|
105
122
|
}
|
|
106
123
|
else if (txIntent.type === HEDERA_TRANSACTION_MODES.Send && txIntent.asset.type === "erc20") {
|
|
107
124
|
invariant("assetReference" in txIntent.asset, "hedera: no assetReference in token transfer");
|
|
108
125
|
const amount = new BigNumber(txIntent.amount.toString());
|
|
109
|
-
const gasLimit = "
|
|
126
|
+
const gasLimit = hasSpecificIntentData(txIntent, "erc20")
|
|
110
127
|
? new BigNumber(txIntent.data.gasLimit.toString())
|
|
111
128
|
: DEFAULT_GAS_LIMIT;
|
|
112
129
|
tx = await buildUnsignedERC20TokenTransaction({
|
|
@@ -117,11 +134,28 @@ export async function craftTransaction(txIntent, customFees) {
|
|
|
117
134
|
amount,
|
|
118
135
|
recipient: txIntent.recipient,
|
|
119
136
|
memo: txIntent.memo.value,
|
|
120
|
-
maxFee
|
|
137
|
+
maxFee,
|
|
121
138
|
gasLimit,
|
|
122
139
|
},
|
|
123
140
|
});
|
|
124
141
|
}
|
|
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
|
|
125
159
|
else {
|
|
126
160
|
const amount = new BigNumber(txIntent.amount.toString());
|
|
127
161
|
tx = await buildUnsignedCoinTransaction({
|
|
@@ -131,7 +165,7 @@ export async function craftTransaction(txIntent, customFees) {
|
|
|
131
165
|
amount,
|
|
132
166
|
recipient: txIntent.recipient,
|
|
133
167
|
memo: txIntent.memo.value,
|
|
134
|
-
maxFee
|
|
168
|
+
maxFee,
|
|
135
169
|
},
|
|
136
170
|
});
|
|
137
171
|
}
|
|
@@ -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,0BAA0B,EAC1B,0BAA0B,EAC1B,UAAU,EACV,IAAI,EACJ,yBAAyB,EACzB,aAAa,EACb,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;
|
|
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,CA2B7D"}
|
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 { getTimestampRangeFromBlockHeight } from "./utils";
|
|
3
|
+
import { getMemoFromBase64, getTimestampRangeFromBlockHeight } from "./utils";
|
|
4
4
|
function toHederaAsset(mirrorTransfer) {
|
|
5
5
|
if ("token_id" in mirrorTransfer) {
|
|
6
6
|
return {
|
|
@@ -40,6 +40,7 @@ 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) },
|
|
43
44
|
};
|
|
44
45
|
});
|
|
45
46
|
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,gCAAgC,EAAE,MAAM,SAAS,CAAC;
|
|
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,iBAAiB,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAE9E,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;YACvB,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE;SACrD,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":"AAEA,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;AA4MjG,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,4 +1,5 @@
|
|
|
1
1
|
import BigNumber from "bignumber.js";
|
|
2
|
+
import { getEnv } from "@ledgerhq/live-env";
|
|
2
3
|
import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
|
|
3
4
|
import { encodeAccountId, encodeTokenAccountId } from "@ledgerhq/coin-framework/account/accountId";
|
|
4
5
|
import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
|
|
@@ -8,6 +9,7 @@ import { base64ToUrlSafeBase64, getMemoFromBase64, getSyntheticBlock } from "./u
|
|
|
8
9
|
const txNameToCustomOperationType = {
|
|
9
10
|
TOKENASSOCIATE: "ASSOCIATE_TOKEN",
|
|
10
11
|
CONTRACTCALL: "CONTRACT_CALL",
|
|
12
|
+
CRYPTOUPDATEACCOUNT: "UPDATE_ACCOUNT",
|
|
11
13
|
};
|
|
12
14
|
function getCommonOperationData(rawTx, useEncodedHash, useSyntheticBlocks) {
|
|
13
15
|
const timestamp = new Date(Number.parseInt(rawTx.consensus_timestamp.split(".")[0], 10) * 1000);
|
|
@@ -88,13 +90,22 @@ async function processTokenTransfers({ rawTx, address, currency, ledgerAccountId
|
|
|
88
90
|
};
|
|
89
91
|
}
|
|
90
92
|
function processTransfers({ rawTx, address, ledgerAccountId, commonData, mirrorTokens, }) {
|
|
93
|
+
const coinOperations = [];
|
|
91
94
|
const transfers = rawTx.transfers ?? [];
|
|
92
|
-
if (transfers.length === 0)
|
|
93
|
-
return
|
|
95
|
+
if (transfers.length === 0) {
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
94
98
|
const { type, value, senders, recipients } = parseTransfers(transfers, address);
|
|
95
99
|
const { hash, fee, timestamp, blockHeight, blockHash, hasFailed } = commonData;
|
|
96
100
|
const extra = { ...commonData.extra };
|
|
97
101
|
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));
|
|
98
109
|
// try to enrich ASSOCIATE_TOKEN operation with extra.associatedTokenId
|
|
99
110
|
// this value is used by custom OperationDetails components in Hedera family
|
|
100
111
|
// accounts or contracts must first associate with an HTS token before they can receive or send that token; without association, token transfers fail
|
|
@@ -106,7 +117,28 @@ function processTransfers({ rawTx, address, ledgerAccountId, commonData, mirrorT
|
|
|
106
117
|
extra.associatedTokenId = relatedMirrorToken.token_id;
|
|
107
118
|
}
|
|
108
119
|
}
|
|
109
|
-
|
|
120
|
+
// add REWARD operation representing staking reward transfers
|
|
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({
|
|
110
142
|
id: encodeOperationId(ledgerAccountId, hash, operationType),
|
|
111
143
|
accountId: ledgerAccountId,
|
|
112
144
|
type: operationType,
|
|
@@ -120,7 +152,8 @@ function processTransfers({ rawTx, address, ledgerAccountId, commonData, mirrorT
|
|
|
120
152
|
blockHash,
|
|
121
153
|
hasFailed,
|
|
122
154
|
extra,
|
|
123
|
-
};
|
|
155
|
+
});
|
|
156
|
+
return coinOperations;
|
|
124
157
|
}
|
|
125
158
|
export async function listOperations({ currency, address, mirrorTokens, pagination, fetchAllPages, skipFeesForTokenOperations, useEncodedHash, useSyntheticBlocks, }) {
|
|
126
159
|
const coinOperations = [];
|
|
@@ -156,15 +189,14 @@ export async function listOperations({ currency, address, mirrorTokens, paginati
|
|
|
156
189
|
tokenOperations.push(tokenResult.tokenOperation);
|
|
157
190
|
// process regular transfers only if there were no token transfers
|
|
158
191
|
if (!tokenResult) {
|
|
159
|
-
const
|
|
192
|
+
const newCoinOperations = processTransfers({
|
|
160
193
|
rawTx,
|
|
161
194
|
address,
|
|
162
195
|
ledgerAccountId,
|
|
163
196
|
commonData,
|
|
164
197
|
mirrorTokens,
|
|
165
198
|
});
|
|
166
|
-
|
|
167
|
-
coinOperations.push(coinOperation);
|
|
199
|
+
coinOperations.push(...newCoinOperations);
|
|
168
200
|
}
|
|
169
201
|
}
|
|
170
202
|
return {
|