@ledgerhq/coin-hedera 1.12.0-nightly.2 → 1.12.0-nightly.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +73 -11
- package/lib/api/network.d.ts +2 -6
- package/lib/api/network.d.ts.map +1 -1
- package/lib/api/network.js +4 -25
- package/lib/api/network.js.map +1 -1
- package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -1
- package/lib/bridge/buildOptimisticOperation.js +6 -2
- package/lib/bridge/buildOptimisticOperation.js.map +1 -1
- package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib/bridge/getTransactionStatus.js +10 -13
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/getTransactionStatus.test.js +24 -8
- package/lib/bridge/getTransactionStatus.test.js.map +1 -1
- package/lib/bridge/index.d.ts.map +1 -1
- package/lib/bridge/index.js +3 -0
- package/lib/bridge/index.js.map +1 -1
- package/lib/bridge/utils.d.ts +4 -0
- package/lib/bridge/utils.d.ts.map +1 -1
- package/lib/bridge/utils.integration.test.js +40 -0
- package/lib/bridge/utils.integration.test.js.map +1 -1
- package/lib/bridge/utils.js +41 -3
- package/lib/bridge/utils.js.map +1 -1
- package/lib/errors.d.ts +12 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +5 -1
- package/lib/errors.js.map +1 -1
- package/lib-es/api/network.d.ts +2 -6
- package/lib-es/api/network.d.ts.map +1 -1
- package/lib-es/api/network.js +3 -24
- package/lib-es/api/network.js.map +1 -1
- package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -1
- package/lib-es/bridge/buildOptimisticOperation.js +7 -3
- package/lib-es/bridge/buildOptimisticOperation.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib-es/bridge/getTransactionStatus.js +9 -12
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.test.js +21 -5
- package/lib-es/bridge/getTransactionStatus.test.js.map +1 -1
- package/lib-es/bridge/index.d.ts.map +1 -1
- package/lib-es/bridge/index.js +3 -0
- package/lib-es/bridge/index.js.map +1 -1
- package/lib-es/bridge/utils.d.ts +4 -0
- package/lib-es/bridge/utils.d.ts.map +1 -1
- package/lib-es/bridge/utils.integration.test.js +41 -1
- package/lib-es/bridge/utils.integration.test.js.map +1 -1
- package/lib-es/bridge/utils.js +40 -3
- package/lib-es/bridge/utils.js.map +1 -1
- package/lib-es/errors.d.ts +12 -0
- package/lib-es/errors.d.ts.map +1 -1
- package/lib-es/errors.js +4 -0
- package/lib-es/errors.js.map +1 -1
- package/package.json +10 -10
- package/src/api/network.ts +2 -35
- package/src/bridge/buildOptimisticOperation.ts +7 -3
- package/src/bridge/getTransactionStatus.test.ts +27 -5
- package/src/bridge/getTransactionStatus.ts +14 -13
- package/src/bridge/index.ts +3 -0
- package/src/bridge/utils.integration.test.ts +52 -0
- package/src/bridge/utils.ts +49 -2
- package/src/errors.ts +12 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @ledgerhq/coin-hedera@1.12.0-nightly.
|
|
2
|
+
> @ledgerhq/coin-hedera@1.12.0-nightly.3 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-hedera
|
|
3
3
|
> tsc --outDir lib --module commonjs --moduleResolution node10 && tsc -m ES6 --outDir lib-es
|
|
4
4
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,33 +1,95 @@
|
|
|
1
1
|
# @ledgerhq/coin-hedera
|
|
2
2
|
|
|
3
|
+
## 1.12.0-nightly.4
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#12222](https://github.com/LedgerHQ/ledger-live/pull/12222) [`759064d`](https://github.com/LedgerHQ/ledger-live/commit/759064d4815c636af2d73ba548a85b4f53e7b491) Thanks [@Wozacosta](https://github.com/Wozacosta)! - fix: handle addresses with checksum
|
|
8
|
+
chore: move custom errors to coin-module
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies [[`7744980`](https://github.com/LedgerHQ/ledger-live/commit/774498090411f1a6d6c06395dda1fc7cd24adf24), [`759064d`](https://github.com/LedgerHQ/ledger-live/commit/759064d4815c636af2d73ba548a85b4f53e7b491)]:
|
|
13
|
+
- @ledgerhq/types-live@6.87.0-nightly.3
|
|
14
|
+
- @ledgerhq/errors@6.27.0-nightly.0
|
|
15
|
+
- @ledgerhq/coin-framework@6.7.0-nightly.4
|
|
16
|
+
- @ledgerhq/cryptoassets@13.31.0-nightly.4
|
|
17
|
+
- @ledgerhq/live-countervalues@0.8.0-nightly.4
|
|
18
|
+
- @ledgerhq/devices@8.6.2-nightly.0
|
|
19
|
+
- @ledgerhq/live-network@2.0.20-nightly.1
|
|
20
|
+
|
|
21
|
+
## 1.12.0-nightly.3
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- Updated dependencies [[`8645f01`](https://github.com/LedgerHQ/ledger-live/commit/8645f016191d29a55f6b0ca6e4b1d1909fd35445)]:
|
|
26
|
+
- @ledgerhq/types-live@6.87.0-nightly.2
|
|
27
|
+
- @ledgerhq/coin-framework@6.7.0-nightly.3
|
|
28
|
+
- @ledgerhq/cryptoassets@13.31.0-nightly.3
|
|
29
|
+
- @ledgerhq/live-countervalues@0.8.0-nightly.3
|
|
30
|
+
|
|
3
31
|
## 1.12.0-nightly.2
|
|
4
32
|
|
|
5
33
|
### Patch Changes
|
|
6
34
|
|
|
7
|
-
- Updated dependencies [[`
|
|
35
|
+
- Updated dependencies [[`c6a676f`](https://github.com/LedgerHQ/ledger-live/commit/c6a676ff80581ac19b896adf44d54812983b72da), [`565da80`](https://github.com/LedgerHQ/ledger-live/commit/565da807b1ebbfc830fd0e47b3d8856f88d410a6)]:
|
|
36
|
+
- @ledgerhq/coin-framework@6.7.0-nightly.2
|
|
37
|
+
- @ledgerhq/cryptoassets@13.31.0-nightly.2
|
|
8
38
|
- @ledgerhq/live-countervalues@0.8.0-nightly.2
|
|
9
39
|
|
|
10
40
|
## 1.12.0-nightly.1
|
|
11
41
|
|
|
42
|
+
### Patch Changes
|
|
43
|
+
|
|
44
|
+
- Updated dependencies [[`ea16f59`](https://github.com/LedgerHQ/ledger-live/commit/ea16f592e85019a1b77287a7f2b975c6fcffc74c), [`a9aacdb`](https://github.com/LedgerHQ/ledger-live/commit/a9aacdb330700f0a294833f7d77de17f179229b2), [`f1f3845`](https://github.com/LedgerHQ/ledger-live/commit/f1f3845942e4cbce9c585dc65f6170ddbc319f19), [`89ac0ed`](https://github.com/LedgerHQ/ledger-live/commit/89ac0eddc145dcf5c7cf240aa8be4301372c8f33), [`db25e21`](https://github.com/LedgerHQ/ledger-live/commit/db25e212b87dea426b153c6f1d988cead63c8c46)]:
|
|
45
|
+
- @ledgerhq/cryptoassets@13.31.0-nightly.1
|
|
46
|
+
- @ledgerhq/types-live@6.87.0-nightly.1
|
|
47
|
+
- @ledgerhq/live-countervalues@0.8.0-nightly.1
|
|
48
|
+
- @ledgerhq/live-env@2.19.0-nightly.0
|
|
49
|
+
- @ledgerhq/coin-framework@6.7.0-nightly.1
|
|
50
|
+
- @ledgerhq/live-network@2.0.20-nightly.0
|
|
51
|
+
|
|
52
|
+
## 1.12.0-nightly.0
|
|
53
|
+
|
|
12
54
|
### Minor Changes
|
|
13
55
|
|
|
14
|
-
- [#
|
|
56
|
+
- [#12015](https://github.com/LedgerHQ/ledger-live/pull/12015) [`03af552`](https://github.com/LedgerHQ/ledger-live/commit/03af552b621e19e31747a65b1870dfe8d3bb005b) Thanks [@Justkant](https://github.com/Justkant)! - feat: new signRawTransaction to support any XRP transaction with wallet-api
|
|
57
|
+
|
|
58
|
+
### Patch Changes
|
|
59
|
+
|
|
60
|
+
- Updated dependencies [[`cfe65ca`](https://github.com/LedgerHQ/ledger-live/commit/cfe65cafa268be4e53197ee163ce78f28ed72592), [`b5fc1bd`](https://github.com/LedgerHQ/ledger-live/commit/b5fc1bd28fff091241905fec5ff8dc8af4c99b79), [`03af552`](https://github.com/LedgerHQ/ledger-live/commit/03af552b621e19e31747a65b1870dfe8d3bb005b), [`d2b12e7`](https://github.com/LedgerHQ/ledger-live/commit/d2b12e70bba9e772d078d1fe4d9c537b8d316a87), [`cab7d97`](https://github.com/LedgerHQ/ledger-live/commit/cab7d9794e7babb8220c6d339fb08e618e3d4202)]:
|
|
61
|
+
- @ledgerhq/cryptoassets@13.31.0-nightly.0
|
|
62
|
+
- @ledgerhq/types-live@6.87.0-nightly.0
|
|
63
|
+
- @ledgerhq/coin-framework@6.7.0-nightly.0
|
|
64
|
+
- @ledgerhq/live-countervalues@0.7.4-nightly.0
|
|
65
|
+
|
|
66
|
+
## 1.11.3
|
|
15
67
|
|
|
16
68
|
### Patch Changes
|
|
17
69
|
|
|
18
|
-
- Updated dependencies [[`
|
|
19
|
-
- @ledgerhq/
|
|
20
|
-
- @ledgerhq/
|
|
70
|
+
- Updated dependencies [[`e04d493`](https://github.com/LedgerHQ/ledger-live/commit/e04d49340c65c8b4608a37bb726d21350fdd32f1), [`a37c06f`](https://github.com/LedgerHQ/ledger-live/commit/a37c06f97b061a5db0dad3632bb5c3e8f293677c), [`ab0e1bc`](https://github.com/LedgerHQ/ledger-live/commit/ab0e1bcc97b66b750b6c29e618eb03ce6f25bb7b), [`c2d8d86`](https://github.com/LedgerHQ/ledger-live/commit/c2d8d8670f848989836c46ea08ae88c88086fdd6), [`4d60b7e`](https://github.com/LedgerHQ/ledger-live/commit/4d60b7e0984f0f8ef75c1483e0cfaf5784fbc5ed), [`e3b568d`](https://github.com/LedgerHQ/ledger-live/commit/e3b568d2cbeee6dcf19a7047ce9fa11a04b0ae2a), [`0d368f0`](https://github.com/LedgerHQ/ledger-live/commit/0d368f0e682b3bd3daafa6af5b396648a95b1488), [`f015ef3`](https://github.com/LedgerHQ/ledger-live/commit/f015ef32660905d00f55a45f451f38bc12aec9ba), [`fe1abf6`](https://github.com/LedgerHQ/ledger-live/commit/fe1abf640cc1a30b2e78bf7aa4a12e983a068f2e), [`e3bcefb`](https://github.com/LedgerHQ/ledger-live/commit/e3bcefbf8a46c91388d6f936fd31d6ffcdc24756)]:
|
|
71
|
+
- @ledgerhq/types-live@6.86.0
|
|
72
|
+
- @ledgerhq/cryptoassets@13.30.0
|
|
73
|
+
- @ledgerhq/errors@6.26.0
|
|
74
|
+
- @ledgerhq/live-env@2.18.0
|
|
75
|
+
- @ledgerhq/coin-framework@6.6.0
|
|
76
|
+
- @ledgerhq/live-countervalues@0.7.3
|
|
77
|
+
- @ledgerhq/devices@8.6.1
|
|
78
|
+
- @ledgerhq/live-network@2.0.19
|
|
21
79
|
|
|
22
|
-
## 1.11.3-
|
|
80
|
+
## 1.11.3-next.0
|
|
23
81
|
|
|
24
82
|
### Patch Changes
|
|
25
83
|
|
|
26
|
-
- Updated dependencies [[`e04d493`](https://github.com/LedgerHQ/ledger-live/commit/e04d49340c65c8b4608a37bb726d21350fdd32f1), [`4d60b7e`](https://github.com/LedgerHQ/ledger-live/commit/4d60b7e0984f0f8ef75c1483e0cfaf5784fbc5ed), [`e3b568d`](https://github.com/LedgerHQ/ledger-live/commit/e3b568d2cbeee6dcf19a7047ce9fa11a04b0ae2a), [`0d368f0`](https://github.com/LedgerHQ/ledger-live/commit/0d368f0e682b3bd3daafa6af5b396648a95b1488), [`fe1abf6`](https://github.com/LedgerHQ/ledger-live/commit/fe1abf640cc1a30b2e78bf7aa4a12e983a068f2e)]:
|
|
27
|
-
- @ledgerhq/types-live@6.86.0-
|
|
28
|
-
- @ledgerhq/cryptoassets@13.30.0-
|
|
29
|
-
- @ledgerhq/
|
|
30
|
-
- @ledgerhq/live-
|
|
84
|
+
- Updated dependencies [[`e04d493`](https://github.com/LedgerHQ/ledger-live/commit/e04d49340c65c8b4608a37bb726d21350fdd32f1), [`a37c06f`](https://github.com/LedgerHQ/ledger-live/commit/a37c06f97b061a5db0dad3632bb5c3e8f293677c), [`ab0e1bc`](https://github.com/LedgerHQ/ledger-live/commit/ab0e1bcc97b66b750b6c29e618eb03ce6f25bb7b), [`c2d8d86`](https://github.com/LedgerHQ/ledger-live/commit/c2d8d8670f848989836c46ea08ae88c88086fdd6), [`4d60b7e`](https://github.com/LedgerHQ/ledger-live/commit/4d60b7e0984f0f8ef75c1483e0cfaf5784fbc5ed), [`e3b568d`](https://github.com/LedgerHQ/ledger-live/commit/e3b568d2cbeee6dcf19a7047ce9fa11a04b0ae2a), [`0d368f0`](https://github.com/LedgerHQ/ledger-live/commit/0d368f0e682b3bd3daafa6af5b396648a95b1488), [`f015ef3`](https://github.com/LedgerHQ/ledger-live/commit/f015ef32660905d00f55a45f451f38bc12aec9ba), [`fe1abf6`](https://github.com/LedgerHQ/ledger-live/commit/fe1abf640cc1a30b2e78bf7aa4a12e983a068f2e), [`e3bcefb`](https://github.com/LedgerHQ/ledger-live/commit/e3bcefbf8a46c91388d6f936fd31d6ffcdc24756)]:
|
|
85
|
+
- @ledgerhq/types-live@6.86.0-next.0
|
|
86
|
+
- @ledgerhq/cryptoassets@13.30.0-next.0
|
|
87
|
+
- @ledgerhq/errors@6.26.0-next.0
|
|
88
|
+
- @ledgerhq/live-env@2.18.0-next.0
|
|
89
|
+
- @ledgerhq/coin-framework@6.6.0-next.0
|
|
90
|
+
- @ledgerhq/live-countervalues@0.7.3-next.0
|
|
91
|
+
- @ledgerhq/devices@8.6.1-next.0
|
|
92
|
+
- @ledgerhq/live-network@2.0.19-next.0
|
|
31
93
|
|
|
32
94
|
## 1.11.2
|
|
33
95
|
|
package/lib/api/network.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import BigNumber from "bignumber.js";
|
|
2
1
|
import type { Transaction as HederaTransaction, TransactionResponse } from "@hashgraph/sdk";
|
|
3
|
-
import { TransferTransaction, TokenAssociateTransaction } from "@hashgraph/sdk";
|
|
2
|
+
import { Client, TransferTransaction, TokenAssociateTransaction } from "@hashgraph/sdk";
|
|
4
3
|
import type { Account } from "@ledgerhq/types-live";
|
|
5
4
|
import { Transaction } from "../types";
|
|
6
5
|
export declare function broadcastTransaction(transaction: HederaTransaction): Promise<TransactionResponse>;
|
|
@@ -8,8 +7,5 @@ export declare function buildUnsignedTransaction({ account, transaction, }: {
|
|
|
8
7
|
account: Account;
|
|
9
8
|
transaction: Transaction;
|
|
10
9
|
}): Promise<TransferTransaction | TokenAssociateTransaction>;
|
|
11
|
-
export
|
|
12
|
-
balance: BigNumber;
|
|
13
|
-
}
|
|
14
|
-
export declare function getAccountBalance(address: string): Promise<AccountBalance>;
|
|
10
|
+
export declare function getHederaClient(): Client;
|
|
15
11
|
//# sourceMappingURL=network.d.ts.map
|
package/lib/api/network.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/api/network.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/api/network.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EACL,MAAM,EACN,mBAAmB,EAInB,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEjG;AAgFD,wBAAsB,wBAAwB,CAAC,EAC7C,OAAO,EACP,WAAW,GACZ,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;CAC1B,GAAG,OAAO,CAAC,mBAAmB,GAAG,yBAAyB,CAAC,CAW3D;AAID,wBAAgB,eAAe,IAAI,MAAM,CAMxC"}
|
package/lib/api/network.js
CHANGED
|
@@ -3,14 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.getHederaClient = exports.buildUnsignedTransaction = exports.broadcastTransaction = void 0;
|
|
7
7
|
const invariant_1 = __importDefault(require("invariant"));
|
|
8
8
|
const sdk_1 = require("@hashgraph/sdk");
|
|
9
9
|
const helpers_1 = require("@ledgerhq/coin-framework/account/helpers");
|
|
10
|
-
const errors_1 = require("../errors");
|
|
11
10
|
const logic_1 = require("../logic");
|
|
12
11
|
function broadcastTransaction(transaction) {
|
|
13
|
-
return transaction.execute(
|
|
12
|
+
return transaction.execute(getHederaClient());
|
|
14
13
|
}
|
|
15
14
|
exports.broadcastTransaction = broadcastTransaction;
|
|
16
15
|
// https://github.com/LedgerHQ/ledger-live/pull/72/commits/1e942687d4301660e43e0c4b5419fcfa2733b290
|
|
@@ -71,31 +70,11 @@ async function buildUnsignedTransaction({ account, transaction, }) {
|
|
|
71
70
|
}
|
|
72
71
|
}
|
|
73
72
|
exports.buildUnsignedTransaction = buildUnsignedTransaction;
|
|
74
|
-
async function getAccountBalance(address) {
|
|
75
|
-
const accountId = sdk_1.AccountId.fromString(address);
|
|
76
|
-
let accountBalance;
|
|
77
|
-
try {
|
|
78
|
-
accountBalance = await new sdk_1.AccountBalanceQuery({
|
|
79
|
-
accountId,
|
|
80
|
-
}).execute(getBalanceClient());
|
|
81
|
-
}
|
|
82
|
-
catch {
|
|
83
|
-
throw new errors_1.HederaAddAccountError();
|
|
84
|
-
}
|
|
85
|
-
return {
|
|
86
|
-
balance: accountBalance.hbars.to(sdk_1.HbarUnit.Tinybar),
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
exports.getAccountBalance = getAccountBalance;
|
|
90
73
|
let _hederaClient = null;
|
|
91
|
-
|
|
92
|
-
function getClient() {
|
|
74
|
+
function getHederaClient() {
|
|
93
75
|
_hederaClient ??= sdk_1.Client.forMainnet().setMaxNodesPerTransaction(1);
|
|
94
76
|
//_hederaClient.setNetwork({ mainnet: "https://hedera.coin.ledger.com" });
|
|
95
77
|
return _hederaClient;
|
|
96
78
|
}
|
|
97
|
-
|
|
98
|
-
_hederaBalanceClient ??= sdk_1.Client.forMainnet();
|
|
99
|
-
return _hederaBalanceClient;
|
|
100
|
-
}
|
|
79
|
+
exports.getHederaClient = getHederaClient;
|
|
101
80
|
//# sourceMappingURL=network.js.map
|
package/lib/api/network.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/api/network.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/api/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildOptimisticOperation.d.ts","sourceRoot":"","sources":["../../src/bridge/buildOptimisticOperation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAA+B,MAAM,sBAAsB,CAAC;AAG5F,OAAO,KAAK,EAAwB,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"buildOptimisticOperation.d.ts","sourceRoot":"","sources":["../../src/bridge/buildOptimisticOperation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAA+B,MAAM,sBAAsB,CAAC;AAG5F,OAAO,KAAK,EAAwB,WAAW,EAAE,MAAM,UAAU,CAAC;AA0HlE,eAAO,MAAM,wBAAwB;aAI1B,OAAO;iBACH,WAAW;MACtB,QAAQ,SAAS,CAWpB,CAAC"}
|
|
@@ -39,6 +39,8 @@ const buildOptimisticCoinOperation = async ({ account, transaction, transactionT
|
|
|
39
39
|
: await (0, utils_1.getEstimatedFees)(account, constants_1.HEDERA_OPERATION_TYPES.CryptoTransfer);
|
|
40
40
|
const value = transaction.amount;
|
|
41
41
|
const type = transactionType ?? "OUT";
|
|
42
|
+
const [_, recipientAddress] = (0, utils_1.safeParseAccountId)(transaction.recipient);
|
|
43
|
+
const recipientWithoutChecksum = recipientAddress?.accountId ?? transaction.recipient;
|
|
42
44
|
const operation = {
|
|
43
45
|
id: (0, operation_1.encodeOperationId)(account.id, "", type),
|
|
44
46
|
hash: "",
|
|
@@ -48,7 +50,7 @@ const buildOptimisticCoinOperation = async ({ account, transaction, transactionT
|
|
|
48
50
|
blockHash: null,
|
|
49
51
|
blockHeight: null,
|
|
50
52
|
senders: [account.freshAddress.toString()],
|
|
51
|
-
recipients: [
|
|
53
|
+
recipients: [recipientWithoutChecksum],
|
|
52
54
|
accountId: account.id,
|
|
53
55
|
date: new Date(),
|
|
54
56
|
extra: {},
|
|
@@ -59,6 +61,8 @@ const buildOptimisticTokenOperation = async ({ account, tokenAccount, transactio
|
|
|
59
61
|
const estimatedFee = await (0, utils_1.getEstimatedFees)(account, constants_1.HEDERA_OPERATION_TYPES.TokenTransfer);
|
|
60
62
|
const value = transaction.amount;
|
|
61
63
|
const type = "OUT";
|
|
64
|
+
const [_, recipientAddress] = (0, utils_1.safeParseAccountId)(transaction.recipient);
|
|
65
|
+
const recipientWithoutChecksum = recipientAddress?.accountId ?? transaction.recipient;
|
|
62
66
|
const coinOperation = await buildOptimisticCoinOperation({
|
|
63
67
|
account,
|
|
64
68
|
transaction: {
|
|
@@ -80,7 +84,7 @@ const buildOptimisticTokenOperation = async ({ account, tokenAccount, transactio
|
|
|
80
84
|
blockHash: null,
|
|
81
85
|
blockHeight: null,
|
|
82
86
|
senders: [account.freshAddress.toString()],
|
|
83
|
-
recipients: [
|
|
87
|
+
recipients: [recipientWithoutChecksum],
|
|
84
88
|
accountId: tokenAccount.id,
|
|
85
89
|
date: new Date(),
|
|
86
90
|
extra: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildOptimisticOperation.js","sourceRoot":"","sources":["../../src/bridge/buildOptimisticOperation.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAElC,kEAAuE;AACvE,sEAA8F;AAE9F,
|
|
1
|
+
{"version":3,"file":"buildOptimisticOperation.js","sourceRoot":"","sources":["../../src/bridge/buildOptimisticOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAgB,MAAM,sBAAsB,CAAC;AASjF,OAAO,KAAK,EAA4B,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AA8JzF,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAC9C,WAAW,EACX,OAAO,EACP,iBAAiB,CAClB,CAAC,sBAAsB,CAWvB,CAAC"}
|
|
@@ -5,10 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getTransactionStatus = void 0;
|
|
7
7
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
-
const sdk_1 = require("@hashgraph/sdk");
|
|
9
8
|
const errors_1 = require("@ledgerhq/errors");
|
|
10
9
|
const account_1 = require("@ledgerhq/coin-framework/account");
|
|
11
10
|
const live_env_1 = require("@ledgerhq/live-env");
|
|
11
|
+
const errors_2 = require("../errors");
|
|
12
12
|
const logic_1 = require("../logic");
|
|
13
13
|
const utils_1 = require("./utils");
|
|
14
14
|
const constants_1 = require("../constants");
|
|
@@ -16,16 +16,13 @@ function validateRecipient(account, recipient) {
|
|
|
16
16
|
if (!recipient || recipient.length === 0) {
|
|
17
17
|
return new errors_1.RecipientRequired();
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
try {
|
|
23
|
-
sdk_1.AccountId.fromString(recipient);
|
|
19
|
+
const [parsingError, parsingResult] = (0, utils_1.safeParseAccountId)(recipient);
|
|
20
|
+
if (parsingError) {
|
|
21
|
+
return parsingError;
|
|
24
22
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
});
|
|
23
|
+
const recipientWithoutChecksum = parsingResult.accountId;
|
|
24
|
+
if (account.freshAddress === recipientWithoutChecksum) {
|
|
25
|
+
return new errors_1.InvalidAddressBecauseDestinationIsAlsoSource();
|
|
29
26
|
}
|
|
30
27
|
return null;
|
|
31
28
|
}
|
|
@@ -44,7 +41,7 @@ async function handleTokenAssociateTransaction(account, transaction) {
|
|
|
44
41
|
const currentWorthInUSD = usdRate ? hbarBalance.multipliedBy(usdRate) : new bignumber_js_1.default(0);
|
|
45
42
|
const requiredWorthInUSD = (0, live_env_1.getEnv)("HEDERA_TOKEN_ASSOCIATION_MIN_USD");
|
|
46
43
|
if (currentWorthInUSD.isLessThan(requiredWorthInUSD)) {
|
|
47
|
-
errors.insufficientAssociateBalance = new
|
|
44
|
+
errors.insufficientAssociateBalance = new errors_2.HederaInsufficientFundsForAssociation("", {
|
|
48
45
|
requiredWorthInUSD,
|
|
49
46
|
});
|
|
50
47
|
}
|
|
@@ -72,11 +69,11 @@ async function handleTokenTransaction(account, subAccount, transaction) {
|
|
|
72
69
|
try {
|
|
73
70
|
const hasRecipientTokenAssociated = await (0, utils_1.checkAccountTokenAssociationStatus)(transaction.recipient, subAccount.token.contractAddress);
|
|
74
71
|
if (!hasRecipientTokenAssociated) {
|
|
75
|
-
warnings.missingAssociation = new
|
|
72
|
+
warnings.missingAssociation = new errors_2.HederaRecipientTokenAssociationRequired();
|
|
76
73
|
}
|
|
77
74
|
}
|
|
78
75
|
catch {
|
|
79
|
-
warnings.unverifiedAssociation = new
|
|
76
|
+
warnings.unverifiedAssociation = new errors_2.HederaRecipientTokenAssociationUnverified();
|
|
80
77
|
}
|
|
81
78
|
}
|
|
82
79
|
if (transaction.amount.eq(0)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,6CAK0B;AAE1B,8DAAsF;AACtF,iDAA4C;AAC5C,sCAImB;AACnB,oCAAmF;AAEnF,mCAMiB;AACjB,4CAAsD;AAKtD,SAAS,iBAAiB,CAAC,OAAgB,EAAE,SAAiB;IAC5D,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,0BAAiB,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,IAAA,0BAAkB,EAAC,SAAS,CAAC,CAAC;IAEpE,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,wBAAwB,GAAG,aAAa,CAAC,SAAS,CAAC;IAEzD,IAAI,OAAO,CAAC,YAAY,KAAK,wBAAwB,EAAE,CAAC;QACtD,OAAO,IAAI,qDAA4C,EAAE,CAAC;IAC5D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,OAAgB,EAChB,WAAqF;IAErF,MAAM,MAAM,GAAW,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjD,IAAA,4BAAoB,EAAC,OAAO,CAAC,QAAQ,CAAC;QACtC,IAAA,wBAAgB,EAAC,OAAO,EAAE,kCAAsB,CAAC,cAAc,CAAC;KACjE,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,IAAA,kCAA0B,EAAC,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAE5F,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzF,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,kBAAkB,GAAG,IAAA,iBAAM,EAAC,kCAAkC,CAAC,CAAC;QAEtE,IAAI,iBAAiB,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,4BAA4B,GAAG,IAAI,8CAAqC,CAAC,EAAE,EAAE;gBAClF,kBAAkB;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM;QACN,UAAU;QACV,aAAa;QACb,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,OAAgB,EAChB,UAAwB,EACxB,WAAwB;IAExB,MAAM,MAAM,GAAW,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1D,IAAA,uBAAe,EAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;QACzC,IAAA,wBAAgB,EAAC,OAAO,EAAE,kCAAsB,CAAC,aAAa,CAAC;KAChE,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAEzE,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,SAAS,GAAG,cAAc,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,2BAA2B,GAAG,MAAM,IAAA,0CAAkC,EAC1E,WAAW,CAAC,SAAS,EACrB,UAAU,CAAC,KAAK,CAAC,eAAe,CACjC,CAAC;YAEF,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACjC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,gDAAuC,EAAE,CAAC;YAC9E,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,qBAAqB,GAAG,IAAI,kDAAyC,EAAE,CAAC;QACnF,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,GAAG,IAAI,uBAAc,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,MAAM,GAAG,IAAI,yBAAgB,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,GAAG,IAAI,yBAAgB,EAAE,CAAC;IACzC,CAAC;IAED,OAAO;QACL,MAAM,EAAE,gBAAgB,CAAC,MAAM;QAC/B,UAAU,EAAE,gBAAgB,CAAC,UAAU;QACvC,aAAa;QACb,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAAgB,EAChB,WAAwB;IAExB,MAAM,MAAM,GAAW,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1D,IAAA,uBAAe,EAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;QACzC,IAAA,wBAAgB,EAAC,OAAO,EAAE,kCAAsB,CAAC,cAAc,CAAC;KACjE,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAEzE,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,SAAS,GAAG,cAAc,CAAC;IACpC,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAC1D,MAAM,CAAC,MAAM,GAAG,IAAI,uBAAc,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,MAAM,CAAC,MAAM,GAAG,IAAI,yBAAgB,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO;QACL,MAAM,EAAE,gBAAgB,CAAC,MAAM;QAC/B,UAAU,EAAE,gBAAgB,CAAC,UAAU;QACvC,aAAa;QACb,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAEM,MAAM,oBAAoB,GAIL,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE;IACzD,MAAM,UAAU,GAAG,IAAA,4BAAkB,EAAC,OAAO,EAAE,WAAW,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;IAChF,MAAM,kBAAkB,GAAG,IAAA,wBAAc,EAAC,UAAU,CAAC,CAAC;IAEtD,IAAI,IAAA,mCAA2B,EAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,OAAO,+BAA+B,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;SAAM,IAAI,kBAAkB,EAAE,CAAC;QAC9B,OAAO,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,OAAO,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC;AAfW,QAAA,oBAAoB,wBAe/B"}
|
|
@@ -28,6 +28,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
30
30
|
const errors_1 = require("@ledgerhq/errors");
|
|
31
|
+
const errors_2 = require("../errors");
|
|
31
32
|
const account_fixture_1 = require("../test/fixtures/account.fixture");
|
|
32
33
|
const currency_fixture_1 = require("../test/fixtures/currency.fixture");
|
|
33
34
|
const transaction_fixture_1 = require("../test/fixtures/transaction.fixture");
|
|
@@ -38,7 +39,7 @@ describe("getTransactionStatus", () => {
|
|
|
38
39
|
const mockedEstimatedFee = new bignumber_js_1.default(1);
|
|
39
40
|
const mockedUsdRate = new bignumber_js_1.default(1);
|
|
40
41
|
const validRecipientAddress = "0.0.1234567";
|
|
41
|
-
const
|
|
42
|
+
const validRecipientAddressWithChecksum = "0.0.1234567-ylkls";
|
|
42
43
|
beforeEach(() => {
|
|
43
44
|
jest.clearAllMocks();
|
|
44
45
|
jest.spyOn(utils, "getCurrencyToUSDRate").mockResolvedValueOnce(mockedUsdRate);
|
|
@@ -87,11 +88,26 @@ describe("getTransactionStatus", () => {
|
|
|
87
88
|
expect(result.totalSpent).toEqual(mockedEstimatedFee);
|
|
88
89
|
expect(result.estimatedFees).toEqual(mockedEstimatedFee);
|
|
89
90
|
});
|
|
91
|
+
test("recipient with checksum is supported", async () => {
|
|
92
|
+
const mockedAccount = (0, account_fixture_1.getMockedAccount)({ balance: new bignumber_js_1.default(1000) });
|
|
93
|
+
const mockedTransaction = (0, transaction_fixture_1.getMockedTransaction)({
|
|
94
|
+
recipient: validRecipientAddressWithChecksum,
|
|
95
|
+
amount: new bignumber_js_1.default(100),
|
|
96
|
+
});
|
|
97
|
+
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockedAccount, mockedTransaction);
|
|
98
|
+
expect(result.errors).toEqual({});
|
|
99
|
+
expect(result.warnings).toEqual({});
|
|
100
|
+
});
|
|
90
101
|
test("adds error for invalid recipient address", async () => {
|
|
91
102
|
const mockedAccount = (0, account_fixture_1.getMockedAccount)();
|
|
92
|
-
const
|
|
93
|
-
const
|
|
94
|
-
|
|
103
|
+
const txWithInvalidAddress = (0, transaction_fixture_1.getMockedTransaction)({ recipient: "invalid_address" });
|
|
104
|
+
const txWithInvalidAddressChecksum = (0, transaction_fixture_1.getMockedTransaction)({ recipient: "0.0.9124531-invld" });
|
|
105
|
+
const [result1, result2] = await Promise.all([
|
|
106
|
+
(0, getTransactionStatus_1.getTransactionStatus)(mockedAccount, txWithInvalidAddress),
|
|
107
|
+
(0, getTransactionStatus_1.getTransactionStatus)(mockedAccount, txWithInvalidAddressChecksum),
|
|
108
|
+
]);
|
|
109
|
+
expect(result1.errors.recipient).toBeInstanceOf(errors_1.InvalidAddress);
|
|
110
|
+
expect(result2.errors.recipient).toBeInstanceOf(errors_2.HederaRecipientInvalidChecksum);
|
|
95
111
|
});
|
|
96
112
|
test("adds error for self transfers", async () => {
|
|
97
113
|
const mockedAccount = (0, account_fixture_1.getMockedAccount)();
|
|
@@ -120,7 +136,7 @@ describe("getTransactionStatus", () => {
|
|
|
120
136
|
},
|
|
121
137
|
});
|
|
122
138
|
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockedAccount, mockedTransaction);
|
|
123
|
-
expect(result.errors.insufficientAssociateBalance).toBeInstanceOf(
|
|
139
|
+
expect(result.errors.insufficientAssociateBalance).toBeInstanceOf(errors_2.HederaInsufficientFundsForAssociation);
|
|
124
140
|
});
|
|
125
141
|
test("adds warning during token transfer if recipient has no token associated", async () => {
|
|
126
142
|
jest.spyOn(utils, "checkAccountTokenAssociationStatus").mockResolvedValueOnce(false);
|
|
@@ -132,12 +148,12 @@ describe("getTransactionStatus", () => {
|
|
|
132
148
|
recipient: validRecipientAddress,
|
|
133
149
|
});
|
|
134
150
|
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockedAccount, mockedTransaction);
|
|
135
|
-
expect(result.warnings.missingAssociation).toBeInstanceOf(
|
|
151
|
+
expect(result.warnings.missingAssociation).toBeInstanceOf(errors_2.HederaRecipientTokenAssociationRequired);
|
|
136
152
|
});
|
|
137
153
|
test("adds warning if token association status can't be verified", async () => {
|
|
138
154
|
jest
|
|
139
155
|
.spyOn(utils, "checkAccountTokenAssociationStatus")
|
|
140
|
-
.mockRejectedValueOnce(new
|
|
156
|
+
.mockRejectedValueOnce(new errors_2.HederaRecipientTokenAssociationUnverified());
|
|
141
157
|
const mockedTokenCurrency = (0, currency_fixture_1.getMockedTokenCurrency)();
|
|
142
158
|
const mockedTokenAccount = (0, account_fixture_1.getMockedTokenAccount)(mockedTokenCurrency);
|
|
143
159
|
const mockedAccount = (0, account_fixture_1.getMockedAccount)({ subAccounts: [mockedTokenAccount] });
|
|
@@ -146,7 +162,7 @@ describe("getTransactionStatus", () => {
|
|
|
146
162
|
recipient: validRecipientAddress,
|
|
147
163
|
});
|
|
148
164
|
const result = await (0, getTransactionStatus_1.getTransactionStatus)(mockedAccount, mockedTransaction);
|
|
149
|
-
expect(result.warnings.unverifiedAssociation).toBeInstanceOf(
|
|
165
|
+
expect(result.warnings.unverifiedAssociation).toBeInstanceOf(errors_2.HederaRecipientTokenAssociationUnverified);
|
|
150
166
|
});
|
|
151
167
|
test("adds error during token transfer with insufficient balance", async () => {
|
|
152
168
|
const mockedTokenCurrency = (0, currency_fixture_1.getMockedTokenCurrency)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionStatus.test.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"getTransactionStatus.test.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAW1E,OAAO,KAAK,EAAE,WAAW,EAAqB,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAW1E,OAAO,KAAK,EAAE,WAAW,EAAqB,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AA8C5F,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC;;;EAKvE"}
|
package/lib/bridge/index.js
CHANGED
|
@@ -44,6 +44,9 @@ function buildAccountBridge(signerContext) {
|
|
|
44
44
|
sync,
|
|
45
45
|
receive: (0, receive_1.receive)((0, getAddressWrapper_1.default)(getAddress)),
|
|
46
46
|
signOperation,
|
|
47
|
+
signRawOperation: () => {
|
|
48
|
+
throw new Error("signRawOperation is not supported");
|
|
49
|
+
},
|
|
47
50
|
broadcast: broadcast_1.broadcast,
|
|
48
51
|
getSerializedAddressParameters: jsHelpers_1.getSerializedAddressParameters,
|
|
49
52
|
};
|
package/lib/bridge/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":";;;;;;AAAA,yEAKmD;AACnD,0GAAkF;AAGlF,2CAAwC;AACxC,2DAAwD;AACxD,iEAA8D;AAC9D,iEAA8D;AAC9D,6DAA0D;AAC1D,uCAAoC;AACpC,mDAAqD;AACrD,uDAAwE;AACxE,mDAA2E;AAC3E,4DAAuC;AAGvC,SAAS,mBAAmB,CAAC,aAA0C;IACrE,MAAM,UAAU,GAAG,IAAA,eAAQ,EAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAG,IAAA,4BAAgB,EAAC;QACpC,eAAe,EAAf,iCAAe;QACf,kBAAkB,EAAlB,oCAAkB;QAClB,YAAY,EAAE,IAAA,2BAAiB,EAAC,UAAU,CAAC;KAC5C,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,IAAI,GAAG,IAAA,oBAAQ,EAAC,EAAE,eAAe,EAAf,iCAAe,EAAE,CAAC,CAAC;AAE3C,SAAS,kBAAkB,CACzB,aAA0C;IAE1C,MAAM,UAAU,GAAG,IAAA,eAAQ,EAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,IAAA,kCAAkB,EAAC,aAAa,CAAC,CAAC;IAExD,OAAO;QACL,oBAAoB,EAApB,2CAAoB;QACpB,iBAAiB,EAAjB,qCAAiB;QACjB,iBAAiB,EAAjB,6BAAiB;QACjB,oBAAoB,EAApB,2CAAoB;QACpB,kBAAkB,EAAlB,uCAAkB;QAClB,kBAAkB,EAAlB,kCAAkB;QAClB,oBAAoB,EAApB,oCAAoB;QACpB,IAAI;QACJ,OAAO,EAAE,IAAA,iBAAO,EAAC,IAAA,2BAAiB,EAAC,UAAU,CAAC,CAAC;QAC/C,aAAa;QACb,SAAS,EAAT,qBAAS;QACT,8BAA8B,EAA9B,0CAA8B;KAC/B,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,aAA0C;IACtE,OAAO;QACL,cAAc,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAClD,aAAa,EAAE,kBAAkB,CAAC,aAAa,CAAC;KACjD,CAAC;AACJ,CAAC;AALD,sCAKC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":";;;;;;AAAA,yEAKmD;AACnD,0GAAkF;AAGlF,2CAAwC;AACxC,2DAAwD;AACxD,iEAA8D;AAC9D,iEAA8D;AAC9D,6DAA0D;AAC1D,uCAAoC;AACpC,mDAAqD;AACrD,uDAAwE;AACxE,mDAA2E;AAC3E,4DAAuC;AAGvC,SAAS,mBAAmB,CAAC,aAA0C;IACrE,MAAM,UAAU,GAAG,IAAA,eAAQ,EAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAG,IAAA,4BAAgB,EAAC;QACpC,eAAe,EAAf,iCAAe;QACf,kBAAkB,EAAlB,oCAAkB;QAClB,YAAY,EAAE,IAAA,2BAAiB,EAAC,UAAU,CAAC;KAC5C,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,IAAI,GAAG,IAAA,oBAAQ,EAAC,EAAE,eAAe,EAAf,iCAAe,EAAE,CAAC,CAAC;AAE3C,SAAS,kBAAkB,CACzB,aAA0C;IAE1C,MAAM,UAAU,GAAG,IAAA,eAAQ,EAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,IAAA,kCAAkB,EAAC,aAAa,CAAC,CAAC;IAExD,OAAO;QACL,oBAAoB,EAApB,2CAAoB;QACpB,iBAAiB,EAAjB,qCAAiB;QACjB,iBAAiB,EAAjB,6BAAiB;QACjB,oBAAoB,EAApB,2CAAoB;QACpB,kBAAkB,EAAlB,uCAAkB;QAClB,kBAAkB,EAAlB,kCAAkB;QAClB,oBAAoB,EAApB,oCAAoB;QACpB,IAAI;QACJ,OAAO,EAAE,IAAA,iBAAO,EAAC,IAAA,2BAAiB,EAAC,UAAU,CAAC,CAAC;QAC/C,aAAa;QACb,gBAAgB,EAAE,GAAG,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,SAAS,EAAT,qBAAS;QACT,8BAA8B,EAA9B,0CAA8B;KAC/B,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,aAA0C;IACtE,OAAO;QACL,cAAc,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAClD,aAAa,EAAE,kBAAkB,CAAC,aAAa,CAAC;KACjD,CAAC;AACJ,CAAC;AALD,sCAKC"}
|
package/lib/bridge/utils.d.ts
CHANGED
|
@@ -25,5 +25,9 @@ export declare const mergeSubAccounts: (initialAccount: Account | undefined, new
|
|
|
25
25
|
export declare const applyPendingExtras: (existing: Operation[], pending: Operation[]) => Operation[];
|
|
26
26
|
export declare function patchOperationWithExtra(operation: Operation, extra: HederaOperationExtra): Operation;
|
|
27
27
|
export declare const checkAccountTokenAssociationStatus: import("@ledgerhq/live-network/cache").CacheRes<[accountId: string, tokenId: string], boolean>;
|
|
28
|
+
export declare const safeParseAccountId: (address: string) => [Error, null] | [null, {
|
|
29
|
+
accountId: string;
|
|
30
|
+
checksum: string | null;
|
|
31
|
+
}];
|
|
28
32
|
export {};
|
|
29
33
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bridge/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bridge/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAKrC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAgB7E,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAiB,MAAM,8BAA8B,CAAC;AAI5F,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAkC,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAKtF,eAAO,MAAM,oBAAoB,yFAoBhC,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAClB,OAAO,iBACD,sBAAsB,KACpC,QAAQ,SAAS,CAgBnB,CAAC;AAEF,UAAU,qBAAqB;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC;CACvB;AAyCD,eAAO,MAAM,eAAe;aAIjB,OAAO;iBACH,WAAW;MACtB,QAAQ,qBAAqB,CAahC,CAAC;AAGF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM1D;AAID,eAAO,MAAM,WAAW,aACZ,cAAc,wBACH,MAAM,EAAE,KAC5B,MAaF,CAAC;AAEF,eAAO,MAAM,cAAc,cACd,MAAM,uBACI,SAAS,EAAE,gBAClB,iBAAiB,EAAE,KAChC,QAAQ,YAAY,EAAE,CAwFxB,CAAC;AAmCF,eAAO,MAAM,iBAAiB,mBACZ,SAAS,EAAE,mBACV,SAAS,EAAE,gBACd,iBAAiB,EAAE,KAChC,SAAS,EAoDX,CAAC;AAaF;;GAEG;AACH,eAAO,MAAM,gBAAgB,mBACX,OAAO,GAAG,SAAS,kBACnB,YAAY,EAAE,KAC7B,MAAM,YAAY,CAmDpB,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAc,SAAS,EAAE,WAAW,SAAS,EAAE,gBAiB7E,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,oBAAoB,GAC1B,SAAS,CAOX;AAED,eAAO,MAAM,kCAAkC,gGAwB9C,CAAC;AAEF,eAAO,MAAM,kBAAkB,YACpB,MAAM,KACd,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CA+BvE,CAAC"}
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
7
|
+
const errors_1 = require("@ledgerhq/errors");
|
|
7
8
|
const index_1 = __importDefault(require("@ledgerhq/live-countervalues/api/index"));
|
|
8
9
|
const account_1 = require("@ledgerhq/coin-framework/account");
|
|
9
10
|
const account_fixture_1 = require("../test/fixtures/account.fixture");
|
|
@@ -12,6 +13,7 @@ const utils_1 = require("./utils");
|
|
|
12
13
|
const currency_fixture_1 = require("../test/fixtures/currency.fixture");
|
|
13
14
|
const operation_fixture_1 = require("../test/fixtures/operation.fixture");
|
|
14
15
|
const mirror_1 = require("../api/mirror");
|
|
16
|
+
const errors_2 = require("../errors");
|
|
15
17
|
const logic_1 = require("../logic");
|
|
16
18
|
const mirror_fixture_1 = require("../test/fixtures/mirror.fixture");
|
|
17
19
|
const constants_1 = require("../constants");
|
|
@@ -423,6 +425,44 @@ describe("utils", () => {
|
|
|
423
425
|
const result = await (0, utils_1.checkAccountTokenAssociationStatus)(accountId, tokenId);
|
|
424
426
|
expect(result).toBe(false);
|
|
425
427
|
});
|
|
428
|
+
test("supports addresses with checksum", async () => {
|
|
429
|
+
const addressWithChecksum = "0.0.9124531-xrxlv";
|
|
430
|
+
mockedGetAccount.mockResolvedValueOnce({
|
|
431
|
+
account: accountId,
|
|
432
|
+
max_automatic_token_associations: 0,
|
|
433
|
+
balance: {
|
|
434
|
+
balance: 1,
|
|
435
|
+
timestamp: "",
|
|
436
|
+
tokens: [{ token_id: "0.0.9999", balance: 1 }],
|
|
437
|
+
},
|
|
438
|
+
});
|
|
439
|
+
await (0, utils_1.checkAccountTokenAssociationStatus)(addressWithChecksum, tokenId);
|
|
440
|
+
expect(mockedGetAccount).toHaveBeenCalledWith("0.0.9124531");
|
|
441
|
+
});
|
|
442
|
+
});
|
|
443
|
+
describe("safeParseAccountId", () => {
|
|
444
|
+
test("returns account id and no checksum for valid address without checksum", () => {
|
|
445
|
+
const [error, result] = (0, utils_1.safeParseAccountId)("0.0.9124531");
|
|
446
|
+
expect(error).toBeNull();
|
|
447
|
+
expect(result?.accountId).toBe("0.0.9124531");
|
|
448
|
+
expect(result?.checksum).toBeNull();
|
|
449
|
+
});
|
|
450
|
+
test("returns account id and checksum for valid address with correct checksum", () => {
|
|
451
|
+
const [error, result] = (0, utils_1.safeParseAccountId)("0.0.9124531-xrxlv");
|
|
452
|
+
expect(error).toBeNull();
|
|
453
|
+
expect(result?.accountId).toBe("0.0.9124531");
|
|
454
|
+
expect(result?.checksum).toBe("xrxlv");
|
|
455
|
+
});
|
|
456
|
+
test("returns error for valid address with incorrect checksum", () => {
|
|
457
|
+
const [error, accountId] = (0, utils_1.safeParseAccountId)("0.0.9124531-invld");
|
|
458
|
+
expect(error).toBeInstanceOf(errors_2.HederaRecipientInvalidChecksum);
|
|
459
|
+
expect(accountId).toBeNull();
|
|
460
|
+
});
|
|
461
|
+
test("returns error for invalid address format", () => {
|
|
462
|
+
const [error, accountId] = (0, utils_1.safeParseAccountId)("not-a-valid-address");
|
|
463
|
+
expect(error).toBeInstanceOf(errors_1.InvalidAddress);
|
|
464
|
+
expect(accountId).toBeNull();
|
|
465
|
+
});
|
|
426
466
|
});
|
|
427
467
|
});
|
|
428
468
|
//# sourceMappingURL=utils.integration.test.js.map
|