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