@solana/kit 2.2.1 → 2.3.0-canary-20250708190258
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/index.browser.cjs +1 -1
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.mjs +2 -2
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.development.js +117 -89
- package/dist/index.development.js.map +1 -1
- package/dist/index.native.mjs +2 -2
- package/dist/index.native.mjs.map +1 -1
- package/dist/index.node.cjs +1 -1
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +2 -2
- package/dist/index.node.mjs.map +1 -1
- package/dist/index.production.min.js +529 -515
- package/dist/types/compute-limit-internal.d.ts +2 -2
- package/dist/types/compute-limit-internal.d.ts.map +1 -1
- package/dist/types/compute-limit.d.ts +4 -2
- package/dist/types/compute-limit.d.ts.map +1 -1
- package/package.json +19 -19
|
@@ -159,6 +159,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
159
159
|
var SOLANA_ERROR__TRANSACTION__MESSAGE_SIGNATURES_MISMATCH = 5663017;
|
|
160
160
|
var SOLANA_ERROR__TRANSACTION__FAILED_TO_ESTIMATE_COMPUTE_LIMIT = 5663018;
|
|
161
161
|
var SOLANA_ERROR__TRANSACTION__FAILED_WHEN_SIMULATING_TO_ESTIMATE_COMPUTE_LIMIT = 5663019;
|
|
162
|
+
var SOLANA_ERROR__TRANSACTION__EXCEEDS_SIZE_LIMIT = 5663020;
|
|
162
163
|
var SOLANA_ERROR__TRANSACTION_ERROR__UNKNOWN = 705e4;
|
|
163
164
|
var SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_IN_USE = 7050001;
|
|
164
165
|
var SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_LOADED_TWICE = 7050002;
|
|
@@ -392,7 +393,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
392
393
|
[SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_SENDING_SIGNER]: "The provided value does not implement the `TransactionSendingSigner` interface",
|
|
393
394
|
[SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_SIGNER]: "The provided value does not implement any of the `TransactionSigner` interfaces",
|
|
394
395
|
[SOLANA_ERROR__SIGNER__TRANSACTION_CANNOT_HAVE_MULTIPLE_SENDING_SIGNERS]: "More than one `TransactionSendingSigner` was identified.",
|
|
395
|
-
[SOLANA_ERROR__SIGNER__TRANSACTION_SENDING_SIGNER_MISSING]: "No `TransactionSendingSigner` was identified. Please provide a valid `
|
|
396
|
+
[SOLANA_ERROR__SIGNER__TRANSACTION_SENDING_SIGNER_MISSING]: "No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",
|
|
396
397
|
[SOLANA_ERROR__SIGNER__WALLET_MULTISIGN_UNIMPLEMENTED]: "Wallet account signers do not support signing multiple messages/transactions in a single operation",
|
|
397
398
|
[SOLANA_ERROR__SUBTLE_CRYPTO__CANNOT_EXPORT_NON_EXTRACTABLE_KEY]: "Cannot export a non-extractable key.",
|
|
398
399
|
[SOLANA_ERROR__SUBTLE_CRYPTO__DIGEST_UNIMPLEMENTED]: "No digest implementation could be found.",
|
|
@@ -443,6 +444,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
443
444
|
[SOLANA_ERROR__TRANSACTION__ADDRESSES_CANNOT_SIGN_TRANSACTION]: "Attempted to sign a transaction with an address that is not a signer for it",
|
|
444
445
|
[SOLANA_ERROR__TRANSACTION__ADDRESS_MISSING]: "Transaction is missing an address at index: $index.",
|
|
445
446
|
[SOLANA_ERROR__TRANSACTION__CANNOT_ENCODE_WITH_EMPTY_SIGNATURES]: "Transaction has no expected signers therefore it cannot be encoded",
|
|
447
|
+
[SOLANA_ERROR__TRANSACTION__EXCEEDS_SIZE_LIMIT]: "Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",
|
|
446
448
|
[SOLANA_ERROR__TRANSACTION__EXPECTED_BLOCKHASH_LIFETIME]: "Transaction does not have a blockhash lifetime",
|
|
447
449
|
[SOLANA_ERROR__TRANSACTION__EXPECTED_NONCE_LIFETIME]: "Transaction is not a durable nonce transaction",
|
|
448
450
|
[SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_CONTENTS_MISSING]: "Contents of these address lookup tables unknown: $lookupTableAddresses",
|
|
@@ -3425,6 +3427,9 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
3425
3427
|
return false;
|
|
3426
3428
|
},
|
|
3427
3429
|
get(target, p, receiver) {
|
|
3430
|
+
if (p === "then") {
|
|
3431
|
+
return void 0;
|
|
3432
|
+
}
|
|
3428
3433
|
return function(...rawParams) {
|
|
3429
3434
|
const methodName = p.toString();
|
|
3430
3435
|
const getApiPlan = Reflect.get(target, methodName, receiver);
|
|
@@ -4263,7 +4268,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
4263
4268
|
...config.headers ? normalizeHeaders2(config.headers) : void 0,
|
|
4264
4269
|
...{
|
|
4265
4270
|
// Keep these headers lowercase so they will override any user-supplied headers above.
|
|
4266
|
-
"solana-client": `js/${"2.
|
|
4271
|
+
"solana-client": `js/${"2.3.0-canary-20250708190258"}`
|
|
4267
4272
|
}
|
|
4268
4273
|
}
|
|
4269
4274
|
}),
|
|
@@ -4533,6 +4538,9 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
4533
4538
|
return false;
|
|
4534
4539
|
},
|
|
4535
4540
|
get(target, p, receiver) {
|
|
4541
|
+
if (p === "then") {
|
|
4542
|
+
return void 0;
|
|
4543
|
+
}
|
|
4536
4544
|
return function(...rawParams) {
|
|
4537
4545
|
const notificationName = p.toString();
|
|
4538
4546
|
const createRpcSubscriptionPlan = Reflect.get(target, notificationName, receiver);
|
|
@@ -5427,49 +5435,20 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
5427
5435
|
}
|
|
5428
5436
|
|
|
5429
5437
|
// ../rpc-types/dist/index.browser.mjs
|
|
5430
|
-
var memoizedBase58Encoder2;
|
|
5431
|
-
var memoizedBase58Decoder2;
|
|
5432
|
-
function getMemoizedBase58Encoder2() {
|
|
5433
|
-
if (!memoizedBase58Encoder2) memoizedBase58Encoder2 = getBase58Encoder();
|
|
5434
|
-
return memoizedBase58Encoder2;
|
|
5435
|
-
}
|
|
5436
|
-
function getMemoizedBase58Decoder2() {
|
|
5437
|
-
if (!memoizedBase58Decoder2) memoizedBase58Decoder2 = getBase58Decoder();
|
|
5438
|
-
return memoizedBase58Decoder2;
|
|
5439
|
-
}
|
|
5440
5438
|
function isBlockhash(putativeBlockhash) {
|
|
5441
|
-
|
|
5442
|
-
// Lowest value (32 bytes of zeroes)
|
|
5443
|
-
putativeBlockhash.length < 32 || // Highest value (32 bytes of 255)
|
|
5444
|
-
putativeBlockhash.length > 44
|
|
5445
|
-
) {
|
|
5446
|
-
return false;
|
|
5447
|
-
}
|
|
5448
|
-
const base58Encoder2 = getMemoizedBase58Encoder2();
|
|
5449
|
-
const bytes = base58Encoder2.encode(putativeBlockhash);
|
|
5450
|
-
const numBytes = bytes.byteLength;
|
|
5451
|
-
if (numBytes !== 32) {
|
|
5452
|
-
return false;
|
|
5453
|
-
}
|
|
5454
|
-
return true;
|
|
5439
|
+
return isAddress(putativeBlockhash);
|
|
5455
5440
|
}
|
|
5456
5441
|
function assertIsBlockhash(putativeBlockhash) {
|
|
5457
|
-
|
|
5458
|
-
|
|
5459
|
-
|
|
5460
|
-
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
5464
|
-
|
|
5465
|
-
|
|
5466
|
-
|
|
5467
|
-
const bytes = base58Encoder2.encode(putativeBlockhash);
|
|
5468
|
-
const numBytes = bytes.byteLength;
|
|
5469
|
-
if (numBytes !== 32) {
|
|
5470
|
-
throw new SolanaError(SOLANA_ERROR__INVALID_BLOCKHASH_BYTE_LENGTH, {
|
|
5471
|
-
actualLength: numBytes
|
|
5472
|
-
});
|
|
5442
|
+
try {
|
|
5443
|
+
assertIsAddress(putativeBlockhash);
|
|
5444
|
+
} catch (error) {
|
|
5445
|
+
if (isSolanaError(error, SOLANA_ERROR__ADDRESSES__STRING_LENGTH_OUT_OF_RANGE)) {
|
|
5446
|
+
throw new SolanaError(SOLANA_ERROR__BLOCKHASH_STRING_LENGTH_OUT_OF_RANGE, error.context);
|
|
5447
|
+
}
|
|
5448
|
+
if (isSolanaError(error, SOLANA_ERROR__ADDRESSES__INVALID_BYTE_LENGTH)) {
|
|
5449
|
+
throw new SolanaError(SOLANA_ERROR__INVALID_BLOCKHASH_BYTE_LENGTH, error.context);
|
|
5450
|
+
}
|
|
5451
|
+
throw error;
|
|
5473
5452
|
}
|
|
5474
5453
|
}
|
|
5475
5454
|
function blockhash(putativeBlockhash) {
|
|
@@ -5477,13 +5456,17 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
5477
5456
|
return putativeBlockhash;
|
|
5478
5457
|
}
|
|
5479
5458
|
function getBlockhashEncoder() {
|
|
5480
|
-
|
|
5481
|
-
|
|
5482
|
-
|
|
5483
|
-
|
|
5459
|
+
const addressEncoder = getAddressEncoder();
|
|
5460
|
+
return createEncoder({
|
|
5461
|
+
fixedSize: 32,
|
|
5462
|
+
write: (value, bytes, offset) => {
|
|
5463
|
+
assertIsBlockhash(value);
|
|
5464
|
+
return addressEncoder.write(value, bytes, offset);
|
|
5465
|
+
}
|
|
5466
|
+
});
|
|
5484
5467
|
}
|
|
5485
5468
|
function getBlockhashDecoder() {
|
|
5486
|
-
return
|
|
5469
|
+
return getAddressDecoder();
|
|
5487
5470
|
}
|
|
5488
5471
|
function getBlockhashCodec() {
|
|
5489
5472
|
return combineCodec(getBlockhashEncoder(), getBlockhashDecoder());
|
|
@@ -5625,14 +5608,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
5625
5608
|
|
|
5626
5609
|
// ../transaction-messages/dist/index.browser.mjs
|
|
5627
5610
|
function isTransactionMessageWithBlockhashLifetime(transactionMessage) {
|
|
5628
|
-
|
|
5629
|
-
if (!lifetimeConstraintShapeMatches) return false;
|
|
5630
|
-
try {
|
|
5631
|
-
assertIsBlockhash(transactionMessage.lifetimeConstraint.blockhash);
|
|
5632
|
-
return true;
|
|
5633
|
-
} catch {
|
|
5634
|
-
return false;
|
|
5635
|
-
}
|
|
5611
|
+
return "lifetimeConstraint" in transactionMessage && typeof transactionMessage.lifetimeConstraint.blockhash === "string" && typeof transactionMessage.lifetimeConstraint.lastValidBlockHeight === "bigint" && isBlockhash(transactionMessage.lifetimeConstraint.blockhash);
|
|
5636
5612
|
}
|
|
5637
5613
|
function assertIsTransactionMessageWithBlockhashLifetime(transactionMessage) {
|
|
5638
5614
|
if (!isTransactionMessageWithBlockhashLifetime(transactionMessage)) {
|
|
@@ -5640,15 +5616,13 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
5640
5616
|
}
|
|
5641
5617
|
}
|
|
5642
5618
|
function setTransactionMessageLifetimeUsingBlockhash(blockhashLifetimeConstraint, transactionMessage) {
|
|
5643
|
-
if ("lifetimeConstraint" in transactionMessage && transactionMessage.lifetimeConstraint.blockhash === blockhashLifetimeConstraint.blockhash && transactionMessage.lifetimeConstraint.lastValidBlockHeight === blockhashLifetimeConstraint.lastValidBlockHeight) {
|
|
5619
|
+
if ("lifetimeConstraint" in transactionMessage && transactionMessage.lifetimeConstraint && "blockhash" in transactionMessage.lifetimeConstraint && transactionMessage.lifetimeConstraint.blockhash === blockhashLifetimeConstraint.blockhash && transactionMessage.lifetimeConstraint.lastValidBlockHeight === blockhashLifetimeConstraint.lastValidBlockHeight) {
|
|
5644
5620
|
return transactionMessage;
|
|
5645
5621
|
}
|
|
5646
|
-
|
|
5622
|
+
return Object.freeze({
|
|
5647
5623
|
...transactionMessage,
|
|
5648
5624
|
lifetimeConstraint: Object.freeze(blockhashLifetimeConstraint)
|
|
5649
|
-
};
|
|
5650
|
-
Object.freeze(out);
|
|
5651
|
-
return out;
|
|
5625
|
+
});
|
|
5652
5626
|
}
|
|
5653
5627
|
function assertValidBaseString2(alphabet4, testValue, givenValue = testValue) {
|
|
5654
5628
|
if (!testValue.match(new RegExp(`^[${alphabet4}]*$`))) {
|
|
@@ -6268,21 +6242,14 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
6268
6242
|
updatedAnyInstructions ? { ...transactionMessage, instructions: newInstructions } : transactionMessage
|
|
6269
6243
|
);
|
|
6270
6244
|
}
|
|
6271
|
-
function createTransactionMessage({
|
|
6272
|
-
version
|
|
6273
|
-
}) {
|
|
6245
|
+
function createTransactionMessage(config) {
|
|
6274
6246
|
return Object.freeze({
|
|
6275
6247
|
instructions: Object.freeze([]),
|
|
6276
|
-
version
|
|
6248
|
+
version: config.version
|
|
6277
6249
|
});
|
|
6278
6250
|
}
|
|
6279
6251
|
var RECENT_BLOCKHASHES_SYSVAR_ADDRESS = "SysvarRecentB1ockHashes11111111111111111111";
|
|
6280
6252
|
var SYSTEM_PROGRAM_ADDRESS = "11111111111111111111111111111111";
|
|
6281
|
-
function assertIsDurableNonceTransactionMessage(transactionMessage) {
|
|
6282
|
-
if (!isDurableNonceTransaction(transactionMessage)) {
|
|
6283
|
-
throw new SolanaError(SOLANA_ERROR__TRANSACTION__EXPECTED_NONCE_LIFETIME);
|
|
6284
|
-
}
|
|
6285
|
-
}
|
|
6286
6253
|
function createAdvanceNonceAccountInstruction(nonceAccountAddress, nonceAuthorityAddress) {
|
|
6287
6254
|
return {
|
|
6288
6255
|
accounts: [
|
|
@@ -6309,9 +6276,14 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
6309
6276
|
function isAdvanceNonceAccountInstructionData(data) {
|
|
6310
6277
|
return data.byteLength === 4 && data[0] === 4 && data[1] === 0 && data[2] === 0 && data[3] === 0;
|
|
6311
6278
|
}
|
|
6312
|
-
function
|
|
6279
|
+
function isTransactionMessageWithDurableNonceLifetime(transactionMessage) {
|
|
6313
6280
|
return "lifetimeConstraint" in transactionMessage && typeof transactionMessage.lifetimeConstraint.nonce === "string" && transactionMessage.instructions[0] != null && isAdvanceNonceAccountInstruction(transactionMessage.instructions[0]);
|
|
6314
6281
|
}
|
|
6282
|
+
function assertIsTransactionMessageWithDurableNonceLifetime(transactionMessage) {
|
|
6283
|
+
if (!isTransactionMessageWithDurableNonceLifetime(transactionMessage)) {
|
|
6284
|
+
throw new SolanaError(SOLANA_ERROR__TRANSACTION__EXPECTED_NONCE_LIFETIME);
|
|
6285
|
+
}
|
|
6286
|
+
}
|
|
6315
6287
|
function isAdvanceNonceAccountInstructionForNonce(instruction, nonceAccountAddress, nonceAuthorityAddress) {
|
|
6316
6288
|
return instruction.accounts[0].address === nonceAccountAddress && instruction.accounts[2].address === nonceAuthorityAddress;
|
|
6317
6289
|
}
|
|
@@ -6324,7 +6296,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
6324
6296
|
const firstInstruction = transactionMessage.instructions[0];
|
|
6325
6297
|
if (firstInstruction && isAdvanceNonceAccountInstruction(firstInstruction)) {
|
|
6326
6298
|
if (isAdvanceNonceAccountInstructionForNonce(firstInstruction, nonceAccountAddress, nonceAuthorityAddress)) {
|
|
6327
|
-
if (
|
|
6299
|
+
if (isTransactionMessageWithDurableNonceLifetime(transactionMessage) && transactionMessage.lifetimeConstraint.nonce === nonce) {
|
|
6328
6300
|
return transactionMessage;
|
|
6329
6301
|
} else {
|
|
6330
6302
|
newInstructions = [firstInstruction, ...transactionMessage.instructions.slice(1)];
|
|
@@ -6344,9 +6316,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
6344
6316
|
return Object.freeze({
|
|
6345
6317
|
...transactionMessage,
|
|
6346
6318
|
instructions: Object.freeze(newInstructions),
|
|
6347
|
-
lifetimeConstraint: Object.freeze({
|
|
6348
|
-
nonce
|
|
6349
|
-
})
|
|
6319
|
+
lifetimeConstraint: Object.freeze({ nonce })
|
|
6350
6320
|
});
|
|
6351
6321
|
}
|
|
6352
6322
|
function setTransactionMessageFeePayer(feePayer, transactionMessage) {
|
|
@@ -6370,7 +6340,10 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
6370
6340
|
function appendTransactionMessageInstructions(instructions, transactionMessage) {
|
|
6371
6341
|
return Object.freeze({
|
|
6372
6342
|
...transactionMessage,
|
|
6373
|
-
instructions: Object.freeze([
|
|
6343
|
+
instructions: Object.freeze([
|
|
6344
|
+
...transactionMessage.instructions,
|
|
6345
|
+
...instructions
|
|
6346
|
+
])
|
|
6374
6347
|
});
|
|
6375
6348
|
}
|
|
6376
6349
|
function prependTransactionMessageInstruction(instruction, transactionMessage) {
|
|
@@ -6379,7 +6352,10 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
6379
6352
|
function prependTransactionMessageInstructions(instructions, transactionMessage) {
|
|
6380
6353
|
return Object.freeze({
|
|
6381
6354
|
...transactionMessage,
|
|
6382
|
-
instructions: Object.freeze([
|
|
6355
|
+
instructions: Object.freeze([
|
|
6356
|
+
...instructions,
|
|
6357
|
+
...transactionMessage.instructions
|
|
6358
|
+
])
|
|
6383
6359
|
});
|
|
6384
6360
|
}
|
|
6385
6361
|
function getAccountMetas(message) {
|
|
@@ -6526,12 +6502,15 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
6526
6502
|
return pipe(
|
|
6527
6503
|
createTransactionMessage({ version: compiledTransactionMessage.version }),
|
|
6528
6504
|
(m) => setTransactionMessageFeePayer(feePayer, m),
|
|
6529
|
-
(m) => instructions.reduce(
|
|
6530
|
-
|
|
6531
|
-
|
|
6505
|
+
(m) => instructions.reduce(
|
|
6506
|
+
(acc, instruction) => appendTransactionMessageInstruction(instruction, acc),
|
|
6507
|
+
m
|
|
6508
|
+
),
|
|
6532
6509
|
(m) => "blockhash" in lifetimeConstraint ? setTransactionMessageLifetimeUsingBlockhash(lifetimeConstraint, m) : setTransactionMessageLifetimeUsingDurableNonce(lifetimeConstraint, m)
|
|
6533
6510
|
);
|
|
6534
6511
|
}
|
|
6512
|
+
var assertIsDurableNonceTransactionMessage = assertIsTransactionMessageWithDurableNonceLifetime;
|
|
6513
|
+
var isDurableNonceTransaction = isTransactionMessageWithDurableNonceLifetime;
|
|
6535
6514
|
|
|
6536
6515
|
// ../transactions/dist/index.browser.mjs
|
|
6537
6516
|
function getSignaturesToEncode(signaturesMap) {
|
|
@@ -6624,12 +6603,11 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
6624
6603
|
nonceAccountAddress: transactionMessage.instructions[0].accounts[0].address
|
|
6625
6604
|
};
|
|
6626
6605
|
}
|
|
6627
|
-
|
|
6606
|
+
return Object.freeze({
|
|
6628
6607
|
lifetimeConstraint,
|
|
6629
6608
|
messageBytes,
|
|
6630
6609
|
signatures: Object.freeze(signatures)
|
|
6631
|
-
};
|
|
6632
|
-
return Object.freeze(transaction);
|
|
6610
|
+
});
|
|
6633
6611
|
}
|
|
6634
6612
|
var base58Decoder;
|
|
6635
6613
|
function getSignatureFromTransaction(transaction) {
|
|
@@ -6687,11 +6665,14 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
6687
6665
|
}
|
|
6688
6666
|
async function signTransaction(keyPairs, transaction) {
|
|
6689
6667
|
const out = await partiallySignTransaction(keyPairs, transaction);
|
|
6690
|
-
|
|
6668
|
+
assertIsFullySignedTransaction(out);
|
|
6691
6669
|
Object.freeze(out);
|
|
6692
6670
|
return out;
|
|
6693
6671
|
}
|
|
6694
|
-
function
|
|
6672
|
+
function isFullySignedTransaction(transaction) {
|
|
6673
|
+
return Object.entries(transaction.signatures).every(([_, signatureBytes]) => !!signatureBytes);
|
|
6674
|
+
}
|
|
6675
|
+
function assertIsFullySignedTransaction(transaction) {
|
|
6695
6676
|
const missingSigs = [];
|
|
6696
6677
|
Object.entries(transaction.signatures).forEach(([address2, signatureBytes]) => {
|
|
6697
6678
|
if (!signatureBytes) {
|
|
@@ -6708,6 +6689,40 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
6708
6689
|
const wireTransactionBytes = getTransactionEncoder().encode(transaction);
|
|
6709
6690
|
return getBase64Decoder().decode(wireTransactionBytes);
|
|
6710
6691
|
}
|
|
6692
|
+
var TRANSACTION_PACKET_SIZE = 1280;
|
|
6693
|
+
var TRANSACTION_PACKET_HEADER = 40 + 8;
|
|
6694
|
+
var TRANSACTION_SIZE_LIMIT = TRANSACTION_PACKET_SIZE - TRANSACTION_PACKET_HEADER;
|
|
6695
|
+
function getTransactionSize(transaction) {
|
|
6696
|
+
return getTransactionEncoder().getSizeFromValue(transaction);
|
|
6697
|
+
}
|
|
6698
|
+
function isTransactionWithinSizeLimit(transaction) {
|
|
6699
|
+
return getTransactionSize(transaction) <= TRANSACTION_SIZE_LIMIT;
|
|
6700
|
+
}
|
|
6701
|
+
function assertIsTransactionWithinSizeLimit(transaction) {
|
|
6702
|
+
const transactionSize = getTransactionSize(transaction);
|
|
6703
|
+
if (transactionSize > TRANSACTION_SIZE_LIMIT) {
|
|
6704
|
+
throw new SolanaError(SOLANA_ERROR__TRANSACTION__EXCEEDS_SIZE_LIMIT, {
|
|
6705
|
+
transactionSize,
|
|
6706
|
+
transactionSizeLimit: TRANSACTION_SIZE_LIMIT
|
|
6707
|
+
});
|
|
6708
|
+
}
|
|
6709
|
+
}
|
|
6710
|
+
function getTransactionMessageSize(transactionMessage) {
|
|
6711
|
+
return getTransactionSize(compileTransaction(transactionMessage));
|
|
6712
|
+
}
|
|
6713
|
+
function isTransactionMessageWithinSizeLimit(transactionMessage) {
|
|
6714
|
+
return getTransactionMessageSize(transactionMessage) <= TRANSACTION_SIZE_LIMIT;
|
|
6715
|
+
}
|
|
6716
|
+
function assertIsTransactionMessageWithinSizeLimit(transactionMessage) {
|
|
6717
|
+
const transactionSize = getTransactionMessageSize(transactionMessage);
|
|
6718
|
+
if (transactionSize > TRANSACTION_SIZE_LIMIT) {
|
|
6719
|
+
throw new SolanaError(SOLANA_ERROR__TRANSACTION__EXCEEDS_SIZE_LIMIT, {
|
|
6720
|
+
transactionSize,
|
|
6721
|
+
transactionSizeLimit: TRANSACTION_SIZE_LIMIT
|
|
6722
|
+
});
|
|
6723
|
+
}
|
|
6724
|
+
}
|
|
6725
|
+
var assertTransactionIsFullySigned = assertIsFullySignedTransaction;
|
|
6711
6726
|
|
|
6712
6727
|
// ../signers/dist/index.browser.mjs
|
|
6713
6728
|
function deduplicateSigners(signers) {
|
|
@@ -6922,7 +6937,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
6922
6937
|
}
|
|
6923
6938
|
async function signTransactionMessageWithSigners(transactionMessage, config) {
|
|
6924
6939
|
const signedTransaction = await partiallySignTransactionMessageWithSigners(transactionMessage, config);
|
|
6925
|
-
|
|
6940
|
+
assertIsFullySignedTransaction(signedTransaction);
|
|
6926
6941
|
return signedTransaction;
|
|
6927
6942
|
}
|
|
6928
6943
|
async function signAndSendTransactionMessageWithSigners(transaction, config) {
|
|
@@ -6994,15 +7009,14 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
6994
7009
|
return signatures;
|
|
6995
7010
|
})
|
|
6996
7011
|
);
|
|
6997
|
-
|
|
7012
|
+
return Object.freeze({
|
|
6998
7013
|
...modifiedTransaction,
|
|
6999
7014
|
signatures: Object.freeze(
|
|
7000
7015
|
signatureDictionaries.reduce((signatures, signatureDictionary) => {
|
|
7001
7016
|
return { ...signatures, ...signatureDictionary };
|
|
7002
7017
|
}, (_b = modifiedTransaction.signatures) != null ? _b : {})
|
|
7003
7018
|
)
|
|
7004
|
-
};
|
|
7005
|
-
return Object.freeze(signedTransaction);
|
|
7019
|
+
});
|
|
7006
7020
|
}
|
|
7007
7021
|
var o6 = globalThis.TextEncoder;
|
|
7008
7022
|
function createSignableMessage(content, signatures = {}) {
|
|
@@ -7355,7 +7369,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
7355
7369
|
transactionMessage,
|
|
7356
7370
|
...simulateConfig
|
|
7357
7371
|
}) {
|
|
7358
|
-
const isDurableNonceTransactionMessage =
|
|
7372
|
+
const isDurableNonceTransactionMessage = isTransactionMessageWithDurableNonceLifetime(transactionMessage);
|
|
7359
7373
|
let compilableTransactionMessage;
|
|
7360
7374
|
if (isDurableNonceTransactionMessage || isTransactionMessageWithBlockhashLifetime(transactionMessage)) {
|
|
7361
7375
|
compilableTransactionMessage = transactionMessage;
|
|
@@ -7822,6 +7836,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
7822
7836
|
exports.SOLANA_ERROR__TRANSACTION__ADDRESSES_CANNOT_SIGN_TRANSACTION = SOLANA_ERROR__TRANSACTION__ADDRESSES_CANNOT_SIGN_TRANSACTION;
|
|
7823
7837
|
exports.SOLANA_ERROR__TRANSACTION__ADDRESS_MISSING = SOLANA_ERROR__TRANSACTION__ADDRESS_MISSING;
|
|
7824
7838
|
exports.SOLANA_ERROR__TRANSACTION__CANNOT_ENCODE_WITH_EMPTY_SIGNATURES = SOLANA_ERROR__TRANSACTION__CANNOT_ENCODE_WITH_EMPTY_SIGNATURES;
|
|
7839
|
+
exports.SOLANA_ERROR__TRANSACTION__EXCEEDS_SIZE_LIMIT = SOLANA_ERROR__TRANSACTION__EXCEEDS_SIZE_LIMIT;
|
|
7825
7840
|
exports.SOLANA_ERROR__TRANSACTION__EXPECTED_BLOCKHASH_LIFETIME = SOLANA_ERROR__TRANSACTION__EXPECTED_BLOCKHASH_LIFETIME;
|
|
7826
7841
|
exports.SOLANA_ERROR__TRANSACTION__EXPECTED_NONCE_LIFETIME = SOLANA_ERROR__TRANSACTION__EXPECTED_NONCE_LIFETIME;
|
|
7827
7842
|
exports.SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_CONTENTS_MISSING = SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_CONTENTS_MISSING;
|
|
@@ -7840,6 +7855,9 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
7840
7855
|
exports.SOLANA_ERROR__TRANSACTION__SIGNATURES_MISSING = SOLANA_ERROR__TRANSACTION__SIGNATURES_MISSING;
|
|
7841
7856
|
exports.SOLANA_ERROR__TRANSACTION__VERSION_NUMBER_OUT_OF_RANGE = SOLANA_ERROR__TRANSACTION__VERSION_NUMBER_OUT_OF_RANGE;
|
|
7842
7857
|
exports.SolanaError = SolanaError;
|
|
7858
|
+
exports.TRANSACTION_PACKET_HEADER = TRANSACTION_PACKET_HEADER;
|
|
7859
|
+
exports.TRANSACTION_PACKET_SIZE = TRANSACTION_PACKET_SIZE;
|
|
7860
|
+
exports.TRANSACTION_SIZE_LIMIT = TRANSACTION_SIZE_LIMIT;
|
|
7843
7861
|
exports.addCodecSentinel = addCodecSentinel;
|
|
7844
7862
|
exports.addCodecSizePrefix = addCodecSizePrefix;
|
|
7845
7863
|
exports.addDecoderSentinel = addDecoderSentinel;
|
|
@@ -7863,6 +7881,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
7863
7881
|
exports.assertIsBlockhash = assertIsBlockhash;
|
|
7864
7882
|
exports.assertIsDurableNonceTransactionMessage = assertIsDurableNonceTransactionMessage;
|
|
7865
7883
|
exports.assertIsFixedSize = assertIsFixedSize;
|
|
7884
|
+
exports.assertIsFullySignedTransaction = assertIsFullySignedTransaction;
|
|
7866
7885
|
exports.assertIsInstructionForProgram = assertIsInstructionForProgram;
|
|
7867
7886
|
exports.assertIsInstructionWithAccounts = assertIsInstructionWithAccounts;
|
|
7868
7887
|
exports.assertIsInstructionWithData = assertIsInstructionWithData;
|
|
@@ -7877,11 +7896,14 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
7877
7896
|
exports.assertIsStringifiedBigInt = assertIsStringifiedBigInt;
|
|
7878
7897
|
exports.assertIsStringifiedNumber = assertIsStringifiedNumber;
|
|
7879
7898
|
exports.assertIsTransactionMessageWithBlockhashLifetime = assertIsTransactionMessageWithBlockhashLifetime;
|
|
7899
|
+
exports.assertIsTransactionMessageWithDurableNonceLifetime = assertIsTransactionMessageWithDurableNonceLifetime;
|
|
7880
7900
|
exports.assertIsTransactionMessageWithSingleSendingSigner = assertIsTransactionMessageWithSingleSendingSigner;
|
|
7901
|
+
exports.assertIsTransactionMessageWithinSizeLimit = assertIsTransactionMessageWithinSizeLimit;
|
|
7881
7902
|
exports.assertIsTransactionModifyingSigner = assertIsTransactionModifyingSigner;
|
|
7882
7903
|
exports.assertIsTransactionPartialSigner = assertIsTransactionPartialSigner;
|
|
7883
7904
|
exports.assertIsTransactionSendingSigner = assertIsTransactionSendingSigner;
|
|
7884
7905
|
exports.assertIsTransactionSigner = assertIsTransactionSigner;
|
|
7906
|
+
exports.assertIsTransactionWithinSizeLimit = assertIsTransactionWithinSizeLimit;
|
|
7885
7907
|
exports.assertIsUnixTimestamp = assertIsUnixTimestamp;
|
|
7886
7908
|
exports.assertIsVariableSize = assertIsVariableSize;
|
|
7887
7909
|
exports.assertNumberIsBetweenForCodec = assertNumberIsBetweenForCodec;
|
|
@@ -8071,6 +8093,8 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
8071
8093
|
exports.getTransactionCodec = getTransactionCodec;
|
|
8072
8094
|
exports.getTransactionDecoder = getTransactionDecoder;
|
|
8073
8095
|
exports.getTransactionEncoder = getTransactionEncoder;
|
|
8096
|
+
exports.getTransactionMessageSize = getTransactionMessageSize;
|
|
8097
|
+
exports.getTransactionSize = getTransactionSize;
|
|
8074
8098
|
exports.getTransactionVersionCodec = getTransactionVersionCodec;
|
|
8075
8099
|
exports.getTransactionVersionDecoder = getTransactionVersionDecoder;
|
|
8076
8100
|
exports.getTransactionVersionEncoder = getTransactionVersionEncoder;
|
|
@@ -8106,6 +8130,7 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
8106
8130
|
exports.isBlockhash = isBlockhash;
|
|
8107
8131
|
exports.isDurableNonceTransaction = isDurableNonceTransaction;
|
|
8108
8132
|
exports.isFixedSize = isFixedSize;
|
|
8133
|
+
exports.isFullySignedTransaction = isFullySignedTransaction;
|
|
8109
8134
|
exports.isInstructionForProgram = isInstructionForProgram;
|
|
8110
8135
|
exports.isInstructionWithAccounts = isInstructionWithAccounts;
|
|
8111
8136
|
exports.isInstructionWithData = isInstructionWithData;
|
|
@@ -8127,11 +8152,14 @@ this.globalThis.solanaWeb3 = (function (exports) {
|
|
|
8127
8152
|
exports.isStringifiedBigInt = isStringifiedBigInt;
|
|
8128
8153
|
exports.isStringifiedNumber = isStringifiedNumber;
|
|
8129
8154
|
exports.isTransactionMessageWithBlockhashLifetime = isTransactionMessageWithBlockhashLifetime;
|
|
8155
|
+
exports.isTransactionMessageWithDurableNonceLifetime = isTransactionMessageWithDurableNonceLifetime;
|
|
8130
8156
|
exports.isTransactionMessageWithSingleSendingSigner = isTransactionMessageWithSingleSendingSigner;
|
|
8157
|
+
exports.isTransactionMessageWithinSizeLimit = isTransactionMessageWithinSizeLimit;
|
|
8131
8158
|
exports.isTransactionModifyingSigner = isTransactionModifyingSigner;
|
|
8132
8159
|
exports.isTransactionPartialSigner = isTransactionPartialSigner;
|
|
8133
8160
|
exports.isTransactionSendingSigner = isTransactionSendingSigner;
|
|
8134
8161
|
exports.isTransactionSigner = isTransactionSigner;
|
|
8162
|
+
exports.isTransactionWithinSizeLimit = isTransactionWithinSizeLimit;
|
|
8135
8163
|
exports.isUnixTimestamp = isUnixTimestamp;
|
|
8136
8164
|
exports.isVariableSize = isVariableSize;
|
|
8137
8165
|
exports.isWritableRole = isWritableRole;
|