@ledgerhq/coin-hedera 1.11.3-nightly.0 → 1.12.0-nightly.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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +38 -6
- package/lib/api/network.d.ts.map +1 -1
- package/lib/api/network.js +18 -9
- package/lib/api/network.js.map +1 -1
- package/lib/api/network.test.d.ts +2 -0
- package/lib/api/network.test.d.ts.map +1 -0
- package/lib/api/network.test.js +45 -0
- package/lib/api/network.test.js.map +1 -0
- 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/prepareTransaction.d.ts.map +1 -1
- package/lib/bridge/prepareTransaction.js +23 -1
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/prepareTransaction.test.d.ts +2 -0
- package/lib/bridge/prepareTransaction.test.d.ts.map +1 -0
- package/lib/bridge/prepareTransaction.test.js +58 -0
- package/lib/bridge/prepareTransaction.test.js.map +1 -0
- package/lib/bridge/synchronisation.d.ts.map +1 -1
- package/lib/bridge/synchronisation.js +3 -2
- package/lib/bridge/synchronisation.js.map +1 -1
- package/lib/transaction.d.ts.map +1 -1
- package/lib/transaction.js +6 -0
- package/lib/transaction.js.map +1 -1
- package/lib/types/bridge.d.ts +4 -1
- package/lib/types/bridge.d.ts.map +1 -1
- package/lib-es/api/network.d.ts.map +1 -1
- package/lib-es/api/network.js +18 -9
- package/lib-es/api/network.js.map +1 -1
- package/lib-es/api/network.test.d.ts +2 -0
- package/lib-es/api/network.test.d.ts.map +1 -0
- package/lib-es/api/network.test.js +40 -0
- package/lib-es/api/network.test.js.map +1 -0
- 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/prepareTransaction.d.ts.map +1 -1
- package/lib-es/bridge/prepareTransaction.js +24 -2
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/prepareTransaction.test.d.ts +2 -0
- package/lib-es/bridge/prepareTransaction.test.d.ts.map +1 -0
- package/lib-es/bridge/prepareTransaction.test.js +30 -0
- package/lib-es/bridge/prepareTransaction.test.js.map +1 -0
- package/lib-es/bridge/synchronisation.d.ts.map +1 -1
- package/lib-es/bridge/synchronisation.js +3 -2
- package/lib-es/bridge/synchronisation.js.map +1 -1
- package/lib-es/transaction.d.ts.map +1 -1
- package/lib-es/transaction.js +3 -0
- package/lib-es/transaction.js.map +1 -1
- package/lib-es/types/bridge.d.ts +4 -1
- package/lib-es/types/bridge.d.ts.map +1 -1
- package/package.json +10 -10
- package/src/api/network.test.ts +49 -0
- package/src/api/network.ts +24 -9
- package/src/bridge/index.ts +3 -0
- package/src/bridge/prepareTransaction.test.ts +38 -0
- package/src/bridge/prepareTransaction.ts +26 -2
- package/src/bridge/synchronisation.ts +4 -2
- package/src/transaction.ts +3 -0
- package/src/types/bridge.ts +4 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @ledgerhq/coin-hedera@1.11.
|
|
2
|
+
> @ledgerhq/coin-hedera@1.11.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,14 +1,46 @@
|
|
|
1
1
|
# @ledgerhq/coin-hedera
|
|
2
2
|
|
|
3
|
-
## 1.
|
|
3
|
+
## 1.12.0-nightly.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#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
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 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)]:
|
|
12
|
+
- @ledgerhq/cryptoassets@13.31.0-nightly.0
|
|
13
|
+
- @ledgerhq/types-live@6.87.0-nightly.0
|
|
14
|
+
- @ledgerhq/coin-framework@6.7.0-nightly.0
|
|
15
|
+
- @ledgerhq/live-countervalues@0.7.4-nightly.0
|
|
16
|
+
|
|
17
|
+
## 1.11.3
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- 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)]:
|
|
22
|
+
- @ledgerhq/types-live@6.86.0
|
|
23
|
+
- @ledgerhq/cryptoassets@13.30.0
|
|
24
|
+
- @ledgerhq/errors@6.26.0
|
|
25
|
+
- @ledgerhq/live-env@2.18.0
|
|
26
|
+
- @ledgerhq/coin-framework@6.6.0
|
|
27
|
+
- @ledgerhq/live-countervalues@0.7.3
|
|
28
|
+
- @ledgerhq/devices@8.6.1
|
|
29
|
+
- @ledgerhq/live-network@2.0.19
|
|
30
|
+
|
|
31
|
+
## 1.11.3-next.0
|
|
4
32
|
|
|
5
33
|
### Patch Changes
|
|
6
34
|
|
|
7
|
-
- 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)]:
|
|
8
|
-
- @ledgerhq/types-live@6.86.0-
|
|
9
|
-
- @ledgerhq/cryptoassets@13.30.0-
|
|
10
|
-
- @ledgerhq/
|
|
11
|
-
- @ledgerhq/live-
|
|
35
|
+
- 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)]:
|
|
36
|
+
- @ledgerhq/types-live@6.86.0-next.0
|
|
37
|
+
- @ledgerhq/cryptoassets@13.30.0-next.0
|
|
38
|
+
- @ledgerhq/errors@6.26.0-next.0
|
|
39
|
+
- @ledgerhq/live-env@2.18.0-next.0
|
|
40
|
+
- @ledgerhq/coin-framework@6.6.0-next.0
|
|
41
|
+
- @ledgerhq/live-countervalues@0.7.3-next.0
|
|
42
|
+
- @ledgerhq/devices@8.6.1-next.0
|
|
43
|
+
- @ledgerhq/live-network@2.0.19-next.0
|
|
12
44
|
|
|
13
45
|
## 1.11.2
|
|
14
46
|
|
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":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAEL,mBAAmB,EAMnB,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,sBAAsB,CAAC;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEjG;
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/api/network.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAEL,mBAAmB,EAMnB,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,sBAAsB,CAAC;AAGlE,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;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAehF"}
|
package/lib/api/network.js
CHANGED
|
@@ -18,35 +18,44 @@ const nodeAccountIds = [new sdk_1.AccountId(3)];
|
|
|
18
18
|
async function buildUnsignedCoinTransaction({ account, transaction, }) {
|
|
19
19
|
const accountId = account.freshAddress;
|
|
20
20
|
const hbarAmount = sdk_1.Hbar.fromTinybars(transaction.amount);
|
|
21
|
-
|
|
21
|
+
const tx = new sdk_1.TransferTransaction()
|
|
22
22
|
.setNodeAccountIds(nodeAccountIds)
|
|
23
23
|
.setTransactionId(sdk_1.TransactionId.generate(accountId))
|
|
24
24
|
.setTransactionMemo(transaction.memo ?? "")
|
|
25
25
|
.addHbarTransfer(accountId, hbarAmount.negated())
|
|
26
|
-
.addHbarTransfer(transaction.recipient, hbarAmount)
|
|
27
|
-
|
|
26
|
+
.addHbarTransfer(transaction.recipient, hbarAmount);
|
|
27
|
+
if (transaction.maxFee) {
|
|
28
|
+
tx.setMaxTransactionFee(sdk_1.Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
29
|
+
}
|
|
30
|
+
return tx.freeze();
|
|
28
31
|
}
|
|
29
32
|
async function buildUnsignedTokenTransaction({ account, tokenAccount, transaction, }) {
|
|
30
33
|
const accountId = account.freshAddress;
|
|
31
34
|
const tokenId = tokenAccount.token.contractAddress;
|
|
32
|
-
|
|
35
|
+
const tx = new sdk_1.TransferTransaction()
|
|
33
36
|
.setNodeAccountIds(nodeAccountIds)
|
|
34
37
|
.setTransactionId(sdk_1.TransactionId.generate(accountId))
|
|
35
38
|
.setTransactionMemo(transaction.memo ?? "")
|
|
36
39
|
.addTokenTransfer(tokenId, accountId, transaction.amount.negated().toNumber())
|
|
37
|
-
.addTokenTransfer(tokenId, transaction.recipient, transaction.amount.toNumber())
|
|
38
|
-
|
|
40
|
+
.addTokenTransfer(tokenId, transaction.recipient, transaction.amount.toNumber());
|
|
41
|
+
if (transaction.maxFee) {
|
|
42
|
+
tx.setMaxTransactionFee(sdk_1.Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
43
|
+
}
|
|
44
|
+
return tx.freeze();
|
|
39
45
|
}
|
|
40
46
|
async function buildTokenAssociateTransaction({ account, transaction, }) {
|
|
41
47
|
(0, invariant_1.default)((0, logic_1.isTokenAssociateTransaction)(transaction), "invalid transaction properties");
|
|
42
48
|
const accountId = account.freshAddress;
|
|
43
|
-
|
|
49
|
+
const tx = new sdk_1.TokenAssociateTransaction()
|
|
44
50
|
.setNodeAccountIds(nodeAccountIds)
|
|
45
51
|
.setTransactionId(sdk_1.TransactionId.generate(accountId))
|
|
46
52
|
.setTransactionMemo(transaction.memo ?? "")
|
|
47
53
|
.setAccountId(accountId)
|
|
48
|
-
.setTokenIds([transaction.properties.token.contractAddress])
|
|
49
|
-
|
|
54
|
+
.setTokenIds([transaction.properties.token.contractAddress]);
|
|
55
|
+
if (transaction.maxFee) {
|
|
56
|
+
tx.setMaxTransactionFee(sdk_1.Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
57
|
+
}
|
|
58
|
+
return tx.freeze();
|
|
50
59
|
}
|
|
51
60
|
async function buildUnsignedTransaction({ account, transaction, }) {
|
|
52
61
|
const subAccount = (0, helpers_1.findSubAccountById)(account, transaction?.subAccountId || "");
|
package/lib/api/network.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/api/network.ts"],"names":[],"mappings":";;;;;;AACA,0DAAkC;AAElC,wCASwB;AAExB,sEAA8F;AAC9F,sCAAkD;AAElD,oCAAuD;AAEvD,SAAgB,oBAAoB,CAAC,WAA8B;IACjE,OAAO,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;AAC1C,CAAC;AAFD,oDAEC;AAED,mGAAmG;AACnG,MAAM,cAAc,GAAgB,CAAC,IAAI,eAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvD,KAAK,UAAU,4BAA4B,CAAC,EAC1C,OAAO,EACP,WAAW,GAIZ;IACC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;IACvC,MAAM,UAAU,GAAG,UAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAEzD,
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/api/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.test.d.ts","sourceRoot":"","sources":["../../src/api/network.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
7
|
+
const sdk_1 = require("@hashgraph/sdk");
|
|
8
|
+
const network_1 = require("./network");
|
|
9
|
+
const invariant_1 = __importDefault(require("invariant"));
|
|
10
|
+
describe("buildUnsignedTransaction", () => {
|
|
11
|
+
const mockAccount = {
|
|
12
|
+
freshAddress: "0.0.123",
|
|
13
|
+
id: "hedera:0:0.0.123",
|
|
14
|
+
balance: new bignumber_js_1.default(1000),
|
|
15
|
+
};
|
|
16
|
+
test("builds basic transaction without maxFee", async () => {
|
|
17
|
+
const transaction = {
|
|
18
|
+
family: "hedera",
|
|
19
|
+
amount: new bignumber_js_1.default(100),
|
|
20
|
+
recipient: "0.0.456",
|
|
21
|
+
memo: "test memo",
|
|
22
|
+
};
|
|
23
|
+
const result = await (0, network_1.buildUnsignedTransaction)({ account: mockAccount, transaction });
|
|
24
|
+
expect(result).toBeInstanceOf(sdk_1.TransferTransaction);
|
|
25
|
+
(0, invariant_1.default)(result instanceof sdk_1.TransferTransaction, "hedera: TransferTransaction type guard");
|
|
26
|
+
expect(result.transactionMemo).toBe("test memo");
|
|
27
|
+
expect(result.isFrozen()).toBe(true);
|
|
28
|
+
expect(result.hbarTransfers.size).toBe(2);
|
|
29
|
+
const senderTransfer = result.hbarTransfers.get("0.0.123");
|
|
30
|
+
const recipientTransfer = result.hbarTransfers.get("0.0.456");
|
|
31
|
+
expect(senderTransfer?.toTinybars().toNumber()).toBe(-100);
|
|
32
|
+
expect(recipientTransfer?.toTinybars().toNumber()).toBe(100);
|
|
33
|
+
});
|
|
34
|
+
test("sets max transaction fee when provided", async () => {
|
|
35
|
+
const transaction = {
|
|
36
|
+
family: "hedera",
|
|
37
|
+
amount: new bignumber_js_1.default(100),
|
|
38
|
+
recipient: "0.0.456",
|
|
39
|
+
maxFee: new bignumber_js_1.default(50),
|
|
40
|
+
};
|
|
41
|
+
const result = await (0, network_1.buildUnsignedTransaction)({ account: mockAccount, transaction });
|
|
42
|
+
expect(result.maxTransactionFee?.toTinybars().toNumber()).toBe(50);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=network.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.test.js","sourceRoot":"","sources":["../../src/api/network.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AACrC,wCAAqD;AAErD,uCAAqD;AAErD,0DAAkC;AAElC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,MAAM,WAAW,GAAG;QAClB,YAAY,EAAE,SAAS;QACvB,EAAE,EAAE,kBAAkB;QACtB,OAAO,EAAE,IAAI,sBAAS,CAAC,IAAI,CAAC;KAClB,CAAC;IAEb,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,WAAW,GAAgB;YAC/B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,IAAI,sBAAS,CAAC,GAAG,CAAC;YAC1B,SAAS,EAAE,SAAS;YACpB,IAAI,EAAE,WAAW;SAClB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAwB,EAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QAErF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,yBAAmB,CAAC,CAAC;QACnD,IAAA,mBAAS,EAAC,MAAM,YAAY,yBAAmB,EAAE,wCAAwC,CAAC,CAAC;QAC3F,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE1C,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,iBAAiB,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE9D,MAAM,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,WAAW,GAAgB;YAC/B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,IAAI,sBAAS,CAAC,GAAG,CAAC;YAC1B,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,IAAI,sBAAS,CAAC,EAAE,CAAC;SAC1B,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAwB,EAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QACrF,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5C;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,oBAAoB,CA+B/E,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.prepareTransaction = void 0;
|
|
4
|
+
const helpers_1 = require("@ledgerhq/coin-framework/account/helpers");
|
|
4
5
|
const utils_1 = require("./utils");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const logic_1 = require("../logic");
|
|
5
8
|
/**
|
|
6
9
|
* Gather any more neccessary information for a transaction,
|
|
7
10
|
* potentially from a network.
|
|
@@ -11,9 +14,28 @@ const utils_1 = require("./utils");
|
|
|
11
14
|
*
|
|
12
15
|
*/
|
|
13
16
|
const prepareTransaction = async (account, transaction) => {
|
|
17
|
+
const subAccount = (0, helpers_1.findSubAccountById)(account, transaction?.subAccountId || "");
|
|
18
|
+
const isTokenTransaction = (0, helpers_1.isTokenAccount)(subAccount);
|
|
19
|
+
let operationType;
|
|
20
|
+
if ((0, logic_1.isTokenAssociateTransaction)(transaction)) {
|
|
21
|
+
operationType = constants_1.HEDERA_OPERATION_TYPES.TokenAssociate;
|
|
22
|
+
}
|
|
23
|
+
else if (isTokenTransaction) {
|
|
24
|
+
operationType = constants_1.HEDERA_OPERATION_TYPES.TokenTransfer;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
operationType = constants_1.HEDERA_OPERATION_TYPES.CryptoTransfer;
|
|
28
|
+
}
|
|
14
29
|
// explicitly calculate transaction amount to account for `useAllAmount` flag (send max flow)
|
|
15
30
|
// i.e. if `useAllAmount` has been toggled to true, this is where it will update the transaction to reflect that action
|
|
16
|
-
const { amount } = await
|
|
31
|
+
const [{ amount }, estimatedFees] = await Promise.all([
|
|
32
|
+
(0, utils_1.calculateAmount)({ account, transaction }),
|
|
33
|
+
(0, utils_1.getEstimatedFees)(account, operationType),
|
|
34
|
+
]);
|
|
35
|
+
// `maxFee` must be explicitly set to avoid the @hashgraph/sdk default fallback
|
|
36
|
+
// this ensures device app validation passes (e.g. during swap flow)
|
|
37
|
+
// it's applied via `tx.setMaxTransactionFee` when building the transaction
|
|
38
|
+
transaction.maxFee = estimatedFees;
|
|
17
39
|
transaction.amount = amount;
|
|
18
40
|
return transaction;
|
|
19
41
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":";;;AAAA,sEAA8F;AAG9F,mCAA4D;AAC5D,4CAAsD;AACtD,oCAAuD;AAEvD;;;;;;;GAOG;AACI,MAAM,kBAAkB,GAAqD,KAAK,EACvF,OAAO,EACP,WAAW,EACW,EAAE;IACxB,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;IACtD,IAAI,aAAqC,CAAC;IAE1C,IAAI,IAAA,mCAA2B,EAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,aAAa,GAAG,kCAAsB,CAAC,cAAc,CAAC;IACxD,CAAC;SAAM,IAAI,kBAAkB,EAAE,CAAC;QAC9B,aAAa,GAAG,kCAAsB,CAAC,aAAa,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,kCAAsB,CAAC,cAAc,CAAC;IACxD,CAAC;IAED,6FAA6F;IAC7F,uHAAuH;IACvH,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,IAAA,uBAAe,EAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QACzC,IAAA,wBAAgB,EAAC,OAAO,EAAE,aAAa,CAAC;KACzC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,oEAAoE;IACpE,2EAA2E;IAC3E,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC;IAEnC,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC;IAE5B,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AA/BW,QAAA,kBAAkB,sBA+B7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTransaction.test.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
30
|
+
const utils = __importStar(require("./utils"));
|
|
31
|
+
const prepareTransaction_1 = require("./prepareTransaction");
|
|
32
|
+
describe("prepareTransaction", () => {
|
|
33
|
+
const mockAccount = {
|
|
34
|
+
id: "hedera:0:testAccount",
|
|
35
|
+
freshAddress: "0.0.123",
|
|
36
|
+
spendableBalance: new bignumber_js_1.default(1000000),
|
|
37
|
+
currency: { id: "hedera" },
|
|
38
|
+
};
|
|
39
|
+
const mockTx = {
|
|
40
|
+
family: "hedera",
|
|
41
|
+
amount: new bignumber_js_1.default(0),
|
|
42
|
+
recipient: "",
|
|
43
|
+
useAllAmount: false,
|
|
44
|
+
};
|
|
45
|
+
beforeEach(() => {
|
|
46
|
+
jest.clearAllMocks();
|
|
47
|
+
jest.spyOn(utils, "getEstimatedFees").mockResolvedValue(Promise.resolve(new bignumber_js_1.default(10)));
|
|
48
|
+
jest
|
|
49
|
+
.spyOn(utils, "calculateAmount")
|
|
50
|
+
.mockResolvedValue(Promise.resolve({ amount: new bignumber_js_1.default(100), totalSpent: new bignumber_js_1.default(100) }));
|
|
51
|
+
});
|
|
52
|
+
test("should set amount and maxFee from utils", async () => {
|
|
53
|
+
const result = await (0, prepareTransaction_1.prepareTransaction)(mockAccount, mockTx);
|
|
54
|
+
expect(result.amount).toStrictEqual(new bignumber_js_1.default(100));
|
|
55
|
+
expect(result.maxFee).toStrictEqual(new bignumber_js_1.default(10));
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=prepareTransaction.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAqC;AAErC,+CAAiC;AACjC,6DAA0D;AAG1D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,MAAM,WAAW,GAAG;QAClB,EAAE,EAAE,sBAAsB;QAC1B,YAAY,EAAE,SAAS;QACvB,gBAAgB,EAAE,IAAI,sBAAS,CAAC,OAAO,CAAC;QACxC,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;KAChB,CAAC;IAEb,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;QACxB,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,KAAK;KACL,CAAC;IAEjB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5F,IAAI;aACD,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC;aAC/B,iBAAiB,CAChB,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,sBAAS,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,sBAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAChF,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAM,GAAG,MAAM,IAAA,uCAAkB,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronisation.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACrB,MAAM,2CAA2C,CAAC;AAWnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"synchronisation.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACrB,MAAM,2CAA2C,CAAC;AAWnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,aAAa,CA8E1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,oBAqBhC,CAAC"}
|
|
@@ -29,6 +29,7 @@ const getAccountShape = async (info, { blacklistedTokenIds }) => {
|
|
|
29
29
|
(0, mirror_1.getAccount)(address),
|
|
30
30
|
(0, mirror_1.getAccountTokens)(address),
|
|
31
31
|
]);
|
|
32
|
+
const accountBalance = new bignumber_js_1.BigNumber(mirrorAccount.balance.balance);
|
|
32
33
|
// we should sync again when new tokens are added or blacklist changes
|
|
33
34
|
const syncHash = (0, utils_1.getSyncHash)(currency, blacklistedTokenIds);
|
|
34
35
|
const shouldSyncFromScratch = !initialAccount || syncHash !== initialAccount?.syncHash;
|
|
@@ -51,8 +52,8 @@ const getAccountShape = async (info, { blacklistedTokenIds }) => {
|
|
|
51
52
|
freshAddress: address,
|
|
52
53
|
syncHash,
|
|
53
54
|
lastSyncDate: new Date(),
|
|
54
|
-
balance:
|
|
55
|
-
spendableBalance:
|
|
55
|
+
balance: accountBalance,
|
|
56
|
+
spendableBalance: accountBalance,
|
|
56
57
|
operations,
|
|
57
58
|
operationsCount: operations.length,
|
|
58
59
|
// NOTE: there are no "blocks" in hedera
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAyC;AACzC,0DAAkC;AAElC,oEAA+F;AAK/F,yEAAqE;AACrE,8DAAmE;AACnE,0CAAsF;AACtF,mCAMiB;AAEjB,wCAAuD;AAEhD,MAAM,eAAe,GAAmC,KAAK,EAClE,IAAI,EACJ,EAAE,mBAAmB,EAAE,EACU,EAAE;IACnC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAEnE,IAAA,mBAAS,EAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG,IAAA,yBAAe,EAAC;QACpC,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,aAAa,EAAE,OAAO;QACtB,cAAc;KACf,CAAC,CAAC;IAEH,yCAAyC;IACzC,sFAAsF;IACtF,yEAAyE;IACzE,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtD,IAAA,mBAAU,EAAC,OAAO,CAAC;QACnB,IAAA,yBAAgB,EAAC,OAAO,CAAC;KAC1B,CAAC,CAAC;IAEH,sEAAsE;IACtE,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC5D,MAAM,qBAAqB,GAAG,CAAC,cAAc,IAAI,QAAQ,KAAK,cAAc,EAAE,QAAQ,CAAC;IAEvF,MAAM,aAAa,GAAG,cAAc,EAAE,UAAU,IAAI,EAAE,CAAC;IACvD,MAAM,iBAAiB,GAAG,cAAc,EAAE,iBAAiB,IAAI,EAAE,CAAC;IAElE,mEAAmE;IACnE,MAAM,wBAAwB,GAC5B,CAAC,qBAAqB,IAAI,aAAa,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,IAAI,wBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QACnE,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,uBAAuB,GAAG,MAAM,IAAA,+BAAuB,EAC3D,aAAa,EACb,OAAO,EACP,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CACtE,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,IAAA,sBAAc,EACzC,aAAa,EACb,uBAAuB,CAAC,eAAe,EACvC,YAAY,CACb,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,wBAAgB,EAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,IAAA,yBAAiB,EACrC,uBAAuB,CAAC,cAAc,EACtC,uBAAuB,CAAC,eAAe,EACvC,YAAY,CACb,CAAC;IACF,MAAM,qBAAqB,GAAG,IAAA,0BAAkB,EAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,qBAAqB;QACtC,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,IAAA,oBAAQ,EAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;IAEnD,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,YAAY,EAAE,OAAO;QACrB,QAAQ;QACR,YAAY,EAAE,IAAI,IAAI,EAAE;QACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"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"}
|
package/lib/transaction.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAQ3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIpD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAOpF;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,cAAc,GAAG,WAAW,CASlE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,GAAG,cAAc,CAS/D;;;;;;;;;AAED,wBAOE"}
|
package/lib/transaction.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.toTransactionRaw = exports.fromTransactionRaw = exports.formatTransaction = void 0;
|
|
7
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
4
8
|
const formatters_1 = require("@ledgerhq/coin-framework/formatters");
|
|
5
9
|
const serialization_1 = require("@ledgerhq/coin-framework/serialization");
|
|
6
10
|
const index_1 = require("@ledgerhq/coin-framework/account/index");
|
|
@@ -19,6 +23,7 @@ function fromTransactionRaw(tr) {
|
|
|
19
23
|
...common,
|
|
20
24
|
family: tr.family,
|
|
21
25
|
memo: tr.memo,
|
|
26
|
+
...(tr.maxFee && { maxFee: new bignumber_js_1.default(tr.maxFee) }),
|
|
22
27
|
};
|
|
23
28
|
}
|
|
24
29
|
exports.fromTransactionRaw = fromTransactionRaw;
|
|
@@ -28,6 +33,7 @@ function toTransactionRaw(t) {
|
|
|
28
33
|
...common,
|
|
29
34
|
family: t.family,
|
|
30
35
|
memo: t.memo,
|
|
36
|
+
...(t.maxFee && { maxFee: t.maxFee.toString() }),
|
|
31
37
|
};
|
|
32
38
|
}
|
|
33
39
|
exports.toTransactionRaw = toTransactionRaw;
|
package/lib/transaction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC,oEAA8E;AAC9E,0EAKgD;AAEhD,kEAA4E;AAC5E,qEAA+E;AAE/E,SAAgB,iBAAiB,CAAC,WAAwB,EAAE,OAAgB;IAC1E,MAAM,MAAM,GAAG,IAAA,0BAAkB,EAAC,IAAA,0BAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE;QAC1F,QAAQ,EAAE,IAAI;QACd,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IAEH,OAAO,QAAQ,MAAM,QAAQ,WAAW,CAAC,SAAS,EAAE,CAAC;AACvD,CAAC;AAPD,8CAOC;AAED,SAAgB,kBAAkB,CAAC,EAAkB;IACnD,MAAM,MAAM,GAAG,IAAA,wCAAwB,EAAC,EAAE,CAAC,CAAC;IAE5C,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,IAAI,sBAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC;AATD,gDASC;AAED,SAAgB,gBAAgB,CAAC,CAAc;IAC7C,MAAM,MAAM,GAAG,IAAA,sCAAsB,EAAC,CAAC,CAAC,CAAC;IAEzC,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;KACjD,CAAC;AACJ,CAAC;AATD,4CASC;AAED,kBAAe;IACb,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB,EAAxB,8CAAwB;IACxB,sBAAsB,EAAtB,4CAAsB;IACtB,uBAAuB,EAAvB,oCAAuB;CACxB,CAAC"}
|
package/lib/types/bridge.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import type { TokenCurrency } from "@ledgerhq/types-cryptoassets";
|
|
2
3
|
import type { Account, AccountRaw, Operation, TransactionCommon, TransactionCommonRaw, TransactionStatusCommon, TransactionStatusCommonRaw } from "@ledgerhq/types-live";
|
|
3
4
|
import { HEDERA_TRANSACTION_KINDS } from "../constants";
|
|
4
5
|
export type NetworkInfo = {
|
|
@@ -14,11 +15,13 @@ export type TokenAssociateProperties = {
|
|
|
14
15
|
export type Transaction = TransactionCommon & {
|
|
15
16
|
family: "hedera";
|
|
16
17
|
memo?: string | undefined;
|
|
18
|
+
maxFee?: BigNumber;
|
|
17
19
|
properties?: TokenAssociateProperties;
|
|
18
20
|
};
|
|
19
21
|
export type TransactionRaw = TransactionCommonRaw & {
|
|
20
22
|
family: "hedera";
|
|
21
23
|
memo?: string | undefined;
|
|
24
|
+
maxFee?: string;
|
|
22
25
|
properties?: TokenAssociateProperties;
|
|
23
26
|
};
|
|
24
27
|
export type TransactionStatus = TransactionStatusCommon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/types/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/types/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,OAAO,wBAAwB,CAAC,cAAc,CAAC,IAAI,CAAC;IAC1D,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAExD,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAE9D,MAAM,WAAW,eAAe;IAC9B,6BAA6B,EAAE,MAAM,CAAC;IACtC,6BAA6B,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,6BAA6B,EAAE,MAAM,CAAC;IACtC,6BAA6B,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG;IACpC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC1C,eAAe,CAAC,EAAE,kBAAkB,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/api/network.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAEL,mBAAmB,EAMnB,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,sBAAsB,CAAC;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEjG;
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/api/network.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAEL,mBAAmB,EAMnB,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,sBAAsB,CAAC;AAGlE,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;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAehF"}
|
package/lib-es/api/network.js
CHANGED
|
@@ -11,35 +11,44 @@ const nodeAccountIds = [new AccountId(3)];
|
|
|
11
11
|
async function buildUnsignedCoinTransaction({ account, transaction, }) {
|
|
12
12
|
const accountId = account.freshAddress;
|
|
13
13
|
const hbarAmount = Hbar.fromTinybars(transaction.amount);
|
|
14
|
-
|
|
14
|
+
const tx = new TransferTransaction()
|
|
15
15
|
.setNodeAccountIds(nodeAccountIds)
|
|
16
16
|
.setTransactionId(TransactionId.generate(accountId))
|
|
17
17
|
.setTransactionMemo(transaction.memo ?? "")
|
|
18
18
|
.addHbarTransfer(accountId, hbarAmount.negated())
|
|
19
|
-
.addHbarTransfer(transaction.recipient, hbarAmount)
|
|
20
|
-
|
|
19
|
+
.addHbarTransfer(transaction.recipient, hbarAmount);
|
|
20
|
+
if (transaction.maxFee) {
|
|
21
|
+
tx.setMaxTransactionFee(Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
22
|
+
}
|
|
23
|
+
return tx.freeze();
|
|
21
24
|
}
|
|
22
25
|
async function buildUnsignedTokenTransaction({ account, tokenAccount, transaction, }) {
|
|
23
26
|
const accountId = account.freshAddress;
|
|
24
27
|
const tokenId = tokenAccount.token.contractAddress;
|
|
25
|
-
|
|
28
|
+
const tx = new TransferTransaction()
|
|
26
29
|
.setNodeAccountIds(nodeAccountIds)
|
|
27
30
|
.setTransactionId(TransactionId.generate(accountId))
|
|
28
31
|
.setTransactionMemo(transaction.memo ?? "")
|
|
29
32
|
.addTokenTransfer(tokenId, accountId, transaction.amount.negated().toNumber())
|
|
30
|
-
.addTokenTransfer(tokenId, transaction.recipient, transaction.amount.toNumber())
|
|
31
|
-
|
|
33
|
+
.addTokenTransfer(tokenId, transaction.recipient, transaction.amount.toNumber());
|
|
34
|
+
if (transaction.maxFee) {
|
|
35
|
+
tx.setMaxTransactionFee(Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
36
|
+
}
|
|
37
|
+
return tx.freeze();
|
|
32
38
|
}
|
|
33
39
|
async function buildTokenAssociateTransaction({ account, transaction, }) {
|
|
34
40
|
invariant(isTokenAssociateTransaction(transaction), "invalid transaction properties");
|
|
35
41
|
const accountId = account.freshAddress;
|
|
36
|
-
|
|
42
|
+
const tx = new TokenAssociateTransaction()
|
|
37
43
|
.setNodeAccountIds(nodeAccountIds)
|
|
38
44
|
.setTransactionId(TransactionId.generate(accountId))
|
|
39
45
|
.setTransactionMemo(transaction.memo ?? "")
|
|
40
46
|
.setAccountId(accountId)
|
|
41
|
-
.setTokenIds([transaction.properties.token.contractAddress])
|
|
42
|
-
|
|
47
|
+
.setTokenIds([transaction.properties.token.contractAddress]);
|
|
48
|
+
if (transaction.maxFee) {
|
|
49
|
+
tx.setMaxTransactionFee(Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
50
|
+
}
|
|
51
|
+
return tx.freeze();
|
|
43
52
|
}
|
|
44
53
|
export async function buildUnsignedTransaction({ account, transaction, }) {
|
|
45
54
|
const subAccount = findSubAccountById(account, transaction?.subAccountId || "");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/api/network.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,IAAI,EACJ,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,QAAQ,EACR,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,UAAU,oBAAoB,CAAC,WAA8B;IACjE,OAAO,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,mGAAmG;AACnG,MAAM,cAAc,GAAgB,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvD,KAAK,UAAU,4BAA4B,CAAC,EAC1C,OAAO,EACP,WAAW,GAIZ;IACC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAEzD,
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/api/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.test.d.ts","sourceRoot":"","sources":["../../src/api/network.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { TransferTransaction } from "@hashgraph/sdk";
|
|
3
|
+
import { buildUnsignedTransaction } from "./network";
|
|
4
|
+
import invariant from "invariant";
|
|
5
|
+
describe("buildUnsignedTransaction", () => {
|
|
6
|
+
const mockAccount = {
|
|
7
|
+
freshAddress: "0.0.123",
|
|
8
|
+
id: "hedera:0:0.0.123",
|
|
9
|
+
balance: new BigNumber(1000),
|
|
10
|
+
};
|
|
11
|
+
test("builds basic transaction without maxFee", async () => {
|
|
12
|
+
const transaction = {
|
|
13
|
+
family: "hedera",
|
|
14
|
+
amount: new BigNumber(100),
|
|
15
|
+
recipient: "0.0.456",
|
|
16
|
+
memo: "test memo",
|
|
17
|
+
};
|
|
18
|
+
const result = await buildUnsignedTransaction({ account: mockAccount, transaction });
|
|
19
|
+
expect(result).toBeInstanceOf(TransferTransaction);
|
|
20
|
+
invariant(result instanceof TransferTransaction, "hedera: TransferTransaction type guard");
|
|
21
|
+
expect(result.transactionMemo).toBe("test memo");
|
|
22
|
+
expect(result.isFrozen()).toBe(true);
|
|
23
|
+
expect(result.hbarTransfers.size).toBe(2);
|
|
24
|
+
const senderTransfer = result.hbarTransfers.get("0.0.123");
|
|
25
|
+
const recipientTransfer = result.hbarTransfers.get("0.0.456");
|
|
26
|
+
expect(senderTransfer?.toTinybars().toNumber()).toBe(-100);
|
|
27
|
+
expect(recipientTransfer?.toTinybars().toNumber()).toBe(100);
|
|
28
|
+
});
|
|
29
|
+
test("sets max transaction fee when provided", async () => {
|
|
30
|
+
const transaction = {
|
|
31
|
+
family: "hedera",
|
|
32
|
+
amount: new BigNumber(100),
|
|
33
|
+
recipient: "0.0.456",
|
|
34
|
+
maxFee: new BigNumber(50),
|
|
35
|
+
};
|
|
36
|
+
const result = await buildUnsignedTransaction({ account: mockAccount, transaction });
|
|
37
|
+
expect(result.maxTransactionFee?.toTinybars().toNumber()).toBe(50);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=network.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.test.js","sourceRoot":"","sources":["../../src/api/network.test.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,MAAM,WAAW,GAAG;QAClB,YAAY,EAAE,SAAS;QACvB,EAAE,EAAE,kBAAkB;QACtB,OAAO,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC;KAClB,CAAC;IAEb,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,WAAW,GAAgB;YAC/B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;YAC1B,SAAS,EAAE,SAAS;YACpB,IAAI,EAAE,WAAW;SAClB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QAErF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACnD,SAAS,CAAC,MAAM,YAAY,mBAAmB,EAAE,wCAAwC,CAAC,CAAC;QAC3F,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE1C,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,iBAAiB,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE9D,MAAM,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,WAAW,GAAgB;YAC/B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;YAC1B,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,IAAI,SAAS,CAAC,EAAE,CAAC;SAC1B,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QACrF,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|