@solana/transaction-messages 2.1.1-canary-20250505034302 → 2.1.1-canary-20250505171355
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 +30 -16
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.mjs +30 -16
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.native.mjs +30 -16
- package/dist/index.native.mjs.map +1 -1
- package/dist/index.node.cjs +30 -16
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +30 -16
- package/dist/index.node.mjs.map +1 -1
- package/dist/types/codecs/address-table-lookup.d.ts.map +1 -1
- package/dist/types/compile/address-table-lookups.d.ts +6 -2
- package/dist/types/compile/address-table-lookups.d.ts.map +1 -1
- package/dist/types/decompile-message.d.ts.map +1 -1
- package/package.json +9 -9
package/dist/index.browser.cjs
CHANGED
|
@@ -116,16 +116,11 @@ var getBase58Decoder = () => getBaseXDecoder(alphabet2);
|
|
|
116
116
|
var memoizedAddressTableLookupEncoder;
|
|
117
117
|
function getAddressTableLookupEncoder() {
|
|
118
118
|
if (!memoizedAddressTableLookupEncoder) {
|
|
119
|
+
const indexEncoder = codecsDataStructures.getArrayEncoder(codecsNumbers.getU8Encoder(), { size: codecsNumbers.getShortU16Encoder() });
|
|
119
120
|
memoizedAddressTableLookupEncoder = codecsDataStructures.getStructEncoder([
|
|
120
121
|
["lookupTableAddress", addresses.getAddressEncoder()],
|
|
121
|
-
[
|
|
122
|
-
|
|
123
|
-
codecsDataStructures.getArrayEncoder(codecsNumbers.getU8Encoder(), { size: codecsNumbers.getShortU16Encoder() })
|
|
124
|
-
],
|
|
125
|
-
[
|
|
126
|
-
"readableIndices",
|
|
127
|
-
codecsDataStructures.getArrayEncoder(codecsNumbers.getU8Encoder(), { size: codecsNumbers.getShortU16Encoder() })
|
|
128
|
-
]
|
|
122
|
+
["writableIndexes", indexEncoder],
|
|
123
|
+
["readonlyIndexes", indexEncoder]
|
|
129
124
|
]);
|
|
130
125
|
}
|
|
131
126
|
return memoizedAddressTableLookupEncoder;
|
|
@@ -133,11 +128,20 @@ function getAddressTableLookupEncoder() {
|
|
|
133
128
|
var memoizedAddressTableLookupDecoder;
|
|
134
129
|
function getAddressTableLookupDecoder() {
|
|
135
130
|
if (!memoizedAddressTableLookupDecoder) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
131
|
+
const indexEncoder = codecsDataStructures.getArrayDecoder(codecsNumbers.getU8Decoder(), { size: codecsNumbers.getShortU16Decoder() });
|
|
132
|
+
memoizedAddressTableLookupDecoder = codecsCore.transformDecoder(
|
|
133
|
+
codecsDataStructures.getStructDecoder([
|
|
134
|
+
["lookupTableAddress", addresses.getAddressDecoder()],
|
|
135
|
+
["writableIndexes", indexEncoder],
|
|
136
|
+
["readonlyIndexes", indexEncoder]
|
|
137
|
+
]),
|
|
138
|
+
(lookupTable) => "readableIndices" in lookupTable ? {
|
|
139
|
+
...lookupTable,
|
|
140
|
+
readonlyIndexes: lookupTable.readableIndices,
|
|
141
|
+
// @ts-expect-error Remove when `readableIndices` and `writableIndices` are removed.
|
|
142
|
+
writableIndexes: lookupTable.writableIndices
|
|
143
|
+
} : lookupTable
|
|
144
|
+
);
|
|
141
145
|
}
|
|
142
146
|
return memoizedAddressTableLookupDecoder;
|
|
143
147
|
}
|
|
@@ -512,13 +516,19 @@ function getCompiledAddressTableLookups(orderedAccounts) {
|
|
|
512
516
|
continue;
|
|
513
517
|
}
|
|
514
518
|
const entry = index[account.lookupTableAddress] ||= {
|
|
519
|
+
/** @deprecated Remove in a future major version */
|
|
515
520
|
readableIndices: [],
|
|
521
|
+
readonlyIndexes: [],
|
|
522
|
+
writableIndexes: [],
|
|
523
|
+
/** @deprecated Remove in a future major version */
|
|
516
524
|
writableIndices: []
|
|
517
525
|
};
|
|
518
526
|
if (account.role === instructions.AccountRole.WRITABLE) {
|
|
527
|
+
entry.writableIndexes.push(account.addressIndex);
|
|
519
528
|
entry.writableIndices.push(account.addressIndex);
|
|
520
529
|
} else {
|
|
521
530
|
entry.readableIndices.push(account.addressIndex);
|
|
531
|
+
entry.readonlyIndexes.push(account.addressIndex);
|
|
522
532
|
}
|
|
523
533
|
}
|
|
524
534
|
return Object.keys(index).sort(addresses.getAddressComparator()).map((lookupTableAddress) => ({
|
|
@@ -816,7 +826,11 @@ function getAddressLookupMetas(compiledAddressTableLookups, addressesByLookupTab
|
|
|
816
826
|
const writableMetas = [];
|
|
817
827
|
for (const lookup of compiledAddressTableLookups) {
|
|
818
828
|
const addresses = addressesByLookupTableAddress[lookup.lookupTableAddress];
|
|
819
|
-
const
|
|
829
|
+
const readonlyIndexes = lookup.readonlyIndexes ?? /** @deprecated Remove in a future major version */
|
|
830
|
+
lookup.readableIndices;
|
|
831
|
+
const writableIndexes = lookup.writableIndexes ?? /** @deprecated Remove in a future major version */
|
|
832
|
+
lookup.writableIndices;
|
|
833
|
+
const highestIndex = Math.max(...readonlyIndexes, ...writableIndexes);
|
|
820
834
|
if (highestIndex >= addresses.length) {
|
|
821
835
|
throw new errors.SolanaError(
|
|
822
836
|
errors.SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_INDEX_OUT_OF_RANGE,
|
|
@@ -827,14 +841,14 @@ function getAddressLookupMetas(compiledAddressTableLookups, addressesByLookupTab
|
|
|
827
841
|
}
|
|
828
842
|
);
|
|
829
843
|
}
|
|
830
|
-
const readOnlyForLookup =
|
|
844
|
+
const readOnlyForLookup = readonlyIndexes.map((r) => ({
|
|
831
845
|
address: addresses[r],
|
|
832
846
|
addressIndex: r,
|
|
833
847
|
lookupTableAddress: lookup.lookupTableAddress,
|
|
834
848
|
role: instructions.AccountRole.READONLY
|
|
835
849
|
}));
|
|
836
850
|
readOnlyMetas.push(...readOnlyForLookup);
|
|
837
|
-
const writableForLookup =
|
|
851
|
+
const writableForLookup = writableIndexes.map((w) => ({
|
|
838
852
|
address: addresses[w],
|
|
839
853
|
addressIndex: w,
|
|
840
854
|
lookupTableAddress: lookup.lookupTableAddress,
|