@dynamic-labs/stellar 4.63.1 → 4.64.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/CHANGELOG.md +7 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +8 -8
- package/src/utils/buildTrustlineTransaction.cjs +30 -0
- package/src/utils/buildTrustlineTransaction.d.ts +17 -0
- package/src/utils/buildTrustlineTransaction.js +26 -0
- package/src/utils/index.d.ts +1 -0
- package/src/wallet/StellarWallet.cjs +32 -0
- package/src/wallet/StellarWallet.d.ts +16 -0
- package/src/wallet/StellarWallet.js +32 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
|
|
2
|
+
## [4.64.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.63.1...v4.64.0) (2026-02-25)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add addTrustline method to the stellar wallet ([#10510](https://github.com/dynamic-labs/dynamic-auth/issues/10510)) ([e8690e8](https://github.com/dynamic-labs/dynamic-auth/commit/e8690e821dfe867355618d970380568487c3dd36))
|
|
8
|
+
|
|
2
9
|
### [4.63.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.63.0...v4.63.1) (2026-02-24)
|
|
3
10
|
|
|
4
11
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/stellar",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.64.0",
|
|
4
4
|
"description": "A React SDK for implementing Stellar wallet web3 authentication and authorization to your website.",
|
|
5
5
|
"author": "Dynamic Labs, Inc.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -20,15 +20,15 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@dynamic-labs/sdk-api-core": "0.0.875",
|
|
22
22
|
"@stellar/stellar-sdk": "14.4.3",
|
|
23
|
-
"@dynamic-labs/wallet-connector-core": "4.
|
|
24
|
-
"@dynamic-labs/assert-package-version": "4.
|
|
23
|
+
"@dynamic-labs/wallet-connector-core": "4.64.0",
|
|
24
|
+
"@dynamic-labs/assert-package-version": "4.64.0",
|
|
25
25
|
"@lobstrco/signer-extension-api": "2.0.0",
|
|
26
26
|
"@stellar/freighter-api": "6.0.1",
|
|
27
|
-
"@dynamic-labs/logger": "4.
|
|
28
|
-
"@dynamic-labs/types": "4.
|
|
29
|
-
"@dynamic-labs/utils": "4.
|
|
30
|
-
"@dynamic-labs/waas": "4.
|
|
31
|
-
"@dynamic-labs/wallet-book": "4.
|
|
27
|
+
"@dynamic-labs/logger": "4.64.0",
|
|
28
|
+
"@dynamic-labs/types": "4.64.0",
|
|
29
|
+
"@dynamic-labs/utils": "4.64.0",
|
|
30
|
+
"@dynamic-labs/waas": "4.64.0",
|
|
31
|
+
"@dynamic-labs/wallet-book": "4.64.0",
|
|
32
32
|
"eventemitter3": "5.0.1"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var stellarSdk = require('@stellar/stellar-sdk');
|
|
7
|
+
|
|
8
|
+
const DEFAULT_TIMEOUT = 180;
|
|
9
|
+
/**
|
|
10
|
+
* Builds a Stellar change trust transaction to add or modify a trustline.
|
|
11
|
+
*
|
|
12
|
+
* @param params - Transaction parameters
|
|
13
|
+
* @param params.asset - The asset to establish a trustline for
|
|
14
|
+
* @param params.limit - Optional maximum balance limit. Defaults to max if not provided
|
|
15
|
+
* @param params.networkPassphrase - The network passphrase
|
|
16
|
+
* @param params.sourceAccount - The source account establishing the trustline
|
|
17
|
+
* @returns A built Stellar transaction
|
|
18
|
+
*/
|
|
19
|
+
const buildTrustlineTransaction = (params) => {
|
|
20
|
+
const { asset, limit, networkPassphrase, sourceAccount } = params;
|
|
21
|
+
return new stellarSdk.TransactionBuilder(sourceAccount, {
|
|
22
|
+
fee: stellarSdk.BASE_FEE,
|
|
23
|
+
networkPassphrase,
|
|
24
|
+
})
|
|
25
|
+
.addOperation(stellarSdk.Operation.changeTrust({ asset, limit }))
|
|
26
|
+
.setTimeout(DEFAULT_TIMEOUT)
|
|
27
|
+
.build();
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
exports.buildTrustlineTransaction = buildTrustlineTransaction;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type Asset, type Horizon, Transaction } from '@stellar/stellar-sdk';
|
|
2
|
+
/**
|
|
3
|
+
* Builds a Stellar change trust transaction to add or modify a trustline.
|
|
4
|
+
*
|
|
5
|
+
* @param params - Transaction parameters
|
|
6
|
+
* @param params.asset - The asset to establish a trustline for
|
|
7
|
+
* @param params.limit - Optional maximum balance limit. Defaults to max if not provided
|
|
8
|
+
* @param params.networkPassphrase - The network passphrase
|
|
9
|
+
* @param params.sourceAccount - The source account establishing the trustline
|
|
10
|
+
* @returns A built Stellar transaction
|
|
11
|
+
*/
|
|
12
|
+
export declare const buildTrustlineTransaction: (params: {
|
|
13
|
+
asset: Asset;
|
|
14
|
+
limit?: string;
|
|
15
|
+
networkPassphrase: string;
|
|
16
|
+
sourceAccount: Horizon.AccountResponse;
|
|
17
|
+
}) => Transaction;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import { TransactionBuilder, BASE_FEE, Operation } from '@stellar/stellar-sdk';
|
|
3
|
+
|
|
4
|
+
const DEFAULT_TIMEOUT = 180;
|
|
5
|
+
/**
|
|
6
|
+
* Builds a Stellar change trust transaction to add or modify a trustline.
|
|
7
|
+
*
|
|
8
|
+
* @param params - Transaction parameters
|
|
9
|
+
* @param params.asset - The asset to establish a trustline for
|
|
10
|
+
* @param params.limit - Optional maximum balance limit. Defaults to max if not provided
|
|
11
|
+
* @param params.networkPassphrase - The network passphrase
|
|
12
|
+
* @param params.sourceAccount - The source account establishing the trustline
|
|
13
|
+
* @returns A built Stellar transaction
|
|
14
|
+
*/
|
|
15
|
+
const buildTrustlineTransaction = (params) => {
|
|
16
|
+
const { asset, limit, networkPassphrase, sourceAccount } = params;
|
|
17
|
+
return new TransactionBuilder(sourceAccount, {
|
|
18
|
+
fee: BASE_FEE,
|
|
19
|
+
networkPassphrase,
|
|
20
|
+
})
|
|
21
|
+
.addOperation(Operation.changeTrust({ asset, limit }))
|
|
22
|
+
.setTimeout(DEFAULT_TIMEOUT)
|
|
23
|
+
.build();
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export { buildTrustlineTransaction };
|
package/src/utils/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { buildPaymentTransaction } from './buildPaymentTransaction';
|
|
2
|
+
export { buildTrustlineTransaction } from './buildTrustlineTransaction';
|
|
2
3
|
export { checkTrustline } from './checkTrustline';
|
|
3
4
|
export { createPaymentAsset } from './createPaymentAsset';
|
|
4
5
|
export { createTransactionMemo } from './createTransactionMemo';
|
|
@@ -7,6 +7,7 @@ var _tslib = require('../../_virtual/_tslib.cjs');
|
|
|
7
7
|
var stellarSdk = require('@stellar/stellar-sdk');
|
|
8
8
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
9
9
|
var buildPaymentTransaction = require('../utils/buildPaymentTransaction.cjs');
|
|
10
|
+
var buildTrustlineTransaction = require('../utils/buildTrustlineTransaction.cjs');
|
|
10
11
|
var checkTrustline = require('../utils/checkTrustline.cjs');
|
|
11
12
|
var createPaymentAsset = require('../utils/createPaymentAsset.cjs');
|
|
12
13
|
var getAccountBalance = require('../utils/getAccountBalance.cjs');
|
|
@@ -99,6 +100,37 @@ class StellarWallet extends walletConnectorCore.Wallet {
|
|
|
99
100
|
return response.hash;
|
|
100
101
|
});
|
|
101
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Adds a trustline for a non-native Stellar asset to the wallet.
|
|
105
|
+
*
|
|
106
|
+
* Trustlines allow an account to hold and transact with non-native assets.
|
|
107
|
+
* Each trustline reserves a small amount of XLM as a base reserve.
|
|
108
|
+
*
|
|
109
|
+
* @param assetCode - Asset code (e.g., "USDC")
|
|
110
|
+
* @param assetIssuer - Asset issuer public key
|
|
111
|
+
* @param limit - Optional maximum balance the account can hold. Defaults to max if not provided
|
|
112
|
+
* @returns Transaction hash
|
|
113
|
+
*/
|
|
114
|
+
addTrustline(_a) {
|
|
115
|
+
return _tslib.__awaiter(this, arguments, void 0, function* ({ assetCode, assetIssuer, limit, }) {
|
|
116
|
+
yield this._connector.connect();
|
|
117
|
+
const horizonServer = yield this.getHorizonServer();
|
|
118
|
+
const sourceAccount = yield horizonServer.loadAccount(this.address);
|
|
119
|
+
const networkPassphrase = yield this._connector.getNetworkPassphrase();
|
|
120
|
+
const asset = createPaymentAsset.createPaymentAsset({ code: assetCode, issuer: assetIssuer });
|
|
121
|
+
const transaction = buildTrustlineTransaction.buildTrustlineTransaction({
|
|
122
|
+
asset,
|
|
123
|
+
limit,
|
|
124
|
+
networkPassphrase,
|
|
125
|
+
sourceAccount,
|
|
126
|
+
});
|
|
127
|
+
const transactionXdr = transaction.toXDR();
|
|
128
|
+
const signedXdr = yield this.signTransaction(transactionXdr);
|
|
129
|
+
const transactionToSubmit = stellarSdk.TransactionBuilder.fromXDR(signedXdr, networkPassphrase);
|
|
130
|
+
const response = yield horizonServer.submitTransaction(transactionToSubmit);
|
|
131
|
+
return response.hash;
|
|
132
|
+
});
|
|
133
|
+
}
|
|
102
134
|
/**
|
|
103
135
|
* Signs a Stellar transaction XDR.
|
|
104
136
|
*
|
|
@@ -30,6 +30,22 @@ export declare class StellarWallet extends Wallet<StellarWalletConnector> {
|
|
|
30
30
|
* @returns Transaction hash
|
|
31
31
|
*/
|
|
32
32
|
sendBalance(params: StellarSendBalanceProps): Promise<string>;
|
|
33
|
+
/**
|
|
34
|
+
* Adds a trustline for a non-native Stellar asset to the wallet.
|
|
35
|
+
*
|
|
36
|
+
* Trustlines allow an account to hold and transact with non-native assets.
|
|
37
|
+
* Each trustline reserves a small amount of XLM as a base reserve.
|
|
38
|
+
*
|
|
39
|
+
* @param assetCode - Asset code (e.g., "USDC")
|
|
40
|
+
* @param assetIssuer - Asset issuer public key
|
|
41
|
+
* @param limit - Optional maximum balance the account can hold. Defaults to max if not provided
|
|
42
|
+
* @returns Transaction hash
|
|
43
|
+
*/
|
|
44
|
+
addTrustline({ assetCode, assetIssuer, limit, }: {
|
|
45
|
+
assetCode: string;
|
|
46
|
+
assetIssuer: string;
|
|
47
|
+
limit?: string;
|
|
48
|
+
}): Promise<string>;
|
|
33
49
|
/**
|
|
34
50
|
* Signs a Stellar transaction XDR.
|
|
35
51
|
*
|
|
@@ -3,6 +3,7 @@ import { __awaiter } from '../../_virtual/_tslib.js';
|
|
|
3
3
|
import { TransactionBuilder } from '@stellar/stellar-sdk';
|
|
4
4
|
import { Wallet } from '@dynamic-labs/wallet-connector-core';
|
|
5
5
|
import { buildPaymentTransaction } from '../utils/buildPaymentTransaction.js';
|
|
6
|
+
import { buildTrustlineTransaction } from '../utils/buildTrustlineTransaction.js';
|
|
6
7
|
import { checkTrustline } from '../utils/checkTrustline.js';
|
|
7
8
|
import { createPaymentAsset } from '../utils/createPaymentAsset.js';
|
|
8
9
|
import { getAccountBalance } from '../utils/getAccountBalance.js';
|
|
@@ -95,6 +96,37 @@ class StellarWallet extends Wallet {
|
|
|
95
96
|
return response.hash;
|
|
96
97
|
});
|
|
97
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Adds a trustline for a non-native Stellar asset to the wallet.
|
|
101
|
+
*
|
|
102
|
+
* Trustlines allow an account to hold and transact with non-native assets.
|
|
103
|
+
* Each trustline reserves a small amount of XLM as a base reserve.
|
|
104
|
+
*
|
|
105
|
+
* @param assetCode - Asset code (e.g., "USDC")
|
|
106
|
+
* @param assetIssuer - Asset issuer public key
|
|
107
|
+
* @param limit - Optional maximum balance the account can hold. Defaults to max if not provided
|
|
108
|
+
* @returns Transaction hash
|
|
109
|
+
*/
|
|
110
|
+
addTrustline(_a) {
|
|
111
|
+
return __awaiter(this, arguments, void 0, function* ({ assetCode, assetIssuer, limit, }) {
|
|
112
|
+
yield this._connector.connect();
|
|
113
|
+
const horizonServer = yield this.getHorizonServer();
|
|
114
|
+
const sourceAccount = yield horizonServer.loadAccount(this.address);
|
|
115
|
+
const networkPassphrase = yield this._connector.getNetworkPassphrase();
|
|
116
|
+
const asset = createPaymentAsset({ code: assetCode, issuer: assetIssuer });
|
|
117
|
+
const transaction = buildTrustlineTransaction({
|
|
118
|
+
asset,
|
|
119
|
+
limit,
|
|
120
|
+
networkPassphrase,
|
|
121
|
+
sourceAccount,
|
|
122
|
+
});
|
|
123
|
+
const transactionXdr = transaction.toXDR();
|
|
124
|
+
const signedXdr = yield this.signTransaction(transactionXdr);
|
|
125
|
+
const transactionToSubmit = TransactionBuilder.fromXDR(signedXdr, networkPassphrase);
|
|
126
|
+
const response = yield horizonServer.submitTransaction(transactionToSubmit);
|
|
127
|
+
return response.hash;
|
|
128
|
+
});
|
|
129
|
+
}
|
|
98
130
|
/**
|
|
99
131
|
* Signs a Stellar transaction XDR.
|
|
100
132
|
*
|