@ledgerhq/coin-hedera 1.16.0 → 1.16.1
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 +28 -0
- package/lib/logic/craftTransaction.d.ts.map +1 -1
- package/lib/logic/craftTransaction.js +6 -14
- package/lib/logic/craftTransaction.js.map +1 -1
- package/lib-es/logic/craftTransaction.d.ts.map +1 -1
- package/lib-es/logic/craftTransaction.js +6 -14
- package/lib-es/logic/craftTransaction.js.map +1 -1
- package/package.json +5 -5
- package/src/logic/craftTransaction.ts +6 -15
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @ledgerhq/coin-hedera@1.16.
|
|
2
|
+
> @ledgerhq/coin-hedera@1.16.1 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,5 +1,33 @@
|
|
|
1
1
|
# @ledgerhq/coin-hedera
|
|
2
2
|
|
|
3
|
+
## 1.16.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#13480](https://github.com/LedgerHQ/ledger-live/pull/13480) [`c6fc74b`](https://github.com/LedgerHQ/ledger-live/commit/c6fc74bc5f9a229da876ef2bd1a41b012134026d) Thanks [@Wozacosta](https://github.com/Wozacosta)! - fix: avoid hardcoding node account id
|
|
8
|
+
|
|
9
|
+
- Updated dependencies []:
|
|
10
|
+
- @ledgerhq/types-live@6.91.1
|
|
11
|
+
- @ledgerhq/coin-framework@6.11.1
|
|
12
|
+
- @ledgerhq/cryptoassets@13.35.1
|
|
13
|
+
- @ledgerhq/live-countervalues@0.10.4
|
|
14
|
+
|
|
15
|
+
## 1.16.1-hotfix.1
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies []:
|
|
20
|
+
- @ledgerhq/types-live@6.91.1-hotfix.0
|
|
21
|
+
- @ledgerhq/coin-framework@6.11.1-hotfix.0
|
|
22
|
+
- @ledgerhq/cryptoassets@13.35.1-hotfix.0
|
|
23
|
+
- @ledgerhq/live-countervalues@0.10.4-hotfix.0
|
|
24
|
+
|
|
25
|
+
## 1.16.1-hotfix.0
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- [#13480](https://github.com/LedgerHQ/ledger-live/pull/13480) [`c6fc74b`](https://github.com/LedgerHQ/ledger-live/commit/c6fc74bc5f9a229da876ef2bd1a41b012134026d) Thanks [@Wozacosta](https://github.com/Wozacosta)! - fix: avoid hardcoding node account id
|
|
30
|
+
|
|
3
31
|
## 1.16.0
|
|
4
32
|
|
|
5
33
|
### Minor Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,wBAAwB,EACxB,0BAA0B,EAI1B,yBAAyB,EAEzB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,wBAAwB,EACxB,0BAA0B,EAI1B,yBAAyB,EAEzB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAG3F,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA+KzD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,EACrD,UAAU,CAAC,EAAE,aAAa;;;GA8F3B"}
|
|
@@ -8,16 +8,12 @@ const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
|
8
8
|
const invariant_1 = __importDefault(require("invariant"));
|
|
9
9
|
const sdk_1 = require("@hashgraph/sdk");
|
|
10
10
|
const constants_1 = require("../constants");
|
|
11
|
+
const rpc_1 = require("../network/rpc");
|
|
11
12
|
const utils_1 = require("./utils");
|
|
12
|
-
// avoid "sign" prompt loop by having only one node (one transaction)
|
|
13
|
-
// https://github.com/LedgerHQ/ledger-live/pull/72/commits/1e942687d4301660e43e0c4b5419fcfa2733b290
|
|
14
|
-
// changing this will break `getHederaTransactionBodyBytes` from logic/utils.ts
|
|
15
|
-
const nodeAccountIds = [new sdk_1.AccountId(3)];
|
|
16
13
|
async function buildUnsignedCoinTransaction({ account, transaction, }) {
|
|
17
14
|
const accountId = account.accountId;
|
|
18
15
|
const hbarAmount = sdk_1.Hbar.fromTinybars(transaction.amount);
|
|
19
16
|
const tx = new sdk_1.TransferTransaction()
|
|
20
|
-
.setNodeAccountIds(nodeAccountIds)
|
|
21
17
|
.setTransactionId(sdk_1.TransactionId.generate(accountId))
|
|
22
18
|
.setTransactionMemo(transaction.memo)
|
|
23
19
|
.addHbarTransfer(accountId, hbarAmount.negated())
|
|
@@ -25,13 +21,12 @@ async function buildUnsignedCoinTransaction({ account, transaction, }) {
|
|
|
25
21
|
if (transaction.maxFee) {
|
|
26
22
|
tx.setMaxTransactionFee(sdk_1.Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
27
23
|
}
|
|
28
|
-
return tx.
|
|
24
|
+
return tx.freezeWith(rpc_1.rpcClient.getInstance());
|
|
29
25
|
}
|
|
30
26
|
async function buildUnsignedHTSTokenTransaction({ account, transaction, }) {
|
|
31
27
|
const accountId = account.accountId;
|
|
32
28
|
const tokenId = transaction.tokenAddress;
|
|
33
29
|
const tx = new sdk_1.TransferTransaction()
|
|
34
|
-
.setNodeAccountIds(nodeAccountIds)
|
|
35
30
|
.setTransactionId(sdk_1.TransactionId.generate(accountId))
|
|
36
31
|
.setTransactionMemo(transaction.memo)
|
|
37
32
|
.addTokenTransfer(tokenId, accountId, transaction.amount.negated().toNumber())
|
|
@@ -39,7 +34,7 @@ async function buildUnsignedHTSTokenTransaction({ account, transaction, }) {
|
|
|
39
34
|
if (transaction.maxFee) {
|
|
40
35
|
tx.setMaxTransactionFee(sdk_1.Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
41
36
|
}
|
|
42
|
-
return tx.
|
|
37
|
+
return tx.freezeWith(rpc_1.rpcClient.getInstance());
|
|
43
38
|
}
|
|
44
39
|
async function buildUnsignedERC20TokenTransaction({ account, transaction, }) {
|
|
45
40
|
const accountId = sdk_1.AccountId.fromString(account.accountId);
|
|
@@ -52,7 +47,6 @@ async function buildUnsignedERC20TokenTransaction({ account, transaction, }) {
|
|
|
52
47
|
.addAddress(recipientEvmAddress)
|
|
53
48
|
.addUint256(transaction.amount.toNumber());
|
|
54
49
|
const tx = new sdk_1.ContractExecuteTransaction()
|
|
55
|
-
.setNodeAccountIds(nodeAccountIds)
|
|
56
50
|
.setTransactionId(sdk_1.TransactionId.generate(accountId))
|
|
57
51
|
.setTransactionMemo(transaction.memo ?? "")
|
|
58
52
|
.setContractId(contractId)
|
|
@@ -61,12 +55,11 @@ async function buildUnsignedERC20TokenTransaction({ account, transaction, }) {
|
|
|
61
55
|
if (transaction.maxFee) {
|
|
62
56
|
tx.setMaxTransactionFee(sdk_1.Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
63
57
|
}
|
|
64
|
-
return tx.
|
|
58
|
+
return tx.freezeWith(rpc_1.rpcClient.getInstance());
|
|
65
59
|
}
|
|
66
60
|
async function buildTokenAssociateTransaction({ account, transaction, }) {
|
|
67
61
|
const accountId = account.accountId;
|
|
68
62
|
const tx = new sdk_1.TokenAssociateTransaction()
|
|
69
|
-
.setNodeAccountIds(nodeAccountIds)
|
|
70
63
|
.setTransactionId(sdk_1.TransactionId.generate(accountId))
|
|
71
64
|
.setTransactionMemo(transaction.memo)
|
|
72
65
|
.setAccountId(accountId)
|
|
@@ -74,12 +67,11 @@ async function buildTokenAssociateTransaction({ account, transaction, }) {
|
|
|
74
67
|
if (transaction.maxFee) {
|
|
75
68
|
tx.setMaxTransactionFee(sdk_1.Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
76
69
|
}
|
|
77
|
-
return tx.
|
|
70
|
+
return tx.freezeWith(rpc_1.rpcClient.getInstance());
|
|
78
71
|
}
|
|
79
72
|
async function buildUnsignedUpdateAccountTransaction({ account, transaction, }) {
|
|
80
73
|
const accountId = account.accountId;
|
|
81
74
|
const tx = new sdk_1.AccountUpdateTransaction()
|
|
82
|
-
.setNodeAccountIds([new sdk_1.AccountId(3)])
|
|
83
75
|
.setTransactionId(sdk_1.TransactionId.generate(accountId))
|
|
84
76
|
.setTransactionMemo(transaction.memo ?? "")
|
|
85
77
|
.setAccountId(accountId);
|
|
@@ -92,7 +84,7 @@ async function buildUnsignedUpdateAccountTransaction({ account, transaction, })
|
|
|
92
84
|
if (transaction.stakingNodeId === null) {
|
|
93
85
|
tx.clearStakedNodeId();
|
|
94
86
|
}
|
|
95
|
-
return tx.
|
|
87
|
+
return tx.freezeWith(rpc_1.rpcClient.getInstance());
|
|
96
88
|
}
|
|
97
89
|
async function craftTransaction(txIntent, customFees) {
|
|
98
90
|
const account = { accountId: txIntent.sender };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,0DAAkC;AAClC,wCAUwB;AAExB,4CAA2E;
|
|
1
|
+
{"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,wBAAwB,EACxB,0BAA0B,EAI1B,yBAAyB,EAEzB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,wBAAwB,EACxB,0BAA0B,EAI1B,yBAAyB,EAEzB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAG3F,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA+KzD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,EACrD,UAAU,CAAC,EAAE,aAAa;;;GA8F3B"}
|
|
@@ -2,16 +2,12 @@ import BigNumber from "bignumber.js";
|
|
|
2
2
|
import invariant from "invariant";
|
|
3
3
|
import { AccountId, AccountUpdateTransaction, ContractExecuteTransaction, ContractFunctionParameters, ContractId, Hbar, TokenAssociateTransaction, TransactionId, TransferTransaction, } from "@hashgraph/sdk";
|
|
4
4
|
import { DEFAULT_GAS_LIMIT, HEDERA_TRANSACTION_MODES } from "../constants";
|
|
5
|
+
import { rpcClient } from "../network/rpc";
|
|
5
6
|
import { hasSpecificIntentData, serializeTransaction } from "./utils";
|
|
6
|
-
// avoid "sign" prompt loop by having only one node (one transaction)
|
|
7
|
-
// https://github.com/LedgerHQ/ledger-live/pull/72/commits/1e942687d4301660e43e0c4b5419fcfa2733b290
|
|
8
|
-
// changing this will break `getHederaTransactionBodyBytes` from logic/utils.ts
|
|
9
|
-
const nodeAccountIds = [new AccountId(3)];
|
|
10
7
|
async function buildUnsignedCoinTransaction({ account, transaction, }) {
|
|
11
8
|
const accountId = account.accountId;
|
|
12
9
|
const hbarAmount = Hbar.fromTinybars(transaction.amount);
|
|
13
10
|
const tx = new TransferTransaction()
|
|
14
|
-
.setNodeAccountIds(nodeAccountIds)
|
|
15
11
|
.setTransactionId(TransactionId.generate(accountId))
|
|
16
12
|
.setTransactionMemo(transaction.memo)
|
|
17
13
|
.addHbarTransfer(accountId, hbarAmount.negated())
|
|
@@ -19,13 +15,12 @@ async function buildUnsignedCoinTransaction({ account, transaction, }) {
|
|
|
19
15
|
if (transaction.maxFee) {
|
|
20
16
|
tx.setMaxTransactionFee(Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
21
17
|
}
|
|
22
|
-
return tx.
|
|
18
|
+
return tx.freezeWith(rpcClient.getInstance());
|
|
23
19
|
}
|
|
24
20
|
async function buildUnsignedHTSTokenTransaction({ account, transaction, }) {
|
|
25
21
|
const accountId = account.accountId;
|
|
26
22
|
const tokenId = transaction.tokenAddress;
|
|
27
23
|
const tx = new TransferTransaction()
|
|
28
|
-
.setNodeAccountIds(nodeAccountIds)
|
|
29
24
|
.setTransactionId(TransactionId.generate(accountId))
|
|
30
25
|
.setTransactionMemo(transaction.memo)
|
|
31
26
|
.addTokenTransfer(tokenId, accountId, transaction.amount.negated().toNumber())
|
|
@@ -33,7 +28,7 @@ async function buildUnsignedHTSTokenTransaction({ account, transaction, }) {
|
|
|
33
28
|
if (transaction.maxFee) {
|
|
34
29
|
tx.setMaxTransactionFee(Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
35
30
|
}
|
|
36
|
-
return tx.
|
|
31
|
+
return tx.freezeWith(rpcClient.getInstance());
|
|
37
32
|
}
|
|
38
33
|
async function buildUnsignedERC20TokenTransaction({ account, transaction, }) {
|
|
39
34
|
const accountId = AccountId.fromString(account.accountId);
|
|
@@ -46,7 +41,6 @@ async function buildUnsignedERC20TokenTransaction({ account, transaction, }) {
|
|
|
46
41
|
.addAddress(recipientEvmAddress)
|
|
47
42
|
.addUint256(transaction.amount.toNumber());
|
|
48
43
|
const tx = new ContractExecuteTransaction()
|
|
49
|
-
.setNodeAccountIds(nodeAccountIds)
|
|
50
44
|
.setTransactionId(TransactionId.generate(accountId))
|
|
51
45
|
.setTransactionMemo(transaction.memo ?? "")
|
|
52
46
|
.setContractId(contractId)
|
|
@@ -55,12 +49,11 @@ async function buildUnsignedERC20TokenTransaction({ account, transaction, }) {
|
|
|
55
49
|
if (transaction.maxFee) {
|
|
56
50
|
tx.setMaxTransactionFee(Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
57
51
|
}
|
|
58
|
-
return tx.
|
|
52
|
+
return tx.freezeWith(rpcClient.getInstance());
|
|
59
53
|
}
|
|
60
54
|
async function buildTokenAssociateTransaction({ account, transaction, }) {
|
|
61
55
|
const accountId = account.accountId;
|
|
62
56
|
const tx = new TokenAssociateTransaction()
|
|
63
|
-
.setNodeAccountIds(nodeAccountIds)
|
|
64
57
|
.setTransactionId(TransactionId.generate(accountId))
|
|
65
58
|
.setTransactionMemo(transaction.memo)
|
|
66
59
|
.setAccountId(accountId)
|
|
@@ -68,12 +61,11 @@ async function buildTokenAssociateTransaction({ account, transaction, }) {
|
|
|
68
61
|
if (transaction.maxFee) {
|
|
69
62
|
tx.setMaxTransactionFee(Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
70
63
|
}
|
|
71
|
-
return tx.
|
|
64
|
+
return tx.freezeWith(rpcClient.getInstance());
|
|
72
65
|
}
|
|
73
66
|
async function buildUnsignedUpdateAccountTransaction({ account, transaction, }) {
|
|
74
67
|
const accountId = account.accountId;
|
|
75
68
|
const tx = new AccountUpdateTransaction()
|
|
76
|
-
.setNodeAccountIds([new AccountId(3)])
|
|
77
69
|
.setTransactionId(TransactionId.generate(accountId))
|
|
78
70
|
.setTransactionMemo(transaction.memo ?? "")
|
|
79
71
|
.setAccountId(accountId);
|
|
@@ -86,7 +78,7 @@ async function buildUnsignedUpdateAccountTransaction({ account, transaction, })
|
|
|
86
78
|
if (transaction.stakingNodeId === null) {
|
|
87
79
|
tx.clearStakedNodeId();
|
|
88
80
|
}
|
|
89
|
-
return tx.
|
|
81
|
+
return tx.freezeWith(rpcClient.getInstance());
|
|
90
82
|
}
|
|
91
83
|
export async function craftTransaction(txIntent, customFees) {
|
|
92
84
|
const account = { accountId: txIntent.sender };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,SAAS,EACT,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,UAAU,EACV,IAAI,EACJ,yBAAyB,EACzB,aAAa,EACb,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/coin-hedera",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.1",
|
|
4
4
|
"description": "Ledger Hedera Coin integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -82,15 +82,15 @@
|
|
|
82
82
|
"lodash": "^4.17.21",
|
|
83
83
|
"rxjs": "7.8.2",
|
|
84
84
|
"viem": "^2.27.0",
|
|
85
|
-
"@ledgerhq/coin-framework": "^6.11.
|
|
86
|
-
"@ledgerhq/cryptoassets": "^13.35.
|
|
85
|
+
"@ledgerhq/coin-framework": "^6.11.1",
|
|
86
|
+
"@ledgerhq/cryptoassets": "^13.35.1",
|
|
87
87
|
"@ledgerhq/devices": "8.8.0",
|
|
88
88
|
"@ledgerhq/errors": "^6.28.0",
|
|
89
|
-
"@ledgerhq/live-countervalues": "^0.10.
|
|
89
|
+
"@ledgerhq/live-countervalues": "^0.10.4",
|
|
90
90
|
"@ledgerhq/live-env": "^2.23.0",
|
|
91
91
|
"@ledgerhq/live-network": "^2.1.4",
|
|
92
92
|
"@ledgerhq/logs": "^6.13.0",
|
|
93
|
-
"@ledgerhq/types-live": "^6.91.
|
|
93
|
+
"@ledgerhq/types-live": "^6.91.1"
|
|
94
94
|
},
|
|
95
95
|
"devDependencies": {
|
|
96
96
|
"@types/invariant": "^2.2.2",
|
|
@@ -13,14 +13,10 @@ import {
|
|
|
13
13
|
} from "@hashgraph/sdk";
|
|
14
14
|
import type { FeeEstimation, TransactionIntent } from "@ledgerhq/coin-framework/api/index";
|
|
15
15
|
import { DEFAULT_GAS_LIMIT, HEDERA_TRANSACTION_MODES } from "../constants";
|
|
16
|
+
import { rpcClient } from "../network/rpc";
|
|
16
17
|
import type { HederaMemo, HederaTxData } from "../types";
|
|
17
18
|
import { hasSpecificIntentData, serializeTransaction } from "./utils";
|
|
18
19
|
|
|
19
|
-
// avoid "sign" prompt loop by having only one node (one transaction)
|
|
20
|
-
// https://github.com/LedgerHQ/ledger-live/pull/72/commits/1e942687d4301660e43e0c4b5419fcfa2733b290
|
|
21
|
-
// changing this will break `getHederaTransactionBodyBytes` from logic/utils.ts
|
|
22
|
-
const nodeAccountIds: AccountId[] = [new AccountId(3)];
|
|
23
|
-
|
|
24
20
|
interface BuilderOperator {
|
|
25
21
|
accountId: string;
|
|
26
22
|
}
|
|
@@ -75,7 +71,6 @@ async function buildUnsignedCoinTransaction({
|
|
|
75
71
|
const hbarAmount = Hbar.fromTinybars(transaction.amount);
|
|
76
72
|
|
|
77
73
|
const tx = new TransferTransaction()
|
|
78
|
-
.setNodeAccountIds(nodeAccountIds)
|
|
79
74
|
.setTransactionId(TransactionId.generate(accountId))
|
|
80
75
|
.setTransactionMemo(transaction.memo)
|
|
81
76
|
.addHbarTransfer(accountId, hbarAmount.negated())
|
|
@@ -85,7 +80,7 @@ async function buildUnsignedCoinTransaction({
|
|
|
85
80
|
tx.setMaxTransactionFee(Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
86
81
|
}
|
|
87
82
|
|
|
88
|
-
return tx.
|
|
83
|
+
return tx.freezeWith(rpcClient.getInstance());
|
|
89
84
|
}
|
|
90
85
|
|
|
91
86
|
async function buildUnsignedHTSTokenTransaction({
|
|
@@ -99,7 +94,6 @@ async function buildUnsignedHTSTokenTransaction({
|
|
|
99
94
|
const tokenId = transaction.tokenAddress;
|
|
100
95
|
|
|
101
96
|
const tx = new TransferTransaction()
|
|
102
|
-
.setNodeAccountIds(nodeAccountIds)
|
|
103
97
|
.setTransactionId(TransactionId.generate(accountId))
|
|
104
98
|
.setTransactionMemo(transaction.memo)
|
|
105
99
|
.addTokenTransfer(tokenId, accountId, transaction.amount.negated().toNumber())
|
|
@@ -109,7 +103,7 @@ async function buildUnsignedHTSTokenTransaction({
|
|
|
109
103
|
tx.setMaxTransactionFee(Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
110
104
|
}
|
|
111
105
|
|
|
112
|
-
return tx.
|
|
106
|
+
return tx.freezeWith(rpcClient.getInstance());
|
|
113
107
|
}
|
|
114
108
|
|
|
115
109
|
async function buildUnsignedERC20TokenTransaction({
|
|
@@ -131,7 +125,6 @@ async function buildUnsignedERC20TokenTransaction({
|
|
|
131
125
|
.addUint256(transaction.amount.toNumber());
|
|
132
126
|
|
|
133
127
|
const tx = new ContractExecuteTransaction()
|
|
134
|
-
.setNodeAccountIds(nodeAccountIds)
|
|
135
128
|
.setTransactionId(TransactionId.generate(accountId))
|
|
136
129
|
.setTransactionMemo(transaction.memo ?? "")
|
|
137
130
|
.setContractId(contractId)
|
|
@@ -142,7 +135,7 @@ async function buildUnsignedERC20TokenTransaction({
|
|
|
142
135
|
tx.setMaxTransactionFee(Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
143
136
|
}
|
|
144
137
|
|
|
145
|
-
return tx.
|
|
138
|
+
return tx.freezeWith(rpcClient.getInstance());
|
|
146
139
|
}
|
|
147
140
|
|
|
148
141
|
async function buildTokenAssociateTransaction({
|
|
@@ -155,7 +148,6 @@ async function buildTokenAssociateTransaction({
|
|
|
155
148
|
const accountId = account.accountId;
|
|
156
149
|
|
|
157
150
|
const tx = new TokenAssociateTransaction()
|
|
158
|
-
.setNodeAccountIds(nodeAccountIds)
|
|
159
151
|
.setTransactionId(TransactionId.generate(accountId))
|
|
160
152
|
.setTransactionMemo(transaction.memo)
|
|
161
153
|
.setAccountId(accountId)
|
|
@@ -165,7 +157,7 @@ async function buildTokenAssociateTransaction({
|
|
|
165
157
|
tx.setMaxTransactionFee(Hbar.fromTinybars(transaction.maxFee.toNumber()));
|
|
166
158
|
}
|
|
167
159
|
|
|
168
|
-
return tx.
|
|
160
|
+
return tx.freezeWith(rpcClient.getInstance());
|
|
169
161
|
}
|
|
170
162
|
|
|
171
163
|
async function buildUnsignedUpdateAccountTransaction({
|
|
@@ -178,7 +170,6 @@ async function buildUnsignedUpdateAccountTransaction({
|
|
|
178
170
|
const accountId = account.accountId;
|
|
179
171
|
|
|
180
172
|
const tx = new AccountUpdateTransaction()
|
|
181
|
-
.setNodeAccountIds([new AccountId(3)])
|
|
182
173
|
.setTransactionId(TransactionId.generate(accountId))
|
|
183
174
|
.setTransactionMemo(transaction.memo ?? "")
|
|
184
175
|
.setAccountId(accountId);
|
|
@@ -195,7 +186,7 @@ async function buildUnsignedUpdateAccountTransaction({
|
|
|
195
186
|
tx.clearStakedNodeId();
|
|
196
187
|
}
|
|
197
188
|
|
|
198
|
-
return tx.
|
|
189
|
+
return tx.freezeWith(rpcClient.getInstance());
|
|
199
190
|
}
|
|
200
191
|
|
|
201
192
|
export async function craftTransaction(
|