@ledgerhq/coin-vechain 2.2.0-next.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/.eslintrc.js +20 -0
- package/.turbo/turbo-build.log +4 -0
- package/.unimportedrc.json +74 -0
- package/CHANGELOG.md +1186 -0
- package/LICENSE.txt +21 -0
- package/jest.config.js +8 -0
- package/lib/account.d.ts +7 -0
- package/lib/account.d.ts.map +1 -0
- package/lib/account.js +19 -0
- package/lib/account.js.map +1 -0
- package/lib/bridge/broadcast.d.ts +8 -0
- package/lib/bridge/broadcast.d.ts.map +1 -0
- package/lib/bridge/broadcast.js +27 -0
- package/lib/bridge/broadcast.js.map +1 -0
- package/lib/bridge/buildOptimisticOperatioin.d.ts +4 -0
- package/lib/bridge/buildOptimisticOperatioin.d.ts.map +1 -0
- package/lib/bridge/buildOptimisticOperatioin.js +56 -0
- package/lib/bridge/buildOptimisticOperatioin.js.map +1 -0
- package/lib/bridge/createTransaction.d.ts +9 -0
- package/lib/bridge/createTransaction.d.ts.map +1 -0
- package/lib/bridge/createTransaction.js +36 -0
- package/lib/bridge/createTransaction.js.map +1 -0
- package/lib/bridge/estimateMaxSpendable.d.ts +4 -0
- package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -0
- package/lib/bridge/estimateMaxSpendable.js +29 -0
- package/lib/bridge/estimateMaxSpendable.js.map +1 -0
- package/lib/bridge/getTransactionStatus.d.ts +5 -0
- package/lib/bridge/getTransactionStatus.d.ts.map +1 -0
- package/lib/bridge/getTransactionStatus.js +76 -0
- package/lib/bridge/getTransactionStatus.js.map +1 -0
- package/lib/bridge/index.d.ts +10 -0
- package/lib/bridge/index.d.ts.map +1 -0
- package/lib/bridge/index.js +64 -0
- package/lib/bridge/index.js.map +1 -0
- package/lib/bridge/prepareTransaction.d.ts +10 -0
- package/lib/bridge/prepareTransaction.d.ts.map +1 -0
- package/lib/bridge/prepareTransaction.js +38 -0
- package/lib/bridge/prepareTransaction.js.map +1 -0
- package/lib/bridge/signOperation.d.ts +8 -0
- package/lib/bridge/signOperation.d.ts.map +1 -0
- package/lib/bridge/signOperation.js +43 -0
- package/lib/bridge/signOperation.js.map +1 -0
- package/lib/bridge/synchronisation.d.ts +4 -0
- package/lib/bridge/synchronisation.d.ts.map +1 -0
- package/lib/bridge/synchronisation.js +84 -0
- package/lib/bridge/synchronisation.js.map +1 -0
- package/lib/bridge/transaction.d.ts +17 -0
- package/lib/bridge/transaction.d.ts.map +1 -0
- package/lib/bridge/transaction.js +56 -0
- package/lib/bridge/transaction.js.map +1 -0
- package/lib/common-logic/address-utils.d.ts +2 -0
- package/lib/common-logic/address-utils.d.ts.map +1 -0
- package/lib/common-logic/address-utils.js +19 -0
- package/lib/common-logic/address-utils.js.map +1 -0
- package/lib/common-logic/hex-utils.d.ts +8 -0
- package/lib/common-logic/hex-utils.d.ts.map +1 -0
- package/lib/common-logic/hex-utils.js +52 -0
- package/lib/common-logic/hex-utils.js.map +1 -0
- package/lib/common-logic/index.d.ts +7 -0
- package/lib/common-logic/index.d.ts.map +1 -0
- package/lib/common-logic/index.js +23 -0
- package/lib/common-logic/index.js.map +1 -0
- package/lib/common-logic/logic.d.ts +5 -0
- package/lib/common-logic/logic.d.ts.map +1 -0
- package/lib/common-logic/logic.js +46 -0
- package/lib/common-logic/logic.js.map +1 -0
- package/lib/common-logic/mapping-utils.d.ts +5 -0
- package/lib/common-logic/mapping-utils.d.ts.map +1 -0
- package/lib/common-logic/mapping-utils.js +61 -0
- package/lib/common-logic/mapping-utils.js.map +1 -0
- package/lib/common-logic/pad-address.d.ts +2 -0
- package/lib/common-logic/pad-address.d.ts.map +1 -0
- package/lib/common-logic/pad-address.js +13 -0
- package/lib/common-logic/pad-address.js.map +1 -0
- package/lib/common-logic/transaction-utils.d.ts +30 -0
- package/lib/common-logic/transaction-utils.d.ts.map +1 -0
- package/lib/common-logic/transaction-utils.js +164 -0
- package/lib/common-logic/transaction-utils.js.map +1 -0
- package/lib/config.d.ts +5 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +17 -0
- package/lib/config.js.map +1 -0
- package/lib/contracts/abis/VIP180.d.ts +17 -0
- package/lib/contracts/abis/VIP180.d.ts.map +1 -0
- package/lib/contracts/abis/VIP180.js +265 -0
- package/lib/contracts/abis/VIP180.js.map +1 -0
- package/lib/contracts/abis/params.d.ts +8 -0
- package/lib/contracts/abis/params.d.ts.map +1 -0
- package/lib/contracts/abis/params.js +69 -0
- package/lib/contracts/abis/params.js.map +1 -0
- package/lib/contracts/constants.d.ts +6 -0
- package/lib/contracts/constants.d.ts.map +1 -0
- package/lib/contracts/constants.js +10 -0
- package/lib/contracts/constants.js.map +1 -0
- package/lib/datasets/index.d.ts +3 -0
- package/lib/datasets/index.d.ts.map +1 -0
- package/lib/datasets/index.js +23 -0
- package/lib/datasets/index.js.map +1 -0
- package/lib/datasets/vechain.d.ts +5 -0
- package/lib/datasets/vechain.d.ts.map +1 -0
- package/lib/datasets/vechain.js +91 -0
- package/lib/datasets/vechain.js.map +1 -0
- package/lib/datasets/vechain.scanAccounts.1.d.ts +6 -0
- package/lib/datasets/vechain.scanAccounts.1.d.ts.map +1 -0
- package/lib/datasets/vechain.scanAccounts.1.js +16 -0
- package/lib/datasets/vechain.scanAccounts.1.js.map +1 -0
- package/lib/errors.d.ts +10 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +8 -0
- package/lib/errors.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +6 -0
- package/lib/index.js.map +1 -0
- package/lib/mock.d.ts +9 -0
- package/lib/mock.d.ts.map +1 -0
- package/lib/mock.js +13 -0
- package/lib/mock.js.map +1 -0
- package/lib/network/index.d.ts +3 -0
- package/lib/network/index.d.ts.map +1 -0
- package/lib/network/index.js +22 -0
- package/lib/network/index.js.map +1 -0
- package/lib/network/sdk.d.ts +47 -0
- package/lib/network/sdk.d.ts.map +1 -0
- package/lib/network/sdk.js +164 -0
- package/lib/network/sdk.js.map +1 -0
- package/lib/signer/getAddress.d.ts +6 -0
- package/lib/signer/getAddress.d.ts.map +1 -0
- package/lib/signer/getAddress.js +32 -0
- package/lib/signer/getAddress.js.map +1 -0
- package/lib/signer/index.d.ts +4 -0
- package/lib/signer/index.d.ts.map +1 -0
- package/lib/signer/index.js +23 -0
- package/lib/signer/index.js.map +1 -0
- package/lib/signer/signMessage.d.ts +4 -0
- package/lib/signer/signMessage.d.ts.map +1 -0
- package/lib/signer/signMessage.js +31 -0
- package/lib/signer/signMessage.js.map +1 -0
- package/lib/test/bot-deviceActions.d.ts +7 -0
- package/lib/test/bot-deviceActions.d.ts.map +1 -0
- package/lib/test/bot-deviceActions.js +23 -0
- package/lib/test/bot-deviceActions.js.map +1 -0
- package/lib/test/bot-specs.d.ts +8 -0
- package/lib/test/bot-specs.d.ts.map +1 -0
- package/lib/test/bot-specs.js +161 -0
- package/lib/test/bot-specs.js.map +1 -0
- package/lib/test/bridgeDatasetTest.d.ts +4 -0
- package/lib/test/bridgeDatasetTest.d.ts.map +1 -0
- package/lib/test/bridgeDatasetTest.js +252 -0
- package/lib/test/bridgeDatasetTest.js.map +1 -0
- package/lib/test/cli.d.ts +17 -0
- package/lib/test/cli.d.ts.map +1 -0
- package/lib/test/cli.js +51 -0
- package/lib/test/cli.js.map +1 -0
- package/lib/test/index.d.ts +6 -0
- package/lib/test/index.d.ts.map +1 -0
- package/lib/test/index.js +26 -0
- package/lib/test/index.js.map +1 -0
- package/lib/types/bridge.d.ts +25 -0
- package/lib/types/bridge.d.ts.map +1 -0
- package/lib/types/bridge.js +3 -0
- package/lib/types/bridge.js.map +1 -0
- package/lib/types/constants.d.ts +6 -0
- package/lib/types/constants.d.ts.map +1 -0
- package/lib/types/constants.js +9 -0
- package/lib/types/constants.js.map +1 -0
- package/lib/types/index.d.ts +5 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +21 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/network.d.ts +71 -0
- package/lib/types/network.d.ts.map +1 -0
- package/lib/types/network.js +3 -0
- package/lib/types/network.js.map +1 -0
- package/lib/types/signer.d.ts +12 -0
- package/lib/types/signer.d.ts.map +1 -0
- package/lib/types/signer.js +3 -0
- package/lib/types/signer.js.map +1 -0
- package/lib-es/account.d.ts +7 -0
- package/lib-es/account.d.ts.map +1 -0
- package/lib-es/account.js +17 -0
- package/lib-es/account.js.map +1 -0
- package/lib-es/bridge/broadcast.d.ts +8 -0
- package/lib-es/bridge/broadcast.d.ts.map +1 -0
- package/lib-es/bridge/broadcast.js +23 -0
- package/lib-es/bridge/broadcast.js.map +1 -0
- package/lib-es/bridge/buildOptimisticOperatioin.d.ts +4 -0
- package/lib-es/bridge/buildOptimisticOperatioin.d.ts.map +1 -0
- package/lib-es/bridge/buildOptimisticOperatioin.js +49 -0
- package/lib-es/bridge/buildOptimisticOperatioin.js.map +1 -0
- package/lib-es/bridge/createTransaction.d.ts +9 -0
- package/lib-es/bridge/createTransaction.d.ts.map +1 -0
- package/lib-es/bridge/createTransaction.js +29 -0
- package/lib-es/bridge/createTransaction.js.map +1 -0
- package/lib-es/bridge/estimateMaxSpendable.d.ts +4 -0
- package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -0
- package/lib-es/bridge/estimateMaxSpendable.js +22 -0
- package/lib-es/bridge/estimateMaxSpendable.js.map +1 -0
- package/lib-es/bridge/getTransactionStatus.d.ts +5 -0
- package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -0
- package/lib-es/bridge/getTransactionStatus.js +69 -0
- package/lib-es/bridge/getTransactionStatus.js.map +1 -0
- package/lib-es/bridge/index.d.ts +10 -0
- package/lib-es/bridge/index.d.ts.map +1 -0
- package/lib-es/bridge/index.js +55 -0
- package/lib-es/bridge/index.js.map +1 -0
- package/lib-es/bridge/prepareTransaction.d.ts +10 -0
- package/lib-es/bridge/prepareTransaction.d.ts.map +1 -0
- package/lib-es/bridge/prepareTransaction.js +34 -0
- package/lib-es/bridge/prepareTransaction.js.map +1 -0
- package/lib-es/bridge/signOperation.d.ts +8 -0
- package/lib-es/bridge/signOperation.d.ts.map +1 -0
- package/lib-es/bridge/signOperation.js +39 -0
- package/lib-es/bridge/signOperation.js.map +1 -0
- package/lib-es/bridge/synchronisation.d.ts +4 -0
- package/lib-es/bridge/synchronisation.d.ts.map +1 -0
- package/lib-es/bridge/synchronisation.js +77 -0
- package/lib-es/bridge/synchronisation.js.map +1 -0
- package/lib-es/bridge/transaction.d.ts +17 -0
- package/lib-es/bridge/transaction.d.ts.map +1 -0
- package/lib-es/bridge/transaction.js +48 -0
- package/lib-es/bridge/transaction.js.map +1 -0
- package/lib-es/common-logic/address-utils.d.ts +2 -0
- package/lib-es/common-logic/address-utils.d.ts.map +1 -0
- package/lib-es/common-logic/address-utils.js +12 -0
- package/lib-es/common-logic/address-utils.js.map +1 -0
- package/lib-es/common-logic/hex-utils.d.ts +8 -0
- package/lib-es/common-logic/hex-utils.d.ts.map +1 -0
- package/lib-es/common-logic/hex-utils.js +50 -0
- package/lib-es/common-logic/hex-utils.js.map +1 -0
- package/lib-es/common-logic/index.d.ts +7 -0
- package/lib-es/common-logic/index.d.ts.map +1 -0
- package/lib-es/common-logic/index.js +7 -0
- package/lib-es/common-logic/index.js.map +1 -0
- package/lib-es/common-logic/logic.d.ts +5 -0
- package/lib-es/common-logic/logic.d.ts.map +1 -0
- package/lib-es/common-logic/logic.js +38 -0
- package/lib-es/common-logic/logic.js.map +1 -0
- package/lib-es/common-logic/mapping-utils.d.ts +5 -0
- package/lib-es/common-logic/mapping-utils.d.ts.map +1 -0
- package/lib-es/common-logic/mapping-utils.js +53 -0
- package/lib-es/common-logic/mapping-utils.js.map +1 -0
- package/lib-es/common-logic/pad-address.d.ts +2 -0
- package/lib-es/common-logic/pad-address.d.ts.map +1 -0
- package/lib-es/common-logic/pad-address.js +9 -0
- package/lib-es/common-logic/pad-address.js.map +1 -0
- package/lib-es/common-logic/transaction-utils.d.ts +30 -0
- package/lib-es/common-logic/transaction-utils.d.ts.map +1 -0
- package/lib-es/common-logic/transaction-utils.js +153 -0
- package/lib-es/common-logic/transaction-utils.js.map +1 -0
- package/lib-es/config.d.ts +5 -0
- package/lib-es/config.d.ts.map +1 -0
- package/lib-es/config.js +12 -0
- package/lib-es/config.js.map +1 -0
- package/lib-es/contracts/abis/VIP180.d.ts +17 -0
- package/lib-es/contracts/abis/VIP180.d.ts.map +1 -0
- package/lib-es/contracts/abis/VIP180.js +263 -0
- package/lib-es/contracts/abis/VIP180.js.map +1 -0
- package/lib-es/contracts/abis/params.d.ts +8 -0
- package/lib-es/contracts/abis/params.d.ts.map +1 -0
- package/lib-es/contracts/abis/params.js +67 -0
- package/lib-es/contracts/abis/params.js.map +1 -0
- package/lib-es/contracts/constants.d.ts +6 -0
- package/lib-es/contracts/constants.d.ts.map +1 -0
- package/lib-es/contracts/constants.js +7 -0
- package/lib-es/contracts/constants.js.map +1 -0
- package/lib-es/datasets/index.d.ts +3 -0
- package/lib-es/datasets/index.d.ts.map +1 -0
- package/lib-es/datasets/index.js +3 -0
- package/lib-es/datasets/index.js.map +1 -0
- package/lib-es/datasets/vechain.d.ts +5 -0
- package/lib-es/datasets/vechain.d.ts.map +1 -0
- package/lib-es/datasets/vechain.js +88 -0
- package/lib-es/datasets/vechain.js.map +1 -0
- package/lib-es/datasets/vechain.scanAccounts.1.d.ts +6 -0
- package/lib-es/datasets/vechain.scanAccounts.1.d.ts.map +1 -0
- package/lib-es/datasets/vechain.scanAccounts.1.js +14 -0
- package/lib-es/datasets/vechain.scanAccounts.1.js.map +1 -0
- package/lib-es/errors.d.ts +10 -0
- package/lib-es/errors.d.ts.map +1 -0
- package/lib-es/errors.js +5 -0
- package/lib-es/errors.js.map +1 -0
- package/lib-es/index.d.ts +2 -0
- package/lib-es/index.d.ts.map +1 -0
- package/lib-es/index.js +2 -0
- package/lib-es/index.js.map +1 -0
- package/lib-es/mock.d.ts +9 -0
- package/lib-es/mock.d.ts.map +1 -0
- package/lib-es/mock.js +11 -0
- package/lib-es/mock.js.map +1 -0
- package/lib-es/network/index.d.ts +3 -0
- package/lib-es/network/index.d.ts.map +1 -0
- package/lib-es/network/index.js +3 -0
- package/lib-es/network/index.js.map +1 -0
- package/lib-es/network/sdk.d.ts +47 -0
- package/lib-es/network/sdk.d.ts.map +1 -0
- package/lib-es/network/sdk.js +150 -0
- package/lib-es/network/sdk.js.map +1 -0
- package/lib-es/signer/getAddress.d.ts +6 -0
- package/lib-es/signer/getAddress.d.ts.map +1 -0
- package/lib-es/signer/getAddress.js +27 -0
- package/lib-es/signer/getAddress.js.map +1 -0
- package/lib-es/signer/index.d.ts +4 -0
- package/lib-es/signer/index.d.ts.map +1 -0
- package/lib-es/signer/index.js +4 -0
- package/lib-es/signer/index.js.map +1 -0
- package/lib-es/signer/signMessage.d.ts +4 -0
- package/lib-es/signer/signMessage.d.ts.map +1 -0
- package/lib-es/signer/signMessage.js +27 -0
- package/lib-es/signer/signMessage.js.map +1 -0
- package/lib-es/test/bot-deviceActions.d.ts +7 -0
- package/lib-es/test/bot-deviceActions.d.ts.map +1 -0
- package/lib-es/test/bot-deviceActions.js +21 -0
- package/lib-es/test/bot-deviceActions.js.map +1 -0
- package/lib-es/test/bot-specs.d.ts +8 -0
- package/lib-es/test/bot-specs.d.ts.map +1 -0
- package/lib-es/test/bot-specs.js +156 -0
- package/lib-es/test/bot-specs.js.map +1 -0
- package/lib-es/test/bridgeDatasetTest.d.ts +4 -0
- package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -0
- package/lib-es/test/bridgeDatasetTest.js +246 -0
- package/lib-es/test/bridgeDatasetTest.js.map +1 -0
- package/lib-es/test/cli.d.ts +17 -0
- package/lib-es/test/cli.d.ts.map +1 -0
- package/lib-es/test/cli.js +45 -0
- package/lib-es/test/cli.js.map +1 -0
- package/lib-es/test/index.d.ts +6 -0
- package/lib-es/test/index.d.ts.map +1 -0
- package/lib-es/test/index.js +6 -0
- package/lib-es/test/index.js.map +1 -0
- package/lib-es/types/bridge.d.ts +25 -0
- package/lib-es/types/bridge.d.ts.map +1 -0
- package/lib-es/types/bridge.js +2 -0
- package/lib-es/types/bridge.js.map +1 -0
- package/lib-es/types/constants.d.ts +6 -0
- package/lib-es/types/constants.d.ts.map +1 -0
- package/lib-es/types/constants.js +6 -0
- package/lib-es/types/constants.js.map +1 -0
- package/lib-es/types/index.d.ts +5 -0
- package/lib-es/types/index.d.ts.map +1 -0
- package/lib-es/types/index.js +5 -0
- package/lib-es/types/index.js.map +1 -0
- package/lib-es/types/network.d.ts +71 -0
- package/lib-es/types/network.d.ts.map +1 -0
- package/lib-es/types/network.js +2 -0
- package/lib-es/types/network.js.map +1 -0
- package/lib-es/types/signer.d.ts +12 -0
- package/lib-es/types/signer.d.ts.map +1 -0
- package/lib-es/types/signer.js +2 -0
- package/lib-es/types/signer.js.map +1 -0
- package/package.json +120 -0
- package/src/__snapshots__/bridge.integration.test.ts.snap +146 -0
- package/src/account.ts +22 -0
- package/src/bridge/broadcast.ts +23 -0
- package/src/bridge/buildOptimisticOperatioin.ts +46 -0
- package/src/bridge/createTransaction.ts +31 -0
- package/src/bridge/estimateMaxSpendable.ts +18 -0
- package/src/bridge/getTransactionStatus.ts +76 -0
- package/src/bridge/index.ts +63 -0
- package/src/bridge/prepareTransaction.ts +41 -0
- package/src/bridge/signOperation.ts +53 -0
- package/src/bridge/synchronisation.ts +86 -0
- package/src/bridge/transaction.ts +79 -0
- package/src/common-logic/address-utils.ts +11 -0
- package/src/common-logic/hex-utils.ts +53 -0
- package/src/common-logic/index.ts +6 -0
- package/src/common-logic/logic.ts +44 -0
- package/src/common-logic/mapping-utils.ts +67 -0
- package/src/common-logic/pad-address.ts +8 -0
- package/src/common-logic/transaction-utils.ts +190 -0
- package/src/config.ts +18 -0
- package/src/contracts/abis/VIP180.ts +265 -0
- package/src/contracts/abis/params.ts +70 -0
- package/src/contracts/constants.ts +11 -0
- package/src/datasets/index.ts +2 -0
- package/src/datasets/vechain.scanAccounts.1.ts +13 -0
- package/src/datasets/vechain.ts +92 -0
- package/src/errors.ts +7 -0
- package/src/index.ts +1 -0
- package/src/mock.ts +14 -0
- package/src/network/index.ts +2 -0
- package/src/network/sdk.ts +177 -0
- package/src/signer/getAddress.ts +25 -0
- package/src/signer/index.ts +4 -0
- package/src/signer/signMessage.ts +22 -0
- package/src/test/bot-deviceActions.ts +24 -0
- package/src/test/bot-specs.ts +210 -0
- package/src/test/bridgeDatasetTest.ts +262 -0
- package/src/test/cli.ts +86 -0
- package/src/test/index.ts +6 -0
- package/src/types/bridge.ts +35 -0
- package/src/types/constants.ts +5 -0
- package/src/types/index.ts +4 -0
- package/src/types/network.ts +81 -0
- package/src/types/signer.ts +10 -0
- package/tsconfig.json +13 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { calculateTransactionInfo, isValid, calculateClausesVet, calculateClausesVtho, } from "../common-logic";
|
|
11
|
+
import { getBlockRef } from "../network";
|
|
12
|
+
/**
|
|
13
|
+
* Prepare transaction before checking status
|
|
14
|
+
*
|
|
15
|
+
* @param {Account} a
|
|
16
|
+
* @param {Transaction} t
|
|
17
|
+
*/
|
|
18
|
+
export const prepareTransaction = (account, transaction) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
+
const { amount, isTokenAccount, estimatedFees, estimatedGas } = yield calculateTransactionInfo(account, transaction);
|
|
20
|
+
let blockRef = "";
|
|
21
|
+
let clauses = [];
|
|
22
|
+
if (transaction.recipient && isValid(transaction.recipient)) {
|
|
23
|
+
blockRef = yield getBlockRef();
|
|
24
|
+
if (isTokenAccount) {
|
|
25
|
+
clauses = yield calculateClausesVtho(transaction.recipient, amount);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
clauses = yield calculateClausesVet(transaction.recipient, amount);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const body = Object.assign(Object.assign({}, transaction.body), { gas: estimatedGas, blockRef, clauses });
|
|
32
|
+
return Object.assign(Object.assign({}, transaction), { body, amount, estimatedFees });
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=prepareTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EACL,wBAAwB,EACxB,OAAO,EACP,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAAgB,EAChB,WAAwB,EACF,EAAE;IACxB,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,wBAAwB,CAC5F,OAAO,EACP,WAAW,CACZ,CAAC;IAEF,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,IAAI,OAAO,GAAyC,EAAE,CAAC;IACvD,IAAI,WAAW,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;QAC/B,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,mCAAQ,WAAW,CAAC,IAAI,KAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,GAAE,CAAC;IAC3E,uCAAY,WAAW,KAAE,IAAI,EAAE,MAAM,EAAE,aAAa,IAAG;AACzD,CAAC,CAAA,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AccountBridge } from "@ledgerhq/types-live";
|
|
2
|
+
import { SignerContext } from "@ledgerhq/coin-framework/signer";
|
|
3
|
+
import type { Transaction, VechainSigner } from "../types";
|
|
4
|
+
/**
|
|
5
|
+
* Sign Transaction with Ledger hardware
|
|
6
|
+
*/
|
|
7
|
+
export declare const buildSignOperation: (signerContext: SignerContext<VechainSigner>) => AccountBridge<Transaction>["signOperation"];
|
|
8
|
+
//# sourceMappingURL=signOperation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,aAAa,EAAgC,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,kBAAkB,kBACb,cAAc,aAAa,CAAC,KAAG,cAAc,WAAW,CAAC,CAAC,eAAe,CAyCrF,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { Observable } from "rxjs";
|
|
11
|
+
import { Transaction as ThorTransaction } from "thor-devkit";
|
|
12
|
+
import { buildOptimisticOperation } from "./buildOptimisticOperatioin";
|
|
13
|
+
/**
|
|
14
|
+
* Sign Transaction with Ledger hardware
|
|
15
|
+
*/
|
|
16
|
+
export const buildSignOperation = (signerContext) => ({ account, transaction, deviceId, }) => new Observable(o => {
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
18
|
+
function main() {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const unsigned = new ThorTransaction(transaction.body);
|
|
21
|
+
o.next({
|
|
22
|
+
type: "device-signature-requested",
|
|
23
|
+
});
|
|
24
|
+
const signature = yield signerContext(deviceId, signer => signer.signTransaction(account.freshAddressPath, unsigned.encode().toString("hex")));
|
|
25
|
+
o.next({ type: "device-signature-granted" });
|
|
26
|
+
const operation = yield buildOptimisticOperation(account, transaction);
|
|
27
|
+
o.next({
|
|
28
|
+
type: "signed",
|
|
29
|
+
signedOperation: {
|
|
30
|
+
operation,
|
|
31
|
+
signature: signature.toString("hex"),
|
|
32
|
+
rawData: transaction,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
main().then(() => o.complete(), e => o.error(e));
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=signOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAGvE;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAC7B,CAAC,aAA2C,EAA+C,EAAE,CAC7F,CAAC,EACC,OAAO,EACP,WAAW,EACX,QAAQ,GAKT,EAAkC,EAAE,CACnC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;IACjB,4EAA4E;IAC5E,SAAe,IAAI;;YACjB,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEvD,CAAC,CAAC,IAAI,CAAC;gBACL,IAAI,EAAE,4BAA4B;aACnC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACvD,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACpF,CAAC;YAEF,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC;YAE7C,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAEvE,CAAC,CAAC,IAAI,CAAC;gBACL,IAAI,EAAE,QAAQ;gBACd,eAAe,EAAE;oBACf,SAAS;oBACT,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACpC,OAAO,EAAE,WAAW;iBACrB;aACF,CAAC,CAAC;QACL,CAAC;KAAA;IAED,IAAI,EAAE,CAAC,IAAI,CACT,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,EAClB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAChB,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"synchronisation.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,OAAO,CAsEpD,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { BigNumber } from "bignumber.js";
|
|
11
|
+
import eip55 from "eip55";
|
|
12
|
+
import { emptyHistoryCache, encodeAccountId, encodeTokenAccountId, } from "@ledgerhq/coin-framework/account/index";
|
|
13
|
+
import { getAccount, getLastBlockHeight, getOperations, getTokenOperations } from "../network";
|
|
14
|
+
import { findTokenById, getTokenById } from "@ledgerhq/cryptoassets/tokens";
|
|
15
|
+
import { VTHO_ADDRESS } from "../contracts/constants";
|
|
16
|
+
import { mergeOps } from "@ledgerhq/coin-framework/bridge/jsHelpers";
|
|
17
|
+
export const getAccountShape = (info) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
const { initialAccount, currency, derivationMode } = info;
|
|
20
|
+
const address = eip55.encode(info.address);
|
|
21
|
+
const oldOperations = (initialAccount === null || initialAccount === void 0 ? void 0 : initialAccount.operations) || [];
|
|
22
|
+
const startAt = oldOperations.length ? (oldOperations[0].blockHeight || 0) + 1 : 1;
|
|
23
|
+
const accountId = encodeAccountId({
|
|
24
|
+
type: "js",
|
|
25
|
+
version: "2",
|
|
26
|
+
currencyId: currency.id,
|
|
27
|
+
xpubOrAddress: address,
|
|
28
|
+
derivationMode,
|
|
29
|
+
});
|
|
30
|
+
// get the current account balance state depending your api implementation
|
|
31
|
+
const { balance, energy } = yield getAccount(address);
|
|
32
|
+
// get the current block height
|
|
33
|
+
const blockHeight = yield getLastBlockHeight();
|
|
34
|
+
// Merge new operations with the previously synced ones
|
|
35
|
+
const newOperations = yield getOperations(accountId, address, startAt);
|
|
36
|
+
//Get last token operations
|
|
37
|
+
const vthoAccountId = encodeTokenAccountId(accountId, findTokenById("vechain/vip180/vtho"));
|
|
38
|
+
const vthoOperations = yield getTokenOperations(vthoAccountId, address, VTHO_ADDRESS, 1); // from parameter must be 1 otherwise the response is empty
|
|
39
|
+
const operations = mergeOps(oldOperations, newOperations);
|
|
40
|
+
//Account creation date set to now if there are no operation or at the first operation on the account
|
|
41
|
+
let minDate = -1;
|
|
42
|
+
if (operations.length != 0) {
|
|
43
|
+
const operationsDates = operations.map(c => c.date.getTime());
|
|
44
|
+
operationsDates.concat(vthoOperations.map(c => c.date.getTime()));
|
|
45
|
+
minDate = Math.min(...operationsDates);
|
|
46
|
+
}
|
|
47
|
+
const shape = {
|
|
48
|
+
id: accountId,
|
|
49
|
+
balance: new BigNumber(balance),
|
|
50
|
+
creationDate: minDate != -1 ? new Date(minDate) : new Date(),
|
|
51
|
+
spendableBalance: new BigNumber(balance),
|
|
52
|
+
operationsCount: operations.length,
|
|
53
|
+
operations,
|
|
54
|
+
blockHeight,
|
|
55
|
+
feesCurrency: getTokenById("vechain/vip180/vtho"),
|
|
56
|
+
subAccounts: [
|
|
57
|
+
{
|
|
58
|
+
type: "TokenAccount",
|
|
59
|
+
id: vthoAccountId,
|
|
60
|
+
parentId: accountId,
|
|
61
|
+
token: getTokenById("vechain/vip180/vtho"),
|
|
62
|
+
balance: new BigNumber(energy),
|
|
63
|
+
spendableBalance: new BigNumber(energy),
|
|
64
|
+
creationDate: minDate != -1 ? new Date(minDate) : new Date(),
|
|
65
|
+
operationsCount: vthoOperations.length,
|
|
66
|
+
operations: vthoOperations,
|
|
67
|
+
blockHeight,
|
|
68
|
+
pendingOperations: ((initialAccount === null || initialAccount === void 0 ? void 0 : initialAccount.subAccounts) && ((_a = initialAccount.subAccounts[0]) === null || _a === void 0 ? void 0 : _a.pendingOperations)) || [],
|
|
69
|
+
balanceHistoryCache: ((initialAccount === null || initialAccount === void 0 ? void 0 : initialAccount.subAccounts) && ((_b = initialAccount.subAccounts[0]) === null || _b === void 0 ? void 0 : _b.balanceHistoryCache)) ||
|
|
70
|
+
emptyHistoryCache,
|
|
71
|
+
swapHistory: [],
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
};
|
|
75
|
+
return shape;
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=synchronisation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Transaction, TransactionRaw, TransactionStatus, TransactionStatusRaw } from "../types";
|
|
2
|
+
import type { Account } from "@ledgerhq/types-live";
|
|
3
|
+
export declare const formatTransaction: (t: Transaction, account: Account) => string;
|
|
4
|
+
export declare const fromTransactionRaw: (tr: TransactionRaw) => Transaction;
|
|
5
|
+
export declare const toTransactionRaw: (t: Transaction) => TransactionRaw;
|
|
6
|
+
export declare const fromTransactionStatusRaw: (ts: TransactionStatusRaw) => TransactionStatus;
|
|
7
|
+
export declare const toTransactionStatusRaw: (ts: TransactionStatus) => TransactionStatusRaw;
|
|
8
|
+
declare const _default: {
|
|
9
|
+
formatTransaction: (t: Transaction, account: Account) => string;
|
|
10
|
+
formatTransactionStatus: (t: import("@ledgerhq/types-live").TransactionCommon, { errors, warnings, estimatedFees, amount, totalSpent }: import("@ledgerhq/types-live").TransactionStatusCommon, mainAccount: Account) => string;
|
|
11
|
+
fromTransactionRaw: (tr: TransactionRaw) => Transaction;
|
|
12
|
+
toTransactionRaw: (t: Transaction) => TransactionRaw;
|
|
13
|
+
fromTransactionStatusRaw: (ts: import("@ledgerhq/types-live").TransactionStatusCommonRaw) => import("@ledgerhq/types-live").TransactionStatusCommon;
|
|
14
|
+
toTransactionStatusRaw: (ts: import("@ledgerhq/types-live").TransactionStatusCommon) => import("@ledgerhq/types-live").TransactionStatusCommonRaw;
|
|
15
|
+
};
|
|
16
|
+
export default _default;
|
|
17
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/bridge/transaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,UAAU,CAAC;AASlB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,eAAO,MAAM,iBAAiB,MAAO,WAAW,WAAW,OAAO,KAAG,MAgBpE,CAAC;AAEF,eAAO,MAAM,kBAAkB,OAAQ,cAAc,KAAG,WAOvD,CAAC;AAEF,eAAO,MAAM,gBAAgB,MAAO,WAAW,KAAG,cAOjD,CAAC;AAEF,eAAO,MAAM,wBAAwB,OAAQ,oBAAoB,KAAG,iBAOnE,CAAC;AAEF,eAAO,MAAM,sBAAsB,OAAQ,iBAAiB,KAAG,oBAO9D,CAAC;;;;;;;;;AAEF,wBAOE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { getAccountCurrency } from "@ledgerhq/coin-framework/account/index";
|
|
2
|
+
import { formatTransactionStatus } from "@ledgerhq/coin-framework/formatters";
|
|
3
|
+
import { formatCurrencyUnit } from "@ledgerhq/coin-framework/currencies/index";
|
|
4
|
+
import { fromTransactionCommonRaw, fromTransactionStatusRawCommon, toTransactionCommonRaw, toTransactionStatusRawCommon, } from "@ledgerhq/coin-framework/serialization";
|
|
5
|
+
export const formatTransaction = (t, account) => {
|
|
6
|
+
const { amount, recipient, useAllAmount } = t;
|
|
7
|
+
let displayedAmount;
|
|
8
|
+
if (useAllAmount) {
|
|
9
|
+
displayedAmount = "MAX";
|
|
10
|
+
}
|
|
11
|
+
else if (amount.isZero()) {
|
|
12
|
+
displayedAmount = "";
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
displayedAmount =
|
|
16
|
+
" " +
|
|
17
|
+
formatCurrencyUnit(getAccountCurrency(account).units[0], amount, {
|
|
18
|
+
showCode: true,
|
|
19
|
+
disableRounding: true,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return `SEND ${displayedAmount} TO ${recipient}`;
|
|
23
|
+
};
|
|
24
|
+
export const fromTransactionRaw = (tr) => {
|
|
25
|
+
const common = fromTransactionCommonRaw(tr);
|
|
26
|
+
return Object.assign(Object.assign({}, tr), common);
|
|
27
|
+
};
|
|
28
|
+
export const toTransactionRaw = (t) => {
|
|
29
|
+
const common = toTransactionCommonRaw(t);
|
|
30
|
+
return Object.assign(Object.assign({}, t), common);
|
|
31
|
+
};
|
|
32
|
+
export const fromTransactionStatusRaw = (ts) => {
|
|
33
|
+
const common = fromTransactionStatusRawCommon(ts);
|
|
34
|
+
return Object.assign(Object.assign({}, ts), common);
|
|
35
|
+
};
|
|
36
|
+
export const toTransactionStatusRaw = (ts) => {
|
|
37
|
+
const common = toTransactionStatusRawCommon(ts);
|
|
38
|
+
return Object.assign(Object.assign({}, ts), common);
|
|
39
|
+
};
|
|
40
|
+
export default {
|
|
41
|
+
formatTransaction,
|
|
42
|
+
formatTransactionStatus,
|
|
43
|
+
fromTransactionRaw,
|
|
44
|
+
toTransactionRaw,
|
|
45
|
+
fromTransactionStatusRaw,
|
|
46
|
+
toTransactionStatusRaw,
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/bridge/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAO5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,wCAAwC,CAAC;AAGhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAc,EAAE,OAAgB,EAAU,EAAE;IAC5E,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAI,eAAuB,CAAC;IAC5B,IAAI,YAAY,EAAE,CAAC;QACjB,eAAe,GAAG,KAAK,CAAC;IAC1B,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3B,eAAe,GAAG,EAAE,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,eAAe;YACb,GAAG;gBACH,kBAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;oBAC/D,QAAQ,EAAE,IAAI;oBACd,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAC;IACP,CAAC;IACD,OAAO,QAAQ,eAAe,OAAO,SAAS,EAAE,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAkB,EAAe,EAAE;IACpE,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAE5C,uCACK,EAAE,GACF,MAAM,EACT;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAc,EAAkB,EAAE;IACjE,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAEzC,uCACK,CAAC,GACD,MAAM,EACT;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EAAwB,EAAqB,EAAE;IACtF,MAAM,MAAM,GAAG,8BAA8B,CAAC,EAAE,CAAC,CAAC;IAElD,uCACK,EAAE,GACF,MAAM,EACT;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAqB,EAAwB,EAAE;IACpF,MAAM,MAAM,GAAG,4BAA4B,CAAC,EAAE,CAAC,CAAC;IAEhD,uCACK,EAAE,GACF,MAAM,EACT;AACJ,CAAC,CAAC;AAEF,eAAe;IACb,iBAAiB;IACjB,uBAAuB;IACvB,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,sBAAsB;CACvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address-utils.d.ts","sourceRoot":"","sources":["../../src/common-logic/address-utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,SAAU,MAAM,KAAG,OAOtC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { address } from "thor-devkit";
|
|
2
|
+
import hexUtils from "./hex-utils";
|
|
3
|
+
export const isValid = (addr) => {
|
|
4
|
+
try {
|
|
5
|
+
address.toChecksumed(hexUtils.addPrefix(addr));
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
catch (e) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=address-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address-utils.js","sourceRoot":"","sources":["../../src/common-logic/address-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAW,EAAE;IAC/C,IAAI,CAAC;QACH,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hex-utils.d.ts","sourceRoot":"","sources":["../../src/common-logic/hex-utils.ts"],"names":[],"mappings":";;;;;;AA+CA,wBAKE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
const PREFIX = "0x";
|
|
2
|
+
const PREFIX_REGEX = /^0[xX]/;
|
|
3
|
+
const HEX_REGEX = /^(0[xX])?[a-fA-F0-9]+$/;
|
|
4
|
+
/**
|
|
5
|
+
* Returns the provied hex string with the hex prefix removed.
|
|
6
|
+
* If the prefix doesn't exist the hex is returned unmodified
|
|
7
|
+
* @param hex - the input hex string
|
|
8
|
+
* @returns the input hex string with the hex prefix removed
|
|
9
|
+
* @throws an error if the input is not a valid hex string
|
|
10
|
+
*/
|
|
11
|
+
const removePrefix = (hex) => {
|
|
12
|
+
validate(hex);
|
|
13
|
+
return hex.replace(PREFIX_REGEX, "");
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Returns the provided hex string with the hex prefix added.
|
|
17
|
+
* If the prefix already exists the string is returned unmodified.
|
|
18
|
+
* If the string contains an UPPER case `X` in the prefix it will be replaced with a lower case `x`
|
|
19
|
+
* @param hex - the input hex string
|
|
20
|
+
* @returns the input hex string with the hex prefix added
|
|
21
|
+
* @throws an error if the input is not a valid hex string
|
|
22
|
+
*/
|
|
23
|
+
const addPrefix = (hex) => {
|
|
24
|
+
validate(hex);
|
|
25
|
+
return PREFIX_REGEX.test(hex) ? hex.replace(PREFIX_REGEX, PREFIX) : `${PREFIX}${hex}`;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Validate the hex string. Throws an Error if not valid
|
|
29
|
+
* @param hex - the input hex string
|
|
30
|
+
* @throws an error if the input is not a valid hex string
|
|
31
|
+
*/
|
|
32
|
+
const validate = (hex) => {
|
|
33
|
+
if (!isValid(hex))
|
|
34
|
+
throw Error(`Provided hex value is not valid ${hex}`);
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Check if input string is valid
|
|
38
|
+
* @param hex - the input hex string
|
|
39
|
+
* @returns boolean representing whether the input hex is valid
|
|
40
|
+
*/
|
|
41
|
+
const isValid = (hex) => {
|
|
42
|
+
return HEX_REGEX.test(hex);
|
|
43
|
+
};
|
|
44
|
+
export default {
|
|
45
|
+
removePrefix,
|
|
46
|
+
addPrefix,
|
|
47
|
+
validate,
|
|
48
|
+
isValid,
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=hex-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hex-utils.js","sourceRoot":"","sources":["../../src/common-logic/hex-utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,IAAI,CAAC;AACpB,MAAM,YAAY,GAAG,QAAQ,CAAC;AAC9B,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE;IAC3C,QAAQ,CAAC,GAAG,CAAC,CAAC;IACd,OAAO,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;IACxC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACd,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC;AACxF,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE;IAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,GAAG,CAAC,GAAW,EAAW,EAAE;IACvC,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,eAAe;IACb,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,OAAO;CACR,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common-logic/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common-logic/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { Transaction as VeChainThorTransaction } from "thor-devkit";
|
|
3
|
+
export declare const calculateClausesVtho: (recipient: string, amount: BigNumber) => Promise<VeChainThorTransaction.Clause[]>;
|
|
4
|
+
export declare const calculateClausesVet: (recipient: string, amount: BigNumber) => Promise<VeChainThorTransaction.Clause[]>;
|
|
5
|
+
//# sourceMappingURL=logic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../src/common-logic/logic.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,WAAW,IAAI,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAKpE,eAAO,MAAM,oBAAoB,cACpB,MAAM,UACT,SAAS,KAChB,QAAQ,uBAAuB,MAAM,EAAE,CAazC,CAAC;AAEF,eAAO,MAAM,mBAAmB,cACnB,MAAM,UACT,SAAS,KAChB,QAAQ,uBAAuB,MAAM,EAAE,CAgBzC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { VTHO_ADDRESS } from "../contracts/constants";
|
|
11
|
+
import VIP180 from "../contracts/abis/VIP180";
|
|
12
|
+
import { HEX_PREFIX } from "../types";
|
|
13
|
+
export const calculateClausesVtho = (recipient, amount) => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
+
const clauses = [];
|
|
15
|
+
// Get the existing clause or create a blank one
|
|
16
|
+
const updatedClause = {
|
|
17
|
+
to: VTHO_ADDRESS,
|
|
18
|
+
value: 0,
|
|
19
|
+
data: "0x",
|
|
20
|
+
};
|
|
21
|
+
updatedClause.data = VIP180.transfer.encode(recipient, amount.toFixed());
|
|
22
|
+
clauses.push(updatedClause);
|
|
23
|
+
return clauses;
|
|
24
|
+
});
|
|
25
|
+
export const calculateClausesVet = (recipient, amount) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
const clauses = [];
|
|
27
|
+
// Get the existing clause or create a blank one
|
|
28
|
+
const updatedClause = {
|
|
29
|
+
to: null,
|
|
30
|
+
value: 0,
|
|
31
|
+
data: "0x",
|
|
32
|
+
};
|
|
33
|
+
updatedClause.value = `${HEX_PREFIX}${amount.toString(16)}`;
|
|
34
|
+
updatedClause.to = recipient;
|
|
35
|
+
clauses.push(updatedClause);
|
|
36
|
+
return clauses;
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=logic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic.js","sourceRoot":"","sources":["../../src/common-logic/logic.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAAiB,EACjB,MAAiB,EACyB,EAAE;IAC5C,MAAM,OAAO,GAAoC,EAAE,CAAC;IAEpD,gDAAgD;IAChD,MAAM,aAAa,GAAkC;QACnD,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,IAAI;KACX,CAAC;IACF,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAEzE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5B,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,SAAiB,EACjB,MAAiB,EACyB,EAAE;IAC5C,MAAM,OAAO,GAAoC,EAAE,CAAC;IAEpD,gDAAgD;IAChD,MAAM,aAAa,GAAkC;QACnD,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,IAAI;KACX,CAAC;IAEF,aAAa,CAAC,KAAK,GAAG,GAAG,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5D,aAAa,CAAC,EAAE,GAAG,SAAS,CAAC;IAE7B,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE5B,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Operation } from "@ledgerhq/types-live";
|
|
2
|
+
import { EventLog, TransferLog } from "../types";
|
|
3
|
+
export declare const mapVetTransfersToOperations: (txs: TransferLog[], accountId: string, addr: string) => Promise<Operation[]>;
|
|
4
|
+
export declare const mapTokenTransfersToOperations: (evnts: EventLog[], accountId: string, addr: string) => Promise<Operation[]>;
|
|
5
|
+
//# sourceMappingURL=mapping-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapping-utils.d.ts","sourceRoot":"","sources":["../../src/common-logic/mapping-utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIjD,eAAO,MAAM,2BAA2B,QACjC,WAAW,EAAE,aACP,MAAM,QACX,MAAM,KACX,QAAQ,SAAS,EAAE,CAwBrB,CAAC;AAEF,eAAO,MAAM,6BAA6B,UACjC,QAAQ,EAAE,aACN,MAAM,QACX,MAAM,KACX,QAAQ,SAAS,EAAE,CAyBrB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import BigNumber from "bignumber.js";
|
|
11
|
+
import vip180 from "../contracts/abis/VIP180";
|
|
12
|
+
import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
|
|
13
|
+
import { getFees } from "../network";
|
|
14
|
+
export const mapVetTransfersToOperations = (txs, accountId, addr) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
return Promise.all(txs.map((tx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
+
const fees = yield getFees(tx.meta.txID);
|
|
17
|
+
return {
|
|
18
|
+
id: encodeOperationId(accountId, tx.meta.txID, tx.recipient === addr.toLowerCase() ? "IN" : "OUT"),
|
|
19
|
+
hash: tx.meta.txID,
|
|
20
|
+
type: tx.recipient === addr.toLowerCase() ? "IN" : "OUT",
|
|
21
|
+
value: new BigNumber(tx.amount),
|
|
22
|
+
fee: new BigNumber(fees),
|
|
23
|
+
senders: [tx.sender],
|
|
24
|
+
recipients: [tx.recipient],
|
|
25
|
+
blockHeight: tx.meta.blockNumber,
|
|
26
|
+
blockHash: tx.meta.blockID,
|
|
27
|
+
accountId,
|
|
28
|
+
date: new Date(tx.meta.blockTimestamp * 1000),
|
|
29
|
+
extra: {},
|
|
30
|
+
};
|
|
31
|
+
})));
|
|
32
|
+
});
|
|
33
|
+
export const mapTokenTransfersToOperations = (evnts, accountId, addr) => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
|
+
return Promise.all(evnts.map((evnt) => __awaiter(void 0, void 0, void 0, function* () {
|
|
35
|
+
const decoded = vip180.TransferEvent.decode(evnt.data, evnt.topics);
|
|
36
|
+
const fees = yield getFees(evnt.meta.txID);
|
|
37
|
+
return {
|
|
38
|
+
id: encodeOperationId(accountId, evnt.meta.txID, decoded.to === addr.toLowerCase() ? "IN" : "OUT"),
|
|
39
|
+
hash: evnt.meta.txID,
|
|
40
|
+
type: decoded.to === addr.toLowerCase() ? "IN" : "OUT",
|
|
41
|
+
value: new BigNumber(decoded.value),
|
|
42
|
+
fee: fees,
|
|
43
|
+
senders: [decoded.from],
|
|
44
|
+
recipients: [decoded.to],
|
|
45
|
+
blockHeight: evnt.meta.blockNumber,
|
|
46
|
+
blockHash: evnt.meta.blockID,
|
|
47
|
+
accountId,
|
|
48
|
+
date: new Date(evnt.meta.blockTimestamp * 1000),
|
|
49
|
+
extra: {},
|
|
50
|
+
};
|
|
51
|
+
})));
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=mapping-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapping-utils.js","sourceRoot":"","sources":["../../src/common-logic/mapping-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pad-address.d.ts","sourceRoot":"","sources":["../../src/common-logic/pad-address.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,YAAa,MAAM,KAAG,MAO5C,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const padAddress = (address) => {
|
|
2
|
+
const splittedAddr = address.split("x");
|
|
3
|
+
const hexMiss = 64 - splittedAddr[1].length;
|
|
4
|
+
for (let i = 0; i < hexMiss; i++) {
|
|
5
|
+
splittedAddr[1] = `0${splittedAddr[1]}`;
|
|
6
|
+
}
|
|
7
|
+
return splittedAddr.join("x");
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=pad-address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pad-address.js","sourceRoot":"","sources":["../../src/common-logic/pad-address.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAe,EAAU,EAAE;IACpD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { Account } from "@ledgerhq/types-live";
|
|
3
|
+
import { Transaction, TransactionInfo } from "../types";
|
|
4
|
+
/**
|
|
5
|
+
* Generate a Unique ID to be used as a nonce
|
|
6
|
+
* @returns a unique string
|
|
7
|
+
*/
|
|
8
|
+
export declare const generateNonce: () => string;
|
|
9
|
+
/**
|
|
10
|
+
* Estimate the gas that will be used by the transaction.
|
|
11
|
+
* @param transaction - The transaction to estimate the gas for
|
|
12
|
+
* @returns an estimate of the gas usage
|
|
13
|
+
*/
|
|
14
|
+
export declare const estimateGas: (t: Transaction) => Promise<number>;
|
|
15
|
+
/**
|
|
16
|
+
* Calculate the fee in VTHO
|
|
17
|
+
* @param gas - the gas used
|
|
18
|
+
* @param gasPriceCoef - the gas price coefficient
|
|
19
|
+
* @returns the fee in VTHO
|
|
20
|
+
*/
|
|
21
|
+
export declare const calculateFee: (gas: BigNumber, gasPriceCoef: number) => Promise<BigNumber>;
|
|
22
|
+
export declare const calculateTransactionInfo: (account: Account, transaction: Transaction, fixedMaxTokenFees?: {
|
|
23
|
+
estimatedGas: number;
|
|
24
|
+
estimatedGasFees: BigNumber;
|
|
25
|
+
}) => Promise<TransactionInfo>;
|
|
26
|
+
export declare const calculateGasFees: (transaction: Transaction, isTokenAccount: boolean) => Promise<{
|
|
27
|
+
estimatedGas: number;
|
|
28
|
+
estimatedGasFees: BigNumber;
|
|
29
|
+
}>;
|
|
30
|
+
//# sourceMappingURL=transaction-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-utils.d.ts","sourceRoot":"","sources":["../../src/common-logic/transaction-utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAOrC,OAAO,EAAE,OAAO,EAAgB,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAS,MAAM,UAAU,CAAC;AAO/D;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAO,MAIhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,MAAa,WAAW,KAAG,QAAQ,MAAM,CAmBhE,CAAC;AAgBF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,QAAe,SAAS,gBAAgB,MAAM,KAAG,QAAQ,SAAS,CAG1F,CAAC;AAYF,eAAO,MAAM,wBAAwB,YAC1B,OAAO,eACH,WAAW,sBACJ;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,SAAS,CAAC;CAC7B,KACA,QAAQ,eAAe,CAgEzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,gBACd,WAAW,kBACR,OAAO,KACtB,QAAQ;IACT,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,SAAS,CAAC;CAC7B,CAwBA,CAAC"}
|