@ledgerhq/coin-hedera 1.13.0-nightly.2 → 1.13.0-nightly.20251030160608
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/.unimportedrc.json +1 -1
- package/CHANGELOG.md +16 -22
- package/jest.config.js +1 -1
- package/jest.integ.config.js +8 -0
- package/lib/api/index.d.ts +4 -0
- package/lib/api/index.d.ts.map +1 -0
- package/lib/api/index.js +119 -0
- package/lib/api/index.js.map +1 -0
- package/lib/bridge/broadcast.d.ts +1 -1
- package/lib/bridge/broadcast.d.ts.map +1 -1
- package/lib/bridge/broadcast.js +6 -9
- package/lib/bridge/broadcast.js.map +1 -1
- package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -1
- package/lib/bridge/buildOptimisticOperation.js +14 -11
- package/lib/bridge/buildOptimisticOperation.js.map +1 -1
- package/lib/bridge/createTransaction.d.ts +1 -1
- package/lib/bridge/createTransaction.d.ts.map +1 -1
- package/lib/bridge/createTransaction.js +2 -0
- package/lib/bridge/createTransaction.js.map +1 -1
- package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -1
- package/lib/bridge/estimateMaxSpendable.js +2 -2
- package/lib/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib/bridge/getTransactionStatus.js +11 -10
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/prepareTransaction.d.ts.map +1 -1
- package/lib/bridge/prepareTransaction.js +6 -5
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/signOperation.d.ts +1 -1
- package/lib/bridge/signOperation.d.ts.map +1 -1
- package/lib/bridge/signOperation.js +53 -14
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/synchronisation.d.ts.map +1 -1
- package/lib/bridge/synchronisation.js +25 -12
- package/lib/bridge/synchronisation.js.map +1 -1
- package/lib/bridge/utils.d.ts +2 -14
- package/lib/bridge/utils.d.ts.map +1 -1
- package/lib/bridge/utils.js +26 -148
- package/lib/bridge/utils.js.map +1 -1
- package/lib/config.d.ts +8 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +9 -0
- package/lib/config.js.map +1 -0
- package/lib/constants.d.ts +11 -8
- package/lib/constants.d.ts.map +1 -1
- package/lib/constants.js +17 -13
- package/lib/constants.js.map +1 -1
- package/lib/deviceTransactionConfig.d.ts +1 -1
- package/lib/deviceTransactionConfig.d.ts.map +1 -1
- package/lib/deviceTransactionConfig.js +3 -3
- package/lib/deviceTransactionConfig.js.map +1 -1
- package/lib/logic/broadcast.d.ts +3 -0
- package/lib/logic/broadcast.d.ts.map +1 -0
- package/lib/logic/broadcast.js +11 -0
- package/lib/logic/broadcast.js.map +1 -0
- package/lib/logic/combine.d.ts +2 -0
- package/lib/logic/combine.d.ts.map +1 -0
- package/lib/logic/combine.js +19 -0
- package/lib/logic/combine.js.map +1 -0
- package/lib/logic/craftTransaction.d.ts +8 -0
- package/lib/logic/craftTransaction.d.ts.map +1 -0
- package/lib/logic/craftTransaction.js +107 -0
- package/lib/logic/craftTransaction.js.map +1 -0
- package/lib/logic/estimateFees.d.ts +5 -0
- package/lib/logic/estimateFees.d.ts.map +1 -0
- package/lib/logic/estimateFees.js +25 -0
- package/lib/logic/estimateFees.js.map +1 -0
- package/lib/logic/getAssetFromToken.d.ts +4 -0
- package/lib/logic/getAssetFromToken.d.ts.map +1 -0
- package/lib/logic/getAssetFromToken.js +14 -0
- package/lib/logic/getAssetFromToken.js.map +1 -0
- package/lib/logic/getBalance.d.ts +4 -0
- package/lib/logic/getBalance.d.ts.map +1 -0
- package/lib/logic/getBalance.js +36 -0
- package/lib/logic/getBalance.js.map +1 -0
- package/lib/logic/getTokenFromAsset.d.ts +4 -0
- package/lib/logic/getTokenFromAsset.d.ts.map +1 -0
- package/lib/logic/getTokenFromAsset.js +13 -0
- package/lib/logic/getTokenFromAsset.js.map +1 -0
- package/lib/logic/index.d.ts +10 -0
- package/lib/logic/index.d.ts.map +1 -0
- package/lib/logic/index.js +22 -0
- package/lib/logic/index.js.map +1 -0
- package/lib/logic/lastBlock.d.ts +12 -0
- package/lib/logic/lastBlock.d.ts.map +1 -0
- package/lib/logic/lastBlock.js +25 -0
- package/lib/logic/lastBlock.js.map +1 -0
- package/lib/logic/listOperations.d.ts +19 -0
- package/lib/logic/listOperations.d.ts.map +1 -0
- package/lib/logic/listOperations.js +179 -0
- package/lib/logic/listOperations.js.map +1 -0
- package/lib/logic/utils.d.ts +55 -0
- package/lib/logic/utils.d.ts.map +1 -0
- package/lib/logic/utils.js +197 -0
- package/lib/logic/utils.js.map +1 -0
- package/lib/network/api.d.ts +24 -0
- package/lib/network/api.d.ts.map +1 -0
- package/lib/network/api.js +119 -0
- package/lib/network/api.js.map +1 -0
- package/lib/network/rpc.d.ts +12 -0
- package/lib/network/rpc.d.ts.map +1 -0
- package/lib/network/rpc.js +22 -0
- package/lib/network/rpc.js.map +1 -0
- package/lib/{api → network}/utils.d.ts +1 -5
- package/lib/network/utils.d.ts.map +1 -0
- package/lib/network/utils.js +52 -0
- package/lib/network/utils.js.map +1 -0
- package/lib/test/bridgeDatasetTest.d.ts.map +1 -1
- package/lib/test/bridgeDatasetTest.js +5 -1
- package/lib/test/bridgeDatasetTest.js.map +1 -1
- package/lib/test/fixtures/account.fixture.d.ts +17 -0
- package/lib/test/fixtures/account.fixture.d.ts.map +1 -1
- package/lib/test/fixtures/account.fixture.js +18 -1
- package/lib/test/fixtures/account.fixture.js.map +1 -1
- package/lib/test/fixtures/currency.fixture.d.ts.map +1 -1
- package/lib/test/fixtures/currency.fixture.js +1 -1
- package/lib/test/fixtures/currency.fixture.js.map +1 -1
- package/lib/test/fixtures/mirror.fixture.d.ts +1 -1
- package/lib/test/fixtures/mirror.fixture.d.ts.map +1 -1
- package/lib/test/fixtures/network.fixture.d.ts +3 -0
- package/lib/test/fixtures/network.fixture.d.ts.map +1 -0
- package/lib/test/fixtures/network.fixture.js +9 -0
- package/lib/test/fixtures/network.fixture.js.map +1 -0
- package/lib/test/fixtures/transaction.fixture.d.ts.map +1 -1
- package/lib/test/fixtures/transaction.fixture.js +3 -0
- package/lib/test/fixtures/transaction.fixture.js.map +1 -1
- package/lib/transaction.d.ts +1 -1
- package/lib/transaction.d.ts.map +1 -1
- package/lib/transaction.js +35 -6
- package/lib/transaction.js.map +1 -1
- package/lib/types/alpaca.d.ts +3 -0
- package/lib/types/alpaca.d.ts.map +1 -0
- package/lib/{api/types.js → types/alpaca.js} +1 -1
- package/lib/types/alpaca.js.map +1 -0
- package/lib/types/bridge.d.ts +28 -9
- package/lib/types/bridge.d.ts.map +1 -1
- package/lib/types/index.d.ts +2 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js +2 -0
- package/lib/types/index.js.map +1 -1
- package/lib/{api/types.d.ts → types/mirror.d.ts} +21 -2
- package/lib/types/mirror.d.ts.map +1 -0
- package/lib/types/mirror.js +3 -0
- package/lib/types/mirror.js.map +1 -0
- package/lib-es/api/index.d.ts +4 -0
- package/lib-es/api/index.d.ts.map +1 -0
- package/lib-es/api/index.js +112 -0
- package/lib-es/api/index.js.map +1 -0
- package/lib-es/bridge/broadcast.d.ts +1 -1
- package/lib-es/bridge/broadcast.d.ts.map +1 -1
- package/lib-es/bridge/broadcast.js +4 -7
- package/lib-es/bridge/broadcast.js.map +1 -1
- package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -1
- package/lib-es/bridge/buildOptimisticOperation.js +12 -9
- package/lib-es/bridge/buildOptimisticOperation.js.map +1 -1
- package/lib-es/bridge/createTransaction.d.ts +1 -1
- package/lib-es/bridge/createTransaction.d.ts.map +1 -1
- package/lib-es/bridge/createTransaction.js +2 -0
- package/lib-es/bridge/createTransaction.js.map +1 -1
- package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -1
- package/lib-es/bridge/estimateMaxSpendable.js +2 -2
- package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib-es/bridge/getTransactionStatus.js +7 -6
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
- package/lib-es/bridge/prepareTransaction.js +4 -3
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/signOperation.d.ts +1 -1
- package/lib-es/bridge/signOperation.d.ts.map +1 -1
- package/lib-es/bridge/signOperation.js +53 -14
- 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 +27 -14
- package/lib-es/bridge/synchronisation.js.map +1 -1
- package/lib-es/bridge/utils.d.ts +2 -14
- package/lib-es/bridge/utils.d.ts.map +1 -1
- package/lib-es/bridge/utils.js +22 -140
- package/lib-es/bridge/utils.js.map +1 -1
- package/lib-es/config.d.ts +8 -0
- package/lib-es/config.d.ts.map +1 -0
- package/lib-es/config.js +4 -0
- package/lib-es/config.js.map +1 -0
- package/lib-es/constants.d.ts +11 -8
- package/lib-es/constants.d.ts.map +1 -1
- package/lib-es/constants.js +13 -9
- package/lib-es/constants.js.map +1 -1
- package/lib-es/deviceTransactionConfig.d.ts +1 -1
- package/lib-es/deviceTransactionConfig.d.ts.map +1 -1
- package/lib-es/deviceTransactionConfig.js +1 -1
- package/lib-es/deviceTransactionConfig.js.map +1 -1
- package/lib-es/logic/broadcast.d.ts +3 -0
- package/lib-es/logic/broadcast.d.ts.map +1 -0
- package/lib-es/logic/broadcast.js +7 -0
- package/lib-es/logic/broadcast.js.map +1 -0
- package/lib-es/logic/combine.d.ts +2 -0
- package/lib-es/logic/combine.d.ts.map +1 -0
- package/lib-es/logic/combine.js +12 -0
- package/lib-es/logic/combine.js.map +1 -0
- package/lib-es/logic/craftTransaction.d.ts +8 -0
- package/lib-es/logic/craftTransaction.d.ts.map +1 -0
- package/lib-es/logic/craftTransaction.js +100 -0
- package/lib-es/logic/craftTransaction.js.map +1 -0
- package/lib-es/logic/estimateFees.d.ts +5 -0
- package/lib-es/logic/estimateFees.d.ts.map +1 -0
- package/lib-es/logic/estimateFees.js +18 -0
- package/lib-es/logic/estimateFees.js.map +1 -0
- package/lib-es/logic/getAssetFromToken.d.ts +4 -0
- package/lib-es/logic/getAssetFromToken.d.ts.map +1 -0
- package/lib-es/logic/getAssetFromToken.js +10 -0
- package/lib-es/logic/getAssetFromToken.js.map +1 -0
- package/lib-es/logic/getBalance.d.ts +4 -0
- package/lib-es/logic/getBalance.d.ts.map +1 -0
- package/lib-es/logic/getBalance.js +32 -0
- package/lib-es/logic/getBalance.js.map +1 -0
- package/lib-es/logic/getTokenFromAsset.d.ts +4 -0
- package/lib-es/logic/getTokenFromAsset.d.ts.map +1 -0
- package/lib-es/logic/getTokenFromAsset.js +9 -0
- package/lib-es/logic/getTokenFromAsset.js.map +1 -0
- package/lib-es/logic/index.d.ts +10 -0
- package/lib-es/logic/index.d.ts.map +1 -0
- package/lib-es/logic/index.js +10 -0
- package/lib-es/logic/index.js.map +1 -0
- package/lib-es/logic/lastBlock.d.ts +12 -0
- package/lib-es/logic/lastBlock.d.ts.map +1 -0
- package/lib-es/logic/lastBlock.js +21 -0
- package/lib-es/logic/lastBlock.js.map +1 -0
- package/lib-es/logic/listOperations.d.ts +19 -0
- package/lib-es/logic/listOperations.d.ts.map +1 -0
- package/lib-es/logic/listOperations.js +172 -0
- package/lib-es/logic/listOperations.js.map +1 -0
- package/lib-es/logic/utils.d.ts +55 -0
- package/lib-es/logic/utils.d.ts.map +1 -0
- package/lib-es/logic/utils.js +174 -0
- package/lib-es/logic/utils.js.map +1 -0
- package/lib-es/network/api.d.ts +24 -0
- package/lib-es/network/api.d.ts.map +1 -0
- package/lib-es/network/api.js +113 -0
- package/lib-es/network/api.js.map +1 -0
- package/lib-es/network/rpc.d.ts +12 -0
- package/lib-es/network/rpc.d.ts.map +1 -0
- package/lib-es/network/rpc.js +19 -0
- package/lib-es/network/rpc.js.map +1 -0
- package/lib-es/{api → network}/utils.d.ts +1 -5
- package/lib-es/network/utils.d.ts.map +1 -0
- package/lib-es/network/utils.js +45 -0
- package/lib-es/network/utils.js.map +1 -0
- package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -1
- package/lib-es/test/bridgeDatasetTest.js +5 -1
- package/lib-es/test/bridgeDatasetTest.js.map +1 -1
- package/lib-es/test/fixtures/account.fixture.d.ts +17 -0
- package/lib-es/test/fixtures/account.fixture.d.ts.map +1 -1
- package/lib-es/test/fixtures/account.fixture.js +17 -0
- package/lib-es/test/fixtures/account.fixture.js.map +1 -1
- package/lib-es/test/fixtures/currency.fixture.d.ts.map +1 -1
- package/lib-es/test/fixtures/currency.fixture.js +1 -1
- package/lib-es/test/fixtures/currency.fixture.js.map +1 -1
- package/lib-es/test/fixtures/mirror.fixture.d.ts +1 -1
- package/lib-es/test/fixtures/mirror.fixture.d.ts.map +1 -1
- package/lib-es/test/fixtures/network.fixture.d.ts +3 -0
- package/lib-es/test/fixtures/network.fixture.d.ts.map +1 -0
- package/lib-es/test/fixtures/network.fixture.js +5 -0
- package/lib-es/test/fixtures/network.fixture.js.map +1 -0
- package/lib-es/test/fixtures/transaction.fixture.d.ts.map +1 -1
- package/lib-es/test/fixtures/transaction.fixture.js +3 -0
- package/lib-es/test/fixtures/transaction.fixture.js.map +1 -1
- package/lib-es/transaction.d.ts +1 -1
- package/lib-es/transaction.d.ts.map +1 -1
- package/lib-es/transaction.js +35 -6
- 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 -0
- package/lib-es/types/alpaca.js +2 -0
- package/lib-es/types/alpaca.js.map +1 -0
- package/lib-es/types/bridge.d.ts +28 -9
- package/lib-es/types/bridge.d.ts.map +1 -1
- package/lib-es/types/index.d.ts +2 -0
- package/lib-es/types/index.d.ts.map +1 -1
- package/lib-es/types/index.js +2 -0
- package/lib-es/types/index.js.map +1 -1
- package/lib-es/{api/types.d.ts → types/mirror.d.ts} +21 -2
- package/lib-es/types/mirror.d.ts.map +1 -0
- package/lib-es/types/mirror.js +2 -0
- package/lib-es/types/mirror.js.map +1 -0
- package/package.json +12 -13
- package/src/api/index.integ.test.ts +406 -0
- package/src/api/index.test.ts +30 -0
- package/src/api/index.ts +149 -0
- package/src/bridge/broadcast.ts +5 -10
- package/src/bridge/buildOptimisticOperation.integration.test.ts +8 -8
- package/src/bridge/buildOptimisticOperation.ts +13 -10
- package/src/bridge/createTransaction.ts +3 -1
- package/src/bridge/estimateMaxSpendable.ts +6 -3
- package/src/bridge/getTransactionStatus.test.ts +11 -10
- package/src/bridge/getTransactionStatus.ts +12 -11
- package/src/bridge/js-estimateMaxSpendable.integration.test.ts +6 -3
- package/src/bridge/prepareTransaction.test.ts +9 -17
- package/src/bridge/prepareTransaction.ts +5 -4
- package/src/bridge/serialization.test.ts +6 -6
- package/src/bridge/signOperation.ts +69 -16
- package/src/bridge/synchronisation.ts +26 -23
- package/src/bridge/utils.integration.test.ts +23 -269
- package/src/bridge/utils.ts +40 -207
- package/src/config.ts +7 -0
- package/src/constants.ts +15 -9
- package/src/deviceTransactionConfig.ts +2 -2
- package/src/logic/broadcast.test.ts +58 -0
- package/src/logic/broadcast.ts +8 -0
- package/src/logic/combine.test.ts +119 -0
- package/src/logic/combine.ts +14 -0
- package/src/logic/craftTransaction.test.ts +215 -0
- package/src/logic/craftTransaction.ts +175 -0
- package/src/logic/estimateFees.test.ts +99 -0
- package/src/logic/estimateFees.ts +28 -0
- package/src/logic/getAssetFromToken.test.ts +27 -0
- package/src/logic/getAssetFromToken.ts +12 -0
- package/src/logic/getBalance.test.ts +205 -0
- package/src/logic/getBalance.ts +42 -0
- package/src/logic/getTokenFromAsset.test.ts +33 -0
- package/src/logic/getTokenFromAsset.ts +17 -0
- package/src/logic/index.ts +9 -0
- package/src/logic/lastBlock.test.ts +23 -0
- package/src/logic/lastBlock.ts +23 -0
- package/src/logic/listOperations.test.ts +392 -0
- package/src/logic/listOperations.ts +247 -0
- package/src/logic/utils.test.ts +432 -0
- package/src/logic/utils.ts +255 -0
- package/src/{api/mirror.test.ts → network/api.test.ts} +81 -35
- package/src/network/api.ts +159 -0
- package/src/network/rpc.test.ts +68 -0
- package/src/network/rpc.ts +25 -0
- package/src/network/utils.test.ts +175 -0
- package/src/network/utils.ts +58 -0
- package/src/test/bridgeDatasetTest.ts +6 -2
- package/src/test/fixtures/account.fixture.ts +18 -0
- package/src/test/fixtures/currency.fixture.ts +1 -1
- package/src/test/fixtures/mirror.fixture.ts +1 -1
- package/src/test/fixtures/network.fixture.ts +6 -0
- package/src/test/fixtures/transaction.fixture.ts +5 -2
- package/src/transaction.ts +40 -9
- package/src/types/alpaca.ts +3 -0
- package/src/types/bridge.ts +36 -10
- package/src/types/index.ts +2 -0
- package/src/{api/types.ts → types/mirror.ts} +23 -1
- package/lib/api/mirror.d.ts +0 -6
- package/lib/api/mirror.d.ts.map +0 -1
- package/lib/api/mirror.js +0 -84
- package/lib/api/mirror.js.map +0 -1
- package/lib/api/network.d.ts +0 -11
- package/lib/api/network.d.ts.map +0 -1
- package/lib/api/network.js +0 -80
- package/lib/api/network.js.map +0 -1
- package/lib/api/types.d.ts.map +0 -1
- package/lib/api/types.js.map +0 -1
- package/lib/api/utils.d.ts.map +0 -1
- package/lib/api/utils.js +0 -132
- package/lib/api/utils.js.map +0 -1
- package/lib/logic.d.ts +0 -11
- package/lib/logic.d.ts.map +0 -1
- package/lib/logic.js +0 -37
- package/lib/logic.js.map +0 -1
- package/lib-es/api/mirror.d.ts +0 -6
- package/lib-es/api/mirror.d.ts.map +0 -1
- package/lib-es/api/mirror.js +0 -74
- package/lib-es/api/mirror.js.map +0 -1
- package/lib-es/api/network.d.ts +0 -11
- package/lib-es/api/network.d.ts.map +0 -1
- package/lib-es/api/network.js +0 -71
- package/lib-es/api/network.js.map +0 -1
- package/lib-es/api/types.d.ts.map +0 -1
- package/lib-es/api/types.js +0 -2
- package/lib-es/api/types.js.map +0 -1
- package/lib-es/api/utils.d.ts.map +0 -1
- package/lib-es/api/utils.js +0 -124
- package/lib-es/api/utils.js.map +0 -1
- package/lib-es/logic.d.ts +0 -11
- package/lib-es/logic.d.ts.map +0 -1
- package/lib-es/logic.js +0 -29
- package/lib-es/logic.js.map +0 -1
- package/src/api/mirror.ts +0 -91
- package/src/api/network.test.ts +0 -49
- package/src/api/network.ts +0 -125
- package/src/api/utils.ts +0 -150
- package/src/logic.test.ts +0 -152
- package/src/logic.ts +0 -66
|
@@ -2,10 +2,10 @@ import { BigNumber } from "bignumber.js";
|
|
|
2
2
|
import invariant from "invariant";
|
|
3
3
|
import { getDerivationScheme, runDerivationScheme } from "@ledgerhq/coin-framework/derivation";
|
|
4
4
|
import { mergeOps } from "@ledgerhq/coin-framework/bridge/jsHelpers";
|
|
5
|
-
import { encodeAccountId } from "@ledgerhq/coin-framework/account";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
5
|
+
import { encodeAccountId, getSyncHash } from "@ledgerhq/coin-framework/account";
|
|
6
|
+
import { listOperations } from "../logic/listOperations";
|
|
7
|
+
import { apiClient } from "../network/api";
|
|
8
|
+
import { getSubAccounts, prepareOperations, applyPendingExtras, mergeSubAccounts } from "./utils";
|
|
9
9
|
export const getAccountShape = async (info, { blacklistedTokenIds }) => {
|
|
10
10
|
const { currency, derivationMode, address, initialAccount } = info;
|
|
11
11
|
invariant(address, "an hedera address is expected");
|
|
@@ -20,23 +20,36 @@ export const getAccountShape = async (info, { blacklistedTokenIds }) => {
|
|
|
20
20
|
// tokens are fetched with separate requests to get "created_timestamp" for each token
|
|
21
21
|
// based on this, ASSOCIATE_TOKEN operations can be connected with tokens
|
|
22
22
|
const [mirrorAccount, mirrorTokens] = await Promise.all([
|
|
23
|
-
getAccount(address),
|
|
24
|
-
getAccountTokens(address),
|
|
23
|
+
apiClient.getAccount(address),
|
|
24
|
+
apiClient.getAccountTokens(address),
|
|
25
25
|
]);
|
|
26
26
|
const accountBalance = new BigNumber(mirrorAccount.balance.balance);
|
|
27
27
|
// we should sync again when new tokens are added or blacklist changes
|
|
28
|
-
const syncHash = getSyncHash(currency, blacklistedTokenIds);
|
|
28
|
+
const syncHash = await getSyncHash(currency.id, blacklistedTokenIds);
|
|
29
29
|
const shouldSyncFromScratch = !initialAccount || syncHash !== initialAccount?.syncHash;
|
|
30
30
|
const oldOperations = initialAccount?.operations ?? [];
|
|
31
31
|
const pendingOperations = initialAccount?.pendingOperations ?? [];
|
|
32
32
|
// grab latest operation's consensus timestamp for incremental sync
|
|
33
|
-
const
|
|
34
|
-
|
|
33
|
+
const latestOperation = oldOperations[0];
|
|
34
|
+
const latestOperationTimestamp = !shouldSyncFromScratch && latestOperation
|
|
35
|
+
? new BigNumber(Math.floor(latestOperation.date.getTime() / 1000))
|
|
35
36
|
: null;
|
|
36
|
-
const latestAccountOperations = await
|
|
37
|
+
const latestAccountOperations = await listOperations({
|
|
38
|
+
currency,
|
|
39
|
+
address,
|
|
40
|
+
mirrorTokens,
|
|
41
|
+
pagination: {
|
|
42
|
+
minHeight: 0,
|
|
43
|
+
...(latestOperationTimestamp && { lastPagingToken: latestOperationTimestamp.toString() }),
|
|
44
|
+
},
|
|
45
|
+
fetchAllPages: true,
|
|
46
|
+
skipFeesForTokenOperations: false,
|
|
47
|
+
useEncodedHash: true,
|
|
48
|
+
useSyntheticBlocks: false,
|
|
49
|
+
});
|
|
37
50
|
const newSubAccounts = await getSubAccounts(liveAccountId, latestAccountOperations.tokenOperations, mirrorTokens);
|
|
38
51
|
const subAccounts = mergeSubAccounts(initialAccount, newSubAccounts);
|
|
39
|
-
const newOperations = prepareOperations(latestAccountOperations.coinOperations, latestAccountOperations.tokenOperations
|
|
52
|
+
const newOperations = await prepareOperations(latestAccountOperations.coinOperations, latestAccountOperations.tokenOperations);
|
|
40
53
|
const enrichedNewOperations = applyPendingExtras(newOperations, pendingOperations);
|
|
41
54
|
const operations = shouldSyncFromScratch
|
|
42
55
|
? enrichedNewOperations
|
|
@@ -61,7 +74,7 @@ export const getAccountShape = async (info, { blacklistedTokenIds }) => {
|
|
|
61
74
|
};
|
|
62
75
|
};
|
|
63
76
|
export const buildIterateResult = async ({ result: rootResult }) => {
|
|
64
|
-
const mirrorAccounts = await getAccountsForPublicKey(rootResult.publicKey);
|
|
77
|
+
const mirrorAccounts = await apiClient.getAccountsForPublicKey(rootResult.publicKey);
|
|
65
78
|
const addresses = mirrorAccounts.map(a => a.account);
|
|
66
79
|
return async ({ currency, derivationMode, index }) => {
|
|
67
80
|
const derivationScheme = getDerivationScheme({
|
|
@@ -72,11 +85,11 @@ export const buildIterateResult = async ({ result: rootResult }) => {
|
|
|
72
85
|
account: index,
|
|
73
86
|
});
|
|
74
87
|
return addresses[index]
|
|
75
|
-
? {
|
|
88
|
+
? ({
|
|
76
89
|
address: addresses[index],
|
|
77
90
|
publicKey: addresses[index],
|
|
78
91
|
path: freshAddressPath,
|
|
79
|
-
}
|
|
92
|
+
})
|
|
80
93
|
: null;
|
|
81
94
|
};
|
|
82
95
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAK/F,OAAO,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"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"}
|
package/lib-es/bridge/utils.d.ts
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import BigNumber from "bignumber.js";
|
|
2
2
|
import type { Account, Operation, TokenAccount } from "@ledgerhq/types-live";
|
|
3
|
-
import type {
|
|
4
|
-
import type { HederaOperationExtra, Transaction } from "../types";
|
|
5
|
-
import type { HederaMirrorToken } from "../api/types";
|
|
6
|
-
import { HEDERA_OPERATION_TYPES } from "../constants";
|
|
7
|
-
export declare const getCurrencyToUSDRate: import("@ledgerhq/live-network/cache").CacheRes<[currency: Currency], BigNumber | null>;
|
|
8
|
-
export declare const getEstimatedFees: (account: Account, operationType: HEDERA_OPERATION_TYPES) => Promise<BigNumber>;
|
|
3
|
+
import type { HederaOperationExtra, Transaction, HederaMirrorToken } from "../types";
|
|
9
4
|
interface CalculateAmountResult {
|
|
10
5
|
amount: BigNumber;
|
|
11
6
|
totalSpent: BigNumber;
|
|
@@ -14,20 +9,13 @@ export declare const calculateAmount: ({ account, transaction, }: {
|
|
|
14
9
|
account: Account;
|
|
15
10
|
transaction: Transaction;
|
|
16
11
|
}) => Promise<CalculateAmountResult>;
|
|
17
|
-
export declare function base64ToUrlSafeBase64(data: string): string;
|
|
18
|
-
export declare const getSyncHash: (currency: CryptoCurrency, blacklistedTokenIds?: string[]) => string;
|
|
19
12
|
export declare const getSubAccounts: (accountId: string, lastTokenOperations: Operation[], mirrorTokens: HederaMirrorToken[]) => Promise<TokenAccount[]>;
|
|
20
|
-
export declare const prepareOperations: (coinOperations: Operation[], tokenOperations: Operation[]
|
|
13
|
+
export declare const prepareOperations: (coinOperations: Operation<HederaOperationExtra>[], tokenOperations: Operation<HederaOperationExtra>[]) => Promise<Operation<HederaOperationExtra>[]>;
|
|
21
14
|
/**
|
|
22
15
|
* In charge of smartly merging sub accounts while maintaining references as much as possible
|
|
23
16
|
*/
|
|
24
17
|
export declare const mergeSubAccounts: (initialAccount: Account | undefined, newSubAccounts: TokenAccount[]) => Array<TokenAccount>;
|
|
25
18
|
export declare const applyPendingExtras: (existing: Operation[], pending: Operation[]) => Operation[];
|
|
26
19
|
export declare function patchOperationWithExtra(operation: Operation, extra: HederaOperationExtra): Operation;
|
|
27
|
-
export declare const checkAccountTokenAssociationStatus: import("@ledgerhq/live-network/cache").CacheRes<[accountId: string, tokenId: string], boolean>;
|
|
28
|
-
export declare const safeParseAccountId: (address: string) => [Error, null] | [null, {
|
|
29
|
-
accountId: string;
|
|
30
|
-
checksum: string | null;
|
|
31
|
-
}];
|
|
32
20
|
export {};
|
|
33
21
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bridge/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bridge/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAgB7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAErF,UAAU,qBAAqB;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC;CACvB;AAyCD,eAAO,MAAM,eAAe;aAIjB,OAAO;iBACH,WAAW;MACtB,QAAQ,qBAAqB,CAahC,CAAC;AAEF,eAAO,MAAM,cAAc,cACd,MAAM,uBACI,SAAS,EAAE,gBAClB,iBAAiB,EAAE,KAChC,QAAQ,YAAY,EAAE,CAwFxB,CAAC;AAoCF,eAAO,MAAM,iBAAiB,mBACZ,UAAU,oBAAoB,CAAC,EAAE,mBAChC,UAAU,oBAAoB,CAAC,EAAE,KACjD,QAAQ,UAAU,oBAAoB,CAAC,EAAE,CAmC3C,CAAC;AAaF;;GAEG;AACH,eAAO,MAAM,gBAAgB,mBACX,OAAO,GAAG,SAAS,kBACnB,YAAY,EAAE,KAC7B,MAAM,YAAY,CAmDpB,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAc,SAAS,EAAE,WAAW,SAAS,EAAE,gBAiB7E,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,oBAAoB,GAC1B,SAAS,CAOX"}
|
package/lib-es/bridge/utils.js
CHANGED
|
@@ -1,56 +1,14 @@
|
|
|
1
1
|
import BigNumber from "bignumber.js";
|
|
2
|
-
import murmurhash from "imurmurhash";
|
|
3
|
-
import invariant from "invariant";
|
|
4
|
-
import { AccountId } from "@hashgraph/sdk";
|
|
5
|
-
import { InvalidAddress } from "@ledgerhq/errors";
|
|
6
|
-
import cvsApi from "@ledgerhq/live-countervalues/api/index";
|
|
7
|
-
import { findCryptoCurrencyById, findTokenByAddressInCurrency, getFiatCurrencyByTicker, listTokensForCryptoCurrency, } from "@ledgerhq/cryptoassets";
|
|
8
2
|
import { decodeTokenAccountId, emptyHistoryCache, encodeTokenAccountId, findSubAccountById, isTokenAccount, } from "@ledgerhq/coin-framework/account";
|
|
9
3
|
import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
|
|
10
4
|
import { mergeOps } from "@ledgerhq/coin-framework/bridge/jsHelpers";
|
|
11
|
-
import {
|
|
5
|
+
import { getCryptoAssetsStore } from "@ledgerhq/coin-framework/crypto-assets/index";
|
|
6
|
+
import { HEDERA_OPERATION_TYPES } from "../constants";
|
|
12
7
|
import { estimateMaxSpendable } from "./estimateMaxSpendable";
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { HederaRecipientInvalidChecksum } from "../errors";
|
|
16
|
-
import { isTokenAssociateTransaction, isValidExtra } from "../logic";
|
|
17
|
-
import { BASE_USD_FEE_BY_OPERATION_TYPE, HEDERA_OPERATION_TYPES } from "../constants";
|
|
18
|
-
const ESTIMATED_FEE_SAFETY_RATE = 2;
|
|
19
|
-
// note: this is currently called frequently by getTransactionStatus; LRU cache prevents duplicated requests
|
|
20
|
-
export const getCurrencyToUSDRate = makeLRUCache(async (currency) => {
|
|
21
|
-
try {
|
|
22
|
-
const [rate] = await cvsApi.fetchLatest([
|
|
23
|
-
{
|
|
24
|
-
from: currency,
|
|
25
|
-
to: getFiatCurrencyByTicker("USD"),
|
|
26
|
-
startDate: new Date(),
|
|
27
|
-
},
|
|
28
|
-
]);
|
|
29
|
-
invariant(rate, "no value returned from cvs api");
|
|
30
|
-
return new BigNumber(rate);
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
}, currency => currency.ticker, seconds(3));
|
|
36
|
-
export const getEstimatedFees = async (account, operationType) => {
|
|
37
|
-
try {
|
|
38
|
-
const usdRate = await getCurrencyToUSDRate(account.currency);
|
|
39
|
-
if (usdRate) {
|
|
40
|
-
return new BigNumber(BASE_USD_FEE_BY_OPERATION_TYPE[operationType])
|
|
41
|
-
.dividedBy(new BigNumber(usdRate))
|
|
42
|
-
.integerValue(BigNumber.ROUND_CEIL)
|
|
43
|
-
.multipliedBy(ESTIMATED_FEE_SAFETY_RATE);
|
|
44
|
-
}
|
|
45
|
-
// eslint-disable-next-line no-empty
|
|
46
|
-
}
|
|
47
|
-
catch { }
|
|
48
|
-
// as fees are based on a currency conversion, we stay
|
|
49
|
-
// on the safe side here and double the estimate for "max spendable"
|
|
50
|
-
return new BigNumber("150200").multipliedBy(ESTIMATED_FEE_SAFETY_RATE); // 0.001502 ℏ (as of 2023-03-14)
|
|
51
|
-
};
|
|
8
|
+
import { estimateFees } from "../logic/estimateFees";
|
|
9
|
+
import { isTokenAssociateTransaction, isValidExtra } from "../logic/utils";
|
|
52
10
|
const calculateCoinAmount = async ({ account, transaction, operationType, }) => {
|
|
53
|
-
const estimatedFees = await
|
|
11
|
+
const estimatedFees = await estimateFees(account.currency, operationType);
|
|
54
12
|
const amount = transaction.useAllAmount
|
|
55
13
|
? await estimateMaxSpendable({ account, transaction })
|
|
56
14
|
: transaction.amount;
|
|
@@ -79,39 +37,21 @@ export const calculateAmount = ({ account, transaction, }) => {
|
|
|
79
37
|
: HEDERA_OPERATION_TYPES.CryptoTransfer;
|
|
80
38
|
return calculateCoinAmount({ account, transaction, operationType });
|
|
81
39
|
};
|
|
82
|
-
// NOTE: convert from the non-url-safe version of base64 to the url-safe version (that the explorer uses)
|
|
83
|
-
export function base64ToUrlSafeBase64(data) {
|
|
84
|
-
// Might be nice to use this alternative if .nvmrc changes to >= Node v14.18.0
|
|
85
|
-
// base64url encoding option isn't supported until then
|
|
86
|
-
// Buffer.from(data, "base64").toString("base64url");
|
|
87
|
-
return data.replace(/\//g, "_").replace(/\+/g, "-");
|
|
88
|
-
}
|
|
89
|
-
const simpleSyncHashMemoize = {};
|
|
90
|
-
export const getSyncHash = (currency, blacklistedTokenIds = []) => {
|
|
91
|
-
const tokens = listTokensForCryptoCurrency(currency);
|
|
92
|
-
const stringToHash = currency.id +
|
|
93
|
-
tokens.map(token => token.id + token.contractAddress + token.name + token.ticker).join("") +
|
|
94
|
-
blacklistedTokenIds.join("");
|
|
95
|
-
if (!simpleSyncHashMemoize[stringToHash]) {
|
|
96
|
-
simpleSyncHashMemoize[stringToHash] = `0x${murmurhash(stringToHash).result().toString(16)}`;
|
|
97
|
-
}
|
|
98
|
-
return simpleSyncHashMemoize[stringToHash];
|
|
99
|
-
};
|
|
100
40
|
export const getSubAccounts = async (accountId, lastTokenOperations, mirrorTokens) => {
|
|
101
41
|
// Creating a Map of Operations by TokenCurrencies in order to know which TokenAccounts should be synced as well
|
|
102
|
-
const operationsByToken =
|
|
103
|
-
|
|
42
|
+
const operationsByToken = new Map();
|
|
43
|
+
for (const tokenOperation of lastTokenOperations) {
|
|
44
|
+
const { token } = await decodeTokenAccountId(tokenOperation.accountId);
|
|
104
45
|
if (!token)
|
|
105
|
-
|
|
106
|
-
const isTokenListedInCAL = findTokenByAddressInCurrency(token.contractAddress, token.parentCurrency.id);
|
|
46
|
+
continue;
|
|
47
|
+
const isTokenListedInCAL = await getCryptoAssetsStore().findTokenByAddressInCurrency(token.contractAddress, token.parentCurrency.id);
|
|
107
48
|
if (!isTokenListedInCAL)
|
|
108
|
-
|
|
109
|
-
if (!
|
|
110
|
-
|
|
49
|
+
continue;
|
|
50
|
+
if (!operationsByToken.has(token)) {
|
|
51
|
+
operationsByToken.set(token, []);
|
|
111
52
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}, new Map());
|
|
53
|
+
operationsByToken.get(token)?.push(tokenOperation);
|
|
54
|
+
}
|
|
115
55
|
const subAccounts = [];
|
|
116
56
|
// extract token accounts from existing operations
|
|
117
57
|
for (const [token, tokenOperations] of operationsByToken.entries()) {
|
|
@@ -142,7 +82,7 @@ export const getSubAccounts = async (accountId, lastTokenOperations, mirrorToken
|
|
|
142
82
|
const parentAccountId = accountId;
|
|
143
83
|
const rawBalance = rawToken.balance;
|
|
144
84
|
const balance = new BigNumber(rawBalance);
|
|
145
|
-
const token = findTokenByAddressInCurrency(rawToken.token_id, "hedera");
|
|
85
|
+
const token = await getCryptoAssetsStore().findTokenByAddressInCurrency(rawToken.token_id, "hedera");
|
|
146
86
|
if (!token) {
|
|
147
87
|
continue;
|
|
148
88
|
}
|
|
@@ -168,9 +108,9 @@ export const getSubAccounts = async (accountId, lastTokenOperations, mirrorToken
|
|
|
168
108
|
return subAccounts;
|
|
169
109
|
};
|
|
170
110
|
// create NONE coin operation that will be a parent of an orphan child operation
|
|
171
|
-
const makeCoinOperationForOrphanChildOperation = (childOperation) => {
|
|
111
|
+
const makeCoinOperationForOrphanChildOperation = async (childOperation) => {
|
|
172
112
|
const type = "NONE";
|
|
173
|
-
const { accountId } = decodeTokenAccountId(childOperation.accountId);
|
|
113
|
+
const { accountId } = await decodeTokenAccountId(childOperation.accountId);
|
|
174
114
|
const id = encodeOperationId(accountId, childOperation.hash, type);
|
|
175
115
|
return {
|
|
176
116
|
id,
|
|
@@ -194,26 +134,12 @@ const makeCoinOperationForOrphanChildOperation = (childOperation) => {
|
|
|
194
134
|
// this util handles:
|
|
195
135
|
// - linking sub operations with coin operations, e.g. token transfer with fee payment
|
|
196
136
|
// - if possible, assigning `extra.associatedTokenId = mirrorToken.tokenId` based on operation's consensus timestamp
|
|
197
|
-
export const prepareOperations = (coinOperations, tokenOperations
|
|
137
|
+
export const prepareOperations = async (coinOperations, tokenOperations) => {
|
|
198
138
|
const preparedCoinOperations = coinOperations.map(op => ({ ...op }));
|
|
199
139
|
const preparedTokenOperations = tokenOperations.map(op => ({ ...op }));
|
|
200
|
-
// loop through coin operations to
|
|
201
|
-
// - enrich ASSOCIATE_TOKEN operations with extra.associatedTokenId
|
|
202
|
-
// - prepare a map of hash => operations
|
|
140
|
+
// loop through coin operations to prepare a map of hash => operations
|
|
203
141
|
const coinOperationsByHash = {};
|
|
204
142
|
preparedCoinOperations.forEach(op => {
|
|
205
|
-
const extra = isValidExtra(op.extra) ? op.extra : null;
|
|
206
|
-
if (op.type === "ASSOCIATE_TOKEN" && extra?.consensusTimestamp) {
|
|
207
|
-
const relatedMirrorToken = mirrorTokens.find(t => {
|
|
208
|
-
return t.created_timestamp === extra.consensusTimestamp;
|
|
209
|
-
});
|
|
210
|
-
if (relatedMirrorToken) {
|
|
211
|
-
op.extra = {
|
|
212
|
-
...extra,
|
|
213
|
-
associatedTokenId: relatedMirrorToken.token_id,
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
143
|
if (!coinOperationsByHash[op.hash]) {
|
|
218
144
|
coinOperationsByHash[op.hash] = [];
|
|
219
145
|
}
|
|
@@ -222,12 +148,12 @@ export const prepareOperations = (coinOperations, tokenOperations, mirrorTokens)
|
|
|
222
148
|
});
|
|
223
149
|
// loop through token operations to potentially copy them as a child operation of a coin operation
|
|
224
150
|
for (const tokenOperation of preparedTokenOperations) {
|
|
225
|
-
const { token } = decodeTokenAccountId(tokenOperation.accountId);
|
|
151
|
+
const { token } = await decodeTokenAccountId(tokenOperation.accountId);
|
|
226
152
|
if (!token)
|
|
227
153
|
continue;
|
|
228
154
|
let mainOperations = coinOperationsByHash[tokenOperation.hash];
|
|
229
155
|
if (!mainOperations?.length) {
|
|
230
|
-
const noneOperation = makeCoinOperationForOrphanChildOperation(tokenOperation);
|
|
156
|
+
const noneOperation = await makeCoinOperationForOrphanChildOperation(tokenOperation);
|
|
231
157
|
mainOperations = [noneOperation];
|
|
232
158
|
preparedCoinOperations.push(noneOperation);
|
|
233
159
|
}
|
|
@@ -322,48 +248,4 @@ export function patchOperationWithExtra(operation, extra) {
|
|
|
322
248
|
nftOperations: (operation.nftOperations ?? []).map(op => ({ ...op, extra })),
|
|
323
249
|
};
|
|
324
250
|
}
|
|
325
|
-
export const checkAccountTokenAssociationStatus = makeLRUCache(async (address, tokenId) => {
|
|
326
|
-
const [parsingError, parsingResult] = safeParseAccountId(address);
|
|
327
|
-
if (parsingError) {
|
|
328
|
-
throw parsingError;
|
|
329
|
-
}
|
|
330
|
-
const addressWithoutChecksum = parsingResult.accountId;
|
|
331
|
-
const mirrorAccount = await getAccount(addressWithoutChecksum);
|
|
332
|
-
// auto association is enabled
|
|
333
|
-
if (mirrorAccount.max_automatic_token_associations === -1) {
|
|
334
|
-
return true;
|
|
335
|
-
}
|
|
336
|
-
const isTokenAssociated = mirrorAccount.balance.tokens.some(token => {
|
|
337
|
-
return token.token_id === tokenId;
|
|
338
|
-
});
|
|
339
|
-
return isTokenAssociated;
|
|
340
|
-
}, (accountId, tokenId) => `${accountId}-${tokenId}`, seconds(30));
|
|
341
|
-
export const safeParseAccountId = (address) => {
|
|
342
|
-
const currency = findCryptoCurrencyById("hedera");
|
|
343
|
-
const currencyName = currency?.name ?? "Hedera";
|
|
344
|
-
try {
|
|
345
|
-
const accountId = AccountId.fromString(address);
|
|
346
|
-
// verify checksum if present
|
|
347
|
-
// FIXME: migrate to EntityIdHelper methods once SDK is upgraded:
|
|
348
|
-
// https://github.com/hiero-ledger/hiero-sdk-js/blob/main/src/EntityIdHelper.js#L197
|
|
349
|
-
// https://github.com/hiero-ledger/hiero-sdk-js/blob/main/src/EntityIdHelper.js#L446
|
|
350
|
-
const checksum = address.split("-")[1] ?? null;
|
|
351
|
-
if (checksum) {
|
|
352
|
-
const client = getHederaClient();
|
|
353
|
-
const recipientWithChecksum = accountId.toStringWithChecksum(client);
|
|
354
|
-
const expectedChecksum = recipientWithChecksum.split("-")[1];
|
|
355
|
-
if (checksum !== expectedChecksum) {
|
|
356
|
-
return [new HederaRecipientInvalidChecksum(), null];
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
const result = {
|
|
360
|
-
accountId: accountId.toString(),
|
|
361
|
-
checksum,
|
|
362
|
-
};
|
|
363
|
-
return [null, result];
|
|
364
|
-
}
|
|
365
|
-
catch (err) {
|
|
366
|
-
return [new InvalidAddress("", { currencyName }), null];
|
|
367
|
-
}
|
|
368
|
-
};
|
|
369
251
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/bridge/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/bridge/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type CurrencyConfig } from "@ledgerhq/coin-framework/config";
|
|
2
|
+
export type HederaCoinConfig = CurrencyConfig;
|
|
3
|
+
declare const coinConfig: {
|
|
4
|
+
setCoinConfig: (config: import("@ledgerhq/coin-framework/config").CoinConfig<CurrencyConfig>) => void;
|
|
5
|
+
getCoinConfig: (currency?: import("@ledgerhq/types-cryptoassets").CryptoCurrency | undefined) => CurrencyConfig;
|
|
6
|
+
};
|
|
7
|
+
export default coinConfig;
|
|
8
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAwB,EAAE,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEvF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAE9C,QAAA,MAAM,UAAU;;;CAAsC,CAAC;AAEvD,eAAe,UAAU,CAAC"}
|
package/lib-es/config.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,eAAwC,MAAM,iCAAiC,CAAC;AAIvF,MAAM,UAAU,GAAG,eAAe,EAAoB,CAAC;AAEvD,eAAe,UAAU,CAAC"}
|
package/lib-es/constants.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Internal types
|
|
3
|
-
* These can be
|
|
2
|
+
* Internal types to distinguish custom Hedera transaction behaviors.
|
|
3
|
+
* These can be used in transaction.mode and used to route specific preparation logic.
|
|
4
4
|
*/
|
|
5
|
-
export declare
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
5
|
+
export declare enum HEDERA_TRANSACTION_MODES {
|
|
6
|
+
Send = "send",
|
|
7
|
+
TokenAssociate = "token-associate"
|
|
8
|
+
}
|
|
10
9
|
/**
|
|
11
10
|
* Enum representing the supported Hedera operation types for fee estimation
|
|
12
11
|
*/
|
|
@@ -15,13 +14,17 @@ export declare enum HEDERA_OPERATION_TYPES {
|
|
|
15
14
|
TokenTransfer = "TokenTransfer",
|
|
16
15
|
TokenAssociate = "TokenAssociate"
|
|
17
16
|
}
|
|
17
|
+
export declare const TINYBAR_SCALE = 8;
|
|
18
|
+
export declare const ESTIMATED_FEE_SAFETY_RATE = 2;
|
|
19
|
+
export declare const DEFAULT_TINYBAR_FEE = 150200;
|
|
20
|
+
export declare const SYNTHETIC_BLOCK_WINDOW_SECONDS = 10;
|
|
18
21
|
/**
|
|
19
22
|
* https://docs.hedera.com/hedera/networks/mainnet/fees
|
|
20
23
|
*
|
|
21
24
|
* These are Hedera's estimated fee costs in USD, scaled to tinybars (1 HBAR = 10^8 tinybars),
|
|
22
25
|
* so they can be converted into actual HBAR amounts based on current USD/crypto rates.
|
|
23
26
|
*
|
|
24
|
-
* Used in fee estimation logic (
|
|
27
|
+
* Used in fee estimation logic (estimateFees function) to determine whether an account
|
|
25
28
|
* has sufficient balance to cover the cost of a transaction (e.g. token association).
|
|
26
29
|
*/
|
|
27
30
|
export declare const BASE_USD_FEE_BY_OPERATION_TYPE: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,wBAAwB;IAClC,IAAI,SAAS;IACb,cAAc,oBAAoB;CACnC;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;CAClC;AAED,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAG3C,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B;;;;CAIgB,CAAC"}
|
package/lib-es/constants.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Internal types
|
|
3
|
-
* These can be
|
|
2
|
+
* Internal types to distinguish custom Hedera transaction behaviors.
|
|
3
|
+
* These can be used in transaction.mode and used to route specific preparation logic.
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
5
|
+
export var HEDERA_TRANSACTION_MODES;
|
|
6
|
+
(function (HEDERA_TRANSACTION_MODES) {
|
|
7
|
+
HEDERA_TRANSACTION_MODES["Send"] = "send";
|
|
8
|
+
HEDERA_TRANSACTION_MODES["TokenAssociate"] = "token-associate";
|
|
9
|
+
})(HEDERA_TRANSACTION_MODES || (HEDERA_TRANSACTION_MODES = {}));
|
|
10
10
|
/**
|
|
11
11
|
* Enum representing the supported Hedera operation types for fee estimation
|
|
12
12
|
*/
|
|
@@ -16,14 +16,18 @@ export var HEDERA_OPERATION_TYPES;
|
|
|
16
16
|
HEDERA_OPERATION_TYPES["TokenTransfer"] = "TokenTransfer";
|
|
17
17
|
HEDERA_OPERATION_TYPES["TokenAssociate"] = "TokenAssociate";
|
|
18
18
|
})(HEDERA_OPERATION_TYPES || (HEDERA_OPERATION_TYPES = {}));
|
|
19
|
-
const TINYBAR_SCALE = 8;
|
|
19
|
+
export const TINYBAR_SCALE = 8;
|
|
20
|
+
export const ESTIMATED_FEE_SAFETY_RATE = 2;
|
|
21
|
+
// old value moved from https://github.com/LedgerHQ/ledger-live/blob/8447b68b7c6f1e7ccd4aa9db4da0e6c8de36a88e/libs/coin-modules/coin-hedera/src/bridge/utils.ts#L77
|
|
22
|
+
export const DEFAULT_TINYBAR_FEE = 150200;
|
|
23
|
+
export const SYNTHETIC_BLOCK_WINDOW_SECONDS = 10;
|
|
20
24
|
/**
|
|
21
25
|
* https://docs.hedera.com/hedera/networks/mainnet/fees
|
|
22
26
|
*
|
|
23
27
|
* These are Hedera's estimated fee costs in USD, scaled to tinybars (1 HBAR = 10^8 tinybars),
|
|
24
28
|
* so they can be converted into actual HBAR amounts based on current USD/crypto rates.
|
|
25
29
|
*
|
|
26
|
-
* Used in fee estimation logic (
|
|
30
|
+
* Used in fee estimation logic (estimateFees function) to determine whether an account
|
|
27
31
|
* has sufficient balance to cover the cost of a transaction (e.g. token association).
|
|
28
32
|
*/
|
|
29
33
|
export const BASE_USD_FEE_BY_OPERATION_TYPE = {
|
package/lib-es/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;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,sBAIX;AAJD,WAAY,sBAAsB;IAChC,2DAAiC,CAAA;IACjC,yDAA+B,CAAA;IAC/B,2DAAiC,CAAA;AACnC,CAAC,EAJW,sBAAsB,KAAtB,sBAAsB,QAIjC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAE/B,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAE3C,mKAAmK;AACnK,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAEjD;;;;;;;;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;CACV,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AccountLike, Account } from "@ledgerhq/types-live";
|
|
2
|
-
import type { Transaction, TransactionStatus } from "./types";
|
|
3
2
|
import type { CommonDeviceTransactionField as DeviceTransactionField } from "@ledgerhq/coin-framework/transaction/common";
|
|
3
|
+
import type { Transaction, TransactionStatus } from "./types";
|
|
4
4
|
declare function getDeviceTransactionConfig({ transaction, status: { estimatedFees }, }: {
|
|
5
5
|
account: AccountLike;
|
|
6
6
|
parentAccount?: Account;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,4BAA4B,IAAI,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAE1H,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,CAsCzC;AAED,eAAe,0BAA0B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAEA,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,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../src/logic/broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,eAAO,MAAM,SAAS,oBAA2B,MAAM,KAAG,QAAQ,mBAAmB,CAGpF,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { rpcClient } from "../network/rpc";
|
|
2
|
+
import { deserializeTransaction } from "./utils";
|
|
3
|
+
export const broadcast = async (txWithSignature) => {
|
|
4
|
+
const hederaTransaction = deserializeTransaction(txWithSignature);
|
|
5
|
+
return await rpcClient.broadcastTransaction(hederaTransaction);
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=broadcast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../src/logic/broadcast.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,eAAuB,EAAgC,EAAE;IACvF,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAClE,OAAO,MAAM,SAAS,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AACjE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combine.d.ts","sourceRoot":"","sources":["../../src/logic/combine.ts"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CASjF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import invariant from "invariant";
|
|
2
|
+
import { PublicKey } from "@hashgraph/sdk";
|
|
3
|
+
import { deserializeSignature, deserializeTransaction, serializeTransaction } from "./utils";
|
|
4
|
+
export function combine(tx, signature, publicKey) {
|
|
5
|
+
invariant(publicKey, "hedera: public key is required to combine the transaction");
|
|
6
|
+
const hederaTransaction = deserializeTransaction(tx);
|
|
7
|
+
const bufferSignature = deserializeSignature(signature);
|
|
8
|
+
const bufferPublicKey = PublicKey.fromString(publicKey);
|
|
9
|
+
hederaTransaction.addSignature(bufferPublicKey, bufferSignature);
|
|
10
|
+
return serializeTransaction(hederaTransaction);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=combine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combine.js","sourceRoot":"","sources":["../../src/logic/combine.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE7F,MAAM,UAAU,OAAO,CAAC,EAAU,EAAE,SAAiB,EAAE,SAAkB;IACvE,SAAS,CAAC,SAAS,EAAE,2DAA2D,CAAC,CAAC;IAElF,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACxD,iBAAiB,CAAC,YAAY,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEjE,OAAO,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AACjD,CAAC"}
|