@ledgerhq/live-common 25.0.0-next.3 → 25.0.0-next.6
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/lib/apps/support.d.ts.map +1 -1
- package/lib/apps/support.js +2 -1
- package/lib/apps/support.js.map +1 -1
- package/lib/families/cardano/bridge.integration.test.d.ts.map +1 -1
- package/lib/families/cardano/bridge.integration.test.js +36 -2
- package/lib/families/cardano/bridge.integration.test.js.map +1 -1
- package/lib/families/cardano/buildSubAccounts.d.ts.map +1 -1
- package/lib/families/cardano/buildSubAccounts.js +5 -3
- package/lib/families/cardano/buildSubAccounts.js.map +1 -1
- package/lib/families/cardano/deviceTransactionConfig.d.ts +11 -0
- package/lib/families/cardano/deviceTransactionConfig.d.ts.map +1 -0
- package/lib/families/cardano/deviceTransactionConfig.js +91 -0
- package/lib/families/cardano/deviceTransactionConfig.js.map +1 -0
- package/lib/families/cardano/errors.d.ts +4 -0
- package/lib/families/cardano/errors.d.ts.map +1 -1
- package/lib/families/cardano/errors.js +5 -1
- package/lib/families/cardano/errors.js.map +1 -1
- package/lib/families/cardano/js-estimateMaxSpendable.d.ts.map +1 -1
- package/lib/families/cardano/js-estimateMaxSpendable.js +3 -2
- package/lib/families/cardano/js-estimateMaxSpendable.js.map +1 -1
- package/lib/families/cardano/js-getTransactionStatus.d.ts.map +1 -1
- package/lib/families/cardano/js-getTransactionStatus.js +6 -5
- package/lib/families/cardano/js-getTransactionStatus.js.map +1 -1
- package/lib/families/cardano/js-signOperation.d.ts.map +1 -1
- package/lib/families/cardano/js-signOperation.js +10 -5
- package/lib/families/cardano/js-signOperation.js.map +1 -1
- package/lib/families/cardano/js-synchronisation.d.ts.map +1 -1
- package/lib/families/cardano/js-synchronisation.js +126 -98
- package/lib/families/cardano/js-synchronisation.js.map +1 -1
- package/lib/families/cardano/js-transaction.js +1 -1
- package/lib/families/cardano/js-transaction.js.map +1 -1
- package/lib/families/cardano/logic.d.ts +1 -0
- package/lib/families/cardano/logic.d.ts.map +1 -1
- package/lib/families/cardano/logic.js +11 -1
- package/lib/families/cardano/logic.js.map +1 -1
- package/lib/families/cardano/specs.d.ts.map +1 -1
- package/lib/families/cardano/specs.js +39 -1
- package/lib/families/cardano/specs.js.map +1 -1
- package/lib/families/cardano/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/cardano/speculos-deviceActions.js +15 -0
- package/lib/families/cardano/speculos-deviceActions.js.map +1 -1
- package/lib/families/cosmos/react.d.ts +1 -1
- package/lib/families/cosmos/react.d.ts.map +1 -1
- package/lib/families/cosmos/react.js +9 -4
- package/lib/families/cosmos/react.js.map +1 -1
- package/lib/families/hedera/api/mirror.js +1 -1
- package/lib/families/hedera/api/mirror.js.map +1 -1
- package/lib/families/hedera/api/network.d.ts.map +1 -1
- package/lib/families/hedera/api/network.js +3 -1
- package/lib/families/hedera/api/network.js.map +1 -1
- package/lib/families/hedera/deviceTransactionConfig.d.ts.map +1 -1
- package/lib/families/hedera/deviceTransactionConfig.js +7 -0
- package/lib/families/hedera/deviceTransactionConfig.js.map +1 -1
- package/lib/families/hedera/js-synchronisation.d.ts.map +1 -1
- package/lib/families/hedera/js-synchronisation.js +10 -7
- package/lib/families/hedera/js-synchronisation.js.map +1 -1
- package/lib/families/hedera/specs.d.ts.map +1 -1
- package/lib/families/hedera/specs.js +23 -0
- package/lib/families/hedera/specs.js.map +1 -1
- package/lib/families/hedera/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/hedera/speculos-deviceActions.js +5 -1
- package/lib/families/hedera/speculos-deviceActions.js.map +1 -1
- package/lib/families/hedera/transaction.d.ts.map +1 -1
- package/lib/families/hedera/transaction.js +2 -2
- package/lib/families/hedera/transaction.js.map +1 -1
- package/lib/families/hedera/types.d.ts +2 -5
- package/lib/families/hedera/types.d.ts.map +1 -1
- package/lib/families/hedera/types.js +0 -4
- package/lib/families/hedera/types.js.map +1 -1
- package/lib/families/hedera/utils.d.ts.map +1 -1
- package/lib/families/solana/react.d.ts +2 -1
- package/lib/families/solana/react.d.ts.map +1 -1
- package/lib/families/solana/react.integration.test.d.ts +2 -0
- package/lib/families/solana/react.integration.test.d.ts.map +1 -0
- package/lib/families/solana/react.integration.test.js +142 -0
- package/lib/families/solana/react.integration.test.js.map +1 -0
- package/lib/families/solana/react.js +21 -3
- package/lib/families/solana/react.js.map +1 -1
- package/lib/featureFlags/types.d.ts +1 -1
- package/lib/featureFlags/types.d.ts.map +1 -1
- package/lib/generated/deviceTransactionConfig.d.ts +2 -0
- package/lib/generated/deviceTransactionConfig.d.ts.map +1 -1
- package/lib/generated/deviceTransactionConfig.js +28 -26
- package/lib/generated/deviceTransactionConfig.js.map +1 -1
- package/package.json +3 -3
- package/src/apps/support.ts +1 -0
- package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +101 -0
- package/src/families/cardano/__snapshots__/bridge.integration.test.ts.snap +41 -1
- package/src/families/cardano/bridge.integration.test.ts +38 -0
- package/src/families/cardano/buildSubAccounts.ts +5 -3
- package/src/families/cardano/deviceTransactionConfig.ts +109 -0
- package/src/families/cardano/errors.ts +7 -0
- package/src/families/cardano/js-estimateMaxSpendable.ts +4 -1
- package/src/families/cardano/js-getTransactionStatus.ts +7 -7
- package/src/families/cardano/js-signOperation.ts +10 -5
- package/src/families/cardano/js-synchronisation.ts +52 -21
- package/src/families/cardano/js-transaction.ts +1 -1
- package/src/families/cardano/logic.ts +10 -0
- package/src/families/cardano/specs.ts +53 -1
- package/src/families/cardano/speculos-deviceActions.ts +15 -0
- package/src/families/cosmos/react.ts +12 -4
- package/src/families/hedera/api/mirror.ts +1 -1
- package/src/families/hedera/api/network.ts +1 -0
- package/src/families/hedera/deviceTransactionConfig.ts +8 -0
- package/src/families/hedera/js-synchronisation.ts +5 -3
- package/src/families/hedera/specs.ts +56 -5
- package/src/families/hedera/speculos-deviceActions.ts +1 -0
- package/src/families/hedera/transaction.ts +2 -0
- package/src/families/hedera/types.ts +2 -8
- package/src/families/hedera/utils.ts +1 -1
- package/src/families/solana/react.integration.test.ts +76 -0
- package/src/families/solana/react.ts +28 -3
- package/src/featureFlags/types.ts +1 -0
- package/src/generated/deviceTransactionConfig.ts +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../../src/generated/deviceTransactionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,8CAA8C,CAAC;AAEpE,OAAO,OAAO,MAAM,6CAA6C,CAAC;AAElE,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAE5D,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAEhE,OAAO,UAAU,MAAM,gDAAgD,CAAC;AAExE,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAEhE,OAAO,QAAQ,MAAM,8CAA8C,CAAC;AAEpE,OAAO,QAAQ,MAAM,8CAA8C,CAAC;AAEpE,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAEhE,OAAO,QAAQ,MAAM,8CAA8C,CAAC;AAEpE,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAEhE,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAEhE,OAAO,OAAO,MAAM,6CAA6C,CAAC;AAElE,OAAO,KAAK,MAAM,2CAA2C,CAAC;AAE9D,OAAO,IAAI,MAAM,0CAA0C,CAAC
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../../src/generated/deviceTransactionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,8CAA8C,CAAC;AAEpE,OAAO,OAAO,MAAM,6CAA6C,CAAC;AAElE,OAAO,OAAO,MAAM,6CAA6C,CAAC;AAElE,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAE5D,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAEhE,OAAO,UAAU,MAAM,gDAAgD,CAAC;AAExE,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAEhE,OAAO,QAAQ,MAAM,8CAA8C,CAAC;AAEpE,OAAO,QAAQ,MAAM,8CAA8C,CAAC;AAEpE,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAEhE,OAAO,QAAQ,MAAM,8CAA8C,CAAC;AAEpE,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAEhE,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAEhE,OAAO,OAAO,MAAM,6CAA6C,CAAC;AAElE,OAAO,KAAK,MAAM,2CAA2C,CAAC;AAE9D,OAAO,IAAI,MAAM,0CAA0C,CAAC;;;;;;;;;;;;;;;;;;;AAG5D,wBAiBE;AACF,OAAO,EAAE,2BAA2B,IAAI,kCAAkC,EAAE,MAAM,4CAA4C,CAAC;AAC/H,OAAO,EAAE,2BAA2B,IAAI,oCAAoC,EAAE,MAAM,8CAA8C,CAAC;AACnI,OAAO,EAAE,2BAA2B,IAAI,oCAAoC,EAAE,MAAM,8CAA8C,CAAC;AACnI,OAAO,EAAE,2BAA2B,IAAI,mCAAmC,EAAE,MAAM,6CAA6C,CAAC;AACjI,OAAO,EAAE,2BAA2B,IAAI,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AAC7H,OAAO,EAAE,2BAA2B,IAAI,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAC3H,oBAAY,2BAA2B,GACrC,kCAAkC,GAClC,oCAAoC,GACpC,oCAAoC,GACpC,mCAAmC,GACnC,iCAAiC,GACjC,gCAAgC,CAAA"}
|
|
@@ -5,34 +5,36 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
6
|
var deviceTransactionConfig_1 = __importDefault(require("../families/algorand/deviceTransactionConfig"));
|
|
7
7
|
var deviceTransactionConfig_2 = __importDefault(require("../families/bitcoin/deviceTransactionConfig"));
|
|
8
|
-
var deviceTransactionConfig_3 = __importDefault(require("../families/
|
|
9
|
-
var deviceTransactionConfig_4 = __importDefault(require("../families/
|
|
10
|
-
var deviceTransactionConfig_5 = __importDefault(require("../families/
|
|
11
|
-
var deviceTransactionConfig_6 = __importDefault(require("../families/
|
|
12
|
-
var deviceTransactionConfig_7 = __importDefault(require("../families/
|
|
13
|
-
var deviceTransactionConfig_8 = __importDefault(require("../families/
|
|
14
|
-
var deviceTransactionConfig_9 = __importDefault(require("../families/
|
|
15
|
-
var deviceTransactionConfig_10 = __importDefault(require("../families/
|
|
16
|
-
var deviceTransactionConfig_11 = __importDefault(require("../families/
|
|
17
|
-
var deviceTransactionConfig_12 = __importDefault(require("../families/
|
|
18
|
-
var deviceTransactionConfig_13 = __importDefault(require("../families/
|
|
19
|
-
var deviceTransactionConfig_14 = __importDefault(require("../families/
|
|
20
|
-
var deviceTransactionConfig_15 = __importDefault(require("../families/
|
|
8
|
+
var deviceTransactionConfig_3 = __importDefault(require("../families/cardano/deviceTransactionConfig"));
|
|
9
|
+
var deviceTransactionConfig_4 = __importDefault(require("../families/celo/deviceTransactionConfig"));
|
|
10
|
+
var deviceTransactionConfig_5 = __importDefault(require("../families/cosmos/deviceTransactionConfig"));
|
|
11
|
+
var deviceTransactionConfig_6 = __importDefault(require("../families/crypto_org/deviceTransactionConfig"));
|
|
12
|
+
var deviceTransactionConfig_7 = __importDefault(require("../families/elrond/deviceTransactionConfig"));
|
|
13
|
+
var deviceTransactionConfig_8 = __importDefault(require("../families/ethereum/deviceTransactionConfig"));
|
|
14
|
+
var deviceTransactionConfig_9 = __importDefault(require("../families/filecoin/deviceTransactionConfig"));
|
|
15
|
+
var deviceTransactionConfig_10 = __importDefault(require("../families/hedera/deviceTransactionConfig"));
|
|
16
|
+
var deviceTransactionConfig_11 = __importDefault(require("../families/polkadot/deviceTransactionConfig"));
|
|
17
|
+
var deviceTransactionConfig_12 = __importDefault(require("../families/ripple/deviceTransactionConfig"));
|
|
18
|
+
var deviceTransactionConfig_13 = __importDefault(require("../families/solana/deviceTransactionConfig"));
|
|
19
|
+
var deviceTransactionConfig_14 = __importDefault(require("../families/stellar/deviceTransactionConfig"));
|
|
20
|
+
var deviceTransactionConfig_15 = __importDefault(require("../families/tezos/deviceTransactionConfig"));
|
|
21
|
+
var deviceTransactionConfig_16 = __importDefault(require("../families/tron/deviceTransactionConfig"));
|
|
21
22
|
exports["default"] = {
|
|
22
23
|
algorand: deviceTransactionConfig_1["default"],
|
|
23
24
|
bitcoin: deviceTransactionConfig_2["default"],
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
25
|
+
cardano: deviceTransactionConfig_3["default"],
|
|
26
|
+
celo: deviceTransactionConfig_4["default"],
|
|
27
|
+
cosmos: deviceTransactionConfig_5["default"],
|
|
28
|
+
crypto_org: deviceTransactionConfig_6["default"],
|
|
29
|
+
elrond: deviceTransactionConfig_7["default"],
|
|
30
|
+
ethereum: deviceTransactionConfig_8["default"],
|
|
31
|
+
filecoin: deviceTransactionConfig_9["default"],
|
|
32
|
+
hedera: deviceTransactionConfig_10["default"],
|
|
33
|
+
polkadot: deviceTransactionConfig_11["default"],
|
|
34
|
+
ripple: deviceTransactionConfig_12["default"],
|
|
35
|
+
solana: deviceTransactionConfig_13["default"],
|
|
36
|
+
stellar: deviceTransactionConfig_14["default"],
|
|
37
|
+
tezos: deviceTransactionConfig_15["default"],
|
|
38
|
+
tron: deviceTransactionConfig_16["default"]
|
|
37
39
|
};
|
|
38
40
|
//# sourceMappingURL=deviceTransactionConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../../src/generated/deviceTransactionConfig.ts"],"names":[],"mappings":";;;;;AAAA,yGAAoE;AAEpE,wGAAkE;AAElE,qGAA4D;AAE5D,uGAAgE;AAEhE,2GAAwE;AAExE,uGAAgE;AAEhE,yGAAoE;AAEpE,yGAAoE;AAEpE,
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../../src/generated/deviceTransactionConfig.ts"],"names":[],"mappings":";;;;;AAAA,yGAAoE;AAEpE,wGAAkE;AAElE,wGAAkE;AAElE,qGAA4D;AAE5D,uGAAgE;AAEhE,2GAAwE;AAExE,uGAAgE;AAEhE,yGAAoE;AAEpE,yGAAoE;AAEpE,wGAAgE;AAEhE,0GAAoE;AAEpE,wGAAgE;AAEhE,wGAAgE;AAEhE,yGAAkE;AAElE,uGAA8D;AAE9D,sGAA4D;AAG5D,qBAAe;IACb,QAAQ,sCAAA;IACR,OAAO,sCAAA;IACP,OAAO,sCAAA;IACP,IAAI,sCAAA;IACJ,MAAM,sCAAA;IACN,UAAU,sCAAA;IACV,MAAM,sCAAA;IACN,QAAQ,sCAAA;IACR,QAAQ,sCAAA;IACR,MAAM,uCAAA;IACN,QAAQ,uCAAA;IACR,MAAM,uCAAA;IACN,MAAM,uCAAA;IACN,OAAO,uCAAA;IACP,KAAK,uCAAA;IACL,IAAI,uCAAA;CACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
},
|
|
5
5
|
"name": "@ledgerhq/live-common",
|
|
6
6
|
"description": "Common ground for the Ledger Live apps",
|
|
7
|
-
"version": "25.0.0-next.
|
|
7
|
+
"version": "25.0.0-next.6",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
10
|
"url": "https://github.com/LedgerHQ/ledger-live.git"
|
|
@@ -108,13 +108,13 @@
|
|
|
108
108
|
"@ethereumjs/tx": "^3.5.0",
|
|
109
109
|
"@hashgraph/sdk": "^2.10.1",
|
|
110
110
|
"@ledgerhq/compressjs": "github:LedgerHQ/compressjs#d9e8e4d994923e0ea76a32b97289bcccfe71b82e",
|
|
111
|
-
"@ledgerhq/cryptoassets": "^6.30.0-next.
|
|
111
|
+
"@ledgerhq/cryptoassets": "^6.30.0-next.2",
|
|
112
112
|
"@ledgerhq/devices": "^7.0.0-next.0",
|
|
113
113
|
"@ledgerhq/errors": "^6.10.1-next.0",
|
|
114
114
|
"@ledgerhq/hw-app-algorand": "^6.27.2-next.0",
|
|
115
115
|
"@ledgerhq/hw-app-btc": "^8.0.0-next.0",
|
|
116
116
|
"@ledgerhq/hw-app-cosmos": "^6.27.2-next.0",
|
|
117
|
-
"@ledgerhq/hw-app-eth": "^6.29.2-next.
|
|
117
|
+
"@ledgerhq/hw-app-eth": "^6.29.2-next.2",
|
|
118
118
|
"@ledgerhq/hw-app-polkadot": "^6.27.2-next.0",
|
|
119
119
|
"@ledgerhq/hw-app-solana": "^6.27.2-next.0",
|
|
120
120
|
"@ledgerhq/hw-app-str": "^6.27.2-next.0",
|
package/src/apps/support.ts
CHANGED
|
@@ -6428,6 +6428,107 @@ Array [
|
|
|
6428
6428
|
"algorand/asa/137594422",
|
|
6429
6429
|
"elrond/esdt/555344432d633736663166",
|
|
6430
6430
|
"elrond/esdt/524944452d376431386539",
|
|
6431
|
+
"cardano_testnet/native/581684861359b6d4d00594073a9aa4223c6fc24d24da05e1b34fb865544553545f544f4b454e",
|
|
6432
|
+
"cardano/native/a0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235484f534b59",
|
|
6433
|
+
"cardano/native/af2e27f580f7f08e93190a81f72462f153026d06450924726645891b44524950",
|
|
6434
|
+
"cardano/native/9a9693a9a37912a5097918f97918d15240c92ab729a0b7c4aa144d7753554e444145",
|
|
6435
|
+
"cardano/native/4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bd546f6b68756e",
|
|
6436
|
+
"cardano/native/d894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a07370616365636f696e73",
|
|
6437
|
+
"cardano/native/29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c64d494e",
|
|
6438
|
+
"cardano/native/afc910d7a306d20c12903979d4935ae4307241d03245743548e767834153484942",
|
|
6439
|
+
"cardano/native/5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb243561646f736961",
|
|
6440
|
+
"cardano/native/8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc34c4f4253544552",
|
|
6441
|
+
"cardano/native/d030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78436172646f67656f",
|
|
6442
|
+
"cardano/native/a4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375b46495245",
|
|
6443
|
+
"cardano/native/2afb448ef716bfbed1dcb676102194c3009bee5399e93b90def9db6a4249534f4e",
|
|
6444
|
+
"cardano/native/f28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de61044454653",
|
|
6445
|
+
"cardano/native/544571c086d0e5c5022aca9717dd0f438e21190abb48f37b3ae129f047524f57",
|
|
6446
|
+
"cardano/native/1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6574f4c46",
|
|
6447
|
+
"cardano/native/884892bcdc360bcef87d6b3f806e7f9cd5ac30d999d49970e7a903ae5041564941",
|
|
6448
|
+
"cardano/native/7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57a424f52475a",
|
|
6449
|
+
"cardano/native/987c1f90efe1c95957509b460e0e4f6d6b3f7025a7aca99cd29090374d595448",
|
|
6450
|
+
"cardano/native/6954264b15bc92d6d592febeac84f14645e1ed46ca5ebb9acdb5c15f5354524950",
|
|
6451
|
+
"cardano/native/6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d104d454c44",
|
|
6452
|
+
"cardano/native/b0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa4051554944",
|
|
6453
|
+
"cardano/native/025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e66362544843",
|
|
6454
|
+
"cardano/native/c68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a944494253",
|
|
6455
|
+
"cardano/native/1d7f33bd23d85e1a25d87d86fac4f199c3197a2f7afeb662a0f34e1e776f726c646d6f62696c65746f6b656e",
|
|
6456
|
+
"cardano/native/1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07d4849",
|
|
6457
|
+
"cardano/native/8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b45142524f4f4d",
|
|
6458
|
+
"cardano/native/d3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bb42454147",
|
|
6459
|
+
"cardano/native/5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9464743",
|
|
6460
|
+
"cardano/native/88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b2941191734575736b6f",
|
|
6461
|
+
"cardano/native/cfee97ff8359f07a0a395a72b424bc6e030503390d864b86d4e0ecf84b41495a454e",
|
|
6462
|
+
"cardano/native/e14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8434845525259",
|
|
6463
|
+
"cardano/native/e98165a25cd0320b25f22d686268e58e66f855b6d85974947ccd708d414441464f58",
|
|
6464
|
+
"cardano/native/da8c30857834c6ae7203935b89278c532b3995245295456f993e1d244c51",
|
|
6465
|
+
"cardano/native/b34b3ea80060ace9427bda98690a73d33840e27aaa8d6edb7f0c757a634e455441",
|
|
6466
|
+
"cardano/native/300ec0d82a79acdc0616fdc0ef615e7deeddb03275e834685e9ee8a65854",
|
|
6467
|
+
"cardano/native/682fe60c9918842b3323c43b5144bc3d52a23bd2fb81345560d73f634e45574d",
|
|
6468
|
+
"cardano/native/d3a034e403b98cbdb0adbc8a3144d7779330916e190d387815bb85c650555252",
|
|
6469
|
+
"cardano/native/007394e3117755fbb0558b93c54ce3bc6c85770920044ade143dc742505443",
|
|
6470
|
+
"cardano/native/a3914cb7a564d010c7b67774ac8720a8ece3a758279b51d8a1c05cc55745444e4553444159",
|
|
6471
|
+
"cardano/native/d01794c4604f3c0e544c537bb1f4268c0e81f45880c00c09ebe4b4a74d595354",
|
|
6472
|
+
"cardano/native/29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c64d494e74",
|
|
6473
|
+
"cardano/native/8a1cfae21368b8bebbbed9800fec304e95cce39a2a57dc35e2e3ebaa4d494c4b",
|
|
6474
|
+
"cardano/native/a89568bb399d0cdc38367e47831c95186f5c79e58174e08a182323964554424643546f6b656e",
|
|
6475
|
+
"cardano/native/c88bbd1848db5ea665b1fffbefba86e8dcd723b5085348e8a8d2260f44414e41",
|
|
6476
|
+
"cardano/native/47959e79846b8bdcacb91f586408d97e2dff44f31a04f03902cba8185357454554",
|
|
6477
|
+
"cardano/native/0171c997b8853fde686763d93b36ab8e04ce947bb6aa09a9ee5c4401544f4b454e",
|
|
6478
|
+
"cardano/native/d5dec6074942b36b50975294fd801f7f28c907476b1ecc1b57c916ed524154",
|
|
6479
|
+
"cardano/native/8fef2d34078659493ce161a6c7fba4b56afefa8535296a5743f6958741414441",
|
|
6480
|
+
"cardano/native/0c78f619e54a5d00e143f66181a2c500d0c394b38a10e86cd1a23c5f41444158",
|
|
6481
|
+
"cardano/native/585cfcbdd0786e961187999e5d5d36b38d1ebc1c4112a0a95a8bd477424c43",
|
|
6482
|
+
"cardano/native/0c442180dd6163682d8e03b271caefb4944a24412bdd07adafb04ccb50494e41434f4c414441",
|
|
6483
|
+
"cardano/native/f4d97191f857096b441a410c036f63d6697dde0c71d2755dd664e3024d4b41",
|
|
6484
|
+
"cardano/native/804f5544c1962a40546827cab750a88404dc7108c0f588b72964754f56594649",
|
|
6485
|
+
"cardano/native/ae2a0aa5a24b27d9868c4a73b7c08077ac21baade5eca0fa467a2bbd58524159",
|
|
6486
|
+
"cardano/native/0fd9819a9d7fb414880883f43a42d33458f12bc5f9841cec6457dc155669527553",
|
|
6487
|
+
"cardano/native/df0172804f8418afc4e5b0a15b8fc78bdc3ca6d179405a7cd194f3b4464c49434b",
|
|
6488
|
+
"cardano/native/20cd68533b47565f3c61efb39c30fdace9963bfa4c0060b613448e3c50524f584945",
|
|
6489
|
+
"cardano/native/e9c28a71273f825b13f38244ccf1fea97c4025813610d01a7c5d681f436861726c7a20546f6b656e",
|
|
6490
|
+
"cardano/native/6787a47e9f73efe4002d763337140da27afa8eb9a39413d2c39d4286524144546f6b656e73",
|
|
6491
|
+
"cardano/native/db30c7905f598ed0154de14f970de0f61f0cb3943ed82c891968480a434c4150",
|
|
6492
|
+
"cardano/native/aea1ceb3625680e2f7a31ea1a64c9c430c34d8588bf4f8e3c7f9b1dd476f74636869",
|
|
6493
|
+
"cardano/native/14a3455f71c435a04ea1fdb50a3ef4c1cab0e79fb1565627ac66a57552415645",
|
|
6494
|
+
"cardano/native/2b0a04a7b60132b1805b296c7fcb3b217ff14413991bf76f72663c3067696d62616c",
|
|
6495
|
+
"cardano/native/4c17b7009448a33d1834b0946ea752ecd0cc61c7bb25cd9ff18cff58426c6f6f6d",
|
|
6496
|
+
"cardano/native/94cbb4fcbcaa2975779f273b263eb3b5f24a9951e446d6dc4c13586452455655",
|
|
6497
|
+
"cardano/native/63766427b4499dd678cb8b715dec3265dd292279ce7779447e3651e54b4f5a",
|
|
6498
|
+
"cardano/native/885742cd7e0dad321622b5d3ad186797bd50c44cbde8b48be1583fbd534b554c4c",
|
|
6499
|
+
"cardano/native/f7c777fdd4531cf1c477551360e45b9684073c05c2fa61334f8f9add5665726974726565546f6b656e",
|
|
6500
|
+
"cardano/native/aa2797739e4f4a1efd5346998febff59909e425b5fddb1b0ec4a24f84c6f6f6b7a",
|
|
6501
|
+
"cardano/native/dca54ecf37b0e3af2fdfd336e1d21fadcc45b3261b0f73a095631dfe444f4558",
|
|
6502
|
+
"cardano/native/25f0fc240e91bd95dcdaebd2ba7713fc5168ac77234a3d79449fc20c534f4349455459",
|
|
6503
|
+
"cardano/native/57684adcb032c8dbc40179841bed987d8dee7472617a0e5c25ef414059617953776170",
|
|
6504
|
+
"cardano/native/c9f955eeffa84e42363b4992281d32dd2f9239153d6c66420a9acc154c4f47",
|
|
6505
|
+
"cardano/native/240fb00eff73acc51c09e81dae6628c4bedb9964151d45e3faed874f434c4157",
|
|
6506
|
+
"cardano/native/2aa9c1557fcf8e7caa049fa0911a8724a1cdaf8037fe0b431c6ac66450494759546f6b656e",
|
|
6507
|
+
"cardano/native/2c96f49b6e6e32ae69a182e85b74db4edfc9539496a13ab76d1258fa434e54",
|
|
6508
|
+
"cardano/native/b6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0436f726e75636f70696173205b76696120436861696e506f72742e696f5d",
|
|
6509
|
+
"cardano/native/208a2ca888886921513cb777bb832a8dc685c04de990480151f1215053484942414441",
|
|
6510
|
+
"cardano/native/c4c00fbd8fa227442a5e7cdecde33b24588494d05a2c50fda8938c6d4b49445a",
|
|
6511
|
+
"cardano/native/dbc31b04d90b37332813cb4cee3e8f79994643d899a5366797e745ee465544",
|
|
6512
|
+
"cardano/native/d0af056c509b6b1133cd83a750b7245e561169281fde3df1cb6e2d96506f6f6c5065656b436f696e",
|
|
6513
|
+
"cardano/native/8f52f6a88acf6127bc4758a16b6047afc4da7887feae121ec217b75a534e4f57",
|
|
6514
|
+
"cardano/native/2441ab3351c3b80213a98f4e09ddcf7dabe4879c3c94cc4e7205cb6346495245",
|
|
6515
|
+
"cardano/native/c7dcfa416c127f630b263c7e0fe0564430cfa9c56bba43e1a37c6915474f4b4559",
|
|
6516
|
+
"cardano/native/97747aa3c33fdfe4b5faa7bb8b4534932c6d980cb13c14c5a547e7ca70757272414441",
|
|
6517
|
+
"cardano/native/ccb3577601d6cf0e021288871112926338bee685c6c37eeadf6dddd943617264616e6961466f756e646572426c7565",
|
|
6518
|
+
"cardano/native/ccb3577601d6cf0e021288871112926338bee685c6c37eeadf6dddd943617264616e6961466f756e646572526564",
|
|
6519
|
+
"cardano/native/1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07d484953",
|
|
6520
|
+
"cardano/native/ccb3577601d6cf0e021288871112926338bee685c6c37eeadf6dddd943617264616e6961466f756e646572477265656e",
|
|
6521
|
+
"cardano/native/b4273f1d8d0021d188784c3d72dc514f602b7ab8cfb87e3134550c42446f6765414441",
|
|
6522
|
+
"cardano/native/133fac9e153194428eb0919be39837b42b9e977fc7298f3ff1b76ef95055444759",
|
|
6523
|
+
"cardano/native/f555c46bad0731d080c9381d7fff6f82839946a66bd070d185e1ea2f42444f4745",
|
|
6524
|
+
"cardano/native/1dd1a7dde0e1e82761325ee5f4719d0d4b7c24dfba77d9bee01eed4b4d454f57",
|
|
6525
|
+
"cardano/native/a00fdf4fb9ab6c8c2bd1533a2f14855edf12aed5ecbf96d4b5f5b9394334",
|
|
6526
|
+
"cardano/native/f4364875e75320d405ceadebdf0db63fadaff55c72d4ff6b82f0676a434152474f",
|
|
6527
|
+
"cardano/native/59e31d17e4d212ea35df6088e0395455c40f5ad463d161497a89c567426162795365616c",
|
|
6528
|
+
"cardano/native/b0af30edf2c7f11465853821137e0a6ebc395cab71ee39c24127ffb44e465443",
|
|
6529
|
+
"cardano/native/6c8642400e8437f737eb86df0fc8a8437c760f48592b1ba8f5767e81456d706f7761",
|
|
6530
|
+
"cardano/native/ca942cb8bb5d1ef750766ded355f320880539111f10efa2b1a478ff9524147",
|
|
6531
|
+
"cardano/native/0c92aabef5a8f91a36470d0762806c165c0d04aa992541e25d55486a424347",
|
|
6431
6532
|
"stellar/asset/USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
|
|
6432
6533
|
]
|
|
6433
6534
|
`;
|
|
@@ -820,7 +820,7 @@ Array [
|
|
|
820
820
|
"operationsCount": 4,
|
|
821
821
|
"pendingOperations": Array [],
|
|
822
822
|
"seedIdentifier": "21a6a622d47969ef0b2b89ef7c2e8428f955bae3e52f211e651ccffd",
|
|
823
|
-
"spendableBalance": "
|
|
823
|
+
"spendableBalance": "1019831859",
|
|
824
824
|
"starred": false,
|
|
825
825
|
"subAccounts": Array [],
|
|
826
826
|
"swapHistory": Array [],
|
|
@@ -829,6 +829,20 @@ Array [
|
|
|
829
829
|
"used": true,
|
|
830
830
|
"xpub": "a902bc61a79256e1d5858d2ba49cab7011a26ad49580daace7412e255e818b1c1eba2defa321ff2937deba397f639f5bbabb0f0064516301fa4d08663c83f5b2",
|
|
831
831
|
},
|
|
832
|
+
Object {
|
|
833
|
+
"approvals": undefined,
|
|
834
|
+
"balance": "5000000000",
|
|
835
|
+
"compoundBalance": undefined,
|
|
836
|
+
"id": "js:2:cardano_testnet:a902bc61a79256e1d5858d2ba49cab7011a26ad49580daace7412e255e818b1c1eba2defa321ff2937deba397f639f5bbabb0f0064516301fa4d08663c83f5b2:cardano+cardano_testnet%2Fnative%2F581684861359b6d4d00594073a9aa4223c6fc24d24da05e1b34fb865544553545f544f4b454e",
|
|
837
|
+
"operationsCount": 1,
|
|
838
|
+
"parentId": "js:2:cardano_testnet:a902bc61a79256e1d5858d2ba49cab7011a26ad49580daace7412e255e818b1c1eba2defa321ff2937deba397f639f5bbabb0f0064516301fa4d08663c83f5b2:cardano",
|
|
839
|
+
"pendingOperations": Array [],
|
|
840
|
+
"spendableBalance": "5000000000",
|
|
841
|
+
"starred": false,
|
|
842
|
+
"swapHistory": Array [],
|
|
843
|
+
"tokenId": "cardano_testnet/native/581684861359b6d4d00594073a9aa4223c6fc24d24da05e1b34fb865544553545f544f4b454e",
|
|
844
|
+
"type": "TokenAccountRaw",
|
|
845
|
+
},
|
|
832
846
|
Object {
|
|
833
847
|
"balance": "0",
|
|
834
848
|
"cardanoResources": Object {
|
|
@@ -1662,6 +1676,32 @@ Array [
|
|
|
1662
1676
|
"value": "1000000000",
|
|
1663
1677
|
},
|
|
1664
1678
|
],
|
|
1679
|
+
Array [
|
|
1680
|
+
Object {
|
|
1681
|
+
"accountId": "js:2:cardano_testnet:a902bc61a79256e1d5858d2ba49cab7011a26ad49580daace7412e255e818b1c1eba2defa321ff2937deba397f639f5bbabb0f0064516301fa4d08663c83f5b2:cardano+cardano_testnet%2Fnative%2F581684861359b6d4d00594073a9aa4223c6fc24d24da05e1b34fb865544553545f544f4b454e",
|
|
1682
|
+
"blockHash": undefined,
|
|
1683
|
+
"blockHeight": 3568569,
|
|
1684
|
+
"contract": undefined,
|
|
1685
|
+
"extra": Object {
|
|
1686
|
+
"memo": undefined,
|
|
1687
|
+
},
|
|
1688
|
+
"fee": "215441",
|
|
1689
|
+
"hash": "2c8106d296fe10a8e8bf37a0202df048265dc17f2aa6c184bd132960fbb18bae",
|
|
1690
|
+
"id": "js:2:cardano_testnet:a902bc61a79256e1d5858d2ba49cab7011a26ad49580daace7412e255e818b1c1eba2defa321ff2937deba397f639f5bbabb0f0064516301fa4d08663c83f5b2:cardano+cardano_testnet%2Fnative%2F581684861359b6d4d00594073a9aa4223c6fc24d24da05e1b34fb865544553545f544f4b454e-2c8106d296fe10a8e8bf37a0202df048265dc17f2aa6c184bd132960fbb18bae-IN",
|
|
1691
|
+
"operator": undefined,
|
|
1692
|
+
"recipients": Array [
|
|
1693
|
+
"addr_test1qqs6df3z63uknmct9wy77lpwss50j4d6u0jj7gg7v5wvll23krjmh2m86v92yu0my7rqydx3h5erqwty82kwgjuc4elsr6hdhy",
|
|
1694
|
+
"addr_test1qzpdaf0vr0gdsjncllv7cejmpwmwu6m86c3epd8uadv99ktra2x9gp8eakdwsrv4k42ys4ajqy0r7f4k8hwrhcdt6sks7k7alz",
|
|
1695
|
+
],
|
|
1696
|
+
"senders": Array [
|
|
1697
|
+
"addr_test1qr4qq9s7cf28zse9t4c46l3utj6ajphx654l8ddcv6rhketra2x9gp8eakdwsrv4k42ys4ajqy0r7f4k8hwrhcdt6sksjh37nz",
|
|
1698
|
+
],
|
|
1699
|
+
"standard": undefined,
|
|
1700
|
+
"tokenId": undefined,
|
|
1701
|
+
"type": "IN",
|
|
1702
|
+
"value": "5000000000",
|
|
1703
|
+
},
|
|
1704
|
+
],
|
|
1665
1705
|
Array [],
|
|
1666
1706
|
]
|
|
1667
1707
|
`;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { NotEnoughBalance } from "@ledgerhq/errors";
|
|
1
2
|
import "../../__tests__/test-helpers/setup";
|
|
2
3
|
import { testBridge } from "../../__tests__/test-helpers/bridge";
|
|
3
4
|
import BigNumber from "bignumber.js";
|
|
@@ -33,6 +34,43 @@ const dataset: DatasetTest<Transaction> = {
|
|
|
33
34
|
},
|
|
34
35
|
},
|
|
35
36
|
},
|
|
37
|
+
{
|
|
38
|
+
name: "token amount more than balance",
|
|
39
|
+
transaction: fromTransactionRaw({
|
|
40
|
+
family: "cardano",
|
|
41
|
+
recipient:
|
|
42
|
+
"addr_test1qpl90kc2jl5kr9tev0s7vays9yhwcdnq8nlylyk4dqsdq3g466elxnxwrzwq72pvp5akenj30t5s9et7frfvrxxx8xcsxrzs87",
|
|
43
|
+
amount: "5000000001",
|
|
44
|
+
subAccountId:
|
|
45
|
+
"js:2:cardano_testnet:a902bc61a79256e1d5858d2ba49cab7011a26ad49580daace7412e255e818b1c1eba2defa321ff2937deba397f639f5bbabb0f0064516301fa4d08663c83f5b2:+cardano_testnet%2Fnative%2F581684861359b6d4d00594073a9aa4223c6fc24d24da05e1b34fb865544553545f544f4b454e",
|
|
46
|
+
mode: "send",
|
|
47
|
+
}),
|
|
48
|
+
expectedStatus: {
|
|
49
|
+
amount: new BigNumber("5000000001"),
|
|
50
|
+
errors: {
|
|
51
|
+
amount: new NotEnoughBalance(),
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: "send max token",
|
|
57
|
+
transaction: fromTransactionRaw({
|
|
58
|
+
family: "cardano",
|
|
59
|
+
recipient:
|
|
60
|
+
"addr_test1qpl90kc2jl5kr9tev0s7vays9yhwcdnq8nlylyk4dqsdq3g466elxnxwrzwq72pvp5akenj30t5s9et7frfvrxxx8xcsxrzs87",
|
|
61
|
+
amount: "0",
|
|
62
|
+
subAccountId:
|
|
63
|
+
"js:2:cardano_testnet:a902bc61a79256e1d5858d2ba49cab7011a26ad49580daace7412e255e818b1c1eba2defa321ff2937deba397f639f5bbabb0f0064516301fa4d08663c83f5b2:+cardano_testnet%2Fnative%2F581684861359b6d4d00594073a9aa4223c6fc24d24da05e1b34fb865544553545f544f4b454e",
|
|
64
|
+
mode: "send",
|
|
65
|
+
useAllAmount: true,
|
|
66
|
+
}),
|
|
67
|
+
expectedStatus: {
|
|
68
|
+
amount: new BigNumber("5000000000"),
|
|
69
|
+
totalSpent: new BigNumber("5000000000"),
|
|
70
|
+
errors: {},
|
|
71
|
+
warnings: {},
|
|
72
|
+
},
|
|
73
|
+
},
|
|
36
74
|
],
|
|
37
75
|
},
|
|
38
76
|
],
|
|
@@ -83,6 +83,10 @@ const mapTxToTokenAccountOperation = ({
|
|
|
83
83
|
|
|
84
84
|
const tokenOperationType = token.amount.lt(0) ? "OUT" : "IN";
|
|
85
85
|
const memo = getMemoFromTx(tx);
|
|
86
|
+
const extra = {};
|
|
87
|
+
if (memo) {
|
|
88
|
+
extra["memo"] = memo;
|
|
89
|
+
}
|
|
86
90
|
const operation: Operation = {
|
|
87
91
|
accountId: tokenAccountId,
|
|
88
92
|
id: encodeOperationId(tokenAccountId, tx.hash, tokenOperationType),
|
|
@@ -102,9 +106,7 @@ const mapTxToTokenAccountOperation = ({
|
|
|
102
106
|
),
|
|
103
107
|
blockHeight: tx.blockHeight,
|
|
104
108
|
date: new Date(tx.timestamp),
|
|
105
|
-
extra:
|
|
106
|
-
memo,
|
|
107
|
-
},
|
|
109
|
+
extra: extra,
|
|
108
110
|
blockHash: undefined,
|
|
109
111
|
};
|
|
110
112
|
operations.push(operation);
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { getAccountUnit, getMainAccount } from "../../account";
|
|
3
|
+
import { formatCurrencyUnit } from "../../currencies";
|
|
4
|
+
import { DeviceTransactionField } from "../../transaction";
|
|
5
|
+
import { Account, AccountLike, TransactionStatus } from "../../types";
|
|
6
|
+
import { decodeTokenAssetId, decodeTokenCurrencyId } from "./buildSubAccounts";
|
|
7
|
+
import { CardanoResources, Transaction } from "./types";
|
|
8
|
+
import { utils as TyphonUtils } from "@stricahq/typhonjs";
|
|
9
|
+
import { decodeTokenName } from "./logic";
|
|
10
|
+
|
|
11
|
+
function getDeviceTransactionConfig({
|
|
12
|
+
account,
|
|
13
|
+
transaction,
|
|
14
|
+
parentAccount,
|
|
15
|
+
}: {
|
|
16
|
+
account: AccountLike;
|
|
17
|
+
parentAccount: Account | null | undefined;
|
|
18
|
+
transaction: Transaction;
|
|
19
|
+
status: TransactionStatus;
|
|
20
|
+
}): Array<DeviceTransactionField> {
|
|
21
|
+
const { mode } = transaction;
|
|
22
|
+
const fields: DeviceTransactionField[] = [];
|
|
23
|
+
const mainAccount = getMainAccount(account, parentAccount);
|
|
24
|
+
|
|
25
|
+
if (mode === "send") {
|
|
26
|
+
if (account.type === "TokenAccount") {
|
|
27
|
+
const cardanoResources = mainAccount.cardanoResources as CardanoResources;
|
|
28
|
+
|
|
29
|
+
const { assetId } = decodeTokenCurrencyId(account.token.id);
|
|
30
|
+
const { policyId, assetName } = decodeTokenAssetId(assetId);
|
|
31
|
+
const transactionAmount = transaction.useAllAmount
|
|
32
|
+
? account.balance
|
|
33
|
+
: transaction.amount;
|
|
34
|
+
const { fees } = transaction;
|
|
35
|
+
|
|
36
|
+
const tokensToSend = [
|
|
37
|
+
{
|
|
38
|
+
policyId,
|
|
39
|
+
assetName,
|
|
40
|
+
amount: transactionAmount,
|
|
41
|
+
},
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
const requiredMinAdaForTokens = TyphonUtils.calculateMinUtxoAmount(
|
|
45
|
+
tokensToSend,
|
|
46
|
+
new BigNumber(cardanoResources.protocolParams.lovelacePerUtxoWord)
|
|
47
|
+
);
|
|
48
|
+
fields.push({
|
|
49
|
+
type: "text",
|
|
50
|
+
label: "ADA",
|
|
51
|
+
value: formatCurrencyUnit(
|
|
52
|
+
getAccountUnit(mainAccount),
|
|
53
|
+
requiredMinAdaForTokens,
|
|
54
|
+
{ showCode: true, disableRounding: true }
|
|
55
|
+
),
|
|
56
|
+
});
|
|
57
|
+
fields.push({
|
|
58
|
+
type: "text",
|
|
59
|
+
label: "Token Name",
|
|
60
|
+
value: decodeTokenName(assetName),
|
|
61
|
+
});
|
|
62
|
+
fields.push({
|
|
63
|
+
type: "text",
|
|
64
|
+
label: "Amount",
|
|
65
|
+
value: formatCurrencyUnit(getAccountUnit(account), transactionAmount, {
|
|
66
|
+
showCode: true,
|
|
67
|
+
disableRounding: true,
|
|
68
|
+
}),
|
|
69
|
+
});
|
|
70
|
+
if (fees) {
|
|
71
|
+
fields.push({
|
|
72
|
+
type: "text",
|
|
73
|
+
label: "Fees",
|
|
74
|
+
value: formatCurrencyUnit(getAccountUnit(mainAccount), fees, {
|
|
75
|
+
showCode: true,
|
|
76
|
+
disableRounding: true,
|
|
77
|
+
}),
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
} else if (account.type === "Account") {
|
|
81
|
+
const { fees } = transaction;
|
|
82
|
+
const transactionAmount = transaction.useAllAmount
|
|
83
|
+
? account.balance
|
|
84
|
+
: transaction.amount;
|
|
85
|
+
fields.push({
|
|
86
|
+
type: "text",
|
|
87
|
+
label: "Amount",
|
|
88
|
+
value: formatCurrencyUnit(getAccountUnit(account), transactionAmount, {
|
|
89
|
+
showCode: true,
|
|
90
|
+
disableRounding: true,
|
|
91
|
+
}),
|
|
92
|
+
});
|
|
93
|
+
if (fees) {
|
|
94
|
+
fields.push({
|
|
95
|
+
type: "text",
|
|
96
|
+
label: "Fees",
|
|
97
|
+
value: formatCurrencyUnit(getAccountUnit(account), fees, {
|
|
98
|
+
showCode: true,
|
|
99
|
+
disableRounding: true,
|
|
100
|
+
}),
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return fields;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export default getDeviceTransactionConfig;
|
|
@@ -6,3 +6,10 @@ import { createCustomErrorClass } from "@ledgerhq/errors";
|
|
|
6
6
|
export const CardanoMinAmountError = createCustomErrorClass(
|
|
7
7
|
"CardanoMinAmountError"
|
|
8
8
|
);
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Cardano error thrown when not enough funds to perform transaction
|
|
12
|
+
*/
|
|
13
|
+
export const CardanoNotEnoughFunds = createCustomErrorClass(
|
|
14
|
+
"CardanoNotEnoughFunds"
|
|
15
|
+
);
|
|
@@ -30,10 +30,13 @@ const estimateMaxSpendable = async ({
|
|
|
30
30
|
return account.balance;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
const dummyRecipient =
|
|
34
|
+
"addr_test1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq0uk53y";
|
|
33
35
|
const a = getMainAccount(account, parentAccount);
|
|
34
|
-
const t = {
|
|
36
|
+
const t: Transaction = {
|
|
35
37
|
...createTransaction(),
|
|
36
38
|
...transaction,
|
|
39
|
+
recipient: dummyRecipient,
|
|
37
40
|
// amount field will not be used to build a transaction when useAllAmount is true
|
|
38
41
|
amount: new BigNumber(0),
|
|
39
42
|
useAllAmount: true,
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BigNumber } from "bignumber.js";
|
|
2
2
|
import {
|
|
3
|
-
NotEnoughBalance,
|
|
4
3
|
RecipientRequired,
|
|
5
4
|
FeeNotLoaded,
|
|
6
5
|
InvalidAddress,
|
|
@@ -10,7 +9,7 @@ import type { Account, TransactionStatus } from "../../types";
|
|
|
10
9
|
import type { CardanoResources, Token, Transaction } from "./types";
|
|
11
10
|
import { isValidAddress } from "./logic";
|
|
12
11
|
import { utils as TyphonUtils } from "@stricahq/typhonjs";
|
|
13
|
-
import { CardanoMinAmountError } from "./errors";
|
|
12
|
+
import { CardanoMinAmountError, CardanoNotEnoughFunds } from "./errors";
|
|
14
13
|
import { AccountAwaitingSendPendingOperations } from "../../errors";
|
|
15
14
|
import { getNetworkParameters } from "./networks";
|
|
16
15
|
import { decodeTokenAssetId, decodeTokenCurrencyId } from "./buildSubAccounts";
|
|
@@ -86,17 +85,18 @@ const getTransactionStatus = async (
|
|
|
86
85
|
|
|
87
86
|
if (!amount.gt(0)) {
|
|
88
87
|
errors.amount = useAllAmount
|
|
89
|
-
? new
|
|
88
|
+
? new CardanoNotEnoughFunds()
|
|
90
89
|
: new AmountRequired();
|
|
91
90
|
} else if (!t.subAccountId && amount.lt(minTransactionAmount)) {
|
|
92
91
|
errors.amount = new CardanoMinAmountError("", {
|
|
93
92
|
amount: minTransactionAmount.div(1e6).toString(),
|
|
94
93
|
});
|
|
95
94
|
} else if (
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
tokenAccount
|
|
96
|
+
? totalSpent.gt(tokenAccount.balance)
|
|
97
|
+
: totalSpent.gt(a.balance)
|
|
98
98
|
) {
|
|
99
|
-
errors.amount = new
|
|
99
|
+
errors.amount = new CardanoNotEnoughFunds();
|
|
100
100
|
} else {
|
|
101
101
|
try {
|
|
102
102
|
await buildTransaction(a, t);
|
|
@@ -105,7 +105,7 @@ const getTransactionStatus = async (
|
|
|
105
105
|
e.message.toLowerCase() === "not enough ada" ||
|
|
106
106
|
e.message.toLowerCase() === "not enough tokens"
|
|
107
107
|
) {
|
|
108
|
-
errors.amount = new
|
|
108
|
+
errors.amount = new CardanoNotEnoughFunds();
|
|
109
109
|
}
|
|
110
110
|
throw e;
|
|
111
111
|
}
|
|
@@ -83,11 +83,18 @@ const buildOptimisticOperation = (
|
|
|
83
83
|
const memoMetadata = auxiliaryData.metadata.find(
|
|
84
84
|
(m) => m.label === MEMO_LABEL
|
|
85
85
|
);
|
|
86
|
-
if (memoMetadata &&
|
|
87
|
-
|
|
86
|
+
if (memoMetadata && memoMetadata.data instanceof Map) {
|
|
87
|
+
const msg = memoMetadata.data.get("msg");
|
|
88
|
+
if (Array.isArray(msg) && msg.length) {
|
|
89
|
+
memo = msg.join(", ");
|
|
90
|
+
}
|
|
88
91
|
}
|
|
89
92
|
}
|
|
90
93
|
|
|
94
|
+
const extra = {};
|
|
95
|
+
if (memo) {
|
|
96
|
+
extra["memo"] = memo;
|
|
97
|
+
}
|
|
91
98
|
const op: Operation = {
|
|
92
99
|
id: encodeOperationId(account.id, transactionHash, opType),
|
|
93
100
|
hash: transactionHash,
|
|
@@ -100,9 +107,7 @@ const buildOptimisticOperation = (
|
|
|
100
107
|
recipients: transaction.getOutputs().map((o) => o.address.getBech32()),
|
|
101
108
|
accountId: account.id,
|
|
102
109
|
date: new Date(),
|
|
103
|
-
extra:
|
|
104
|
-
memo,
|
|
105
|
-
},
|
|
110
|
+
extra: extra,
|
|
106
111
|
};
|
|
107
112
|
|
|
108
113
|
const tokenAccount = t.subAccountId
|