@debridge-finance/solana-utils 2.3.0 → 3.0.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/dist/browser/index.js +2767 -56
- package/dist/browser/index.js.map +1 -1
- package/dist/cjs/accounts.js +35 -32
- package/dist/cjs/accounts.js.map +1 -1
- package/dist/cjs/crypto.js.map +1 -1
- package/dist/cjs/helpers.js +65 -21
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces.js.map +1 -1
- package/dist/cjs/spl.js +272 -0
- package/dist/cjs/spl.js.map +1 -0
- package/dist/esm/accounts.js +34 -34
- package/dist/esm/accounts.js.map +1 -1
- package/dist/esm/crypto.js.map +1 -1
- package/dist/esm/helpers.js +65 -21
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces.js.map +1 -1
- package/dist/esm/spl.js +273 -0
- package/dist/esm/spl.js.map +1 -0
- package/dist/types/accounts.d.ts +40 -37
- package/dist/types/accounts.d.ts.map +1 -1
- package/dist/types/helpers.d.ts +41 -4
- package/dist/types/helpers.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces.d.ts +3 -3
- package/dist/types/interfaces.d.ts.map +1 -1
- package/dist/types/spl.d.ts +114 -0
- package/dist/types/spl.d.ts.map +1 -0
- package/package.json +5 -2
package/dist/cjs/spl.js
ADDED
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkIfAssociatedWalletExists = exports.updateWsolBalance = exports.buildReplenishWsolBalanceTransaction = exports.getTokenAccountsWithBalance = exports.getAllTokenAccountsWithBalances = exports.getSPLWalletBalance = exports.getAssocSPLWalletBalance = exports.getNativeWalletBalance = exports.getAccountWithType = exports.isWalletCorrectATA = exports.parseSplAccount = exports.createAssociatedWalletInstruction = exports.AccountType = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
6
|
+
const bl = tslib_1.__importStar(require("@solana/buffer-layout"));
|
|
7
|
+
const blu = tslib_1.__importStar(require("@solana/buffer-layout-utils"));
|
|
8
|
+
const bn_js_1 = tslib_1.__importDefault(require("bn.js"));
|
|
9
|
+
const buffer_1 = require("buffer");
|
|
10
|
+
const accounts_1 = require("./accounts");
|
|
11
|
+
const helpers_1 = require("./helpers");
|
|
12
|
+
var AccountState;
|
|
13
|
+
(function (AccountState) {
|
|
14
|
+
AccountState[AccountState["Uninitialized"] = 0] = "Uninitialized";
|
|
15
|
+
AccountState[AccountState["Initialized"] = 1] = "Initialized";
|
|
16
|
+
AccountState[AccountState["Frozen"] = 2] = "Frozen";
|
|
17
|
+
})(AccountState || (AccountState = {}));
|
|
18
|
+
const AccountLayout = bl.struct([
|
|
19
|
+
blu.publicKey('mint'),
|
|
20
|
+
blu.publicKey('owner'),
|
|
21
|
+
blu.u64('amount'),
|
|
22
|
+
bl.u32('delegateOption'),
|
|
23
|
+
blu.publicKey('delegate'),
|
|
24
|
+
bl.u8('state'),
|
|
25
|
+
bl.u32('isNativeOption'),
|
|
26
|
+
blu.u64('isNative'),
|
|
27
|
+
blu.u64('delegatedAmount'),
|
|
28
|
+
bl.u32('closeAuthorityOption'),
|
|
29
|
+
blu.publicKey('closeAuthority'),
|
|
30
|
+
]);
|
|
31
|
+
var AccountType;
|
|
32
|
+
(function (AccountType) {
|
|
33
|
+
AccountType[AccountType["System"] = 0] = "System";
|
|
34
|
+
AccountType[AccountType["Token"] = 1] = "Token";
|
|
35
|
+
AccountType[AccountType["CorrectATA"] = 2] = "CorrectATA";
|
|
36
|
+
AccountType[AccountType["Unknown"] = 3] = "Unknown";
|
|
37
|
+
AccountType[AccountType["NotExists"] = 4] = "NotExists";
|
|
38
|
+
})(AccountType = exports.AccountType || (exports.AccountType = {}));
|
|
39
|
+
/**
|
|
40
|
+
* Builds instruction for creation of associated wallet for specified token
|
|
41
|
+
* @param tokenMint mint account of SPL-token
|
|
42
|
+
* @param associatedAccount associated account address
|
|
43
|
+
* @param owner owner of the associated account
|
|
44
|
+
* @param payer who pays for account creation
|
|
45
|
+
*/
|
|
46
|
+
function createAssociatedWalletInstruction(tokenMint, associatedAccount, owner, payer, associatedTokenProramId) {
|
|
47
|
+
tokenMint = new web3_js_1.PublicKey(tokenMint);
|
|
48
|
+
payer = new web3_js_1.PublicKey(payer);
|
|
49
|
+
owner = new web3_js_1.PublicKey(owner);
|
|
50
|
+
return new web3_js_1.TransactionInstruction({
|
|
51
|
+
programId: associatedTokenProramId || accounts_1.ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
52
|
+
data: buffer_1.Buffer.from([1]),
|
|
53
|
+
keys: [
|
|
54
|
+
{
|
|
55
|
+
pubkey: payer,
|
|
56
|
+
isSigner: true,
|
|
57
|
+
isWritable: true,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
pubkey: associatedAccount,
|
|
61
|
+
isSigner: false,
|
|
62
|
+
isWritable: true,
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
pubkey: owner,
|
|
66
|
+
isSigner: false,
|
|
67
|
+
isWritable: false,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
pubkey: tokenMint,
|
|
71
|
+
isSigner: false,
|
|
72
|
+
isWritable: false,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
pubkey: web3_js_1.SystemProgram.programId,
|
|
76
|
+
isSigner: false,
|
|
77
|
+
isWritable: false,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
pubkey: accounts_1.TOKEN_PROGRAM_ID,
|
|
81
|
+
isSigner: false,
|
|
82
|
+
isWritable: false,
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
exports.createAssociatedWalletInstruction = createAssociatedWalletInstruction;
|
|
88
|
+
function parseSplAccount(data) {
|
|
89
|
+
try {
|
|
90
|
+
return AccountLayout.decode(data);
|
|
91
|
+
}
|
|
92
|
+
catch (e) {
|
|
93
|
+
console.error(e);
|
|
94
|
+
}
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
exports.parseSplAccount = parseSplAccount;
|
|
98
|
+
function isWalletCorrectATA(walletAddress, data) {
|
|
99
|
+
const decoded = parseSplAccount(data);
|
|
100
|
+
if (!decoded)
|
|
101
|
+
return false;
|
|
102
|
+
const [realAta] = (0, accounts_1.findAssociatedTokenAddress)(decoded.owner, decoded.mint);
|
|
103
|
+
return realAta.equals(new web3_js_1.PublicKey(walletAddress));
|
|
104
|
+
}
|
|
105
|
+
exports.isWalletCorrectATA = isWalletCorrectATA;
|
|
106
|
+
/**
|
|
107
|
+
* Requests account from blockchain and returns result with account type
|
|
108
|
+
* @param account address of account
|
|
109
|
+
* @returns account info and account type
|
|
110
|
+
*/
|
|
111
|
+
async function getAccountWithType(connection, account) {
|
|
112
|
+
account = new web3_js_1.PublicKey(account);
|
|
113
|
+
const accountData = await (0, helpers_1.getAccountInfo)(connection, account);
|
|
114
|
+
if (!accountData)
|
|
115
|
+
return [null, AccountType.NotExists];
|
|
116
|
+
if (accountData.owner.equals(accounts_1.TOKEN_PROGRAM_ID)) {
|
|
117
|
+
return isWalletCorrectATA(account, accountData.data) ? [accountData, AccountType.CorrectATA] : [accountData, AccountType.Token];
|
|
118
|
+
}
|
|
119
|
+
if (accountData.owner.equals(web3_js_1.SystemProgram.programId))
|
|
120
|
+
return [accountData, AccountType.System];
|
|
121
|
+
return [accountData, AccountType.Unknown];
|
|
122
|
+
}
|
|
123
|
+
exports.getAccountWithType = getAccountWithType;
|
|
124
|
+
/**
|
|
125
|
+
* Returns balance of specified wallet in native tokens
|
|
126
|
+
* @param wallet wallet to inspect
|
|
127
|
+
*/
|
|
128
|
+
async function getNativeWalletBalance(connection, wallet) {
|
|
129
|
+
wallet = new web3_js_1.PublicKey(wallet);
|
|
130
|
+
const result = await connection.getBalance(wallet);
|
|
131
|
+
return new bn_js_1.default(result.toString());
|
|
132
|
+
}
|
|
133
|
+
exports.getNativeWalletBalance = getNativeWalletBalance;
|
|
134
|
+
/**
|
|
135
|
+
* Returns balance of associated wallet in SPL-tokens
|
|
136
|
+
* @param originalWallet native tokens wallet address
|
|
137
|
+
* @param tokenMint mint of SPL-Token
|
|
138
|
+
*/
|
|
139
|
+
async function getAssocSPLWalletBalance(connection, originalWallet, tokenMint) {
|
|
140
|
+
originalWallet = new web3_js_1.PublicKey(originalWallet);
|
|
141
|
+
tokenMint = new web3_js_1.PublicKey(tokenMint);
|
|
142
|
+
const [wallet] = (0, accounts_1.findAssociatedTokenAddress)(originalWallet, tokenMint);
|
|
143
|
+
const result = await connection.getTokenAccountBalance(wallet, "finalized");
|
|
144
|
+
return new bn_js_1.default(result.value.amount);
|
|
145
|
+
}
|
|
146
|
+
exports.getAssocSPLWalletBalance = getAssocSPLWalletBalance;
|
|
147
|
+
/**
|
|
148
|
+
* Returns balance of specified wallet in SPL-tokens
|
|
149
|
+
* @param wallet spl-tokens wallet address
|
|
150
|
+
*/
|
|
151
|
+
async function getSPLWalletBalance(connection, wallet) {
|
|
152
|
+
wallet = new web3_js_1.PublicKey(wallet);
|
|
153
|
+
const result = await connection.getTokenAccountBalance(wallet, "finalized");
|
|
154
|
+
return new bn_js_1.default(result.value.amount);
|
|
155
|
+
}
|
|
156
|
+
exports.getSPLWalletBalance = getSPLWalletBalance;
|
|
157
|
+
/**
|
|
158
|
+
* Gets list of user's SPL-token accounts
|
|
159
|
+
* @param owner owner of the SPL wallets
|
|
160
|
+
* @returns list of accounts with amount on them
|
|
161
|
+
*/
|
|
162
|
+
async function getAllTokenAccountsWithBalances(connection, owner) {
|
|
163
|
+
const walletsData = await connection.getParsedTokenAccountsByOwner(new web3_js_1.PublicKey(owner), { programId: accounts_1.TOKEN_PROGRAM_ID });
|
|
164
|
+
const wallets = walletsData.value;
|
|
165
|
+
return wallets.map((wallet) => {
|
|
166
|
+
const tokenInfo = wallet.account.data.parsed;
|
|
167
|
+
return {
|
|
168
|
+
address: wallet.pubkey,
|
|
169
|
+
mint: new web3_js_1.PublicKey(tokenInfo.info.mint),
|
|
170
|
+
amount: new bn_js_1.default(tokenInfo.info.tokenAmount.amount),
|
|
171
|
+
decimals: tokenInfo.info.tokenAmount.decimals,
|
|
172
|
+
isInitialized: true,
|
|
173
|
+
isNative: tokenInfo.info.isNative,
|
|
174
|
+
owner: new web3_js_1.PublicKey(tokenInfo.info.owner),
|
|
175
|
+
};
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
exports.getAllTokenAccountsWithBalances = getAllTokenAccountsWithBalances;
|
|
179
|
+
/**
|
|
180
|
+
* Gets list of user's tokenMint token accounts
|
|
181
|
+
* @param tokenMint
|
|
182
|
+
* @param owner owner of the wallets
|
|
183
|
+
* @returns list of accounts with amount on them
|
|
184
|
+
*/
|
|
185
|
+
async function getTokenAccountsWithBalance(connection, tokenMint, owner) {
|
|
186
|
+
const walletsData = await connection.getParsedTokenAccountsByOwner(new web3_js_1.PublicKey(owner), { mint: new web3_js_1.PublicKey(tokenMint) });
|
|
187
|
+
const wallets = walletsData.value;
|
|
188
|
+
return wallets.map((wallet) => {
|
|
189
|
+
const tokenInfo = wallet.account.data.parsed;
|
|
190
|
+
return {
|
|
191
|
+
address: wallet.pubkey,
|
|
192
|
+
mint: new web3_js_1.PublicKey(tokenInfo.info.mint),
|
|
193
|
+
amount: new bn_js_1.default(tokenInfo.info.tokenAmount.amount),
|
|
194
|
+
decimals: tokenInfo.info.tokenAmount.decimals,
|
|
195
|
+
isInitialized: true,
|
|
196
|
+
isNative: tokenInfo.info.isNative,
|
|
197
|
+
owner: new web3_js_1.PublicKey(tokenInfo.info.owner),
|
|
198
|
+
};
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
exports.getTokenAccountsWithBalance = getTokenAccountsWithBalance;
|
|
202
|
+
/**
|
|
203
|
+
* Builds transaction to transfer&wrap native sol from src wallet to dst wallet
|
|
204
|
+
* @param amount number of lamports to transfer and wrap
|
|
205
|
+
* @param transferFrom source native account
|
|
206
|
+
* @param transferTo destination wallet
|
|
207
|
+
* @returns transaction to transfer&wrap sol
|
|
208
|
+
*/
|
|
209
|
+
function buildReplenishWsolBalanceTransaction(amount, transferFrom, transferTo) {
|
|
210
|
+
transferFrom = new web3_js_1.PublicKey(transferFrom);
|
|
211
|
+
transferTo = new web3_js_1.PublicKey(transferTo);
|
|
212
|
+
const tx = new web3_js_1.Transaction();
|
|
213
|
+
tx.add(web3_js_1.SystemProgram.transfer({ fromPubkey: transferFrom, toPubkey: transferTo, lamports: new bn_js_1.default(amount).toNumber() }));
|
|
214
|
+
tx.add(
|
|
215
|
+
// sync native
|
|
216
|
+
new web3_js_1.TransactionInstruction({
|
|
217
|
+
keys: [{ pubkey: transferTo, isSigner: false, isWritable: true }],
|
|
218
|
+
programId: accounts_1.TOKEN_PROGRAM_ID,
|
|
219
|
+
data: buffer_1.Buffer.from([17]),
|
|
220
|
+
}));
|
|
221
|
+
tx.feePayer = transferFrom;
|
|
222
|
+
return tx;
|
|
223
|
+
}
|
|
224
|
+
exports.buildReplenishWsolBalanceTransaction = buildReplenishWsolBalanceTransaction;
|
|
225
|
+
/**
|
|
226
|
+
* Builds transaction that wraps specified amount of lamports into spl, if account is missing will create it
|
|
227
|
+
* @param amount lamports to wrap, ATA will contain exact amount of lamports
|
|
228
|
+
* @param owner owner of created wallet
|
|
229
|
+
*/
|
|
230
|
+
async function updateWsolBalance(connection, amount, owner) {
|
|
231
|
+
owner = new web3_js_1.PublicKey(owner);
|
|
232
|
+
const tx = new web3_js_1.Transaction();
|
|
233
|
+
const accountSize = 165;
|
|
234
|
+
const [wSolATA] = (0, accounts_1.findAssociatedTokenAddress)(owner, accounts_1.WRAPPED_SOL_MINT);
|
|
235
|
+
const existingATA = await (0, helpers_1.getAccountInfo)(connection, wSolATA);
|
|
236
|
+
let amountToWrap = new bn_js_1.default(amount);
|
|
237
|
+
if (existingATA === null) {
|
|
238
|
+
tx.add(web3_js_1.SystemProgram.createAccount({
|
|
239
|
+
fromPubkey: owner,
|
|
240
|
+
space: accountSize,
|
|
241
|
+
programId: accounts_1.TOKEN_PROGRAM_ID,
|
|
242
|
+
newAccountPubkey: wSolATA,
|
|
243
|
+
lamports: await connection.getMinimumBalanceForRentExemption(accountSize),
|
|
244
|
+
}));
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
const parsed = parseSplAccount(existingATA.data);
|
|
248
|
+
if (!parsed)
|
|
249
|
+
throw new Error("WSol account exists, but failed to decode its content");
|
|
250
|
+
const parsedAmount = new bn_js_1.default(parsed.amount.toString());
|
|
251
|
+
if (amountToWrap.lte(parsedAmount))
|
|
252
|
+
return null; // don't need to wrap
|
|
253
|
+
amountToWrap = parsedAmount.sub(amountToWrap);
|
|
254
|
+
}
|
|
255
|
+
const replenishTx = buildReplenishWsolBalanceTransaction(amountToWrap, owner, wSolATA);
|
|
256
|
+
tx.add(replenishTx);
|
|
257
|
+
return tx;
|
|
258
|
+
}
|
|
259
|
+
exports.updateWsolBalance = updateWsolBalance;
|
|
260
|
+
/**
|
|
261
|
+
* Checks existance of associated wallet for specified token
|
|
262
|
+
* @param mintAccount mint account of SPL-token
|
|
263
|
+
* @param originalWallet account of solana wallet
|
|
264
|
+
* @returns true if account exists
|
|
265
|
+
*/
|
|
266
|
+
async function checkIfAssociatedWalletExists(connection, mintAccount, originalWallet) {
|
|
267
|
+
const [walletAccount] = (0, accounts_1.findAssociatedTokenAddress)(originalWallet, mintAccount);
|
|
268
|
+
const accountData = await (0, helpers_1.getAccountInfo)(connection, walletAccount);
|
|
269
|
+
return accountData !== null;
|
|
270
|
+
}
|
|
271
|
+
exports.checkIfAssociatedWalletExists = checkIfAssociatedWalletExists;
|
|
272
|
+
//# sourceMappingURL=spl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spl.js","sourceRoot":"","sources":["../../src/spl.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/accounts.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
1
|
import { Buffer } from "buffer";
|
|
3
2
|
import { PublicKey } from "@solana/web3.js";
|
|
4
3
|
import * as constants from "./constants";
|
|
@@ -9,57 +8,58 @@ export const TOKEN_PROGRAM_ID = new PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9
|
|
|
9
8
|
export const ASSOCIATED_TOKEN_PROGRAM_ID = new PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");
|
|
10
9
|
export const WRAPPED_SOL_MINT = new PublicKey("So11111111111111111111111111111111111111112");
|
|
11
10
|
export function findAssociatedTokenAddress(wallet, tokenMint, tokenProgramId = TOKEN_PROGRAM_ID, associatedTokenProramId = ASSOCIATED_TOKEN_PROGRAM_ID) {
|
|
12
|
-
return
|
|
13
|
-
return PublicKey.findProgramAddress([wallet.toBytes(), tokenProgramId.toBytes(), tokenMint.toBytes()], associatedTokenProramId);
|
|
14
|
-
});
|
|
11
|
+
return PublicKey.findProgramAddressSync([wallet.toBytes(), tokenProgramId.toBytes(), tokenMint.toBytes()], associatedTokenProramId);
|
|
15
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated same as findAssociatedTokenAddress
|
|
15
|
+
*/
|
|
16
16
|
export function findAssociatedTokenAddressSync(wallet, tokenMint, tokenProgramId = TOKEN_PROGRAM_ID, associatedTokenProramId = ASSOCIATED_TOKEN_PROGRAM_ID) {
|
|
17
17
|
return PublicKey.findProgramAddressSync([wallet.toBytes(), tokenProgramId.toBytes(), tokenMint.toBytes()], associatedTokenProramId);
|
|
18
18
|
}
|
|
19
19
|
export function getTokenMetadataAddress(tokenMint, tokenMetedataProgramId) {
|
|
20
|
-
return PublicKey.
|
|
20
|
+
return PublicKey.findProgramAddressSync([Buffer.from("metadata"), tokenMetedataProgramId.toBytes(), tokenMint.toBytes()], tokenMetedataProgramId);
|
|
21
21
|
}
|
|
22
22
|
const deBridge = {
|
|
23
|
-
getClaimMarkerAddress: (DEBRIDGE_PROGRAM_ID) => PublicKey.
|
|
24
|
-
getExternalCallStorageAddress: (submissionId, executorPubkey, sourceChainId, DEBRIDGE_PROGRAM_ID) => PublicKey.
|
|
23
|
+
getClaimMarkerAddress: (DEBRIDGE_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridge.Seeds.CLAIM_MARKER)], DEBRIDGE_PROGRAM_ID),
|
|
24
|
+
getExternalCallStorageAddress: (submissionId, executorPubkey, sourceChainId, DEBRIDGE_PROGRAM_ID) => PublicKey.findProgramAddressSync([
|
|
25
25
|
Buffer.from(constants.deBridge.Seeds.EXTERNAL_CALL_STORAGE),
|
|
26
26
|
submissionId,
|
|
27
27
|
new PublicKey(executorPubkey).toBytes(),
|
|
28
28
|
normalizeChainId(sourceChainId),
|
|
29
29
|
], DEBRIDGE_PROGRAM_ID),
|
|
30
|
-
getExternalCallMetaAddress: (externalCallStorage, DEBRIDGE_PROGRAM_ID) => PublicKey.
|
|
31
|
-
getNonceAddress: (DEBRIDGE_PROGRAM_ID) => PublicKey.
|
|
32
|
-
getSubmissionAddress: (submissionId, DEBRIDGE_PROGRAM_ID) => PublicKey.
|
|
33
|
-
getSubmissionAuthAddress: (submissionAddress, DEBRIDGE_PROGRAM_ID) => PublicKey.
|
|
34
|
-
getMintAuthorityAddress: (bridge, DEBRIDGE_PROGRAM_ID) => PublicKey.
|
|
30
|
+
getExternalCallMetaAddress: (externalCallStorage, DEBRIDGE_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridge.Seeds.EXTERNAL_CALL_META), new PublicKey(externalCallStorage).toBytes()], DEBRIDGE_PROGRAM_ID),
|
|
31
|
+
getNonceAddress: (DEBRIDGE_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridge.Seeds.NONCE)], DEBRIDGE_PROGRAM_ID),
|
|
32
|
+
getSubmissionAddress: (submissionId, DEBRIDGE_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridge.Seeds.SUBMISSION), submissionId], DEBRIDGE_PROGRAM_ID),
|
|
33
|
+
getSubmissionAuthAddress: (submissionAddress, DEBRIDGE_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridge.Seeds.SUBMISSION_AUTH), new PublicKey(submissionAddress).toBytes()], DEBRIDGE_PROGRAM_ID),
|
|
34
|
+
getMintAuthorityAddress: (bridge, DEBRIDGE_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridge.Seeds.BRIDGE_MINTER), new PublicKey(bridge).toBytes()], DEBRIDGE_PROGRAM_ID),
|
|
35
35
|
};
|
|
36
36
|
const deBridgeSettings = {
|
|
37
|
-
getTokenMetadataMasterAddress: (SETTINGS_PROGRAM_ID) => PublicKey.
|
|
38
|
-
getTokenMintAddress: (debridgeId, SETTINGS_PROGRAM_ID) => PublicKey.
|
|
39
|
-
getStateAddress: (SETTINGS_PROGRAM_ID) => PublicKey.
|
|
40
|
-
getConfirmationsStorageAddress: (message, SETTINGS_PROGRAM_ID) => PublicKey.
|
|
41
|
-
getBridgeFeeAddress: (bridge, chainId, SETTINGS_PROGRAM_ID) => PublicKey.
|
|
42
|
-
getChainSupportInfoAddress: (chainId, SETTINGS_PROGRAM_ID) => PublicKey.
|
|
43
|
-
getDiscountInfoAddress: (user, SETTINGS_PROGRAM_ID) => PublicKey.
|
|
44
|
-
getBridgeAddress: (tokenMint, SETTINGS_PROGRAM_ID) => PublicKey.
|
|
45
|
-
getBridgeMapAddress: (bridgeId, SETTINGS_PROGRAM_ID) => PublicKey.
|
|
46
|
-
getNoDiscountAddress: (SETTINGS_PROGRAM_ID) => PublicKey.
|
|
47
|
-
getNoBridgeFeeAddress: (SETTINGS_PROGRAM_ID) => PublicKey.
|
|
37
|
+
getTokenMetadataMasterAddress: (SETTINGS_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridgeSettings.Seeds.TOKEN_METADATA)], SETTINGS_PROGRAM_ID),
|
|
38
|
+
getTokenMintAddress: (debridgeId, SETTINGS_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridgeSettings.Seeds.WRAPPER_TOKEN), debridgeId], SETTINGS_PROGRAM_ID),
|
|
39
|
+
getStateAddress: (SETTINGS_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridgeSettings.Seeds.STATE)], SETTINGS_PROGRAM_ID),
|
|
40
|
+
getConfirmationsStorageAddress: (message, SETTINGS_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridgeSettings.Seeds.CONFIRMATION_STORAGE), message], SETTINGS_PROGRAM_ID),
|
|
41
|
+
getBridgeFeeAddress: (bridge, chainId, SETTINGS_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridgeSettings.Seeds.BRIDGE_FEE_INFO), bridge.toBytes(), normalizeChainId(chainId)], SETTINGS_PROGRAM_ID),
|
|
42
|
+
getChainSupportInfoAddress: (chainId, SETTINGS_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridgeSettings.Seeds.CHAIN_SUPPORT_INFO), normalizeChainId(chainId)], SETTINGS_PROGRAM_ID),
|
|
43
|
+
getDiscountInfoAddress: (user, SETTINGS_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridgeSettings.Seeds.DISCOUNT_INFO), user.toBytes()], SETTINGS_PROGRAM_ID),
|
|
44
|
+
getBridgeAddress: (tokenMint, SETTINGS_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridgeSettings.Seeds.BRIDGE), tokenMint.toBytes()], SETTINGS_PROGRAM_ID),
|
|
45
|
+
getBridgeMapAddress: (bridgeId, SETTINGS_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridgeSettings.Seeds.SEND_BRIDGE_MAP), bridgeId], SETTINGS_PROGRAM_ID),
|
|
46
|
+
getNoDiscountAddress: (SETTINGS_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridgeSettings.Seeds.NO_DISCOUNT)], SETTINGS_PROGRAM_ID),
|
|
47
|
+
getNoBridgeFeeAddress: (SETTINGS_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.deBridgeSettings.Seeds.NO_BRIDGE_FEE_INFO)], SETTINGS_PROGRAM_ID),
|
|
48
48
|
};
|
|
49
49
|
const PmmSrc = {
|
|
50
|
-
getStateAccount: (PMM_SRC_PROGRAM_ID) => PublicKey.
|
|
51
|
-
getNonceAccount: (maker, PMM_SRC_PROGRAM_ID) => PublicKey.
|
|
52
|
-
getGiveOrderStateAccount: (orderId, PMM_SRC_PROGRAM_ID) => PublicKey.
|
|
53
|
-
getAuthorizedNativeSenderAddress: (chainId, PMM_SRC_PROGRAM_ID) => PublicKey.
|
|
54
|
-
getGiveOrderWalletAddress: (orderId, PMM_SRC_PROGRAM_ID) => PublicKey.
|
|
55
|
-
getFeeLedgerWalletAddress: (tokenMint, PMM_SRC_PROGRAM_ID) => PublicKey.
|
|
56
|
-
getFeeLedgerAddress: (PMM_SRC_PROGRAM_ID) => PublicKey.
|
|
50
|
+
getStateAccount: (PMM_SRC_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.pmmSrc.Seeds.STATE)], PMM_SRC_PROGRAM_ID),
|
|
51
|
+
getNonceAccount: (maker, PMM_SRC_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.pmmSrc.Seeds.NONCE), isBuffer(maker) ? maker : maker.toBuffer()], PMM_SRC_PROGRAM_ID),
|
|
52
|
+
getGiveOrderStateAccount: (orderId, PMM_SRC_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.pmmSrc.Seeds.ORDER_STATE), orderId], PMM_SRC_PROGRAM_ID),
|
|
53
|
+
getAuthorizedNativeSenderAddress: (chainId, PMM_SRC_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.pmmSrc.Seeds.AUTHORIZED_NATIVE_SENDER), chainId], PMM_SRC_PROGRAM_ID),
|
|
54
|
+
getGiveOrderWalletAddress: (orderId, PMM_SRC_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.pmmSrc.Seeds.GIVE_ORDER_WALLET), orderId], PMM_SRC_PROGRAM_ID),
|
|
55
|
+
getFeeLedgerWalletAddress: (tokenMint, PMM_SRC_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.pmmSrc.Seeds.FEE_LEDGER_WALLET), tokenMint.toBuffer()], PMM_SRC_PROGRAM_ID),
|
|
56
|
+
getFeeLedgerAddress: (PMM_SRC_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.pmmSrc.Seeds.FEE_LEDGER)], PMM_SRC_PROGRAM_ID),
|
|
57
57
|
};
|
|
58
58
|
const PmmDst = {
|
|
59
|
-
getAuthorizedSrcContractAddress: (chainId, PMM_DST_PROGRAM_ID) => PublicKey.
|
|
60
|
-
getAuthorizedDstNativeSenderAddress: (PMM_DST_PROGRAM_ID) => PublicKey.
|
|
61
|
-
getTakeOrderStateAddress: (orderId, PMM_DST_PROGRAM_ID) => PublicKey.
|
|
62
|
-
getTakePatchAddress: (orderId, PMM_DST_PROGRAM_ID) => PublicKey.
|
|
59
|
+
getAuthorizedSrcContractAddress: (chainId, PMM_DST_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.pmmDst.Seeds.AUTHORIZED_SRC_CONTRACT), chainId], PMM_DST_PROGRAM_ID),
|
|
60
|
+
getAuthorizedDstNativeSenderAddress: (PMM_DST_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.pmmDst.Seeds.AUTHORIZED_DST_NATIVE_SENDER)], PMM_DST_PROGRAM_ID),
|
|
61
|
+
getTakeOrderStateAddress: (orderId, PMM_DST_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.pmmDst.Seeds.ORDER_STATE), orderId], PMM_DST_PROGRAM_ID),
|
|
62
|
+
getTakePatchAddress: (orderId, PMM_DST_PROGRAM_ID) => PublicKey.findProgramAddressSync([Buffer.from(constants.pmmDst.Seeds.TAKE_PATCH), orderId], PMM_DST_PROGRAM_ID),
|
|
63
63
|
};
|
|
64
64
|
function wrapFn(fn, arg) {
|
|
65
65
|
return (...args) => fn(...args, arg);
|
package/dist/esm/accounts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAyE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE/G,MAAM,UAAU,iBAAiB,CAAC,MAAU,EAAE,WAAmB;IAChE,MAAM,aAAa,GAAG,IAAI,EAAE,CAAC,SAAA,EAAE,EAAI,WAAW,CAAA,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC/C,OAAO,WAAW,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC3G,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAA4B;IAC1D,MAAM,QAAQ,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAClF,MAAM,cAAc,GAAG,UAAU,CAAC,iBAAiB,CAClD,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EACrD,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAC7D,CAAC;IAEF,OAAO,cAAc,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,aAAqB,EAAE,kBAAsC;IAC3F,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEzG,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAsB;IAC3D,OAAO,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAQnC;;IACA,IAAI,UAAU,GAAG;QAChB,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,OAAO;QACP,SAAS,EAAE,QAAQ;KACnB,CAAC;IAEF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;QACzC,CAAC,CAAC,MAAM,CAAC,QAAQ;QACjB,CAAC,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/helpers.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { Buffer } from "buffer";
|
|
3
3
|
import { MessageV0, Transaction, VersionedTransaction } from "@solana/web3.js";
|
|
4
|
-
export function getAccountInfo(connection, account) {
|
|
4
|
+
export function getAccountInfo(connection, account, commitment = "confirmed") {
|
|
5
5
|
return __awaiter(this, void 0, void 0, function* () {
|
|
6
|
-
const info = yield connection.getAccountInfo(account);
|
|
6
|
+
const info = yield connection.getAccountInfo(account, commitment);
|
|
7
7
|
if (info) {
|
|
8
8
|
// alchemy bug fix
|
|
9
9
|
if (info.lamports === 0 && info.rentEpoch === 0)
|
|
@@ -57,7 +57,7 @@ export function getTransactionSize(transaction, feePayer) {
|
|
|
57
57
|
return serializedMessage.length + uniqueSigners.size * 64 + 1;
|
|
58
58
|
}
|
|
59
59
|
function isVersionedTx(arg) {
|
|
60
|
-
return
|
|
60
|
+
return "version" in arg;
|
|
61
61
|
}
|
|
62
62
|
export class Wallet {
|
|
63
63
|
constructor(keypair) {
|
|
@@ -85,7 +85,7 @@ export class Wallet {
|
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
function sendWithRetries(connection, serialized, lastValidBlockHeight, timesToSend = 5) {
|
|
88
|
+
function sendWithRetries(connection, serialized, lastValidBlockHeight, timesToSend = 5, blockhashCommitment = "finalized") {
|
|
89
89
|
return __awaiter(this, void 0, void 0, function* () {
|
|
90
90
|
const txId = yield connection.sendRawTransaction(serialized, {
|
|
91
91
|
skipPreflight: true,
|
|
@@ -96,7 +96,8 @@ function sendWithRetries(connection, serialized, lastValidBlockHeight, timesToSe
|
|
|
96
96
|
while (blockheight < lastValidBlockHeight && sent < timesToSend) {
|
|
97
97
|
yield connection.sendRawTransaction(serialized, {
|
|
98
98
|
skipPreflight: true,
|
|
99
|
-
|
|
99
|
+
preflightCommitment: blockhashCommitment,
|
|
100
|
+
maxRetries: 100,
|
|
100
101
|
});
|
|
101
102
|
yield sleep(300);
|
|
102
103
|
blockheight = yield connection.getBlockHeight();
|
|
@@ -118,48 +119,82 @@ function txToV0(transaction, payer, blockhash) {
|
|
|
118
119
|
return new VersionedTransaction(v0Message);
|
|
119
120
|
}
|
|
120
121
|
}
|
|
121
|
-
|
|
122
|
+
function setBlockhash(transaction, blockhash) {
|
|
123
|
+
if (isVersionedTx(transaction)) {
|
|
124
|
+
transaction.message.recentBlockhash = blockhash;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
transaction.recentBlockhash = blockhash;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
*
|
|
132
|
+
* @param connection rpc connection
|
|
133
|
+
* @param wallet wallet interface to sign transaction
|
|
134
|
+
* @param transactions transaction(s) to send
|
|
135
|
+
* @param options additional {@link SendAllOptions|options}
|
|
136
|
+
* @returns
|
|
137
|
+
*/
|
|
138
|
+
export function sendAll(connection, wallet, transactions, options) {
|
|
122
139
|
var _a;
|
|
123
140
|
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
+
const blockhashCommitment = (options === null || options === void 0 ? void 0 : options.blockhashCommitment) === undefined ? "finalized" : options.blockhashCommitment;
|
|
142
|
+
const fakeBlockHash = "1".repeat(32);
|
|
143
|
+
const convertIntoTxV0 = (options === null || options === void 0 ? void 0 : options.convertIntoTxV0) === undefined ? true : options.convertIntoTxV0;
|
|
144
|
+
const debug = (options === null || options === void 0 ? void 0 : options.debug) === undefined ? false : options.debug;
|
|
145
|
+
const skipPreflight = (options === null || options === void 0 ? void 0 : options.skipPreflight) === undefined ? false : options.skipPreflight;
|
|
146
|
+
const rpcCalls = (options === null || options === void 0 ? void 0 : options.rpcCalls) === undefined ? 5 : options.rpcCalls;
|
|
147
|
+
if (!Array.isArray(transactions))
|
|
148
|
+
transactions = [transactions];
|
|
124
149
|
if (convertIntoTxV0) {
|
|
125
|
-
const fakeBlockHash = "1".repeat(32);
|
|
126
150
|
transactions = transactions.map((tx) => txToV0(tx, wallet.publicKey, fakeBlockHash));
|
|
127
151
|
}
|
|
128
152
|
let txIds = [];
|
|
129
|
-
if (waitBetweenSend === undefined || waitBetweenSend === 0) {
|
|
130
|
-
const { blockhash, lastValidBlockHeight } = yield connection.getLatestBlockhash({ commitment: "confirmed" });
|
|
153
|
+
if ((options === null || options === void 0 ? void 0 : options.waitBetweenSend) === undefined || options.waitBetweenSend === 0) {
|
|
131
154
|
yield Promise.all(transactions.map((tx) => __awaiter(this, void 0, void 0, function* () {
|
|
132
155
|
var _b;
|
|
133
156
|
let txV0;
|
|
134
157
|
if (isVersionedTx(tx)) {
|
|
135
|
-
tx.message.recentBlockhash =
|
|
158
|
+
tx.message.recentBlockhash = fakeBlockHash;
|
|
136
159
|
txV0 = tx;
|
|
137
160
|
}
|
|
138
161
|
else {
|
|
139
|
-
tx.recentBlockhash =
|
|
162
|
+
tx.recentBlockhash = fakeBlockHash;
|
|
140
163
|
tx.feePayer = wallet.publicKey;
|
|
141
|
-
txV0 = new VersionedTransaction(MessageV0.compile({
|
|
164
|
+
txV0 = new VersionedTransaction(MessageV0.compile({
|
|
165
|
+
addressLookupTableAccounts: [],
|
|
166
|
+
instructions: tx.instructions,
|
|
167
|
+
recentBlockhash: fakeBlockHash,
|
|
168
|
+
payerKey: tx.feePayer,
|
|
169
|
+
}));
|
|
142
170
|
}
|
|
143
171
|
if (!skipPreflight) {
|
|
144
|
-
const simulationResult = yield connection.simulateTransaction(txV0, {
|
|
172
|
+
const simulationResult = yield connection.simulateTransaction(txV0, {
|
|
173
|
+
sigVerify: false,
|
|
174
|
+
replaceRecentBlockhash: true,
|
|
175
|
+
commitment: "confirmed",
|
|
176
|
+
});
|
|
145
177
|
if (simulationResult.value.err !== null) {
|
|
146
178
|
throw new Error(`Tx simulation Error! Transaction message dump: ${Buffer.from(txV0.serialize()).toString("base64")}\n Error: ${JSON.stringify(simulationResult.value.err)}, logs:\n ${(_b = simulationResult.value.logs) === null || _b === void 0 ? void 0 : _b.join("\n")}`);
|
|
147
179
|
}
|
|
148
180
|
}
|
|
149
181
|
})));
|
|
182
|
+
const { blockhash, lastValidBlockHeight } = yield connection.getLatestBlockhash({ commitment: blockhashCommitment });
|
|
183
|
+
// set real blockhash
|
|
184
|
+
transactions.map((tx) => setBlockhash(tx, blockhash));
|
|
150
185
|
// sign after setting correct blockhashes
|
|
151
|
-
const signed = yield wallet.signAllTransactions(transactions, signers);
|
|
186
|
+
const signed = yield wallet.signAllTransactions(transactions, options === null || options === void 0 ? void 0 : options.signers);
|
|
152
187
|
txIds = yield Promise.all(signed.map((signedTx) => {
|
|
153
188
|
const serialized = Buffer.from(signedTx.serialize());
|
|
154
189
|
if (debug)
|
|
155
190
|
console.debug(serialized.toString("base64"));
|
|
156
|
-
return sendWithRetries(connection, serialized, lastValidBlockHeight, rpcCalls);
|
|
191
|
+
return sendWithRetries(connection, serialized, lastValidBlockHeight, rpcCalls, blockhashCommitment);
|
|
157
192
|
}));
|
|
158
193
|
}
|
|
159
194
|
else {
|
|
160
195
|
for (let i = 0; i < transactions.length; i++) {
|
|
161
196
|
const tx = transactions[i];
|
|
162
|
-
const { blockhash, lastValidBlockHeight } = yield connection.getLatestBlockhash();
|
|
197
|
+
const { blockhash, lastValidBlockHeight } = yield connection.getLatestBlockhash({ commitment: blockhashCommitment });
|
|
163
198
|
let txV0;
|
|
164
199
|
if (isVersionedTx(tx)) {
|
|
165
200
|
tx.message.recentBlockhash = blockhash;
|
|
@@ -168,11 +203,20 @@ export function sendAll(connection, wallet, transactions, signers, waitBetweenSe
|
|
|
168
203
|
else {
|
|
169
204
|
tx.recentBlockhash = blockhash;
|
|
170
205
|
tx.feePayer = wallet.publicKey;
|
|
171
|
-
txV0 = new VersionedTransaction(MessageV0.compile({
|
|
206
|
+
txV0 = new VersionedTransaction(MessageV0.compile({
|
|
207
|
+
addressLookupTableAccounts: [],
|
|
208
|
+
instructions: tx.instructions,
|
|
209
|
+
recentBlockhash: blockhash,
|
|
210
|
+
payerKey: tx.feePayer,
|
|
211
|
+
}));
|
|
172
212
|
}
|
|
173
|
-
const signed = yield wallet.signTransaction(tx, signers && signers.length > i ? signers[i] : undefined);
|
|
213
|
+
const signed = yield wallet.signTransaction(tx, (options === null || options === void 0 ? void 0 : options.signers) && (options === null || options === void 0 ? void 0 : options.signers.length) > i ? options.signers[i] : undefined);
|
|
174
214
|
if (!skipPreflight) {
|
|
175
|
-
const simulationResult = yield connection.simulateTransaction(txV0, {
|
|
215
|
+
const simulationResult = yield connection.simulateTransaction(txV0, {
|
|
216
|
+
sigVerify: false,
|
|
217
|
+
replaceRecentBlockhash: true,
|
|
218
|
+
commitment: "confirmed",
|
|
219
|
+
});
|
|
176
220
|
if (simulationResult.value.err !== null) {
|
|
177
221
|
throw new Error(`Tx simulation Error! Transaction message dump: ${Buffer.from(txV0.serialize()).toString("base64")}\n Error: ${JSON.stringify(simulationResult.value.err)}, logs:\n ${(_a = simulationResult.value.logs) === null || _a === void 0 ? void 0 : _a.join("\n")}`);
|
|
178
222
|
}
|
|
@@ -180,8 +224,8 @@ export function sendAll(connection, wallet, transactions, signers, waitBetweenSe
|
|
|
180
224
|
const serialized = Buffer.from(signed.serialize());
|
|
181
225
|
if (debug)
|
|
182
226
|
console.debug(serialized.toString("base64"));
|
|
183
|
-
txIds.push(yield sendWithRetries(connection, serialized, lastValidBlockHeight, rpcCalls));
|
|
184
|
-
yield sleep(waitBetweenSend);
|
|
227
|
+
txIds.push(yield sendWithRetries(connection, serialized, lastValidBlockHeight, rpcCalls, blockhashCommitment));
|
|
228
|
+
yield sleep(options.waitBetweenSend);
|
|
185
229
|
}
|
|
186
230
|
}
|
|
187
231
|
return txIds;
|