@ledgerhq/coin-vechain 3.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.unimportedrc.json +2 -1
- package/CHANGELOG.md +42 -2699
- package/lib/api/index.d.ts +2 -2
- package/lib/api/index.d.ts.map +1 -1
- package/lib/api/index.js +25 -22
- package/lib/api/index.js.map +1 -1
- package/lib/bridge/broadcast.d.ts.map +1 -1
- package/lib/bridge/broadcast.js +2 -1
- package/lib/bridge/broadcast.js.map +1 -1
- package/lib/bridge/createTransaction.js +1 -1
- package/lib/bridge/createTransaction.js.map +1 -1
- package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -1
- package/lib/bridge/estimateMaxSpendable.js +2 -1
- package/lib/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib/bridge/getTransactionStatus.js +2 -1
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/prepareTransaction.d.ts.map +1 -1
- package/lib/bridge/prepareTransaction.js +4 -2
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/synchronisation.d.ts.map +1 -1
- package/lib/bridge/synchronisation.js +6 -4
- package/lib/bridge/synchronisation.js.map +1 -1
- package/lib/common-logic/calculateGasFees.d.ts +2 -1
- package/lib/common-logic/calculateGasFees.d.ts.map +1 -1
- package/lib/common-logic/calculateGasFees.js +3 -3
- package/lib/common-logic/calculateGasFees.js.map +1 -1
- package/lib/common-logic/calculateTransactionInfo.d.ts +2 -1
- package/lib/common-logic/calculateTransactionInfo.d.ts.map +1 -1
- package/lib/common-logic/calculateTransactionInfo.js +2 -2
- package/lib/common-logic/calculateTransactionInfo.js.map +1 -1
- package/lib/common-logic/estimateGas.d.ts +2 -1
- package/lib/common-logic/estimateGas.d.ts.map +1 -1
- package/lib/common-logic/estimateGas.js +2 -2
- package/lib/common-logic/estimateGas.js.map +1 -1
- package/lib/common-logic/getThorClient.d.ts +2 -1
- package/lib/common-logic/getThorClient.d.ts.map +1 -1
- package/lib/common-logic/getThorClient.js +2 -2
- package/lib/common-logic/getThorClient.js.map +1 -1
- package/lib/common-logic/mapTransfersToOperations.d.ts +3 -2
- package/lib/common-logic/mapTransfersToOperations.d.ts.map +1 -1
- package/lib/common-logic/mapTransfersToOperations.js +4 -4
- package/lib/common-logic/mapTransfersToOperations.js.map +1 -1
- package/lib/config.d.ts +10 -4
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +9 -5
- package/lib/config.js.map +1 -1
- package/lib/logic/account/getBalance.d.ts +2 -1
- package/lib/logic/account/getBalance.d.ts.map +1 -1
- package/lib/logic/account/getBalance.js +3 -2
- package/lib/logic/account/getBalance.js.map +1 -1
- package/lib/logic/history/getBlock.d.ts +2 -1
- package/lib/logic/history/getBlock.d.ts.map +1 -1
- package/lib/logic/history/getBlock.js +3 -2
- package/lib/logic/history/getBlock.js.map +1 -1
- package/lib/logic/history/getBlockInfo.d.ts +2 -1
- package/lib/logic/history/getBlockInfo.d.ts.map +1 -1
- package/lib/logic/history/getBlockInfo.js +3 -2
- package/lib/logic/history/getBlockInfo.js.map +1 -1
- package/lib/logic/history/lastBlock.d.ts +2 -1
- package/lib/logic/history/lastBlock.d.ts.map +1 -1
- package/lib/logic/history/lastBlock.js +4 -3
- package/lib/logic/history/lastBlock.js.map +1 -1
- package/lib/logic/history/listOperations.d.ts +2 -1
- package/lib/logic/history/listOperations.d.ts.map +1 -1
- package/lib/logic/history/listOperations.js +5 -4
- package/lib/logic/history/listOperations.js.map +1 -1
- package/lib/logic/transaction/broadcast.d.ts +2 -1
- package/lib/logic/transaction/broadcast.d.ts.map +1 -1
- package/lib/logic/transaction/broadcast.js +3 -2
- package/lib/logic/transaction/broadcast.js.map +1 -1
- package/lib/logic/transaction/combine.d.ts +1 -1
- package/lib/logic/transaction/combine.d.ts.map +1 -1
- package/lib/logic/transaction/combine.js +4 -1
- package/lib/logic/transaction/combine.js.map +1 -1
- package/lib/logic/transaction/craftTransaction.d.ts +2 -1
- package/lib/logic/transaction/craftTransaction.d.ts.map +1 -1
- package/lib/logic/transaction/craftTransaction.js +11 -10
- package/lib/logic/transaction/craftTransaction.js.map +1 -1
- package/lib/logic/transaction/estimateFees.d.ts +2 -1
- package/lib/logic/transaction/estimateFees.d.ts.map +1 -1
- package/lib/logic/transaction/estimateFees.js +2 -2
- package/lib/logic/transaction/estimateFees.js.map +1 -1
- package/lib/network/getBlock.d.ts +2 -1
- package/lib/network/getBlock.d.ts.map +1 -1
- package/lib/network/getBlock.js +2 -2
- package/lib/network/getBlock.js.map +1 -1
- package/lib/network/getFees.d.ts +2 -1
- package/lib/network/getFees.d.ts.map +1 -1
- package/lib/network/getFees.js +2 -2
- package/lib/network/getFees.js.map +1 -1
- package/lib/network/sdk.d.ts +7 -6
- package/lib/network/sdk.d.ts.map +1 -1
- package/lib/network/sdk.js +18 -18
- package/lib/network/sdk.js.map +1 -1
- package/lib/test/context.d.ts +6 -0
- package/lib/test/context.d.ts.map +1 -0
- package/lib/test/context.js +15 -0
- package/lib/test/context.js.map +1 -0
- package/lib-es/api/index.d.ts +2 -2
- package/lib-es/api/index.d.ts.map +1 -1
- package/lib-es/api/index.js +25 -22
- package/lib-es/api/index.js.map +1 -1
- package/lib-es/bridge/broadcast.d.ts.map +1 -1
- package/lib-es/bridge/broadcast.js +2 -1
- package/lib-es/bridge/broadcast.js.map +1 -1
- package/lib-es/bridge/createTransaction.js +2 -2
- 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 -1
- 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 +2 -1
- 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 -2
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/synchronisation.d.ts.map +1 -1
- package/lib-es/bridge/synchronisation.js +6 -4
- package/lib-es/bridge/synchronisation.js.map +1 -1
- package/lib-es/common-logic/calculateGasFees.d.ts +2 -1
- package/lib-es/common-logic/calculateGasFees.d.ts.map +1 -1
- package/lib-es/common-logic/calculateGasFees.js +3 -3
- package/lib-es/common-logic/calculateGasFees.js.map +1 -1
- package/lib-es/common-logic/calculateTransactionInfo.d.ts +2 -1
- package/lib-es/common-logic/calculateTransactionInfo.d.ts.map +1 -1
- package/lib-es/common-logic/calculateTransactionInfo.js +2 -2
- package/lib-es/common-logic/calculateTransactionInfo.js.map +1 -1
- package/lib-es/common-logic/estimateGas.d.ts +2 -1
- package/lib-es/common-logic/estimateGas.d.ts.map +1 -1
- package/lib-es/common-logic/estimateGas.js +2 -2
- package/lib-es/common-logic/estimateGas.js.map +1 -1
- package/lib-es/common-logic/getThorClient.d.ts +2 -1
- package/lib-es/common-logic/getThorClient.d.ts.map +1 -1
- package/lib-es/common-logic/getThorClient.js +2 -2
- package/lib-es/common-logic/getThorClient.js.map +1 -1
- package/lib-es/common-logic/mapTransfersToOperations.d.ts +3 -2
- package/lib-es/common-logic/mapTransfersToOperations.d.ts.map +1 -1
- package/lib-es/common-logic/mapTransfersToOperations.js +4 -4
- package/lib-es/common-logic/mapTransfersToOperations.js.map +1 -1
- package/lib-es/config.d.ts +10 -4
- package/lib-es/config.d.ts.map +1 -1
- package/lib-es/config.js +9 -5
- package/lib-es/config.js.map +1 -1
- package/lib-es/logic/account/getBalance.d.ts +2 -1
- package/lib-es/logic/account/getBalance.d.ts.map +1 -1
- package/lib-es/logic/account/getBalance.js +3 -2
- package/lib-es/logic/account/getBalance.js.map +1 -1
- package/lib-es/logic/history/getBlock.d.ts +2 -1
- package/lib-es/logic/history/getBlock.d.ts.map +1 -1
- package/lib-es/logic/history/getBlock.js +3 -2
- package/lib-es/logic/history/getBlock.js.map +1 -1
- package/lib-es/logic/history/getBlockInfo.d.ts +2 -1
- package/lib-es/logic/history/getBlockInfo.d.ts.map +1 -1
- package/lib-es/logic/history/getBlockInfo.js +3 -2
- package/lib-es/logic/history/getBlockInfo.js.map +1 -1
- package/lib-es/logic/history/lastBlock.d.ts +2 -1
- package/lib-es/logic/history/lastBlock.d.ts.map +1 -1
- package/lib-es/logic/history/lastBlock.js +4 -3
- package/lib-es/logic/history/lastBlock.js.map +1 -1
- package/lib-es/logic/history/listOperations.d.ts +2 -1
- package/lib-es/logic/history/listOperations.d.ts.map +1 -1
- package/lib-es/logic/history/listOperations.js +5 -4
- package/lib-es/logic/history/listOperations.js.map +1 -1
- package/lib-es/logic/transaction/broadcast.d.ts +2 -1
- package/lib-es/logic/transaction/broadcast.d.ts.map +1 -1
- package/lib-es/logic/transaction/broadcast.js +3 -2
- package/lib-es/logic/transaction/broadcast.js.map +1 -1
- package/lib-es/logic/transaction/combine.d.ts +1 -1
- package/lib-es/logic/transaction/combine.d.ts.map +1 -1
- package/lib-es/logic/transaction/combine.js +4 -1
- package/lib-es/logic/transaction/combine.js.map +1 -1
- package/lib-es/logic/transaction/craftTransaction.d.ts +2 -1
- package/lib-es/logic/transaction/craftTransaction.d.ts.map +1 -1
- package/lib-es/logic/transaction/craftTransaction.js +11 -10
- package/lib-es/logic/transaction/craftTransaction.js.map +1 -1
- package/lib-es/logic/transaction/estimateFees.d.ts +2 -1
- package/lib-es/logic/transaction/estimateFees.d.ts.map +1 -1
- package/lib-es/logic/transaction/estimateFees.js +2 -2
- package/lib-es/logic/transaction/estimateFees.js.map +1 -1
- package/lib-es/network/getBlock.d.ts +2 -1
- package/lib-es/network/getBlock.d.ts.map +1 -1
- package/lib-es/network/getBlock.js +2 -2
- package/lib-es/network/getBlock.js.map +1 -1
- package/lib-es/network/getFees.d.ts +2 -1
- package/lib-es/network/getFees.d.ts.map +1 -1
- package/lib-es/network/getFees.js +2 -2
- package/lib-es/network/getFees.js.map +1 -1
- package/lib-es/network/sdk.d.ts +7 -6
- package/lib-es/network/sdk.d.ts.map +1 -1
- package/lib-es/network/sdk.js +18 -18
- package/lib-es/network/sdk.js.map +1 -1
- package/lib-es/test/context.d.ts +6 -0
- package/lib-es/test/context.d.ts.map +1 -0
- package/lib-es/test/context.js +11 -0
- package/lib-es/test/context.js.map +1 -0
- package/package.json +6 -6
- package/src/api/index.integ.test.ts +21 -24
- package/src/api/index.ts +74 -27
- package/src/api/index.unit.test.ts +68 -48
- package/src/bridge/broadcast.integ.test.ts +2 -1
- package/src/bridge/broadcast.test.ts +1 -1
- package/src/bridge/broadcast.ts +2 -1
- package/src/bridge/createTransaction.ts +2 -2
- package/src/bridge/estimateMaxSpendable.test.ts +19 -3
- package/src/bridge/estimateMaxSpendable.ts +2 -0
- package/src/bridge/getTransactionStatus.test.ts +11 -6
- package/src/bridge/getTransactionStatus.ts +2 -0
- package/src/bridge/prepareTransaction.test.ts +5 -1
- package/src/bridge/prepareTransaction.ts +4 -2
- package/src/bridge/synchronisation.ts +7 -3
- package/src/common-logic/calculateGasFees.test.ts +101 -27
- package/src/common-logic/calculateGasFees.ts +4 -2
- package/src/common-logic/calculateTransactionInfo.test.ts +71 -16
- package/src/common-logic/calculateTransactionInfo.ts +3 -1
- package/src/common-logic/estimateGas.test.ts +13 -10
- package/src/common-logic/estimateGas.ts +3 -1
- package/src/common-logic/getThorClient.test.ts +7 -7
- package/src/common-logic/getThorClient.ts +3 -3
- package/src/common-logic/mapTransfersToOperations.test.ts +48 -13
- package/src/common-logic/mapTransfersToOperations.ts +5 -2
- package/src/config.test.ts +3 -3
- package/src/config.ts +13 -6
- package/src/logic/account/getBalance.ts +4 -2
- package/src/logic/account/getBalance.unit.test.ts +6 -4
- package/src/logic/history/getBlock.ts +4 -2
- package/src/logic/history/getBlock.unit.test.ts +8 -5
- package/src/logic/history/getBlockInfo.ts +4 -2
- package/src/logic/history/getBlockInfo.unit.test.ts +6 -3
- package/src/logic/history/lastBlock.ts +5 -3
- package/src/logic/history/lastBlock.unit.test.ts +6 -3
- package/src/logic/history/listOperations.ts +6 -3
- package/src/logic/history/listOperations.unit.test.ts +10 -6
- package/src/logic/transaction/broadcast.msw.test.ts +7 -2
- package/src/logic/transaction/broadcast.ts +8 -2
- package/src/logic/transaction/broadcast.unit.test.ts +6 -3
- package/src/logic/transaction/combine.ts +6 -2
- package/src/logic/transaction/combine.unit.test.ts +3 -3
- package/src/logic/transaction/craftTransaction.ts +16 -9
- package/src/logic/transaction/craftTransaction.unit.test.ts +29 -28
- package/src/logic/transaction/estimateFees.ts +3 -0
- package/src/logic/transaction/estimateFees.unit.test.ts +15 -12
- package/src/network/getBlock.ts +3 -2
- package/src/network/getBlock.unit.test.ts +11 -6
- package/src/network/getFees.ts +6 -3
- package/src/network/sdk.integ.test.ts +8 -1
- package/src/network/sdk.test.ts +18 -7
- package/src/network/sdk.ts +25 -15
- package/src/test/context.ts +15 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimateGas.d.ts","sourceRoot":"","sources":["../../src/common-logic/estimateGas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"estimateGas.d.ts","sourceRoot":"","sources":["../../src/common-logic/estimateGas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,WACd,qBAAqB,WACpB,iBAAiB,EAAE,UACpB,MAAM,KACb,OAAO,CAAC,iBAAiB,CAI3B,CAAC"}
|
|
@@ -5,8 +5,8 @@ import { getThorClient } from "./getThorClient";
|
|
|
5
5
|
* @param {string} origin - Origin address for the transaction
|
|
6
6
|
* @return {Promise<EstimateGasResult>} Estimated gas result
|
|
7
7
|
*/
|
|
8
|
-
export const estimateGas = async (clauses, origin) => {
|
|
9
|
-
const thorClient = getThorClient();
|
|
8
|
+
export const estimateGas = async (config, clauses, origin) => {
|
|
9
|
+
const thorClient = getThorClient(config);
|
|
10
10
|
const gasResult = await thorClient.gas.estimateGas(clauses, origin);
|
|
11
11
|
return gasResult;
|
|
12
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimateGas.js","sourceRoot":"","sources":["../../src/common-logic/estimateGas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"estimateGas.js","sourceRoot":"","sources":["../../src/common-logic/estimateGas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,MAA6B,EAC7B,OAA4B,EAC5B,MAAc,EACc,EAAE;IAC9B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpE,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ThorClient } from "@vechain/sdk-network";
|
|
2
|
+
import { type VechainCurrencyConfig } from "../config";
|
|
2
3
|
/**
|
|
3
4
|
* Returns a ThorClient instance configured with the VeChain node URL
|
|
4
5
|
* @returns {ThorClient} Configured ThorClient instance for interacting with the VeChain network
|
|
5
6
|
*/
|
|
6
|
-
export declare const getThorClient: () => ThorClient;
|
|
7
|
+
export declare const getThorClient: (config: VechainCurrencyConfig) => ThorClient;
|
|
7
8
|
//# sourceMappingURL=getThorClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getThorClient.d.ts","sourceRoot":"","sources":["../../src/common-logic/getThorClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"getThorClient.d.ts","sourceRoot":"","sources":["../../src/common-logic/getThorClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAc,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,aAAa,WAAY,qBAAqB,KAAG,UAE7D,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { getNodeUrl } from "../config";
|
|
|
4
4
|
* Returns a ThorClient instance configured with the VeChain node URL
|
|
5
5
|
* @returns {ThorClient} Configured ThorClient instance for interacting with the VeChain network
|
|
6
6
|
*/
|
|
7
|
-
export const getThorClient = () => {
|
|
8
|
-
return ThorClient.at(getNodeUrl());
|
|
7
|
+
export const getThorClient = (config) => {
|
|
8
|
+
return ThorClient.at(getNodeUrl(config));
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=getThorClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getThorClient.js","sourceRoot":"","sources":["../../src/common-logic/getThorClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"getThorClient.js","sourceRoot":"","sources":["../../src/common-logic/getThorClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAA8B,MAAM,WAAW,CAAC;AAEnE;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAA6B,EAAc,EAAE;IACzE,OAAO,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Operation } from "@ledgerhq/types-live";
|
|
2
2
|
import { EventLog, TransferLog } from "../types";
|
|
3
|
-
|
|
4
|
-
export declare const
|
|
3
|
+
import type { VechainCurrencyConfig } from "../config";
|
|
4
|
+
export declare const mapVetTransfersToOperations: (config: VechainCurrencyConfig, txs: TransferLog[], accountId: string, addr: string) => Promise<Operation[]>;
|
|
5
|
+
export declare const mapTokenTransfersToOperations: (config: VechainCurrencyConfig, events: EventLog[], accountId: string, addr: string) => Promise<Operation[]>;
|
|
5
6
|
//# sourceMappingURL=mapTransfersToOperations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapTransfersToOperations.d.ts","sourceRoot":"","sources":["../../src/common-logic/mapTransfersToOperations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"mapTransfersToOperations.d.ts","sourceRoot":"","sources":["../../src/common-logic/mapTransfersToOperations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAEvD,eAAO,MAAM,2BAA2B,WAC9B,qBAAqB,OACxB,WAAW,EAAE,aACP,MAAM,QACX,MAAM,KACX,OAAO,CAAC,SAAS,EAAE,CAwBrB,CAAC;AAEF,eAAO,MAAM,6BAA6B,WAChC,qBAAqB,UACrB,QAAQ,EAAE,aACP,MAAM,QACX,MAAM,KACX,OAAO,CAAC,SAAS,EAAE,CAmCrB,CAAC"}
|
|
@@ -2,9 +2,9 @@ import BigNumber from "bignumber.js";
|
|
|
2
2
|
import { encodeOperationId } from "@ledgerhq/ledger-wallet-framework/operation";
|
|
3
3
|
import { getFees } from "../network/getFees";
|
|
4
4
|
import { ABIEvent, Hex, VIP180_ABI } from "@vechain/sdk-core";
|
|
5
|
-
export const mapVetTransfersToOperations = async (txs, accountId, addr) => {
|
|
5
|
+
export const mapVetTransfersToOperations = async (config, txs, accountId, addr) => {
|
|
6
6
|
return Promise.all(txs.map(async (tx) => {
|
|
7
|
-
const fees = await getFees(tx.meta.txID);
|
|
7
|
+
const fees = await getFees(config, tx.meta.txID);
|
|
8
8
|
return {
|
|
9
9
|
id: encodeOperationId(accountId, tx.meta.txID, tx.recipient.toLowerCase() === addr.toLowerCase() ? "IN" : "OUT"),
|
|
10
10
|
hash: tx.meta.txID,
|
|
@@ -21,7 +21,7 @@ export const mapVetTransfersToOperations = async (txs, accountId, addr) => {
|
|
|
21
21
|
};
|
|
22
22
|
}));
|
|
23
23
|
};
|
|
24
|
-
export const mapTokenTransfersToOperations = async (events, accountId, addr) => {
|
|
24
|
+
export const mapTokenTransfersToOperations = async (config, events, accountId, addr) => {
|
|
25
25
|
return Promise.all(events.map(async (event) => {
|
|
26
26
|
const decoded = ABIEvent.parseLog(VIP180_ABI, {
|
|
27
27
|
data: Hex.of(event.data),
|
|
@@ -31,7 +31,7 @@ export const mapTokenTransfersToOperations = async (events, accountId, addr) =>
|
|
|
31
31
|
const to = decoded.args.to;
|
|
32
32
|
const value = decoded.args.value;
|
|
33
33
|
const type = to.toLowerCase() === addr.toLowerCase() ? "IN" : "OUT";
|
|
34
|
-
const fees = await getFees(event.meta.txID);
|
|
34
|
+
const fees = await getFees(config, event.meta.txID);
|
|
35
35
|
return {
|
|
36
36
|
id: encodeOperationId(accountId, event.meta.txID, type),
|
|
37
37
|
hash: event.meta.txID,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapTransfersToOperations.js","sourceRoot":"","sources":["../../src/common-logic/mapTransfersToOperations.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"mapTransfersToOperations.js","sourceRoot":"","sources":["../../src/common-logic/mapTransfersToOperations.ts"],"names":[],"mappings":"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"}
|
package/lib-es/config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CurrencyConfig, CoinConfig } from "@ledgerhq/coin-module-framework/config";
|
|
1
|
+
import { CurrencyConfig, CoinConfig, type Context } from "@ledgerhq/coin-module-framework/config";
|
|
2
2
|
/**
|
|
3
3
|
* `node.url` is the Thor REST endpoint. It is part of the coin config, as in coin-stellar and
|
|
4
4
|
* coin-xrp, rather than read from `@ledgerhq/live-env` inside the module: a coin module that
|
|
@@ -12,9 +12,15 @@ export type VechainCurrencyConfig = CurrencyConfig & {
|
|
|
12
12
|
};
|
|
13
13
|
};
|
|
14
14
|
export type VechainCoinConfig = () => VechainCurrencyConfig;
|
|
15
|
+
/** The {@link Context} threaded through the coin-vechain API layer (ADR-019). */
|
|
16
|
+
export type VechainContext = Context<VechainCurrencyConfig>;
|
|
15
17
|
export declare function setCoinConfig(config: CoinConfig<VechainCurrencyConfig>): void;
|
|
16
18
|
export declare function getCoinConfig(): VechainCurrencyConfig;
|
|
17
|
-
/**
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Thor REST endpoint. Config is threaded in explicitly by every caller: the Alpaca (`createApi`)
|
|
21
|
+
* path resolves it from `context.config()`, and the classic bridge resolves it once from the
|
|
22
|
+
* {@link getCoinConfig} singleton at its entry points and passes it down.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getNodeUrl(config: VechainCurrencyConfig): string;
|
|
25
|
+
export declare function getChainTag(config: VechainCurrencyConfig): number;
|
|
20
26
|
//# sourceMappingURL=config.d.ts.map
|
package/lib-es/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAIlG;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CAAC;AAE5D,iFAAiF;AACjF,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAI5D,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAE7E;AAED,wBAAgB,aAAa,IAAI,qBAAqB,CAMrD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAQhE;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAQjE"}
|
package/lib-es/config.js
CHANGED
|
@@ -10,16 +10,20 @@ export function getCoinConfig() {
|
|
|
10
10
|
}
|
|
11
11
|
return coinConfig();
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Thor REST endpoint. Config is threaded in explicitly by every caller: the Alpaca (`createApi`)
|
|
15
|
+
* path resolves it from `context.config()`, and the classic bridge resolves it once from the
|
|
16
|
+
* {@link getCoinConfig} singleton at its entry points and passes it down.
|
|
17
|
+
*/
|
|
18
|
+
export function getNodeUrl(config) {
|
|
19
|
+
const { node } = config;
|
|
16
20
|
if (!node?.url) {
|
|
17
21
|
throw new Error("vechain: node.url is missing from the coin config");
|
|
18
22
|
}
|
|
19
23
|
return node.url;
|
|
20
24
|
}
|
|
21
|
-
export function getChainTag() {
|
|
22
|
-
const { chainTag } =
|
|
25
|
+
export function getChainTag(config) {
|
|
26
|
+
const { chainTag } = config;
|
|
23
27
|
return typeof chainTag === "number" &&
|
|
24
28
|
Number.isInteger(chainTag) &&
|
|
25
29
|
chainTag >= 0 &&
|
package/lib-es/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAkB5C,IAAI,UAAyD,CAAC;AAE9D,MAAM,UAAU,aAAa,CAAC,MAAyC;IACrE,UAAU,GAAG,MAAM,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,iBAAiB,EAAE,CAAC;IAChC,CAAC;IAED,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,MAA6B;IACtD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAExB,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAA6B;IACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC5B,OAAO,OAAO,QAAQ,KAAK,QAAQ;QACjC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC1B,QAAQ,IAAI,CAAC;QACb,QAAQ,IAAI,GAAG;QACf,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,iBAAiB,CAAC;AACxB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AssetInfo, Balance } from "@ledgerhq/coin-module-framework/api/index";
|
|
2
|
+
import type { VechainContext } from "../../config";
|
|
2
3
|
export declare const NATIVE_ASSET: AssetInfo;
|
|
3
4
|
export declare const vthoAsset: (address: string) => AssetInfo;
|
|
4
|
-
export declare function getBalance(address: string): Promise<Balance[]>;
|
|
5
|
+
export declare function getBalance(context: VechainContext, address: string): Promise<Balance[]>;
|
|
5
6
|
//# sourceMappingURL=getBalance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBalance.d.ts","sourceRoot":"","sources":["../../../src/logic/account/getBalance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"getBalance.d.ts","sourceRoot":"","sources":["../../../src/logic/account/getBalance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AAEpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,eAAO,MAAM,YAAY,EAAE,SAA2C,CAAC;AAIvE,eAAO,MAAM,SAAS,YAAa,MAAM,KAAG,SAK1C,CAAC;AAGH,wBAAsB,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAQ7F"}
|
|
@@ -10,8 +10,9 @@ export const vthoAsset = (address) => ({
|
|
|
10
10
|
name: "VTHO",
|
|
11
11
|
});
|
|
12
12
|
// VET + VTHO balances from Thor's /accounts/{address} (both returned in one call); 0 if absent.
|
|
13
|
-
export async function getBalance(address) {
|
|
14
|
-
const
|
|
13
|
+
export async function getBalance(context, address) {
|
|
14
|
+
const config = await context.config();
|
|
15
|
+
const { balance, energy } = await getAccount(config, address);
|
|
15
16
|
return [
|
|
16
17
|
{ value: BigInt(balance || "0"), asset: NATIVE_ASSET },
|
|
17
18
|
{ value: BigInt(energy || "0"), asset: vthoAsset(address) },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../src/logic/account/getBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../src/logic/account/getBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAEvE,kGAAkG;AAClG,gGAAgG;AAChG,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAa,EAAE,CAAC,CAAC;IACxD,IAAI,EAAE,OAAO;IACb,cAAc,EAAE,YAAY;IAC5B,UAAU,EAAE,OAAO;IACnB,IAAI,EAAE,MAAM;CACb,CAAC,CAAC;AAEH,gGAAgG;AAChG,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAuB,EAAE,OAAe;IACvE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IACtC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9D,OAAO;QACL,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE;QACtD,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE;KAC5D,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { Block } from "@ledgerhq/coin-module-framework/api/index";
|
|
2
|
-
|
|
2
|
+
import type { VechainContext } from "../../config";
|
|
3
|
+
export declare function getBlock(context: VechainContext, height: number): Promise<Block>;
|
|
3
4
|
//# sourceMappingURL=getBlock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBlock.d.ts","sourceRoot":"","sources":["../../../src/logic/history/getBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAGN,MAAM,2CAA2C,CAAC;AAOnD,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"getBlock.d.ts","sourceRoot":"","sources":["../../../src/logic/history/getBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAGN,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAOnD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CActF"}
|
|
@@ -2,8 +2,9 @@ import { getBlock as getBlockFromNetwork } from "../../network";
|
|
|
2
2
|
import { toBlockInfo } from "./getBlockInfo";
|
|
3
3
|
// Full expanded block; block info is derived from it (no separate fetch). Only native VET transfers
|
|
4
4
|
// map to operations; VTHO (VIP-180) movements are ABI-encoded events, not decoded here.
|
|
5
|
-
export async function getBlock(height) {
|
|
6
|
-
const
|
|
5
|
+
export async function getBlock(context, height) {
|
|
6
|
+
const config = await context.config();
|
|
7
|
+
const block = await getBlockFromNetwork(config, height, true);
|
|
7
8
|
if (!block) {
|
|
8
9
|
throw new Error(`vechain: no block at height ${height}`);
|
|
9
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBlock.js","sourceRoot":"","sources":["../../../src/logic/history/getBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getBlock.js","sourceRoot":"","sources":["../../../src/logic/history/getBlock.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,oGAAoG;AACpG,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAuB,EAAE,MAAc;IACpE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAE9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,YAA6C,CAAC;IAEzE,OAAO;QACL,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;QACxB,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,EAA+B;IACzD,MAAM,UAAU,GAAqB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAC/D,MAAM,CAAC,SAAS,CAAC,GAAG,CAClB,CAAC,QAAQ,EAAkB,EAAE,CAAC,CAAC;QAC7B,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,QAAQ,CAAC,SAAS;QAC3B,IAAI,EAAE,QAAQ,CAAC,MAAM;QACrB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC;KACvC,CAAC,CACH,CACF,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,EAAE,CAAC,EAAE;QACX,MAAM,EAAE,EAAE,CAAC,QAAQ;QACnB,UAAU;QACV,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC;QAC5B,SAAS,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,MAAM;KACpC,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { BlockInfo } from "@ledgerhq/coin-module-framework/api/index";
|
|
2
|
+
import type { VechainContext } from "../../config";
|
|
2
3
|
import type { ApiResponseBlock } from "../../types";
|
|
3
4
|
export declare function toBlockInfo(block: ApiResponseBlock): BlockInfo;
|
|
4
5
|
/** Block metadata (height/hash/time) at a given block height, via Thor `GET /blocks/{height}`. */
|
|
5
|
-
export declare function getBlockInfo(height: number): Promise<BlockInfo>;
|
|
6
|
+
export declare function getBlockInfo(context: VechainContext, height: number): Promise<BlockInfo>;
|
|
6
7
|
//# sourceMappingURL=getBlockInfo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBlockInfo.d.ts","sourceRoot":"","sources":["../../../src/logic/history/getBlockInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"getBlockInfo.d.ts","sourceRoot":"","sources":["../../../src/logic/history/getBlockInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAO9D;AAED,kGAAkG;AAClG,wBAAsB,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAS9F"}
|
|
@@ -9,8 +9,9 @@ export function toBlockInfo(block) {
|
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
11
|
/** Block metadata (height/hash/time) at a given block height, via Thor `GET /blocks/{height}`. */
|
|
12
|
-
export async function getBlockInfo(height) {
|
|
13
|
-
const
|
|
12
|
+
export async function getBlockInfo(context, height) {
|
|
13
|
+
const config = await context.config();
|
|
14
|
+
const block = await getBlockFromNetwork(config, height, false);
|
|
14
15
|
if (!block) {
|
|
15
16
|
throw new Error(`vechain: no block at height ${height}`);
|
|
16
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBlockInfo.js","sourceRoot":"","sources":["../../../src/logic/history/getBlockInfo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getBlockInfo.js","sourceRoot":"","sources":["../../../src/logic/history/getBlockInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGhE,4FAA4F;AAC5F,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,EAAE;QACd,0CAA0C;QAC1C,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAuB,EAAE,MAAc;IACxE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { BlockInfo } from "@ledgerhq/coin-module-framework/api/index";
|
|
2
|
-
|
|
2
|
+
import type { VechainContext } from "../../config";
|
|
3
|
+
export declare function lastBlock(context: VechainContext): Promise<BlockInfo>;
|
|
3
4
|
//# sourceMappingURL=lastBlock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lastBlock.d.ts","sourceRoot":"","sources":["../../../src/logic/history/lastBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"lastBlock.d.ts","sourceRoot":"","sources":["../../../src/logic/history/lastBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAKnD,wBAAsB,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAI3E"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { getLastBlockHeight } from "../../network";
|
|
2
2
|
import { getBlockInfo } from "./getBlockInfo";
|
|
3
3
|
// Latest block; /blocks/best exposes only the height, so hash/time come from getBlockInfo.
|
|
4
|
-
export async function lastBlock() {
|
|
5
|
-
const
|
|
6
|
-
|
|
4
|
+
export async function lastBlock(context) {
|
|
5
|
+
const config = await context.config();
|
|
6
|
+
const height = await getLastBlockHeight(config);
|
|
7
|
+
return getBlockInfo(context, height);
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=lastBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lastBlock.js","sourceRoot":"","sources":["../../../src/logic/history/lastBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lastBlock.js","sourceRoot":"","sources":["../../../src/logic/history/lastBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAuB;IACrD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { ListOperationsOptions, MemoNotSupported, Operation, Page } from "@ledgerhq/coin-module-framework/api/index";
|
|
2
|
-
|
|
2
|
+
import type { VechainContext } from "../../config";
|
|
3
|
+
export declare function listOperations(context: VechainContext, address: string, options: ListOperationsOptions): Promise<Page<Operation<MemoNotSupported>>>;
|
|
3
4
|
//# sourceMappingURL=listOperations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listOperations.d.ts","sourceRoot":"","sources":["../../../src/logic/history/listOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,qBAAqB,EACrB,gBAAgB,EAChB,SAAS,EACT,IAAI,EACL,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"listOperations.d.ts","sourceRoot":"","sources":["../../../src/logic/history/listOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,qBAAqB,EACrB,gBAAgB,EAChB,SAAS,EACT,IAAI,EACL,MAAM,2CAA2C,CAAC;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA8BnD,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAuB5C"}
|
|
@@ -25,15 +25,16 @@ function parseCursor(options) {
|
|
|
25
25
|
return Math.max(fromCursor, options.minHeight || 0);
|
|
26
26
|
}
|
|
27
27
|
// Merged VET + VTHO operations; `next` is one block past the current head for incremental resume.
|
|
28
|
-
export async function listOperations(address, options) {
|
|
28
|
+
export async function listOperations(context, address, options) {
|
|
29
|
+
const config = await context.config();
|
|
29
30
|
const startAt = parseCursor(options);
|
|
30
|
-
const stopAt = await getLastBlockHeight();
|
|
31
|
+
const stopAt = await getLastBlockHeight(config);
|
|
31
32
|
if (startAt > stopAt) {
|
|
32
33
|
return { items: [], next: String(startAt) };
|
|
33
34
|
}
|
|
34
35
|
const [vetOps, vthoOps] = await Promise.all([
|
|
35
|
-
getOperations(address, address, startAt, stopAt),
|
|
36
|
-
getTokenOperations(address, address, VTHO_ADDRESS, startAt, stopAt),
|
|
36
|
+
getOperations(config, address, address, startAt, stopAt),
|
|
37
|
+
getTokenOperations(config, address, address, VTHO_ADDRESS, startAt, stopAt),
|
|
37
38
|
]);
|
|
38
39
|
const items = [
|
|
39
40
|
...vetOps.map(op => toFrameworkOperation(op, NATIVE_ASSET)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listOperations.js","sourceRoot":"","sources":["../../../src/logic/history/listOperations.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"listOperations.js","sourceRoot":"","sources":["../../../src/logic/history/listOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { BroadcastConfig } from "@ledgerhq/coin-module-framework/api/types";
|
|
2
|
-
|
|
2
|
+
import type { VechainContext } from "../../config";
|
|
3
|
+
export declare function broadcast(context: VechainContext, tx: string, _broadcastConfig?: BroadcastConfig): Promise<string>;
|
|
3
4
|
//# sourceMappingURL=broadcast.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../../src/logic/transaction/broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../../src/logic/transaction/broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAKnD,wBAAsB,SAAS,CAC7B,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,MAAM,EACV,gBAAgB,CAAC,EAAE,eAAe,GACjC,OAAO,CAAC,MAAM,CAAC,CAKjB"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { submit } from "../../network";
|
|
2
2
|
// Submit a signed tx (hex from combine) via Thor POST /transactions.
|
|
3
|
-
export async function broadcast(tx, _broadcastConfig) {
|
|
3
|
+
export async function broadcast(context, tx, _broadcastConfig) {
|
|
4
|
+
const config = await context.config();
|
|
4
5
|
const encoded = Uint8Array.from(Buffer.from(tx.replace(/^0x/, ""), "hex"));
|
|
5
|
-
return submit({ encoded });
|
|
6
|
+
return submit(config, { encoded });
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=broadcast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../../src/logic/transaction/broadcast.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../../src/logic/transaction/broadcast.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGvC,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAuB,EACvB,EAAU,EACV,gBAAkC;IAElC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAE3E,OAAO,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAA2B,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function combine(tx: string, signature: string): string;
|
|
1
|
+
export declare function combine(tx: string, signature: string[]): string;
|
|
2
2
|
//# sourceMappingURL=combine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combine.d.ts","sourceRoot":"","sources":["../../../src/logic/transaction/combine.ts"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"combine.d.ts","sourceRoot":"","sources":["../../../src/logic/transaction/combine.ts"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAS/D"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { VechainSDKTransaction } from "../../types";
|
|
2
2
|
// Attach the signature to the crafted body and return the signed, hex-encoded tx for broadcast.
|
|
3
3
|
export function combine(tx, signature) {
|
|
4
|
+
if (signature.length !== 1) {
|
|
5
|
+
throw new Error(`VeChain combine expects exactly one signature, got ${signature.length}`);
|
|
6
|
+
}
|
|
4
7
|
const body = JSON.parse(tx);
|
|
5
|
-
const signed = VechainSDKTransaction.of(body, Buffer.from(signature, "hex"));
|
|
8
|
+
const signed = VechainSDKTransaction.of(body, Buffer.from(signature[0], "hex"));
|
|
6
9
|
return `0x${Buffer.from(signed.encoded).toString("hex")}`;
|
|
7
10
|
}
|
|
8
11
|
//# sourceMappingURL=combine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combine.js","sourceRoot":"","sources":["../../../src/logic/transaction/combine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,gGAAgG;AAChG,MAAM,UAAU,OAAO,CAAC,EAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"combine.js","sourceRoot":"","sources":["../../../src/logic/transaction/combine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,gGAAgG;AAChG,MAAM,UAAU,OAAO,CAAC,EAAU,EAAE,SAAmB;IACrD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,sDAAsD,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAA8B,CAAC;IACzD,MAAM,MAAM,GAAG,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhF,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5D,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { CraftedTransaction, FeeEstimation, TransactionIntent } from "@ledgerhq/coin-module-framework/api/index";
|
|
2
|
-
|
|
2
|
+
import { type VechainContext } from "../../config";
|
|
3
|
+
export declare function craftTransaction(context: VechainContext, intent: TransactionIntent, customFees?: FeeEstimation): Promise<CraftedTransaction>;
|
|
3
4
|
//# sourceMappingURL=craftTransaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../../src/logic/transaction/craftTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EAClB,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../../src/logic/transaction/craftTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EAClB,MAAM,2CAA2C,CAAC;AASnD,OAAO,EAAe,KAAK,cAAc,EAA8B,MAAM,cAAc,CAAC;AAmE5F,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,iBAAiB,EACzB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,kBAAkB,CAAC,CA0D7B"}
|
|
@@ -8,14 +8,14 @@ const EXPIRATION = 18;
|
|
|
8
8
|
function isTokenAsset(intent) {
|
|
9
9
|
return intent.asset.type !== "native";
|
|
10
10
|
}
|
|
11
|
-
async function resolveAmount(intent, isToken) {
|
|
11
|
+
async function resolveAmount(config, intent, isToken) {
|
|
12
12
|
if (!intent.useAllAmount) {
|
|
13
13
|
return new BigNumber(intent.amount.toString());
|
|
14
14
|
}
|
|
15
|
-
const { balance, energy } = await getAccount(intent.sender);
|
|
15
|
+
const { balance, energy } = await getAccount(config, intent.sender);
|
|
16
16
|
return new BigNumber((isToken ? energy : balance) || "0");
|
|
17
17
|
}
|
|
18
|
-
async function resolveGasFees(clauses, sender, customFees) {
|
|
18
|
+
async function resolveGasFees(config, clauses, sender, customFees) {
|
|
19
19
|
const custom = customFees?.parameters;
|
|
20
20
|
// Fast path: a full override covers every field, so skip the network round trip entirely.
|
|
21
21
|
if (custom?.gas !== undefined &&
|
|
@@ -27,8 +27,8 @@ async function resolveGasFees(clauses, sender, customFees) {
|
|
|
27
27
|
maxPriorityFeePerGas: Number(custom.maxPriorityFeePerGas),
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
-
const gasResult = await estimateGas(clauses, sender);
|
|
31
|
-
const thorClient = getThorClient();
|
|
30
|
+
const gasResult = await estimateGas(config, clauses, sender);
|
|
31
|
+
const thorClient = getThorClient(config);
|
|
32
32
|
const body = await thorClient.transactions.buildTransactionBody(clauses, gasResult.totalGas, {});
|
|
33
33
|
// Partial override: apply each provided field individually over the estimate, so e.g. a
|
|
34
34
|
// gas-only override is honoured instead of being discarded by an all-or-nothing check. Coerce
|
|
@@ -42,7 +42,7 @@ async function resolveGasFees(clauses, sender, customFees) {
|
|
|
42
42
|
}
|
|
43
43
|
// Craft an unsigned single-clause Thor tx (VET transfer, or VIP-180 transfer for VTHO). The returned
|
|
44
44
|
// transaction is the JSON VechainSDKTransactionBody that combine() parses back — keep them in sync.
|
|
45
|
-
export async function craftTransaction(intent, customFees) {
|
|
45
|
+
export async function craftTransaction(context, intent, customFees) {
|
|
46
46
|
if (!intent.recipient) {
|
|
47
47
|
throw new Error("vechain: recipient is required");
|
|
48
48
|
}
|
|
@@ -51,8 +51,9 @@ export async function craftTransaction(intent, customFees) {
|
|
|
51
51
|
if (!parseAddress(intent.sender)) {
|
|
52
52
|
throw new Error("vechain: invalid sender address");
|
|
53
53
|
}
|
|
54
|
+
const config = await context.config();
|
|
54
55
|
const isToken = isTokenAsset(intent);
|
|
55
|
-
let amount = await resolveAmount(intent, isToken);
|
|
56
|
+
let amount = await resolveAmount(config, intent, isToken);
|
|
56
57
|
if (amount.lte(0)) {
|
|
57
58
|
throw new Error("vechain: transaction amount must be positive");
|
|
58
59
|
}
|
|
@@ -60,8 +61,8 @@ export async function craftTransaction(intent, customFees) {
|
|
|
60
61
|
? await calculateClausesVtho(intent.recipient, amount)
|
|
61
62
|
: await calculateClausesVet(intent.recipient, amount);
|
|
62
63
|
const [{ gas, maxFeePerGas, maxPriorityFeePerGas }, blockRef] = await Promise.all([
|
|
63
|
-
resolveGasFees(clauses, intent.sender, customFees),
|
|
64
|
-
getBlockRef(),
|
|
64
|
+
resolveGasFees(config, clauses, intent.sender, customFees),
|
|
65
|
+
getBlockRef(config),
|
|
65
66
|
]);
|
|
66
67
|
const fee = new BigNumber(maxFeePerGas).times(gas);
|
|
67
68
|
if (intent.useAllAmount && isToken) {
|
|
@@ -72,7 +73,7 @@ export async function craftTransaction(intent, customFees) {
|
|
|
72
73
|
clauses = await calculateClausesVtho(intent.recipient, amount);
|
|
73
74
|
}
|
|
74
75
|
const body = {
|
|
75
|
-
chainTag: getChainTag(),
|
|
76
|
+
chainTag: getChainTag(config),
|
|
76
77
|
blockRef,
|
|
77
78
|
expiration: EXPIRATION,
|
|
78
79
|
clauses,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../../src/logic/transaction/craftTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../../src/logic/transaction/craftTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAmD,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGxD,MAAM,UAAU,GAAG,EAAE,CAAC;AAQtB,SAAS,YAAY,CAAC,MAAyB;IAC7C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAA6B,EAC7B,MAAyB,EACzB,OAAgB;IAEhB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACpE,OAAO,IAAI,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,MAA6B,EAC7B,OAAsC,EACtC,MAAc,EACd,UAA0B;IAE1B,MAAM,MAAM,GAAG,UAAU,EAAE,UAA+C,CAAC;IAE3E,0FAA0F;IAC1F,IACE,MAAM,EAAE,GAAG,KAAK,SAAS;QACzB,MAAM,CAAC,YAAY,KAAK,SAAS;QACjC,MAAM,CAAC,oBAAoB,KAAK,SAAS,EACzC,CAAC;QACD,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;YACvB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;YACzC,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC;SAC1D,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEjG,wFAAwF;IACxF,8FAA8F;IAC9F,8FAA8F;IAC9F,qFAAqF;IACrF,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC;QAC9C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC;QACtE,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,IAAI,GAAG,CAAC;KAC/F,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,oGAAoG;AACpG,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAuB,EACvB,MAAyB,EACzB,UAA0B;IAE1B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,+FAA+F;IAC/F,+EAA+E;IAC/E,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,OAAO,GAAG,OAAO;QACnB,CAAC,CAAC,MAAM,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;QACtD,CAAC,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAExD,MAAM,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,oBAAoB,EAAE,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChF,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;QAC1D,WAAW,CAAC,MAAM,CAAC;KACpB,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEnD,IAAI,MAAM,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;QACnC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,IAAI,GAA8B;QACtC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC;QAC7B,QAAQ;QACR,UAAU,EAAE,UAAU;QACtB,OAAO;QACP,GAAG;QACH,YAAY;QACZ,oBAAoB;QACpB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,aAAa,EAAE;KACvB,CAAC;IAEF,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACjC,OAAO,EAAE;YACP,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACnB,GAAG;YACH,YAAY;YACZ,oBAAoB;YACpB,cAAc,EAAE,OAAO;SACxB;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { FeeEstimation, TransactionIntent } from "@ledgerhq/coin-module-framework/api/index";
|
|
2
|
-
|
|
2
|
+
import type { VechainContext } from "../../config";
|
|
3
|
+
export declare function estimateFees(context: VechainContext, intent: TransactionIntent, customFeesParameters?: FeeEstimation["parameters"]): Promise<FeeEstimation>;
|
|
3
4
|
//# sourceMappingURL=estimateFees.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimateFees.d.ts","sourceRoot":"","sources":["../../../src/logic/transaction/estimateFees.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"estimateFees.d.ts","sourceRoot":"","sources":["../../../src/logic/transaction/estimateFees.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAElG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,iBAAiB,EACzB,oBAAoB,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,GACjD,OAAO,CAAC,aAAa,CAAC,CAwBxB"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { parseAddress } from "../../common-logic";
|
|
2
2
|
import { craftTransaction } from "./craftTransaction";
|
|
3
3
|
// Estimate VTHO gas by crafting the unsigned tx and reading back its settled fee/gas parameters.
|
|
4
|
-
export async function estimateFees(intent, customFeesParameters) {
|
|
4
|
+
export async function estimateFees(context, intent, customFeesParameters) {
|
|
5
5
|
if (!intent.recipient || !parseAddress(intent.recipient)) {
|
|
6
6
|
return { value: 0n, parameters: {} };
|
|
7
7
|
}
|
|
8
8
|
const estimationIntent = !intent.useAllAmount && intent.amount <= 0n ? { ...intent, amount: 1n } : intent;
|
|
9
|
-
const { details } = await craftTransaction(estimationIntent, customFeesParameters ? { value: 0n, parameters: customFeesParameters } : undefined);
|
|
9
|
+
const { details } = await craftTransaction(context, estimationIntent, customFeesParameters ? { value: 0n, parameters: customFeesParameters } : undefined);
|
|
10
10
|
const fee = typeof details?.fee === "string" ? details.fee : "0";
|
|
11
11
|
return {
|
|
12
12
|
value: BigInt(fee),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimateFees.js","sourceRoot":"","sources":["../../../src/logic/transaction/estimateFees.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"estimateFees.js","sourceRoot":"","sources":["../../../src/logic/transaction/estimateFees.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAuB,EACvB,MAAyB,EACzB,oBAAkD;IAElD,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,gBAAgB,GACpB,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAEnF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CACxC,OAAO,EACP,gBAAgB,EAChB,oBAAoB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,SAAS,CACnF,CAAC;IAEF,MAAM,GAAG,GAAG,OAAO,OAAO,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAEjE,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;QAClB,UAAU,EAAE;YACV,GAAG,EAAE,OAAO,EAAE,GAAG;YACjB,YAAY,EAAE,OAAO,EAAE,YAAY;YACnC,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;SACpD;KACF,CAAC;AACJ,CAAC"}
|