@ledgerhq/coin-cardano 0.1.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 +35 -0
- package/CHANGELOG.md +19 -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 +41 -0
- package/lib/account.js.map +1 -0
- package/lib/address.unit.test.d.ts +2 -0
- package/lib/address.unit.test.d.ts.map +1 -0
- package/lib/address.unit.test.js +21 -0
- package/lib/address.unit.test.js.map +1 -0
- package/lib/api/api-types.d.ts +106 -0
- package/lib/api/api-types.d.ts.map +1 -0
- package/lib/api/api-types.js +9 -0
- package/lib/api/api-types.js.map +1 -0
- package/lib/api/getDelegationInfo.d.ts +4 -0
- package/lib/api/getDelegationInfo.d.ts.map +1 -0
- package/lib/api/getDelegationInfo.js +48 -0
- package/lib/api/getDelegationInfo.js.map +1 -0
- package/lib/api/getNetworkInfo.d.ts +5 -0
- package/lib/api/getNetworkInfo.d.ts.map +1 -0
- package/lib/api/getNetworkInfo.js +46 -0
- package/lib/api/getNetworkInfo.js.map +1 -0
- package/lib/api/getPools.d.ts +5 -0
- package/lib/api/getPools.d.ts.map +1 -0
- package/lib/api/getPools.js +45 -0
- package/lib/api/getPools.js.map +1 -0
- package/lib/api/getTransactions.d.ts +10 -0
- package/lib/api/getTransactions.d.ts.map +1 -0
- package/lib/api/getTransactions.js +139 -0
- package/lib/api/getTransactions.js.map +1 -0
- package/lib/api/submitTransaction.d.ts +7 -0
- package/lib/api/submitTransaction.d.ts.map +1 -0
- package/lib/api/submitTransaction.js +34 -0
- package/lib/api/submitTransaction.js.map +1 -0
- package/lib/bridge/index.d.ts +11 -0
- package/lib/bridge/index.d.ts.map +1 -0
- package/lib/bridge/index.js +70 -0
- package/lib/bridge/index.js.map +1 -0
- package/lib/bridge.integration.test.d.ts +4 -0
- package/lib/bridge.integration.test.d.ts.map +1 -0
- package/lib/bridge.integration.test.js +113 -0
- package/lib/bridge.integration.test.js.map +1 -0
- package/lib/broadcast.d.ts +8 -0
- package/lib/broadcast.d.ts.map +1 -0
- package/lib/broadcast.js +28 -0
- package/lib/broadcast.js.map +1 -0
- package/lib/buildOptimisticOperation.d.ts +4 -0
- package/lib/buildOptimisticOperation.d.ts.map +1 -0
- package/lib/buildOptimisticOperation.js +125 -0
- package/lib/buildOptimisticOperation.js.map +1 -0
- package/lib/buildSubAccounts.d.ts +26 -0
- package/lib/buildSubAccounts.d.ts.map +1 -0
- package/lib/buildSubAccounts.js +124 -0
- package/lib/buildSubAccounts.js.map +1 -0
- package/lib/buildTransaction.d.ts +11 -0
- package/lib/buildTransaction.d.ts.map +1 -0
- package/lib/buildTransaction.js +342 -0
- package/lib/buildTransaction.js.map +1 -0
- package/lib/cli-transaction.d.ts +18 -0
- package/lib/cli-transaction.d.ts.map +1 -0
- package/lib/cli-transaction.js +66 -0
- package/lib/cli-transaction.js.map +1 -0
- package/lib/constants.d.ts +8 -0
- package/lib/constants.d.ts.map +1 -0
- package/lib/constants.js +12 -0
- package/lib/constants.js.map +1 -0
- package/lib/createTransaction.d.ts +9 -0
- package/lib/createTransaction.d.ts.map +1 -0
- package/lib/createTransaction.js +23 -0
- package/lib/createTransaction.js.map +1 -0
- package/lib/datasets/rawAccount.1.d.ts +3 -0
- package/lib/datasets/rawAccount.1.d.ts.map +1 -0
- package/lib/datasets/rawAccount.1.js +20 -0
- package/lib/datasets/rawAccount.1.js.map +1 -0
- package/lib/datasets/scanAccounts.d.ts +5 -0
- package/lib/datasets/scanAccounts.d.ts.map +1 -0
- package/lib/datasets/scanAccounts.js +27 -0
- package/lib/datasets/scanAccounts.js.map +1 -0
- package/lib/deviceTransactionConfig.d.ts +11 -0
- package/lib/deviceTransactionConfig.d.ts.map +1 -0
- package/lib/deviceTransactionConfig.js +106 -0
- package/lib/deviceTransactionConfig.js.map +1 -0
- package/lib/errors.d.ts +22 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +18 -0
- package/lib/errors.js.map +1 -0
- package/lib/estimateMaxSpendable.d.ts +9 -0
- package/lib/estimateMaxSpendable.d.ts.map +1 -0
- package/lib/estimateMaxSpendable.js +53 -0
- package/lib/estimateMaxSpendable.js.map +1 -0
- package/lib/getTransactionStatus.d.ts +4 -0
- package/lib/getTransactionStatus.d.ts.map +1 -0
- package/lib/getTransactionStatus.js +214 -0
- package/lib/getTransactionStatus.js.map +1 -0
- package/lib/getTransactionStatus.unit.test.d.ts +2 -0
- package/lib/getTransactionStatus.unit.test.d.ts.map +1 -0
- package/lib/getTransactionStatus.unit.test.js +54 -0
- package/lib/getTransactionStatus.unit.test.js.map +1 -0
- package/lib/hw-getAddress.d.ts +6 -0
- package/lib/hw-getAddress.d.ts.map +1 -0
- package/lib/hw-getAddress.js +37 -0
- package/lib/hw-getAddress.js.map +1 -0
- package/lib/logic.d.ts +88 -0
- package/lib/logic.d.ts.map +1 -0
- package/lib/logic.js +264 -0
- package/lib/logic.js.map +1 -0
- package/lib/logic.unit.test.d.ts +2 -0
- package/lib/logic.unit.test.d.ts.map +1 -0
- package/lib/logic.unit.test.js +40 -0
- package/lib/logic.unit.test.js.map +1 -0
- package/lib/networks.d.ts +3 -0
- package/lib/networks.d.ts.map +1 -0
- package/lib/networks.js +36 -0
- package/lib/networks.js.map +1 -0
- package/lib/postSyncPatch.d.ts +6 -0
- package/lib/postSyncPatch.d.ts.map +1 -0
- package/lib/postSyncPatch.js +35 -0
- package/lib/postSyncPatch.js.map +1 -0
- package/lib/prepareTransaction.d.ts +10 -0
- package/lib/prepareTransaction.d.ts.map +1 -0
- package/lib/prepareTransaction.js +44 -0
- package/lib/prepareTransaction.js.map +1 -0
- package/lib/serialization.d.ts +7 -0
- package/lib/serialization.d.ts.map +1 -0
- package/lib/serialization.js +146 -0
- package/lib/serialization.js.map +1 -0
- package/lib/signOperation.d.ts +9 -0
- package/lib/signOperation.d.ts.map +1 -0
- package/lib/signOperation.js +71 -0
- package/lib/signOperation.js.map +1 -0
- package/lib/signer.d.ts +92 -0
- package/lib/signer.d.ts.map +1 -0
- package/lib/signer.js +3 -0
- package/lib/signer.js.map +1 -0
- package/lib/specs.d.ts +7 -0
- package/lib/specs.d.ts.map +1 -0
- package/lib/specs.js +218 -0
- package/lib/specs.js.map +1 -0
- package/lib/speculos-deviceActions.d.ts +4 -0
- package/lib/speculos-deviceActions.d.ts.map +1 -0
- package/lib/speculos-deviceActions.js +128 -0
- package/lib/speculos-deviceActions.js.map +1 -0
- package/lib/synchronisation.d.ts +6 -0
- package/lib/synchronisation.d.ts.map +1 -0
- package/lib/synchronisation.js +237 -0
- package/lib/synchronisation.js.map +1 -0
- package/lib/synchronisation.unit.test.d.ts +2 -0
- package/lib/synchronisation.unit.test.d.ts.map +1 -0
- package/lib/synchronisation.unit.test.js +129 -0
- package/lib/synchronisation.unit.test.js.map +1 -0
- package/lib/transaction.d.ts +15 -0
- package/lib/transaction.d.ts.map +1 -0
- package/lib/transaction.js +43 -0
- package/lib/transaction.js.map +1 -0
- package/lib/types.d.ts +188 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +18 -0
- package/lib/types.js.map +1 -0
- package/lib/typhonSerializer.d.ts +17 -0
- package/lib/typhonSerializer.d.ts.map +1 -0
- package/lib/typhonSerializer.js +213 -0
- package/lib/typhonSerializer.js.map +1 -0
- package/lib/utils.d.ts +2 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +8 -0
- package/lib/utils.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 +34 -0
- package/lib-es/account.js.map +1 -0
- package/lib-es/address.unit.test.d.ts +2 -0
- package/lib-es/address.unit.test.d.ts.map +1 -0
- package/lib-es/address.unit.test.js +19 -0
- package/lib-es/address.unit.test.js.map +1 -0
- package/lib-es/api/api-types.d.ts +106 -0
- package/lib-es/api/api-types.d.ts.map +1 -0
- package/lib-es/api/api-types.js +6 -0
- package/lib-es/api/api-types.js.map +1 -0
- package/lib-es/api/getDelegationInfo.d.ts +4 -0
- package/lib-es/api/getDelegationInfo.d.ts.map +1 -0
- package/lib-es/api/getDelegationInfo.js +41 -0
- package/lib-es/api/getDelegationInfo.js.map +1 -0
- package/lib-es/api/getNetworkInfo.d.ts +5 -0
- package/lib-es/api/getNetworkInfo.d.ts.map +1 -0
- package/lib-es/api/getNetworkInfo.js +39 -0
- package/lib-es/api/getNetworkInfo.js.map +1 -0
- package/lib-es/api/getPools.d.ts +5 -0
- package/lib-es/api/getPools.d.ts.map +1 -0
- package/lib-es/api/getPools.js +37 -0
- package/lib-es/api/getPools.js.map +1 -0
- package/lib-es/api/getTransactions.d.ts +10 -0
- package/lib-es/api/getTransactions.d.ts.map +1 -0
- package/lib-es/api/getTransactions.js +132 -0
- package/lib-es/api/getTransactions.js.map +1 -0
- package/lib-es/api/submitTransaction.d.ts +7 -0
- package/lib-es/api/submitTransaction.d.ts.map +1 -0
- package/lib-es/api/submitTransaction.js +27 -0
- package/lib-es/api/submitTransaction.js.map +1 -0
- package/lib-es/bridge/index.d.ts +11 -0
- package/lib-es/bridge/index.d.ts.map +1 -0
- package/lib-es/bridge/index.js +61 -0
- package/lib-es/bridge/index.js.map +1 -0
- package/lib-es/bridge.integration.test.d.ts +4 -0
- package/lib-es/bridge.integration.test.d.ts.map +1 -0
- package/lib-es/bridge.integration.test.js +107 -0
- package/lib-es/bridge.integration.test.js.map +1 -0
- package/lib-es/broadcast.d.ts +8 -0
- package/lib-es/broadcast.d.ts.map +1 -0
- package/lib-es/broadcast.js +24 -0
- package/lib-es/broadcast.js.map +1 -0
- package/lib-es/buildOptimisticOperation.d.ts +4 -0
- package/lib-es/buildOptimisticOperation.d.ts.map +1 -0
- package/lib-es/buildOptimisticOperation.js +118 -0
- package/lib-es/buildOptimisticOperation.js.map +1 -0
- package/lib-es/buildSubAccounts.d.ts +26 -0
- package/lib-es/buildSubAccounts.d.ts.map +1 -0
- package/lib-es/buildSubAccounts.js +114 -0
- package/lib-es/buildSubAccounts.js.map +1 -0
- package/lib-es/buildTransaction.d.ts +11 -0
- package/lib-es/buildTransaction.d.ts.map +1 -0
- package/lib-es/buildTransaction.js +335 -0
- package/lib-es/buildTransaction.js.map +1 -0
- package/lib-es/cli-transaction.d.ts +18 -0
- package/lib-es/cli-transaction.d.ts.map +1 -0
- package/lib-es/cli-transaction.js +60 -0
- package/lib-es/cli-transaction.js.map +1 -0
- package/lib-es/constants.d.ts +8 -0
- package/lib-es/constants.d.ts.map +1 -0
- package/lib-es/constants.js +9 -0
- package/lib-es/constants.js.map +1 -0
- package/lib-es/createTransaction.d.ts +9 -0
- package/lib-es/createTransaction.d.ts.map +1 -0
- package/lib-es/createTransaction.js +16 -0
- package/lib-es/createTransaction.js.map +1 -0
- package/lib-es/datasets/rawAccount.1.d.ts +3 -0
- package/lib-es/datasets/rawAccount.1.d.ts.map +1 -0
- package/lib-es/datasets/rawAccount.1.js +17 -0
- package/lib-es/datasets/rawAccount.1.js.map +1 -0
- package/lib-es/datasets/scanAccounts.d.ts +5 -0
- package/lib-es/datasets/scanAccounts.d.ts.map +1 -0
- package/lib-es/datasets/scanAccounts.js +24 -0
- package/lib-es/datasets/scanAccounts.js.map +1 -0
- package/lib-es/deviceTransactionConfig.d.ts +11 -0
- package/lib-es/deviceTransactionConfig.d.ts.map +1 -0
- package/lib-es/deviceTransactionConfig.js +101 -0
- package/lib-es/deviceTransactionConfig.js.map +1 -0
- package/lib-es/errors.d.ts +22 -0
- package/lib-es/errors.d.ts.map +1 -0
- package/lib-es/errors.js +15 -0
- package/lib-es/errors.js.map +1 -0
- package/lib-es/estimateMaxSpendable.d.ts +9 -0
- package/lib-es/estimateMaxSpendable.d.ts.map +1 -0
- package/lib-es/estimateMaxSpendable.js +49 -0
- package/lib-es/estimateMaxSpendable.js.map +1 -0
- package/lib-es/getTransactionStatus.d.ts +4 -0
- package/lib-es/getTransactionStatus.d.ts.map +1 -0
- package/lib-es/getTransactionStatus.js +210 -0
- package/lib-es/getTransactionStatus.js.map +1 -0
- package/lib-es/getTransactionStatus.unit.test.d.ts +2 -0
- package/lib-es/getTransactionStatus.unit.test.d.ts.map +1 -0
- package/lib-es/getTransactionStatus.unit.test.js +49 -0
- package/lib-es/getTransactionStatus.unit.test.js.map +1 -0
- package/lib-es/hw-getAddress.d.ts +6 -0
- package/lib-es/hw-getAddress.d.ts.map +1 -0
- package/lib-es/hw-getAddress.js +35 -0
- package/lib-es/hw-getAddress.js.map +1 -0
- package/lib-es/logic.d.ts +88 -0
- package/lib-es/logic.d.ts.map +1 -0
- package/lib-es/logic.js +236 -0
- package/lib-es/logic.js.map +1 -0
- package/lib-es/logic.unit.test.d.ts +2 -0
- package/lib-es/logic.unit.test.d.ts.map +1 -0
- package/lib-es/logic.unit.test.js +35 -0
- package/lib-es/logic.unit.test.js.map +1 -0
- package/lib-es/networks.d.ts +3 -0
- package/lib-es/networks.d.ts.map +1 -0
- package/lib-es/networks.js +32 -0
- package/lib-es/networks.js.map +1 -0
- package/lib-es/postSyncPatch.d.ts +6 -0
- package/lib-es/postSyncPatch.d.ts.map +1 -0
- package/lib-es/postSyncPatch.js +31 -0
- package/lib-es/postSyncPatch.js.map +1 -0
- package/lib-es/prepareTransaction.d.ts +10 -0
- package/lib-es/prepareTransaction.d.ts.map +1 -0
- package/lib-es/prepareTransaction.js +40 -0
- package/lib-es/prepareTransaction.js.map +1 -0
- package/lib-es/serialization.d.ts +7 -0
- package/lib-es/serialization.d.ts.map +1 -0
- package/lib-es/serialization.js +139 -0
- package/lib-es/serialization.js.map +1 -0
- package/lib-es/signOperation.d.ts +9 -0
- package/lib-es/signOperation.d.ts.map +1 -0
- package/lib-es/signOperation.js +64 -0
- package/lib-es/signOperation.js.map +1 -0
- package/lib-es/signer.d.ts +92 -0
- package/lib-es/signer.d.ts.map +1 -0
- package/lib-es/signer.js +2 -0
- package/lib-es/signer.js.map +1 -0
- package/lib-es/specs.d.ts +7 -0
- package/lib-es/specs.d.ts.map +1 -0
- package/lib-es/specs.js +213 -0
- package/lib-es/specs.js.map +1 -0
- package/lib-es/speculos-deviceActions.d.ts +4 -0
- package/lib-es/speculos-deviceActions.d.ts.map +1 -0
- package/lib-es/speculos-deviceActions.js +125 -0
- package/lib-es/speculos-deviceActions.js.map +1 -0
- package/lib-es/synchronisation.d.ts +6 -0
- package/lib-es/synchronisation.d.ts.map +1 -0
- package/lib-es/synchronisation.js +230 -0
- package/lib-es/synchronisation.js.map +1 -0
- package/lib-es/synchronisation.unit.test.d.ts +2 -0
- package/lib-es/synchronisation.unit.test.d.ts.map +1 -0
- package/lib-es/synchronisation.unit.test.js +124 -0
- package/lib-es/synchronisation.unit.test.js.map +1 -0
- package/lib-es/transaction.d.ts +15 -0
- package/lib-es/transaction.d.ts.map +1 -0
- package/lib-es/transaction.js +37 -0
- package/lib-es/transaction.js.map +1 -0
- package/lib-es/types.d.ts +188 -0
- package/lib-es/types.d.ts.map +1 -0
- package/lib-es/types.js +15 -0
- package/lib-es/types.js.map +1 -0
- package/lib-es/typhonSerializer.d.ts +17 -0
- package/lib-es/typhonSerializer.d.ts.map +1 -0
- package/lib-es/typhonSerializer.js +207 -0
- package/lib-es/typhonSerializer.js.map +1 -0
- package/lib-es/utils.d.ts +2 -0
- package/lib-es/utils.d.ts.map +1 -0
- package/lib-es/utils.js +5 -0
- package/lib-es/utils.js.map +1 -0
- package/package.json +91 -0
- package/src/account.ts +39 -0
- package/src/address.unit.test.ts +32 -0
- package/src/api/api-types.ts +115 -0
- package/src/api/getDelegationInfo.ts +39 -0
- package/src/api/getNetworkInfo.ts +34 -0
- package/src/api/getPools.ts +35 -0
- package/src/api/getTransactions.ts +218 -0
- package/src/api/submitTransaction.ts +24 -0
- package/src/bridge/index.ts +69 -0
- package/src/bridge.integration.test.ts +113 -0
- package/src/broadcast.ts +21 -0
- package/src/buildOptimisticOperation.ts +181 -0
- package/src/buildSubAccounts.ts +170 -0
- package/src/buildTransaction.ts +435 -0
- package/src/cli-transaction.ts +82 -0
- package/src/constants.ts +10 -0
- package/src/createTransaction.ts +18 -0
- package/src/datasets/rawAccount.1.ts +19 -0
- package/src/datasets/scanAccounts.ts +23 -0
- package/src/deviceTransactionConfig.ts +128 -0
- package/src/errors.ts +18 -0
- package/src/estimateMaxSpendable.ts +61 -0
- package/src/getTransactionStatus.ts +251 -0
- package/src/getTransactionStatus.unit.test.ts +45 -0
- package/src/hw-getAddress.ts +37 -0
- package/src/logic.ts +330 -0
- package/src/logic.unit.test.ts +39 -0
- package/src/networks.ts +33 -0
- package/src/postSyncPatch.ts +42 -0
- package/src/prepareTransaction.ts +41 -0
- package/src/serialization.ts +219 -0
- package/src/signOperation.ts +82 -0
- package/src/signer.ts +98 -0
- package/src/specs.ts +253 -0
- package/src/speculos-deviceActions.ts +132 -0
- package/src/synchronisation.ts +347 -0
- package/src/synchronisation.unit.test.ts +137 -0
- package/src/transaction.ts +66 -0
- package/src/types.ts +227 -0
- package/src/typhonSerializer.ts +259 -0
- package/src/utils.ts +4 -0
- package/tsconfig.json +12 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { cardanoRawAccount1 } from "./datasets/rawAccount.1";
|
|
3
|
+
import { cardanoScanAccounts } from "./datasets/scanAccounts";
|
|
4
|
+
import { CardanoInvalidPoolId, CardanoMinAmountError } from "./errors";
|
|
5
|
+
import { fromTransactionRaw } from "./transaction";
|
|
6
|
+
export const dataset = {
|
|
7
|
+
implementations: ["js"],
|
|
8
|
+
currencies: {
|
|
9
|
+
cardano_testnet: {
|
|
10
|
+
scanAccounts: cardanoScanAccounts,
|
|
11
|
+
accounts: [
|
|
12
|
+
{
|
|
13
|
+
raw: cardanoRawAccount1,
|
|
14
|
+
transactions: [
|
|
15
|
+
{
|
|
16
|
+
name: "amount less then minimum",
|
|
17
|
+
transaction: fromTransactionRaw({
|
|
18
|
+
family: "cardano",
|
|
19
|
+
recipient: "addr_test1qpl90kc2jl5kr9tev0s7vays9yhwcdnq8nlylyk4dqsdq3g466elxnxwrzwq72pvp5akenj30t5s9et7frfvrxxx8xcsxrzs87",
|
|
20
|
+
amount: "0.1",
|
|
21
|
+
mode: "send",
|
|
22
|
+
poolId: undefined,
|
|
23
|
+
}),
|
|
24
|
+
expectedStatus: {
|
|
25
|
+
amount: new BigNumber("0.1"),
|
|
26
|
+
errors: {
|
|
27
|
+
amount: new CardanoMinAmountError(),
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
/* // FIXME broken test
|
|
32
|
+
{
|
|
33
|
+
name: "token amount more than balance",
|
|
34
|
+
transaction: fromTransactionRaw({
|
|
35
|
+
family: "cardano",
|
|
36
|
+
recipient:
|
|
37
|
+
"addr_test1qpl90kc2jl5kr9tev0s7vays9yhwcdnq8nlylyk4dqsdq3g466elxnxwrzwq72pvp5akenj30t5s9et7frfvrxxx8xcsxrzs87",
|
|
38
|
+
amount: "101",
|
|
39
|
+
subAccountId:
|
|
40
|
+
"js:2:cardano_testnet:806499588e0c4a58f4119f7e6e096bf42c3f774a528d2acec9e82ceebf87d1ceb3d4f3622dd2c77c65cc89c123f79337db22cf8a69f122e36dab1bf5083bf82d:cardano+cardano_testnet%2Fnative%2F47be64fcc8a7fe5321b976282ce4e43e4d29015f6613cfabcea28eab54657374",
|
|
41
|
+
mode: "send",
|
|
42
|
+
poolId: undefined,
|
|
43
|
+
}),
|
|
44
|
+
expectedStatus: {
|
|
45
|
+
amount: new BigNumber("101"),
|
|
46
|
+
errors: {
|
|
47
|
+
amount: new NotEnoughBalance(),
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: "send max token",
|
|
53
|
+
transaction: fromTransactionRaw({
|
|
54
|
+
family: "cardano",
|
|
55
|
+
recipient:
|
|
56
|
+
"addr_test1qpl90kc2jl5kr9tev0s7vays9yhwcdnq8nlylyk4dqsdq3g466elxnxwrzwq72pvp5akenj30t5s9et7frfvrxxx8xcsxrzs87",
|
|
57
|
+
amount: "0",
|
|
58
|
+
subAccountId:
|
|
59
|
+
"js:2:cardano_testnet:806499588e0c4a58f4119f7e6e096bf42c3f774a528d2acec9e82ceebf87d1ceb3d4f3622dd2c77c65cc89c123f79337db22cf8a69f122e36dab1bf5083bf82d:cardano+cardano_testnet%2Fnative%2F47be64fcc8a7fe5321b976282ce4e43e4d29015f6613cfabcea28eab54657374",
|
|
60
|
+
mode: "send",
|
|
61
|
+
useAllAmount: true,
|
|
62
|
+
poolId: undefined,
|
|
63
|
+
}),
|
|
64
|
+
expectedStatus: {
|
|
65
|
+
amount: new BigNumber("100"),
|
|
66
|
+
totalSpent: new BigNumber("100"),
|
|
67
|
+
errors: {},
|
|
68
|
+
warnings: {},
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
*/
|
|
72
|
+
{
|
|
73
|
+
name: "delegate to invalid poolId",
|
|
74
|
+
transaction: fromTransactionRaw({
|
|
75
|
+
family: "cardano",
|
|
76
|
+
recipient: "",
|
|
77
|
+
amount: "0",
|
|
78
|
+
mode: "delegate",
|
|
79
|
+
poolId: "efae72c07a26e4542ba55ef59d35ad45ffaaac312865e3a758ede",
|
|
80
|
+
}),
|
|
81
|
+
expectedStatus: {
|
|
82
|
+
errors: {
|
|
83
|
+
poolId: new CardanoInvalidPoolId(),
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
name: "delegate valid poolId",
|
|
89
|
+
transaction: fromTransactionRaw({
|
|
90
|
+
family: "cardano",
|
|
91
|
+
recipient: "",
|
|
92
|
+
amount: "0",
|
|
93
|
+
mode: "delegate",
|
|
94
|
+
poolId: "efae72c07a26e4542ba55ef59d35ad45ffaaac312865e3a758ede997",
|
|
95
|
+
}),
|
|
96
|
+
expectedStatus: {},
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
describe("Cardano bridge", () => {
|
|
105
|
+
test.todo("This is an empty test to make jest command pass. Remove it once there is a real test.");
|
|
106
|
+
});
|
|
107
|
+
//# sourceMappingURL=bridge.integration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.integration.test.js","sourceRoot":"","sources":["../src/bridge.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAInD,MAAM,CAAC,MAAM,OAAO,GAA6B;IAC/C,eAAe,EAAE,CAAC,IAAI,CAAC;IACvB,UAAU,EAAE;QACV,eAAe,EAAE;YACf,YAAY,EAAE,mBAAmB;YACjC,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,kBAAkB;oBACvB,YAAY,EAAE;wBACZ;4BACE,IAAI,EAAE,0BAA0B;4BAChC,WAAW,EAAE,kBAAkB,CAAC;gCAC9B,MAAM,EAAE,SAAS;gCACjB,SAAS,EACP,8GAA8G;gCAChH,MAAM,EAAE,KAAK;gCACb,IAAI,EAAE,MAAM;gCACZ,MAAM,EAAE,SAAS;6BAClB,CAAC;4BACF,cAAc,EAAE;gCACd,MAAM,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;gCAC5B,MAAM,EAAE;oCACN,MAAM,EAAE,IAAI,qBAAqB,EAAE;iCACpC;6BACF;yBACF;wBACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAwCE;wBACF;4BACE,IAAI,EAAE,4BAA4B;4BAClC,WAAW,EAAE,kBAAkB,CAAC;gCAC9B,MAAM,EAAE,SAAS;gCACjB,SAAS,EAAE,EAAE;gCACb,MAAM,EAAE,GAAG;gCACX,IAAI,EAAE,UAAU;gCAChB,MAAM,EAAE,uDAAuD;6BAChE,CAAC;4BACF,cAAc,EAAE;gCACd,MAAM,EAAE;oCACN,MAAM,EAAE,IAAI,oBAAoB,EAAE;iCACnC;6BACF;yBACF;wBACD;4BACE,IAAI,EAAE,uBAAuB;4BAC7B,WAAW,EAAE,kBAAkB,CAAC;gCAC9B,MAAM,EAAE,SAAS;gCACjB,SAAS,EAAE,EAAE;gCACb,MAAM,EAAE,GAAG;gCACX,IAAI,EAAE,UAAU;gCAChB,MAAM,EAAE,0DAA0D;6BACnE,CAAC;4BACF,cAAc,EAAE,EAAE;yBACnB;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,IAAI,CACP,uFAAuF,CACxF,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AccountBridge } from "@ledgerhq/types-live";
|
|
2
|
+
import { Transaction } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Broadcast the signed transaction
|
|
5
|
+
* @param {signature: string, operation: string} signedOperation
|
|
6
|
+
*/
|
|
7
|
+
export declare const broadcast: AccountBridge<Transaction>["broadcast"];
|
|
8
|
+
//# sourceMappingURL=broadcast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../src/broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,WAAW,CAW7D,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
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 { patchOperationWithHash } from "@ledgerhq/coin-framework/operation";
|
|
11
|
+
import { submitTransaction } from "./api/submitTransaction";
|
|
12
|
+
/**
|
|
13
|
+
* Broadcast the signed transaction
|
|
14
|
+
* @param {signature: string, operation: string} signedOperation
|
|
15
|
+
*/
|
|
16
|
+
export const broadcast = (_a) => __awaiter(void 0, [_a], void 0, function* ({ signedOperation, account, }) {
|
|
17
|
+
const signedTx = signedOperation.signature;
|
|
18
|
+
const pendingTransaction = yield submitTransaction({
|
|
19
|
+
transaction: signedTx,
|
|
20
|
+
currency: account.currency,
|
|
21
|
+
});
|
|
22
|
+
return patchOperationWithHash(signedOperation.operation, pendingTransaction.hash);
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=broadcast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../src/broadcast.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAA4C,KAG/D,EAAE,4CAHoE,EACvE,eAAe,EACf,OAAO,GACR;IACC,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC;IAC3C,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAAC;QACjD,WAAW,EAAE,QAAQ;QACrB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC;IAEH,OAAO,sBAAsB,CAAC,eAAe,CAAC,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACpF,CAAC,CAAA,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Transaction as TyphonTransaction } from "@stricahq/typhonjs";
|
|
2
|
+
import { CardanoAccount, CardanoOperation, Transaction } from "./types";
|
|
3
|
+
export declare const buildOptimisticOperation: (account: CardanoAccount, unsignedTransaction: TyphonTransaction, transaction: Transaction) => CardanoOperation;
|
|
4
|
+
//# sourceMappingURL=buildOptimisticOperation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildOptimisticOperation.d.ts","sourceRoot":"","sources":["../src/buildOptimisticOperation.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwB,WAAW,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5F,OAAO,EACL,cAAc,EACd,gBAAgB,EAGhB,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,wBAAwB,YAC1B,cAAc,uBACF,iBAAiB,eACzB,WAAW,KACvB,gBA+JF,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { HashType } from "@stricahq/typhonjs/dist/types";
|
|
3
|
+
import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
|
|
4
|
+
import { formatCurrencyUnit } from "@ledgerhq/coin-framework/currencies";
|
|
5
|
+
import ShelleyTypeAddress from "@stricahq/typhonjs/dist/address/ShelleyTypeAddress";
|
|
6
|
+
import { types as TyphonTypes } from "@stricahq/typhonjs";
|
|
7
|
+
import { getAccountStakeCredential, getOperationType } from "./logic";
|
|
8
|
+
import { MEMO_LABEL } from "./constants";
|
|
9
|
+
export const buildOptimisticOperation = (account, unsignedTransaction, transaction) => {
|
|
10
|
+
var _a;
|
|
11
|
+
const cardanoResources = account.cardanoResources;
|
|
12
|
+
const accountCreds = new Set([...cardanoResources.externalCredentials, ...cardanoResources.internalCredentials].map(cred => cred.key));
|
|
13
|
+
const stakeCredential = getAccountStakeCredential(account.xpub, account.index);
|
|
14
|
+
const protocolParams = account.cardanoResources.protocolParams;
|
|
15
|
+
const accountInput = unsignedTransaction
|
|
16
|
+
.getInputs()
|
|
17
|
+
.reduce((total, i) => accountCreds.has(i.address.paymentCredential.hash) ? total.plus(i.amount) : total.plus(0), new BigNumber(0));
|
|
18
|
+
const accountOutput = unsignedTransaction
|
|
19
|
+
.getOutputs()
|
|
20
|
+
.reduce((total, o) => o.address instanceof ShelleyTypeAddress &&
|
|
21
|
+
accountCreds.has(o.address.paymentCredential.hash)
|
|
22
|
+
? total.plus(o.amount)
|
|
23
|
+
: total.plus(0), new BigNumber(0));
|
|
24
|
+
const txCertificates = unsignedTransaction.getCertificates();
|
|
25
|
+
const stakeRegistrationCertificates = txCertificates.filter(c => c.certType === TyphonTypes.CertificateType.STAKE_REGISTRATION);
|
|
26
|
+
const stakeDeRegistrationCertificates = txCertificates.filter(c => c.certType === TyphonTypes.CertificateType.STAKE_DE_REGISTRATION);
|
|
27
|
+
const txWithdrawals = unsignedTransaction.getWithdrawals();
|
|
28
|
+
const transactionHash = unsignedTransaction.getTransactionHash().toString("hex");
|
|
29
|
+
const auxiliaryData = unsignedTransaction.getAuxiliaryData();
|
|
30
|
+
const extra = {};
|
|
31
|
+
if (auxiliaryData) {
|
|
32
|
+
const memoMetadata = auxiliaryData.metadata.find(m => m.label === MEMO_LABEL);
|
|
33
|
+
if (memoMetadata && memoMetadata.data instanceof Map) {
|
|
34
|
+
const msg = memoMetadata.data.get("msg");
|
|
35
|
+
if (Array.isArray(msg) && msg.length) {
|
|
36
|
+
extra.memo = msg.join(", ");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
let operationValue = accountOutput.minus(accountInput);
|
|
41
|
+
if (stakeRegistrationCertificates.length) {
|
|
42
|
+
const walletRegistration = stakeRegistrationCertificates.find(c => c.stakeCredential.type === HashType.ADDRESS &&
|
|
43
|
+
c.stakeCredential.hash === stakeCredential.key);
|
|
44
|
+
if (walletRegistration) {
|
|
45
|
+
extra.deposit = formatCurrencyUnit(account.currency.units[0], new BigNumber(protocolParams.stakeKeyDeposit), {
|
|
46
|
+
showCode: true,
|
|
47
|
+
disableRounding: true,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (stakeDeRegistrationCertificates.length) {
|
|
52
|
+
const walletDeRegistration = stakeDeRegistrationCertificates.find(c => c.stakeCredential.type === HashType.ADDRESS &&
|
|
53
|
+
c.stakeCredential.hash === stakeCredential.key);
|
|
54
|
+
if (walletDeRegistration) {
|
|
55
|
+
operationValue = operationValue.minus(protocolParams.stakeKeyDeposit);
|
|
56
|
+
extra.refund = formatCurrencyUnit(account.currency.units[0], new BigNumber(protocolParams.stakeKeyDeposit), {
|
|
57
|
+
showCode: true,
|
|
58
|
+
disableRounding: true,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (txWithdrawals && txWithdrawals.length) {
|
|
63
|
+
const walletWithdraw = txWithdrawals.find(w => w.rewardAccount.stakeCredential.type === HashType.ADDRESS &&
|
|
64
|
+
w.rewardAccount.stakeCredential.hash === stakeCredential.key);
|
|
65
|
+
if (walletWithdraw) {
|
|
66
|
+
operationValue = operationValue.minus(walletWithdraw.amount);
|
|
67
|
+
extra.rewards = formatCurrencyUnit(account.currency.units[0], new BigNumber(walletWithdraw.amount), {
|
|
68
|
+
showCode: true,
|
|
69
|
+
disableRounding: true,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const opType = txCertificates.find(c => c.certType === TyphonTypes.CertificateType.STAKE_DELEGATION)
|
|
74
|
+
? "DELEGATE"
|
|
75
|
+
: txCertificates.find(c => c.certType === TyphonTypes.CertificateType.STAKE_DE_REGISTRATION)
|
|
76
|
+
? "UNDELEGATE"
|
|
77
|
+
: getOperationType({
|
|
78
|
+
valueChange: operationValue,
|
|
79
|
+
fees: unsignedTransaction.getFee(),
|
|
80
|
+
});
|
|
81
|
+
const op = {
|
|
82
|
+
id: encodeOperationId(account.id, transactionHash, opType),
|
|
83
|
+
hash: transactionHash,
|
|
84
|
+
type: opType,
|
|
85
|
+
value: operationValue.absoluteValue(),
|
|
86
|
+
fee: unsignedTransaction.getFee(),
|
|
87
|
+
blockHash: undefined,
|
|
88
|
+
blockHeight: null,
|
|
89
|
+
senders: unsignedTransaction.getInputs().map(i => i.address.getBech32()),
|
|
90
|
+
recipients: unsignedTransaction.getOutputs().map(o => o.address.getBech32()),
|
|
91
|
+
accountId: account.id,
|
|
92
|
+
date: new Date(),
|
|
93
|
+
extra,
|
|
94
|
+
};
|
|
95
|
+
const tokenAccount = transaction.subAccountId
|
|
96
|
+
? (_a = account.subAccounts) === null || _a === void 0 ? void 0 : _a.find(ta => ta.id === transaction.subAccountId)
|
|
97
|
+
: null;
|
|
98
|
+
if (tokenAccount && opType === "OUT") {
|
|
99
|
+
op.subOperations = [
|
|
100
|
+
{
|
|
101
|
+
id: encodeOperationId(tokenAccount.id, transactionHash, opType),
|
|
102
|
+
hash: transactionHash,
|
|
103
|
+
type: opType,
|
|
104
|
+
value: transaction.useAllAmount ? tokenAccount.balance : transaction.amount,
|
|
105
|
+
fee: transaction.fees,
|
|
106
|
+
blockHash: undefined,
|
|
107
|
+
blockHeight: null,
|
|
108
|
+
senders: unsignedTransaction.getInputs().map(i => i.address.getBech32()),
|
|
109
|
+
recipients: unsignedTransaction.getOutputs().map(o => o.address.getBech32()),
|
|
110
|
+
accountId: tokenAccount.id,
|
|
111
|
+
date: new Date(),
|
|
112
|
+
extra: {},
|
|
113
|
+
},
|
|
114
|
+
];
|
|
115
|
+
}
|
|
116
|
+
return op;
|
|
117
|
+
};
|
|
118
|
+
//# sourceMappingURL=buildOptimisticOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildOptimisticOperation.js","sourceRoot":"","sources":["../src/buildOptimisticOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Account, TokenAccount } from "@ledgerhq/types-live";
|
|
2
|
+
import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
|
|
3
|
+
import { PaymentCredential, Token } from "./types";
|
|
4
|
+
import { APITransaction } from "./api/api-types";
|
|
5
|
+
export declare const getTokenAssetId: ({ policyId, assetName, }: {
|
|
6
|
+
policyId: string;
|
|
7
|
+
assetName: string;
|
|
8
|
+
}) => string;
|
|
9
|
+
export declare const decodeTokenAssetId: (id: string) => {
|
|
10
|
+
policyId: string;
|
|
11
|
+
assetName: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const decodeTokenCurrencyId: (id: string) => {
|
|
14
|
+
parentCurrencyId: string;
|
|
15
|
+
type: string;
|
|
16
|
+
assetId: string;
|
|
17
|
+
};
|
|
18
|
+
export declare function buildSubAccounts({ initialAccount, parentAccountId, parentCurrency, newTransactions, tokens, accountCredentialsMap, }: {
|
|
19
|
+
initialAccount: Account | undefined;
|
|
20
|
+
parentAccountId: string;
|
|
21
|
+
parentCurrency: CryptoCurrency;
|
|
22
|
+
newTransactions: Array<APITransaction>;
|
|
23
|
+
tokens: Array<Token>;
|
|
24
|
+
accountCredentialsMap: Record<string, PaymentCredential>;
|
|
25
|
+
}): Array<TokenAccount>;
|
|
26
|
+
//# sourceMappingURL=buildSubAccounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildSubAccounts.d.ts","sourceRoot":"","sources":["../src/buildSubAccounts.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,EAA2C,iBAAiB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE5F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,eAAO,MAAM,eAAe;cAIhB,MAAM;eACL,MAAM;MACf,MAAmC,CAAC;AAExC,eAAO,MAAM,kBAAkB,OAAQ,MAAM;cAAe,MAAM;eAAa,MAAM;CAIpF,CAAC;AAKF,eAAO,MAAM,qBAAqB,OAC5B,MAAM;sBACW,MAAM;UAAQ,MAAM;aAAW,MAAM;CAO3D,CAAC;AAiEF,wBAAgB,gBAAgB,CAAC,EAC/B,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,MAAM,EACN,qBAAqB,GACtB,EAAE;IACD,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACvC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC1D,GAAG,KAAK,CAAC,YAAY,CAAC,CA8CtB"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { decodeTokenAccountId, emptyHistoryCache, encodeTokenAccountId, } from "@ledgerhq/coin-framework/account/index";
|
|
2
|
+
import keyBy from "lodash/keyBy";
|
|
3
|
+
import groupBy from "lodash/groupBy";
|
|
4
|
+
import BigNumber from "bignumber.js";
|
|
5
|
+
import { findTokenById } from "@ledgerhq/cryptoassets";
|
|
6
|
+
import { utils as TyphonUtils } from "@stricahq/typhonjs";
|
|
7
|
+
import { mergeOps } from "@ledgerhq/coin-framework/bridge/jsHelpers";
|
|
8
|
+
import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
|
|
9
|
+
import { getAccountChange, getMemoFromTx, isHexString } from "./logic";
|
|
10
|
+
export const getTokenAssetId = ({ policyId, assetName, }) => `${policyId}${assetName}`;
|
|
11
|
+
export const decodeTokenAssetId = (id) => {
|
|
12
|
+
const policyId = id.slice(0, 56);
|
|
13
|
+
const assetName = id.slice(56);
|
|
14
|
+
return { policyId, assetName };
|
|
15
|
+
};
|
|
16
|
+
const encodeTokenCurrencyId = (parentCurrency, assetId) => `${parentCurrency.id}/native/${assetId}`;
|
|
17
|
+
export const decodeTokenCurrencyId = (id) => {
|
|
18
|
+
const [parentCurrencyId, type, assetId] = id.split("/");
|
|
19
|
+
return {
|
|
20
|
+
parentCurrencyId,
|
|
21
|
+
type,
|
|
22
|
+
assetId,
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* @returns operations of tokens that are defined in ledgerjs cryptoassets
|
|
27
|
+
*/
|
|
28
|
+
const mapTxToTokenAccountOperation = ({ parentAccountId, parentCurrency, newTransactions, accountCredentialsMap, }) => {
|
|
29
|
+
const operations = [];
|
|
30
|
+
newTransactions.forEach(tx => {
|
|
31
|
+
const accountChange = getAccountChange(tx, accountCredentialsMap);
|
|
32
|
+
accountChange.tokens.forEach(token => {
|
|
33
|
+
const assetId = getTokenAssetId({
|
|
34
|
+
policyId: token.policyId,
|
|
35
|
+
assetName: token.assetName,
|
|
36
|
+
});
|
|
37
|
+
const tokenCurrencyId = encodeTokenCurrencyId(parentCurrency, assetId);
|
|
38
|
+
const tokenCurrency = findTokenById(tokenCurrencyId);
|
|
39
|
+
// skip the unsupported tokens by ledger-live
|
|
40
|
+
if (tokenCurrency === null || tokenCurrency === undefined) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const tokenAccountId = encodeTokenAccountId(parentAccountId, tokenCurrency);
|
|
44
|
+
const tokenOperationType = token.amount.lt(0) ? "OUT" : "IN";
|
|
45
|
+
const memo = getMemoFromTx(tx);
|
|
46
|
+
const extra = {};
|
|
47
|
+
if (memo) {
|
|
48
|
+
extra.memo = memo;
|
|
49
|
+
}
|
|
50
|
+
const operation = {
|
|
51
|
+
accountId: tokenAccountId,
|
|
52
|
+
id: encodeOperationId(tokenAccountId, tx.hash, tokenOperationType),
|
|
53
|
+
hash: tx.hash,
|
|
54
|
+
type: tokenOperationType,
|
|
55
|
+
fee: new BigNumber(tx.fees),
|
|
56
|
+
value: token.amount.absoluteValue(),
|
|
57
|
+
senders: tx.inputs.map(i => isHexString(i.address) ? TyphonUtils.getAddressFromHex(i.address).getBech32() : i.address),
|
|
58
|
+
recipients: tx.outputs.map(o => isHexString(o.address) ? TyphonUtils.getAddressFromHex(o.address).getBech32() : o.address),
|
|
59
|
+
blockHeight: tx.blockHeight,
|
|
60
|
+
date: new Date(tx.timestamp),
|
|
61
|
+
extra,
|
|
62
|
+
blockHash: undefined,
|
|
63
|
+
};
|
|
64
|
+
operations.push(operation);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
return operations;
|
|
68
|
+
};
|
|
69
|
+
export function buildSubAccounts({ initialAccount, parentAccountId, parentCurrency, newTransactions, tokens, accountCredentialsMap, }) {
|
|
70
|
+
var _a;
|
|
71
|
+
const tokenAccountsById = {};
|
|
72
|
+
if (initialAccount && initialAccount.subAccounts) {
|
|
73
|
+
for (const existingAccount of initialAccount.subAccounts) {
|
|
74
|
+
if (existingAccount.type === "TokenAccount") {
|
|
75
|
+
tokenAccountsById[existingAccount.id] = existingAccount;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const tokenOperations = mapTxToTokenAccountOperation({
|
|
80
|
+
parentAccountId,
|
|
81
|
+
parentCurrency,
|
|
82
|
+
newTransactions: newTransactions,
|
|
83
|
+
accountCredentialsMap,
|
|
84
|
+
});
|
|
85
|
+
const tokenOperationsByAccId = groupBy(tokenOperations, o => o.accountId);
|
|
86
|
+
const tokensBalanceByAssetId = keyBy(tokens, t => getTokenAssetId(t));
|
|
87
|
+
for (const tokenAccountId in tokenOperationsByAccId) {
|
|
88
|
+
const initialTokenAccount = tokenAccountsById[tokenAccountId];
|
|
89
|
+
const oldOperations = (initialTokenAccount === null || initialTokenAccount === void 0 ? void 0 : initialTokenAccount.operations) || [];
|
|
90
|
+
const newOperations = tokenOperationsByAccId[tokenAccountId] || [];
|
|
91
|
+
const operations = mergeOps(oldOperations, newOperations);
|
|
92
|
+
const { token: tokenCurrency } = decodeTokenAccountId(tokenAccountId);
|
|
93
|
+
if (tokenCurrency) {
|
|
94
|
+
const accountBalance = ((_a = tokensBalanceByAssetId[tokenCurrency.contractAddress]) === null || _a === void 0 ? void 0 : _a.amount) || new BigNumber(0);
|
|
95
|
+
const tokenAccount = {
|
|
96
|
+
type: "TokenAccount",
|
|
97
|
+
id: tokenAccountId,
|
|
98
|
+
parentId: parentAccountId,
|
|
99
|
+
token: tokenCurrency,
|
|
100
|
+
balance: accountBalance,
|
|
101
|
+
spendableBalance: accountBalance,
|
|
102
|
+
creationDate: operations.length > 0 ? operations[operations.length - 1].date : new Date(),
|
|
103
|
+
operationsCount: operations.length,
|
|
104
|
+
operations,
|
|
105
|
+
pendingOperations: [],
|
|
106
|
+
balanceHistoryCache: emptyHistoryCache,
|
|
107
|
+
swapHistory: [],
|
|
108
|
+
};
|
|
109
|
+
tokenAccountsById[tokenAccountId] = tokenAccount;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return Object.values(tokenAccountsById);
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=buildSubAccounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildSubAccounts.js","sourceRoot":"","sources":["../src/buildSubAccounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Transaction as TyphonTransaction } from "@stricahq/typhonjs";
|
|
2
|
+
import { CardanoAccount, Transaction } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @param {CardanoAccount} account
|
|
6
|
+
* @param {Transaction} transaction
|
|
7
|
+
*
|
|
8
|
+
* @returns {TyphonTransaction}
|
|
9
|
+
*/
|
|
10
|
+
export declare const buildTransaction: (account: CardanoAccount, transaction: Transaction) => Promise<TyphonTransaction>;
|
|
11
|
+
//# sourceMappingURL=buildTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildTransaction.d.ts","sourceRoot":"","sources":["../src/buildTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,IAAI,iBAAiB,EAGjC,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,cAAc,EAKd,WAAW,EACZ,MAAM,SAAS,CAAC;AAuUjB;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,YAClB,cAAc,eACV,WAAW,KACvB,QAAQ,iBAAiB,CA+E3B,CAAC"}
|