@debridge-finance/solana-utils 5.3.2 → 5.4.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/LICENSE +100 -100
- package/dist/browser/index.js +654 -361
- package/dist/browser/index.js.map +1 -1
- package/dist/cjs/spl.js +3 -1
- package/dist/cjs/spl.js.map +1 -1
- package/dist/esm/spl.js +4 -2
- package/dist/esm/spl.js.map +1 -1
- package/dist/types/spl.d.ts.map +1 -1
- package/package.json +83 -83
package/dist/browser/index.js
CHANGED
|
@@ -10124,6 +10124,7 @@ function parseSplAccount(dataOrInfo) {
|
|
|
10124
10124
|
return null;
|
|
10125
10125
|
}
|
|
10126
10126
|
const data = "executable" in dataOrInfo ? dataOrInfo.data : dataOrInfo;
|
|
10127
|
+
data.subarray(0, 165); // only use static part
|
|
10127
10128
|
// if (data.length === 82) return null; // token mint
|
|
10128
10129
|
try {
|
|
10129
10130
|
return AccountLayout$1.decode(data);
|
|
@@ -10358,7 +10359,8 @@ function parseMultipleAccounts(accounts) {
|
|
|
10358
10359
|
let parsedSplAccount;
|
|
10359
10360
|
if (account) {
|
|
10360
10361
|
const owner = new PublicKey(account.owner);
|
|
10361
|
-
if (owner.equals(TOKEN_PROGRAM_ID)
|
|
10362
|
+
if (owner.equals(TOKEN_PROGRAM_ID) ||
|
|
10363
|
+
owner.equals(TOKEN_2022_PROGRAM_ID)) {
|
|
10362
10364
|
if (account.data instanceof buffer.Buffer) {
|
|
10363
10365
|
parsedSplAccount = parseSplAccount(account.data);
|
|
10364
10366
|
}
|
|
@@ -10628,18 +10630,17 @@ const DefaultAccountStateLayout = struct$1([u8$1('state')]);
|
|
|
10628
10630
|
DefaultAccountStateLayout.span;
|
|
10629
10631
|
|
|
10630
10632
|
// src/codes.ts
|
|
10631
|
-
var SOLANA_ERROR__CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAY$
|
|
10632
|
-
var SOLANA_ERROR__CODECS__INVALID_BYTE_LENGTH$
|
|
10633
|
-
var SOLANA_ERROR__CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCH$
|
|
10634
|
-
var SOLANA_ERROR__CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCH$
|
|
10635
|
-
var SOLANA_ERROR__CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCH$
|
|
10636
|
-
var
|
|
10637
|
-
var SOLANA_ERROR__CODECS__NUMBER_OUT_OF_RANGE$1 = 8078011;
|
|
10633
|
+
var SOLANA_ERROR__CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAY$2 = 8078e3;
|
|
10634
|
+
var SOLANA_ERROR__CODECS__INVALID_BYTE_LENGTH$2 = 8078001;
|
|
10635
|
+
var SOLANA_ERROR__CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCH$2 = 8078004;
|
|
10636
|
+
var SOLANA_ERROR__CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCH$2 = 8078005;
|
|
10637
|
+
var SOLANA_ERROR__CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCH$2 = 8078006;
|
|
10638
|
+
var SOLANA_ERROR__CODECS__NUMBER_OUT_OF_RANGE$2 = 8078011;
|
|
10638
10639
|
|
|
10639
10640
|
// src/context.ts
|
|
10640
|
-
function encodeValue$
|
|
10641
|
+
function encodeValue$2(value) {
|
|
10641
10642
|
if (Array.isArray(value)) {
|
|
10642
|
-
const commaSeparatedValues = value.map(encodeValue$
|
|
10643
|
+
const commaSeparatedValues = value.map(encodeValue$2).join(
|
|
10643
10644
|
"%2C%20"
|
|
10644
10645
|
/* ", " */
|
|
10645
10646
|
);
|
|
@@ -10659,23 +10660,23 @@ function encodeValue$1(value) {
|
|
|
10659
10660
|
);
|
|
10660
10661
|
}
|
|
10661
10662
|
}
|
|
10662
|
-
function encodeObjectContextEntry$
|
|
10663
|
-
return `${key}=${encodeValue$
|
|
10663
|
+
function encodeObjectContextEntry$2([key, value]) {
|
|
10664
|
+
return `${key}=${encodeValue$2(value)}`;
|
|
10664
10665
|
}
|
|
10665
|
-
function encodeContextObject$
|
|
10666
|
-
const searchParamsString = Object.entries(context).map(encodeObjectContextEntry$
|
|
10666
|
+
function encodeContextObject$2(context) {
|
|
10667
|
+
const searchParamsString = Object.entries(context).map(encodeObjectContextEntry$2).join("&");
|
|
10667
10668
|
return btoa(searchParamsString);
|
|
10668
10669
|
}
|
|
10669
|
-
function getErrorMessage$
|
|
10670
|
+
function getErrorMessage$2(code, context = {}) {
|
|
10670
10671
|
{
|
|
10671
10672
|
let decodingAdviceMessage = `Solana error #${code}; Decode this error by running \`npx @solana/errors decode -- ${code}`;
|
|
10672
10673
|
if (Object.keys(context).length) {
|
|
10673
|
-
decodingAdviceMessage += ` '${encodeContextObject$
|
|
10674
|
+
decodingAdviceMessage += ` '${encodeContextObject$2(context)}'`;
|
|
10674
10675
|
}
|
|
10675
10676
|
return `${decodingAdviceMessage}\``;
|
|
10676
10677
|
}
|
|
10677
10678
|
}
|
|
10678
|
-
var SolanaError$
|
|
10679
|
+
var SolanaError$2 = class extends Error {
|
|
10679
10680
|
cause = this.cause;
|
|
10680
10681
|
context;
|
|
10681
10682
|
constructor(...[code, contextAndErrorOptions]) {
|
|
@@ -10690,7 +10691,7 @@ var SolanaError$1 = class extends Error {
|
|
|
10690
10691
|
context = contextRest;
|
|
10691
10692
|
}
|
|
10692
10693
|
}
|
|
10693
|
-
const message = getErrorMessage$
|
|
10694
|
+
const message = getErrorMessage$2(code, context);
|
|
10694
10695
|
super(message, errorOptions);
|
|
10695
10696
|
this.context = {
|
|
10696
10697
|
__code: code,
|
|
@@ -10700,47 +10701,47 @@ var SolanaError$1 = class extends Error {
|
|
|
10700
10701
|
}
|
|
10701
10702
|
};
|
|
10702
10703
|
|
|
10703
|
-
var padBytes$
|
|
10704
|
+
var padBytes$2 = (bytes, length) => {
|
|
10704
10705
|
if (bytes.length >= length) return bytes;
|
|
10705
10706
|
const paddedBytes = new Uint8Array(length).fill(0);
|
|
10706
10707
|
paddedBytes.set(bytes);
|
|
10707
10708
|
return paddedBytes;
|
|
10708
10709
|
};
|
|
10709
|
-
var fixBytes$
|
|
10710
|
-
function getEncodedSize$
|
|
10710
|
+
var fixBytes$2 = (bytes, length) => padBytes$2(bytes.length <= length ? bytes : bytes.slice(0, length), length);
|
|
10711
|
+
function getEncodedSize$2(value, encoder) {
|
|
10711
10712
|
return "fixedSize" in encoder ? encoder.fixedSize : encoder.getSizeFromValue(value);
|
|
10712
10713
|
}
|
|
10713
|
-
function createEncoder$
|
|
10714
|
+
function createEncoder$2(encoder) {
|
|
10714
10715
|
return Object.freeze({
|
|
10715
10716
|
...encoder,
|
|
10716
10717
|
encode: (value) => {
|
|
10717
|
-
const bytes = new Uint8Array(getEncodedSize$
|
|
10718
|
+
const bytes = new Uint8Array(getEncodedSize$2(value, encoder));
|
|
10718
10719
|
encoder.write(value, bytes, 0);
|
|
10719
10720
|
return bytes;
|
|
10720
10721
|
}
|
|
10721
10722
|
});
|
|
10722
10723
|
}
|
|
10723
|
-
function createDecoder$
|
|
10724
|
+
function createDecoder$2(decoder) {
|
|
10724
10725
|
return Object.freeze({
|
|
10725
10726
|
...decoder,
|
|
10726
10727
|
decode: (bytes, offset = 0) => decoder.read(bytes, offset)[0]
|
|
10727
10728
|
});
|
|
10728
10729
|
}
|
|
10729
|
-
function isFixedSize$
|
|
10730
|
+
function isFixedSize$2(codec) {
|
|
10730
10731
|
return "fixedSize" in codec && typeof codec.fixedSize === "number";
|
|
10731
10732
|
}
|
|
10732
|
-
function combineCodec$
|
|
10733
|
-
if (isFixedSize$
|
|
10734
|
-
throw new SolanaError$
|
|
10733
|
+
function combineCodec$2(encoder, decoder) {
|
|
10734
|
+
if (isFixedSize$2(encoder) !== isFixedSize$2(decoder)) {
|
|
10735
|
+
throw new SolanaError$2(SOLANA_ERROR__CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCH$2);
|
|
10735
10736
|
}
|
|
10736
|
-
if (isFixedSize$
|
|
10737
|
-
throw new SolanaError$
|
|
10737
|
+
if (isFixedSize$2(encoder) && isFixedSize$2(decoder) && encoder.fixedSize !== decoder.fixedSize) {
|
|
10738
|
+
throw new SolanaError$2(SOLANA_ERROR__CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCH$2, {
|
|
10738
10739
|
decoderFixedSize: decoder.fixedSize,
|
|
10739
10740
|
encoderFixedSize: encoder.fixedSize
|
|
10740
10741
|
});
|
|
10741
10742
|
}
|
|
10742
|
-
if (!isFixedSize$
|
|
10743
|
-
throw new SolanaError$
|
|
10743
|
+
if (!isFixedSize$2(encoder) && !isFixedSize$2(decoder) && encoder.maxSize !== decoder.maxSize) {
|
|
10744
|
+
throw new SolanaError$2(SOLANA_ERROR__CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCH$2, {
|
|
10744
10745
|
decoderMaxSize: decoder.maxSize,
|
|
10745
10746
|
encoderMaxSize: encoder.maxSize
|
|
10746
10747
|
});
|
|
@@ -10754,17 +10755,17 @@ function combineCodec$1(encoder, decoder) {
|
|
|
10754
10755
|
write: encoder.write
|
|
10755
10756
|
};
|
|
10756
10757
|
}
|
|
10757
|
-
function assertByteArrayIsNotEmptyForCodec$
|
|
10758
|
+
function assertByteArrayIsNotEmptyForCodec$2(codecDescription, bytes, offset = 0) {
|
|
10758
10759
|
if (bytes.length - offset <= 0) {
|
|
10759
|
-
throw new SolanaError$
|
|
10760
|
+
throw new SolanaError$2(SOLANA_ERROR__CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAY$2, {
|
|
10760
10761
|
codecDescription
|
|
10761
10762
|
});
|
|
10762
10763
|
}
|
|
10763
10764
|
}
|
|
10764
|
-
function assertByteArrayHasEnoughBytesForCodec$
|
|
10765
|
+
function assertByteArrayHasEnoughBytesForCodec$2(codecDescription, expected, bytes, offset = 0) {
|
|
10765
10766
|
const bytesLength = bytes.length - offset;
|
|
10766
10767
|
if (bytesLength < expected) {
|
|
10767
|
-
throw new SolanaError$
|
|
10768
|
+
throw new SolanaError$2(SOLANA_ERROR__CODECS__INVALID_BYTE_LENGTH$2, {
|
|
10768
10769
|
bytesLength,
|
|
10769
10770
|
codecDescription,
|
|
10770
10771
|
expected
|
|
@@ -10772,56 +10773,9 @@ function assertByteArrayHasEnoughBytesForCodec$1(codecDescription, expected, byt
|
|
|
10772
10773
|
}
|
|
10773
10774
|
}
|
|
10774
10775
|
|
|
10775
|
-
// src/add-codec-size-prefix.ts
|
|
10776
|
-
function addEncoderSizePrefix(encoder, prefix) {
|
|
10777
|
-
const write = (value, bytes, offset) => {
|
|
10778
|
-
const encoderBytes = encoder.encode(value);
|
|
10779
|
-
offset = prefix.write(encoderBytes.length, bytes, offset);
|
|
10780
|
-
bytes.set(encoderBytes, offset);
|
|
10781
|
-
return offset + encoderBytes.length;
|
|
10782
|
-
};
|
|
10783
|
-
if (isFixedSize$1(prefix) && isFixedSize$1(encoder)) {
|
|
10784
|
-
return createEncoder$1({ ...encoder, fixedSize: prefix.fixedSize + encoder.fixedSize, write });
|
|
10785
|
-
}
|
|
10786
|
-
const prefixMaxSize = isFixedSize$1(prefix) ? prefix.fixedSize : prefix.maxSize ?? null;
|
|
10787
|
-
const encoderMaxSize = isFixedSize$1(encoder) ? encoder.fixedSize : encoder.maxSize ?? null;
|
|
10788
|
-
const maxSize = prefixMaxSize !== null && encoderMaxSize !== null ? prefixMaxSize + encoderMaxSize : null;
|
|
10789
|
-
return createEncoder$1({
|
|
10790
|
-
...encoder,
|
|
10791
|
-
...maxSize !== null ? { maxSize } : {},
|
|
10792
|
-
getSizeFromValue: (value) => {
|
|
10793
|
-
const encoderSize = getEncodedSize$1(value, encoder);
|
|
10794
|
-
return getEncodedSize$1(encoderSize, prefix) + encoderSize;
|
|
10795
|
-
},
|
|
10796
|
-
write
|
|
10797
|
-
});
|
|
10798
|
-
}
|
|
10799
|
-
function addDecoderSizePrefix(decoder, prefix) {
|
|
10800
|
-
const read = (bytes, offset) => {
|
|
10801
|
-
const [bigintSize, decoderOffset] = prefix.read(bytes, offset);
|
|
10802
|
-
const size = Number(bigintSize);
|
|
10803
|
-
offset = decoderOffset;
|
|
10804
|
-
if (offset > 0 || bytes.length > size) {
|
|
10805
|
-
bytes = bytes.slice(offset, offset + size);
|
|
10806
|
-
}
|
|
10807
|
-
assertByteArrayHasEnoughBytesForCodec$1("addDecoderSizePrefix", size, bytes);
|
|
10808
|
-
return [decoder.decode(bytes), offset + size];
|
|
10809
|
-
};
|
|
10810
|
-
if (isFixedSize$1(prefix) && isFixedSize$1(decoder)) {
|
|
10811
|
-
return createDecoder$1({ ...decoder, fixedSize: prefix.fixedSize + decoder.fixedSize, read });
|
|
10812
|
-
}
|
|
10813
|
-
const prefixMaxSize = isFixedSize$1(prefix) ? prefix.fixedSize : prefix.maxSize ?? null;
|
|
10814
|
-
const decoderMaxSize = isFixedSize$1(decoder) ? decoder.fixedSize : decoder.maxSize ?? null;
|
|
10815
|
-
const maxSize = prefixMaxSize !== null && decoderMaxSize !== null ? prefixMaxSize + decoderMaxSize : null;
|
|
10816
|
-
return createDecoder$1({ ...decoder, ...maxSize !== null ? { maxSize } : {}, read });
|
|
10817
|
-
}
|
|
10818
|
-
function addCodecSizePrefix(codec, prefix) {
|
|
10819
|
-
return combineCodec$1(addEncoderSizePrefix(codec, prefix), addDecoderSizePrefix(codec, prefix));
|
|
10820
|
-
}
|
|
10821
|
-
|
|
10822
10776
|
// src/fix-codec-size.ts
|
|
10823
|
-
function fixEncoderSize$
|
|
10824
|
-
return createEncoder$
|
|
10777
|
+
function fixEncoderSize$2(encoder, fixedBytes) {
|
|
10778
|
+
return createEncoder$2({
|
|
10825
10779
|
fixedSize: fixedBytes,
|
|
10826
10780
|
write: (value, bytes, offset) => {
|
|
10827
10781
|
const variableByteArray = encoder.encode(value);
|
|
@@ -10831,30 +10785,30 @@ function fixEncoderSize$1(encoder, fixedBytes) {
|
|
|
10831
10785
|
}
|
|
10832
10786
|
});
|
|
10833
10787
|
}
|
|
10834
|
-
function fixDecoderSize$
|
|
10835
|
-
return createDecoder$
|
|
10788
|
+
function fixDecoderSize$2(decoder, fixedBytes) {
|
|
10789
|
+
return createDecoder$2({
|
|
10836
10790
|
fixedSize: fixedBytes,
|
|
10837
10791
|
read: (bytes, offset) => {
|
|
10838
|
-
assertByteArrayHasEnoughBytesForCodec$
|
|
10792
|
+
assertByteArrayHasEnoughBytesForCodec$2("fixCodecSize", fixedBytes, bytes, offset);
|
|
10839
10793
|
if (offset > 0 || bytes.length > fixedBytes) {
|
|
10840
10794
|
bytes = bytes.slice(offset, offset + fixedBytes);
|
|
10841
10795
|
}
|
|
10842
|
-
if (isFixedSize$
|
|
10843
|
-
bytes = fixBytes$
|
|
10796
|
+
if (isFixedSize$2(decoder)) {
|
|
10797
|
+
bytes = fixBytes$2(bytes, decoder.fixedSize);
|
|
10844
10798
|
}
|
|
10845
10799
|
const [value] = decoder.read(bytes, 0);
|
|
10846
10800
|
return [value, offset + fixedBytes];
|
|
10847
10801
|
}
|
|
10848
10802
|
});
|
|
10849
10803
|
}
|
|
10850
|
-
function fixCodecSize$
|
|
10851
|
-
return combineCodec$
|
|
10804
|
+
function fixCodecSize$2(codec, fixedBytes) {
|
|
10805
|
+
return combineCodec$2(fixEncoderSize$2(codec, fixedBytes), fixDecoderSize$2(codec, fixedBytes));
|
|
10852
10806
|
}
|
|
10853
10807
|
|
|
10854
10808
|
// src/assertions.ts
|
|
10855
|
-
function assertNumberIsBetweenForCodec$
|
|
10809
|
+
function assertNumberIsBetweenForCodec$2(codecDescription, min, max, value) {
|
|
10856
10810
|
if (value < min || value > max) {
|
|
10857
|
-
throw new SolanaError$
|
|
10811
|
+
throw new SolanaError$2(SOLANA_ERROR__CODECS__NUMBER_OUT_OF_RANGE$2, {
|
|
10858
10812
|
codecDescription,
|
|
10859
10813
|
max,
|
|
10860
10814
|
min,
|
|
@@ -10862,156 +10816,65 @@ function assertNumberIsBetweenForCodec$1(codecDescription, min, max, value) {
|
|
|
10862
10816
|
});
|
|
10863
10817
|
}
|
|
10864
10818
|
}
|
|
10865
|
-
function isLittleEndian$
|
|
10819
|
+
function isLittleEndian$2(config) {
|
|
10866
10820
|
return config?.endian === 1 /* Big */ ? false : true;
|
|
10867
10821
|
}
|
|
10868
|
-
function numberEncoderFactory$
|
|
10869
|
-
return createEncoder$
|
|
10822
|
+
function numberEncoderFactory$2(input) {
|
|
10823
|
+
return createEncoder$2({
|
|
10870
10824
|
fixedSize: input.size,
|
|
10871
10825
|
write(value, bytes, offset) {
|
|
10872
10826
|
if (input.range) {
|
|
10873
|
-
assertNumberIsBetweenForCodec$
|
|
10827
|
+
assertNumberIsBetweenForCodec$2(input.name, input.range[0], input.range[1], value);
|
|
10874
10828
|
}
|
|
10875
10829
|
const arrayBuffer = new ArrayBuffer(input.size);
|
|
10876
|
-
input.set(new DataView(arrayBuffer), value, isLittleEndian$
|
|
10830
|
+
input.set(new DataView(arrayBuffer), value, isLittleEndian$2(input.config));
|
|
10877
10831
|
bytes.set(new Uint8Array(arrayBuffer), offset);
|
|
10878
10832
|
return offset + input.size;
|
|
10879
10833
|
}
|
|
10880
10834
|
});
|
|
10881
10835
|
}
|
|
10882
|
-
function numberDecoderFactory$
|
|
10883
|
-
return createDecoder$
|
|
10836
|
+
function numberDecoderFactory$2(input) {
|
|
10837
|
+
return createDecoder$2({
|
|
10884
10838
|
fixedSize: input.size,
|
|
10885
10839
|
read(bytes, offset = 0) {
|
|
10886
|
-
assertByteArrayIsNotEmptyForCodec$
|
|
10887
|
-
assertByteArrayHasEnoughBytesForCodec$
|
|
10888
|
-
const view = new DataView(toArrayBuffer$
|
|
10889
|
-
return [input.get(view, isLittleEndian$
|
|
10840
|
+
assertByteArrayIsNotEmptyForCodec$2(input.name, bytes, offset);
|
|
10841
|
+
assertByteArrayHasEnoughBytesForCodec$2(input.name, input.size, bytes, offset);
|
|
10842
|
+
const view = new DataView(toArrayBuffer$2(bytes, offset, input.size));
|
|
10843
|
+
return [input.get(view, isLittleEndian$2(input.config)), offset + input.size];
|
|
10890
10844
|
}
|
|
10891
10845
|
});
|
|
10892
10846
|
}
|
|
10893
|
-
function toArrayBuffer$
|
|
10847
|
+
function toArrayBuffer$2(bytes, offset, length) {
|
|
10894
10848
|
const bytesOffset = bytes.byteOffset + (offset ?? 0);
|
|
10895
10849
|
const bytesLength = length ?? bytes.byteLength;
|
|
10896
10850
|
return bytes.buffer.slice(bytesOffset, bytesOffset + bytesLength);
|
|
10897
10851
|
}
|
|
10898
|
-
var
|
|
10899
|
-
config,
|
|
10900
|
-
name: "u32",
|
|
10901
|
-
range: [0, Number("0xffffffff")],
|
|
10902
|
-
set: (view, value, le) => view.setUint32(0, Number(value), le),
|
|
10903
|
-
size: 4
|
|
10904
|
-
});
|
|
10905
|
-
var getU32Decoder$1 = (config = {}) => numberDecoderFactory$1({
|
|
10906
|
-
config,
|
|
10907
|
-
get: (view, le) => view.getUint32(0, le),
|
|
10908
|
-
name: "u32",
|
|
10909
|
-
size: 4
|
|
10910
|
-
});
|
|
10911
|
-
var getU32Codec = (config = {}) => combineCodec$1(getU32Encoder$1(config), getU32Decoder$1(config));
|
|
10912
|
-
var getU64Encoder$1 = (config = {}) => numberEncoderFactory$1({
|
|
10852
|
+
var getU64Encoder$1 = (config = {}) => numberEncoderFactory$2({
|
|
10913
10853
|
config,
|
|
10914
10854
|
name: "u64",
|
|
10915
10855
|
range: [0n, BigInt("0xffffffffffffffff")],
|
|
10916
10856
|
set: (view, value, le) => view.setBigUint64(0, BigInt(value), le),
|
|
10917
10857
|
size: 8
|
|
10918
10858
|
});
|
|
10919
|
-
var getU64Decoder$1 = (config = {}) => numberDecoderFactory$
|
|
10859
|
+
var getU64Decoder$1 = (config = {}) => numberDecoderFactory$2({
|
|
10920
10860
|
config,
|
|
10921
10861
|
get: (view, le) => view.getBigUint64(0, le),
|
|
10922
10862
|
name: "u64",
|
|
10923
10863
|
size: 8
|
|
10924
10864
|
});
|
|
10925
|
-
var getU64Codec$1 = (config = {}) => combineCodec$
|
|
10865
|
+
var getU64Codec$1 = (config = {}) => combineCodec$2(getU64Encoder$1(config), getU64Decoder$1(config));
|
|
10926
10866
|
|
|
10927
|
-
|
|
10928
|
-
function assertValidNumberOfItemsForCodec$1(codecDescription, expected, actual) {
|
|
10929
|
-
if (expected !== actual) {
|
|
10930
|
-
throw new SolanaError$1(SOLANA_ERROR__CODECS__INVALID_NUMBER_OF_ITEMS$1, {
|
|
10931
|
-
actual,
|
|
10932
|
-
codecDescription,
|
|
10933
|
-
expected
|
|
10934
|
-
});
|
|
10935
|
-
}
|
|
10936
|
-
}
|
|
10937
|
-
function sumCodecSizes$1(sizes) {
|
|
10867
|
+
function sumCodecSizes$2(sizes) {
|
|
10938
10868
|
return sizes.reduce((all, size) => all === null || size === null ? null : all + size, 0);
|
|
10939
10869
|
}
|
|
10940
|
-
function getFixedSize$
|
|
10941
|
-
return isFixedSize$
|
|
10942
|
-
}
|
|
10943
|
-
function getMaxSize$1(codec) {
|
|
10944
|
-
return isFixedSize$1(codec) ? codec.fixedSize : codec.maxSize ?? null;
|
|
10945
|
-
}
|
|
10946
|
-
|
|
10947
|
-
// src/array.ts
|
|
10948
|
-
function getArrayEncoder$1(item, config = {}) {
|
|
10949
|
-
const size = config.size ?? getU32Encoder$1();
|
|
10950
|
-
const fixedSize = computeArrayLikeCodecSize$1(size, getFixedSize$1(item));
|
|
10951
|
-
const maxSize = computeArrayLikeCodecSize$1(size, getMaxSize$1(item)) ?? void 0;
|
|
10952
|
-
return createEncoder$1({
|
|
10953
|
-
...fixedSize !== null ? { fixedSize } : {
|
|
10954
|
-
getSizeFromValue: (array) => {
|
|
10955
|
-
const prefixSize = typeof size === "object" ? getEncodedSize$1(array.length, size) : 0;
|
|
10956
|
-
return prefixSize + [...array].reduce((all, value) => all + getEncodedSize$1(value, item), 0);
|
|
10957
|
-
},
|
|
10958
|
-
maxSize
|
|
10959
|
-
},
|
|
10960
|
-
write: (array, bytes, offset) => {
|
|
10961
|
-
if (typeof size === "number") {
|
|
10962
|
-
assertValidNumberOfItemsForCodec$1("array", size, array.length);
|
|
10963
|
-
}
|
|
10964
|
-
if (typeof size === "object") {
|
|
10965
|
-
offset = size.write(array.length, bytes, offset);
|
|
10966
|
-
}
|
|
10967
|
-
array.forEach((value) => {
|
|
10968
|
-
offset = item.write(value, bytes, offset);
|
|
10969
|
-
});
|
|
10970
|
-
return offset;
|
|
10971
|
-
}
|
|
10972
|
-
});
|
|
10973
|
-
}
|
|
10974
|
-
function getArrayDecoder$1(item, config = {}) {
|
|
10975
|
-
const size = config.size ?? getU32Decoder$1();
|
|
10976
|
-
const itemSize = getFixedSize$1(item);
|
|
10977
|
-
const fixedSize = computeArrayLikeCodecSize$1(size, itemSize);
|
|
10978
|
-
const maxSize = computeArrayLikeCodecSize$1(size, getMaxSize$1(item)) ?? void 0;
|
|
10979
|
-
return createDecoder$1({
|
|
10980
|
-
...fixedSize !== null ? { fixedSize } : { maxSize },
|
|
10981
|
-
read: (bytes, offset) => {
|
|
10982
|
-
const array = [];
|
|
10983
|
-
if (typeof size === "object" && bytes.slice(offset).length === 0) {
|
|
10984
|
-
return [array, offset];
|
|
10985
|
-
}
|
|
10986
|
-
if (size === "remainder") {
|
|
10987
|
-
while (offset < bytes.length) {
|
|
10988
|
-
const [value, newOffset2] = item.read(bytes, offset);
|
|
10989
|
-
offset = newOffset2;
|
|
10990
|
-
array.push(value);
|
|
10991
|
-
}
|
|
10992
|
-
return [array, offset];
|
|
10993
|
-
}
|
|
10994
|
-
const [resolvedSize, newOffset] = typeof size === "number" ? [size, offset] : size.read(bytes, offset);
|
|
10995
|
-
offset = newOffset;
|
|
10996
|
-
for (let i = 0; i < resolvedSize; i += 1) {
|
|
10997
|
-
const [value, newOffset2] = item.read(bytes, offset);
|
|
10998
|
-
offset = newOffset2;
|
|
10999
|
-
array.push(value);
|
|
11000
|
-
}
|
|
11001
|
-
return [array, offset];
|
|
11002
|
-
}
|
|
11003
|
-
});
|
|
11004
|
-
}
|
|
11005
|
-
function getArrayCodec$1(item, config = {}) {
|
|
11006
|
-
return combineCodec$1(getArrayEncoder$1(item, config), getArrayDecoder$1(item, config));
|
|
10870
|
+
function getFixedSize$2(codec) {
|
|
10871
|
+
return isFixedSize$2(codec) ? codec.fixedSize : null;
|
|
11007
10872
|
}
|
|
11008
|
-
function
|
|
11009
|
-
|
|
11010
|
-
if (size === 0) return 0;
|
|
11011
|
-
return itemSize === null ? null : itemSize * size;
|
|
10873
|
+
function getMaxSize$2(codec) {
|
|
10874
|
+
return isFixedSize$2(codec) ? codec.fixedSize : codec.maxSize ?? null;
|
|
11012
10875
|
}
|
|
11013
|
-
function getBytesEncoder$
|
|
11014
|
-
return createEncoder$
|
|
10876
|
+
function getBytesEncoder$2() {
|
|
10877
|
+
return createEncoder$2({
|
|
11015
10878
|
getSizeFromValue: (value) => value.length,
|
|
11016
10879
|
write: (value, bytes, offset) => {
|
|
11017
10880
|
bytes.set(value, offset);
|
|
@@ -11019,63 +10882,24 @@ function getBytesEncoder$1() {
|
|
|
11019
10882
|
}
|
|
11020
10883
|
});
|
|
11021
10884
|
}
|
|
11022
|
-
function getBytesDecoder$
|
|
11023
|
-
return createDecoder$
|
|
10885
|
+
function getBytesDecoder$2() {
|
|
10886
|
+
return createDecoder$2({
|
|
11024
10887
|
read: (bytes, offset) => {
|
|
11025
10888
|
const slice = bytes.slice(offset);
|
|
11026
10889
|
return [slice, offset + slice.length];
|
|
11027
10890
|
}
|
|
11028
10891
|
});
|
|
11029
10892
|
}
|
|
11030
|
-
function getBytesCodec$
|
|
11031
|
-
return combineCodec$
|
|
11032
|
-
}
|
|
11033
|
-
function getTupleEncoder$1(items) {
|
|
11034
|
-
const fixedSize = sumCodecSizes$1(items.map(getFixedSize$1));
|
|
11035
|
-
const maxSize = sumCodecSizes$1(items.map(getMaxSize$1)) ?? void 0;
|
|
11036
|
-
return createEncoder$1({
|
|
11037
|
-
...fixedSize === null ? {
|
|
11038
|
-
getSizeFromValue: (value) => items.map((item, index) => getEncodedSize$1(value[index], item)).reduce((all, one) => all + one, 0),
|
|
11039
|
-
maxSize
|
|
11040
|
-
} : { fixedSize },
|
|
11041
|
-
write: (value, bytes, offset) => {
|
|
11042
|
-
assertValidNumberOfItemsForCodec$1("tuple", items.length, value.length);
|
|
11043
|
-
items.forEach((item, index) => {
|
|
11044
|
-
offset = item.write(value[index], bytes, offset);
|
|
11045
|
-
});
|
|
11046
|
-
return offset;
|
|
11047
|
-
}
|
|
11048
|
-
});
|
|
11049
|
-
}
|
|
11050
|
-
function getTupleDecoder$1(items) {
|
|
11051
|
-
const fixedSize = sumCodecSizes$1(items.map(getFixedSize$1));
|
|
11052
|
-
const maxSize = sumCodecSizes$1(items.map(getMaxSize$1)) ?? void 0;
|
|
11053
|
-
return createDecoder$1({
|
|
11054
|
-
...fixedSize === null ? { maxSize } : { fixedSize },
|
|
11055
|
-
read: (bytes, offset) => {
|
|
11056
|
-
const values = [];
|
|
11057
|
-
items.forEach((item) => {
|
|
11058
|
-
const [newValue, newOffset] = item.read(bytes, offset);
|
|
11059
|
-
values.push(newValue);
|
|
11060
|
-
offset = newOffset;
|
|
11061
|
-
});
|
|
11062
|
-
return [values, offset];
|
|
11063
|
-
}
|
|
11064
|
-
});
|
|
11065
|
-
}
|
|
11066
|
-
function getTupleCodec$1(items) {
|
|
11067
|
-
return combineCodec$1(
|
|
11068
|
-
getTupleEncoder$1(items),
|
|
11069
|
-
getTupleDecoder$1(items)
|
|
11070
|
-
);
|
|
10893
|
+
function getBytesCodec$2() {
|
|
10894
|
+
return combineCodec$2(getBytesEncoder$2(), getBytesDecoder$2());
|
|
11071
10895
|
}
|
|
11072
|
-
function getStructEncoder$
|
|
10896
|
+
function getStructEncoder$2(fields) {
|
|
11073
10897
|
const fieldCodecs = fields.map(([, codec]) => codec);
|
|
11074
|
-
const fixedSize = sumCodecSizes$
|
|
11075
|
-
const maxSize = sumCodecSizes$
|
|
11076
|
-
return createEncoder$
|
|
10898
|
+
const fixedSize = sumCodecSizes$2(fieldCodecs.map(getFixedSize$2));
|
|
10899
|
+
const maxSize = sumCodecSizes$2(fieldCodecs.map(getMaxSize$2)) ?? void 0;
|
|
10900
|
+
return createEncoder$2({
|
|
11077
10901
|
...fixedSize === null ? {
|
|
11078
|
-
getSizeFromValue: (value) => fields.map(([key, codec]) => getEncodedSize$
|
|
10902
|
+
getSizeFromValue: (value) => fields.map(([key, codec]) => getEncodedSize$2(value[key], codec)).reduce((all, one) => all + one, 0),
|
|
11079
10903
|
maxSize
|
|
11080
10904
|
} : { fixedSize },
|
|
11081
10905
|
write: (struct, bytes, offset) => {
|
|
@@ -11086,11 +10910,11 @@ function getStructEncoder$1(fields) {
|
|
|
11086
10910
|
}
|
|
11087
10911
|
});
|
|
11088
10912
|
}
|
|
11089
|
-
function getStructDecoder$
|
|
10913
|
+
function getStructDecoder$2(fields) {
|
|
11090
10914
|
const fieldCodecs = fields.map(([, codec]) => codec);
|
|
11091
|
-
const fixedSize = sumCodecSizes$
|
|
11092
|
-
const maxSize = sumCodecSizes$
|
|
11093
|
-
return createDecoder$
|
|
10915
|
+
const fixedSize = sumCodecSizes$2(fieldCodecs.map(getFixedSize$2));
|
|
10916
|
+
const maxSize = sumCodecSizes$2(fieldCodecs.map(getMaxSize$2)) ?? void 0;
|
|
10917
|
+
return createDecoder$2({
|
|
11094
10918
|
...fixedSize === null ? { maxSize } : { fixedSize },
|
|
11095
10919
|
read: (bytes, offset) => {
|
|
11096
10920
|
const struct = {};
|
|
@@ -11103,57 +10927,24 @@ function getStructDecoder$1(fields) {
|
|
|
11103
10927
|
}
|
|
11104
10928
|
});
|
|
11105
10929
|
}
|
|
11106
|
-
function getStructCodec$
|
|
11107
|
-
return combineCodec$
|
|
11108
|
-
getStructEncoder$
|
|
11109
|
-
getStructDecoder$
|
|
10930
|
+
function getStructCodec$2(fields) {
|
|
10931
|
+
return combineCodec$2(
|
|
10932
|
+
getStructEncoder$2(fields),
|
|
10933
|
+
getStructDecoder$2(fields)
|
|
11110
10934
|
);
|
|
11111
10935
|
}
|
|
11112
10936
|
|
|
11113
|
-
|
|
11114
|
-
|
|
11115
|
-
|
|
11116
|
-
value.replace(/\u0000/g, "")
|
|
11117
|
-
);
|
|
11118
|
-
|
|
11119
|
-
// ../text-encoding-impl/dist/index.browser.mjs
|
|
11120
|
-
var e$1 = globalThis.TextDecoder;
|
|
11121
|
-
var o$1 = globalThis.TextEncoder;
|
|
11122
|
-
|
|
11123
|
-
// src/utf8.ts
|
|
11124
|
-
var getUtf8Encoder$1 = () => {
|
|
11125
|
-
let textEncoder;
|
|
11126
|
-
return createEncoder$1({
|
|
11127
|
-
getSizeFromValue: (value) => (textEncoder ||= new o$1()).encode(value).length,
|
|
11128
|
-
write: (value, bytes, offset) => {
|
|
11129
|
-
const bytesToAdd = (textEncoder ||= new o$1()).encode(value);
|
|
11130
|
-
bytes.set(bytesToAdd, offset);
|
|
11131
|
-
return offset + bytesToAdd.length;
|
|
11132
|
-
}
|
|
11133
|
-
});
|
|
11134
|
-
};
|
|
11135
|
-
var getUtf8Decoder$1 = () => {
|
|
11136
|
-
let textDecoder;
|
|
11137
|
-
return createDecoder$1({
|
|
11138
|
-
read(bytes, offset) {
|
|
11139
|
-
const value = (textDecoder ||= new e$1()).decode(bytes.slice(offset));
|
|
11140
|
-
return [removeNullCharacters$1(value), bytes.length];
|
|
11141
|
-
}
|
|
11142
|
-
});
|
|
11143
|
-
};
|
|
11144
|
-
var getUtf8Codec$1 = () => combineCodec$1(getUtf8Encoder$1(), getUtf8Decoder$1());
|
|
11145
|
-
|
|
11146
|
-
const tokenGroupCodec = getStructCodec$1([
|
|
11147
|
-
['updateAuthority', fixCodecSize$1(getBytesCodec$1(), 32)],
|
|
11148
|
-
['mint', fixCodecSize$1(getBytesCodec$1(), 32)],
|
|
10937
|
+
const tokenGroupCodec = getStructCodec$2([
|
|
10938
|
+
['updateAuthority', fixCodecSize$2(getBytesCodec$2(), 32)],
|
|
10939
|
+
['mint', fixCodecSize$2(getBytesCodec$2(), 32)],
|
|
11149
10940
|
['size', getU64Codec$1()],
|
|
11150
10941
|
['maxSize', getU64Codec$1()],
|
|
11151
10942
|
]);
|
|
11152
10943
|
tokenGroupCodec.fixedSize;
|
|
11153
10944
|
|
|
11154
|
-
const tokenGroupMemberCodec = getStructCodec$
|
|
11155
|
-
['mint', fixCodecSize$
|
|
11156
|
-
['group', fixCodecSize$
|
|
10945
|
+
const tokenGroupMemberCodec = getStructCodec$2([
|
|
10946
|
+
['mint', fixCodecSize$2(getBytesCodec$2(), 32)],
|
|
10947
|
+
['group', fixCodecSize$2(getBytesCodec$2(), 32)],
|
|
11157
10948
|
['memberNumber', getU64Codec$1()],
|
|
11158
10949
|
]);
|
|
11159
10950
|
tokenGroupMemberCodec.fixedSize;
|
|
@@ -11594,50 +11385,552 @@ struct$1([
|
|
|
11594
11385
|
publicKey$4('groupAddress'),
|
|
11595
11386
|
]);
|
|
11596
11387
|
|
|
11597
|
-
/** TODO: docs */
|
|
11598
|
-
struct$1([
|
|
11599
|
-
u8$1('instruction'),
|
|
11600
|
-
u8$1('decimals'),
|
|
11601
|
-
publicKey$4('mintAuthority'),
|
|
11602
|
-
new COptionPublicKeyLayout('freezeAuthority'),
|
|
11603
|
-
]);
|
|
11388
|
+
/** TODO: docs */
|
|
11389
|
+
struct$1([
|
|
11390
|
+
u8$1('instruction'),
|
|
11391
|
+
u8$1('decimals'),
|
|
11392
|
+
publicKey$4('mintAuthority'),
|
|
11393
|
+
new COptionPublicKeyLayout('freezeAuthority'),
|
|
11394
|
+
]);
|
|
11395
|
+
|
|
11396
|
+
var InterestBearingMintInstruction;
|
|
11397
|
+
(function (InterestBearingMintInstruction) {
|
|
11398
|
+
InterestBearingMintInstruction[InterestBearingMintInstruction["Initialize"] = 0] = "Initialize";
|
|
11399
|
+
InterestBearingMintInstruction[InterestBearingMintInstruction["UpdateRate"] = 1] = "UpdateRate";
|
|
11400
|
+
})(InterestBearingMintInstruction || (InterestBearingMintInstruction = {}));
|
|
11401
|
+
struct$1([
|
|
11402
|
+
u8$1('instruction'),
|
|
11403
|
+
u8$1('interestBearingMintInstruction'),
|
|
11404
|
+
// TODO: Make this an optional public key
|
|
11405
|
+
publicKey$4('rateAuthority'),
|
|
11406
|
+
s16('rate'),
|
|
11407
|
+
]);
|
|
11408
|
+
struct$1([
|
|
11409
|
+
u8$1('instruction'),
|
|
11410
|
+
u8$1('interestBearingMintInstruction'),
|
|
11411
|
+
s16('rate'),
|
|
11412
|
+
]);
|
|
11413
|
+
|
|
11414
|
+
var MetadataPointerInstruction;
|
|
11415
|
+
(function (MetadataPointerInstruction) {
|
|
11416
|
+
MetadataPointerInstruction[MetadataPointerInstruction["Initialize"] = 0] = "Initialize";
|
|
11417
|
+
MetadataPointerInstruction[MetadataPointerInstruction["Update"] = 1] = "Update";
|
|
11418
|
+
})(MetadataPointerInstruction || (MetadataPointerInstruction = {}));
|
|
11419
|
+
struct$1([
|
|
11420
|
+
// prettier-ignore
|
|
11421
|
+
u8$1('instruction'),
|
|
11422
|
+
u8$1('metadataPointerInstruction'),
|
|
11423
|
+
publicKey$4('authority'),
|
|
11424
|
+
publicKey$4('metadataAddress'),
|
|
11425
|
+
]);
|
|
11426
|
+
struct$1([
|
|
11427
|
+
// prettier-ignore
|
|
11428
|
+
u8$1('instruction'),
|
|
11429
|
+
u8$1('metadataPointerInstruction'),
|
|
11430
|
+
publicKey$4('metadataAddress'),
|
|
11431
|
+
]);
|
|
11432
|
+
|
|
11433
|
+
// src/codes.ts
|
|
11434
|
+
var SOLANA_ERROR__CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAY$1 = 8078e3;
|
|
11435
|
+
var SOLANA_ERROR__CODECS__INVALID_BYTE_LENGTH$1 = 8078001;
|
|
11436
|
+
var SOLANA_ERROR__CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCH$1 = 8078004;
|
|
11437
|
+
var SOLANA_ERROR__CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCH$1 = 8078005;
|
|
11438
|
+
var SOLANA_ERROR__CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCH$1 = 8078006;
|
|
11439
|
+
var SOLANA_ERROR__CODECS__INVALID_NUMBER_OF_ITEMS$1 = 8078007;
|
|
11440
|
+
var SOLANA_ERROR__CODECS__NUMBER_OUT_OF_RANGE$1 = 8078011;
|
|
11441
|
+
|
|
11442
|
+
// src/context.ts
|
|
11443
|
+
function encodeValue$1(value) {
|
|
11444
|
+
if (Array.isArray(value)) {
|
|
11445
|
+
const commaSeparatedValues = value.map(encodeValue$1).join(
|
|
11446
|
+
"%2C%20"
|
|
11447
|
+
/* ", " */
|
|
11448
|
+
);
|
|
11449
|
+
return "%5B" + commaSeparatedValues + /* "]" */
|
|
11450
|
+
"%5D";
|
|
11451
|
+
} else if (typeof value === "bigint") {
|
|
11452
|
+
return `${value}n`;
|
|
11453
|
+
} else {
|
|
11454
|
+
return encodeURIComponent(
|
|
11455
|
+
String(
|
|
11456
|
+
value != null && Object.getPrototypeOf(value) === null ? (
|
|
11457
|
+
// Plain objects with no prototype don't have a `toString` method.
|
|
11458
|
+
// Convert them before stringifying them.
|
|
11459
|
+
{ ...value }
|
|
11460
|
+
) : value
|
|
11461
|
+
)
|
|
11462
|
+
);
|
|
11463
|
+
}
|
|
11464
|
+
}
|
|
11465
|
+
function encodeObjectContextEntry$1([key, value]) {
|
|
11466
|
+
return `${key}=${encodeValue$1(value)}`;
|
|
11467
|
+
}
|
|
11468
|
+
function encodeContextObject$1(context) {
|
|
11469
|
+
const searchParamsString = Object.entries(context).map(encodeObjectContextEntry$1).join("&");
|
|
11470
|
+
return btoa(searchParamsString);
|
|
11471
|
+
}
|
|
11472
|
+
function getErrorMessage$1(code, context = {}) {
|
|
11473
|
+
{
|
|
11474
|
+
let decodingAdviceMessage = `Solana error #${code}; Decode this error by running \`npx @solana/errors decode -- ${code}`;
|
|
11475
|
+
if (Object.keys(context).length) {
|
|
11476
|
+
decodingAdviceMessage += ` '${encodeContextObject$1(context)}'`;
|
|
11477
|
+
}
|
|
11478
|
+
return `${decodingAdviceMessage}\``;
|
|
11479
|
+
}
|
|
11480
|
+
}
|
|
11481
|
+
var SolanaError$1 = class extends Error {
|
|
11482
|
+
cause = this.cause;
|
|
11483
|
+
context;
|
|
11484
|
+
constructor(...[code, contextAndErrorOptions]) {
|
|
11485
|
+
let context;
|
|
11486
|
+
let errorOptions;
|
|
11487
|
+
if (contextAndErrorOptions) {
|
|
11488
|
+
const { cause, ...contextRest } = contextAndErrorOptions;
|
|
11489
|
+
if (cause) {
|
|
11490
|
+
errorOptions = { cause };
|
|
11491
|
+
}
|
|
11492
|
+
if (Object.keys(contextRest).length > 0) {
|
|
11493
|
+
context = contextRest;
|
|
11494
|
+
}
|
|
11495
|
+
}
|
|
11496
|
+
const message = getErrorMessage$1(code, context);
|
|
11497
|
+
super(message, errorOptions);
|
|
11498
|
+
this.context = {
|
|
11499
|
+
__code: code,
|
|
11500
|
+
...context
|
|
11501
|
+
};
|
|
11502
|
+
this.name = "SolanaError";
|
|
11503
|
+
}
|
|
11504
|
+
};
|
|
11505
|
+
|
|
11506
|
+
var padBytes$1 = (bytes, length) => {
|
|
11507
|
+
if (bytes.length >= length) return bytes;
|
|
11508
|
+
const paddedBytes = new Uint8Array(length).fill(0);
|
|
11509
|
+
paddedBytes.set(bytes);
|
|
11510
|
+
return paddedBytes;
|
|
11511
|
+
};
|
|
11512
|
+
var fixBytes$1 = (bytes, length) => padBytes$1(bytes.length <= length ? bytes : bytes.slice(0, length), length);
|
|
11513
|
+
function getEncodedSize$1(value, encoder) {
|
|
11514
|
+
return "fixedSize" in encoder ? encoder.fixedSize : encoder.getSizeFromValue(value);
|
|
11515
|
+
}
|
|
11516
|
+
function createEncoder$1(encoder) {
|
|
11517
|
+
return Object.freeze({
|
|
11518
|
+
...encoder,
|
|
11519
|
+
encode: (value) => {
|
|
11520
|
+
const bytes = new Uint8Array(getEncodedSize$1(value, encoder));
|
|
11521
|
+
encoder.write(value, bytes, 0);
|
|
11522
|
+
return bytes;
|
|
11523
|
+
}
|
|
11524
|
+
});
|
|
11525
|
+
}
|
|
11526
|
+
function createDecoder$1(decoder) {
|
|
11527
|
+
return Object.freeze({
|
|
11528
|
+
...decoder,
|
|
11529
|
+
decode: (bytes, offset = 0) => decoder.read(bytes, offset)[0]
|
|
11530
|
+
});
|
|
11531
|
+
}
|
|
11532
|
+
function isFixedSize$1(codec) {
|
|
11533
|
+
return "fixedSize" in codec && typeof codec.fixedSize === "number";
|
|
11534
|
+
}
|
|
11535
|
+
function combineCodec$1(encoder, decoder) {
|
|
11536
|
+
if (isFixedSize$1(encoder) !== isFixedSize$1(decoder)) {
|
|
11537
|
+
throw new SolanaError$1(SOLANA_ERROR__CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCH$1);
|
|
11538
|
+
}
|
|
11539
|
+
if (isFixedSize$1(encoder) && isFixedSize$1(decoder) && encoder.fixedSize !== decoder.fixedSize) {
|
|
11540
|
+
throw new SolanaError$1(SOLANA_ERROR__CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCH$1, {
|
|
11541
|
+
decoderFixedSize: decoder.fixedSize,
|
|
11542
|
+
encoderFixedSize: encoder.fixedSize
|
|
11543
|
+
});
|
|
11544
|
+
}
|
|
11545
|
+
if (!isFixedSize$1(encoder) && !isFixedSize$1(decoder) && encoder.maxSize !== decoder.maxSize) {
|
|
11546
|
+
throw new SolanaError$1(SOLANA_ERROR__CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCH$1, {
|
|
11547
|
+
decoderMaxSize: decoder.maxSize,
|
|
11548
|
+
encoderMaxSize: encoder.maxSize
|
|
11549
|
+
});
|
|
11550
|
+
}
|
|
11551
|
+
return {
|
|
11552
|
+
...decoder,
|
|
11553
|
+
...encoder,
|
|
11554
|
+
decode: decoder.decode,
|
|
11555
|
+
encode: encoder.encode,
|
|
11556
|
+
read: decoder.read,
|
|
11557
|
+
write: encoder.write
|
|
11558
|
+
};
|
|
11559
|
+
}
|
|
11560
|
+
function assertByteArrayIsNotEmptyForCodec$1(codecDescription, bytes, offset = 0) {
|
|
11561
|
+
if (bytes.length - offset <= 0) {
|
|
11562
|
+
throw new SolanaError$1(SOLANA_ERROR__CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAY$1, {
|
|
11563
|
+
codecDescription
|
|
11564
|
+
});
|
|
11565
|
+
}
|
|
11566
|
+
}
|
|
11567
|
+
function assertByteArrayHasEnoughBytesForCodec$1(codecDescription, expected, bytes, offset = 0) {
|
|
11568
|
+
const bytesLength = bytes.length - offset;
|
|
11569
|
+
if (bytesLength < expected) {
|
|
11570
|
+
throw new SolanaError$1(SOLANA_ERROR__CODECS__INVALID_BYTE_LENGTH$1, {
|
|
11571
|
+
bytesLength,
|
|
11572
|
+
codecDescription,
|
|
11573
|
+
expected
|
|
11574
|
+
});
|
|
11575
|
+
}
|
|
11576
|
+
}
|
|
11577
|
+
|
|
11578
|
+
// src/add-codec-size-prefix.ts
|
|
11579
|
+
function addEncoderSizePrefix(encoder, prefix) {
|
|
11580
|
+
const write = (value, bytes, offset) => {
|
|
11581
|
+
const encoderBytes = encoder.encode(value);
|
|
11582
|
+
offset = prefix.write(encoderBytes.length, bytes, offset);
|
|
11583
|
+
bytes.set(encoderBytes, offset);
|
|
11584
|
+
return offset + encoderBytes.length;
|
|
11585
|
+
};
|
|
11586
|
+
if (isFixedSize$1(prefix) && isFixedSize$1(encoder)) {
|
|
11587
|
+
return createEncoder$1({ ...encoder, fixedSize: prefix.fixedSize + encoder.fixedSize, write });
|
|
11588
|
+
}
|
|
11589
|
+
const prefixMaxSize = isFixedSize$1(prefix) ? prefix.fixedSize : prefix.maxSize ?? null;
|
|
11590
|
+
const encoderMaxSize = isFixedSize$1(encoder) ? encoder.fixedSize : encoder.maxSize ?? null;
|
|
11591
|
+
const maxSize = prefixMaxSize !== null && encoderMaxSize !== null ? prefixMaxSize + encoderMaxSize : null;
|
|
11592
|
+
return createEncoder$1({
|
|
11593
|
+
...encoder,
|
|
11594
|
+
...maxSize !== null ? { maxSize } : {},
|
|
11595
|
+
getSizeFromValue: (value) => {
|
|
11596
|
+
const encoderSize = getEncodedSize$1(value, encoder);
|
|
11597
|
+
return getEncodedSize$1(encoderSize, prefix) + encoderSize;
|
|
11598
|
+
},
|
|
11599
|
+
write
|
|
11600
|
+
});
|
|
11601
|
+
}
|
|
11602
|
+
function addDecoderSizePrefix(decoder, prefix) {
|
|
11603
|
+
const read = (bytes, offset) => {
|
|
11604
|
+
const [bigintSize, decoderOffset] = prefix.read(bytes, offset);
|
|
11605
|
+
const size = Number(bigintSize);
|
|
11606
|
+
offset = decoderOffset;
|
|
11607
|
+
if (offset > 0 || bytes.length > size) {
|
|
11608
|
+
bytes = bytes.slice(offset, offset + size);
|
|
11609
|
+
}
|
|
11610
|
+
assertByteArrayHasEnoughBytesForCodec$1("addDecoderSizePrefix", size, bytes);
|
|
11611
|
+
return [decoder.decode(bytes), offset + size];
|
|
11612
|
+
};
|
|
11613
|
+
if (isFixedSize$1(prefix) && isFixedSize$1(decoder)) {
|
|
11614
|
+
return createDecoder$1({ ...decoder, fixedSize: prefix.fixedSize + decoder.fixedSize, read });
|
|
11615
|
+
}
|
|
11616
|
+
const prefixMaxSize = isFixedSize$1(prefix) ? prefix.fixedSize : prefix.maxSize ?? null;
|
|
11617
|
+
const decoderMaxSize = isFixedSize$1(decoder) ? decoder.fixedSize : decoder.maxSize ?? null;
|
|
11618
|
+
const maxSize = prefixMaxSize !== null && decoderMaxSize !== null ? prefixMaxSize + decoderMaxSize : null;
|
|
11619
|
+
return createDecoder$1({ ...decoder, ...maxSize !== null ? { maxSize } : {}, read });
|
|
11620
|
+
}
|
|
11621
|
+
function addCodecSizePrefix(codec, prefix) {
|
|
11622
|
+
return combineCodec$1(addEncoderSizePrefix(codec, prefix), addDecoderSizePrefix(codec, prefix));
|
|
11623
|
+
}
|
|
11624
|
+
|
|
11625
|
+
// src/fix-codec-size.ts
|
|
11626
|
+
function fixEncoderSize$1(encoder, fixedBytes) {
|
|
11627
|
+
return createEncoder$1({
|
|
11628
|
+
fixedSize: fixedBytes,
|
|
11629
|
+
write: (value, bytes, offset) => {
|
|
11630
|
+
const variableByteArray = encoder.encode(value);
|
|
11631
|
+
const fixedByteArray = variableByteArray.length > fixedBytes ? variableByteArray.slice(0, fixedBytes) : variableByteArray;
|
|
11632
|
+
bytes.set(fixedByteArray, offset);
|
|
11633
|
+
return offset + fixedBytes;
|
|
11634
|
+
}
|
|
11635
|
+
});
|
|
11636
|
+
}
|
|
11637
|
+
function fixDecoderSize$1(decoder, fixedBytes) {
|
|
11638
|
+
return createDecoder$1({
|
|
11639
|
+
fixedSize: fixedBytes,
|
|
11640
|
+
read: (bytes, offset) => {
|
|
11641
|
+
assertByteArrayHasEnoughBytesForCodec$1("fixCodecSize", fixedBytes, bytes, offset);
|
|
11642
|
+
if (offset > 0 || bytes.length > fixedBytes) {
|
|
11643
|
+
bytes = bytes.slice(offset, offset + fixedBytes);
|
|
11644
|
+
}
|
|
11645
|
+
if (isFixedSize$1(decoder)) {
|
|
11646
|
+
bytes = fixBytes$1(bytes, decoder.fixedSize);
|
|
11647
|
+
}
|
|
11648
|
+
const [value] = decoder.read(bytes, 0);
|
|
11649
|
+
return [value, offset + fixedBytes];
|
|
11650
|
+
}
|
|
11651
|
+
});
|
|
11652
|
+
}
|
|
11653
|
+
function fixCodecSize$1(codec, fixedBytes) {
|
|
11654
|
+
return combineCodec$1(fixEncoderSize$1(codec, fixedBytes), fixDecoderSize$1(codec, fixedBytes));
|
|
11655
|
+
}
|
|
11656
|
+
|
|
11657
|
+
// src/assertions.ts
|
|
11658
|
+
function assertNumberIsBetweenForCodec$1(codecDescription, min, max, value) {
|
|
11659
|
+
if (value < min || value > max) {
|
|
11660
|
+
throw new SolanaError$1(SOLANA_ERROR__CODECS__NUMBER_OUT_OF_RANGE$1, {
|
|
11661
|
+
codecDescription,
|
|
11662
|
+
max,
|
|
11663
|
+
min,
|
|
11664
|
+
value
|
|
11665
|
+
});
|
|
11666
|
+
}
|
|
11667
|
+
}
|
|
11668
|
+
function isLittleEndian$1(config) {
|
|
11669
|
+
return config?.endian === 1 /* Big */ ? false : true;
|
|
11670
|
+
}
|
|
11671
|
+
function numberEncoderFactory$1(input) {
|
|
11672
|
+
return createEncoder$1({
|
|
11673
|
+
fixedSize: input.size,
|
|
11674
|
+
write(value, bytes, offset) {
|
|
11675
|
+
if (input.range) {
|
|
11676
|
+
assertNumberIsBetweenForCodec$1(input.name, input.range[0], input.range[1], value);
|
|
11677
|
+
}
|
|
11678
|
+
const arrayBuffer = new ArrayBuffer(input.size);
|
|
11679
|
+
input.set(new DataView(arrayBuffer), value, isLittleEndian$1(input.config));
|
|
11680
|
+
bytes.set(new Uint8Array(arrayBuffer), offset);
|
|
11681
|
+
return offset + input.size;
|
|
11682
|
+
}
|
|
11683
|
+
});
|
|
11684
|
+
}
|
|
11685
|
+
function numberDecoderFactory$1(input) {
|
|
11686
|
+
return createDecoder$1({
|
|
11687
|
+
fixedSize: input.size,
|
|
11688
|
+
read(bytes, offset = 0) {
|
|
11689
|
+
assertByteArrayIsNotEmptyForCodec$1(input.name, bytes, offset);
|
|
11690
|
+
assertByteArrayHasEnoughBytesForCodec$1(input.name, input.size, bytes, offset);
|
|
11691
|
+
const view = new DataView(toArrayBuffer$1(bytes, offset, input.size));
|
|
11692
|
+
return [input.get(view, isLittleEndian$1(input.config)), offset + input.size];
|
|
11693
|
+
}
|
|
11694
|
+
});
|
|
11695
|
+
}
|
|
11696
|
+
function toArrayBuffer$1(bytes, offset, length) {
|
|
11697
|
+
const bytesOffset = bytes.byteOffset + (offset ?? 0);
|
|
11698
|
+
const bytesLength = length ?? bytes.byteLength;
|
|
11699
|
+
return bytes.buffer.slice(bytesOffset, bytesOffset + bytesLength);
|
|
11700
|
+
}
|
|
11701
|
+
var getU32Encoder$1 = (config = {}) => numberEncoderFactory$1({
|
|
11702
|
+
config,
|
|
11703
|
+
name: "u32",
|
|
11704
|
+
range: [0, Number("0xffffffff")],
|
|
11705
|
+
set: (view, value, le) => view.setUint32(0, Number(value), le),
|
|
11706
|
+
size: 4
|
|
11707
|
+
});
|
|
11708
|
+
var getU32Decoder$1 = (config = {}) => numberDecoderFactory$1({
|
|
11709
|
+
config,
|
|
11710
|
+
get: (view, le) => view.getUint32(0, le),
|
|
11711
|
+
name: "u32",
|
|
11712
|
+
size: 4
|
|
11713
|
+
});
|
|
11714
|
+
var getU32Codec = (config = {}) => combineCodec$1(getU32Encoder$1(config), getU32Decoder$1(config));
|
|
11715
|
+
|
|
11716
|
+
// src/array.ts
|
|
11717
|
+
function assertValidNumberOfItemsForCodec$1(codecDescription, expected, actual) {
|
|
11718
|
+
if (expected !== actual) {
|
|
11719
|
+
throw new SolanaError$1(SOLANA_ERROR__CODECS__INVALID_NUMBER_OF_ITEMS$1, {
|
|
11720
|
+
actual,
|
|
11721
|
+
codecDescription,
|
|
11722
|
+
expected
|
|
11723
|
+
});
|
|
11724
|
+
}
|
|
11725
|
+
}
|
|
11726
|
+
function sumCodecSizes$1(sizes) {
|
|
11727
|
+
return sizes.reduce((all, size) => all === null || size === null ? null : all + size, 0);
|
|
11728
|
+
}
|
|
11729
|
+
function getFixedSize$1(codec) {
|
|
11730
|
+
return isFixedSize$1(codec) ? codec.fixedSize : null;
|
|
11731
|
+
}
|
|
11732
|
+
function getMaxSize$1(codec) {
|
|
11733
|
+
return isFixedSize$1(codec) ? codec.fixedSize : codec.maxSize ?? null;
|
|
11734
|
+
}
|
|
11735
|
+
|
|
11736
|
+
// src/array.ts
|
|
11737
|
+
function getArrayEncoder$1(item, config = {}) {
|
|
11738
|
+
const size = config.size ?? getU32Encoder$1();
|
|
11739
|
+
const fixedSize = computeArrayLikeCodecSize$1(size, getFixedSize$1(item));
|
|
11740
|
+
const maxSize = computeArrayLikeCodecSize$1(size, getMaxSize$1(item)) ?? void 0;
|
|
11741
|
+
return createEncoder$1({
|
|
11742
|
+
...fixedSize !== null ? { fixedSize } : {
|
|
11743
|
+
getSizeFromValue: (array) => {
|
|
11744
|
+
const prefixSize = typeof size === "object" ? getEncodedSize$1(array.length, size) : 0;
|
|
11745
|
+
return prefixSize + [...array].reduce((all, value) => all + getEncodedSize$1(value, item), 0);
|
|
11746
|
+
},
|
|
11747
|
+
maxSize
|
|
11748
|
+
},
|
|
11749
|
+
write: (array, bytes, offset) => {
|
|
11750
|
+
if (typeof size === "number") {
|
|
11751
|
+
assertValidNumberOfItemsForCodec$1("array", size, array.length);
|
|
11752
|
+
}
|
|
11753
|
+
if (typeof size === "object") {
|
|
11754
|
+
offset = size.write(array.length, bytes, offset);
|
|
11755
|
+
}
|
|
11756
|
+
array.forEach((value) => {
|
|
11757
|
+
offset = item.write(value, bytes, offset);
|
|
11758
|
+
});
|
|
11759
|
+
return offset;
|
|
11760
|
+
}
|
|
11761
|
+
});
|
|
11762
|
+
}
|
|
11763
|
+
function getArrayDecoder$1(item, config = {}) {
|
|
11764
|
+
const size = config.size ?? getU32Decoder$1();
|
|
11765
|
+
const itemSize = getFixedSize$1(item);
|
|
11766
|
+
const fixedSize = computeArrayLikeCodecSize$1(size, itemSize);
|
|
11767
|
+
const maxSize = computeArrayLikeCodecSize$1(size, getMaxSize$1(item)) ?? void 0;
|
|
11768
|
+
return createDecoder$1({
|
|
11769
|
+
...fixedSize !== null ? { fixedSize } : { maxSize },
|
|
11770
|
+
read: (bytes, offset) => {
|
|
11771
|
+
const array = [];
|
|
11772
|
+
if (typeof size === "object" && bytes.slice(offset).length === 0) {
|
|
11773
|
+
return [array, offset];
|
|
11774
|
+
}
|
|
11775
|
+
if (size === "remainder") {
|
|
11776
|
+
while (offset < bytes.length) {
|
|
11777
|
+
const [value, newOffset2] = item.read(bytes, offset);
|
|
11778
|
+
offset = newOffset2;
|
|
11779
|
+
array.push(value);
|
|
11780
|
+
}
|
|
11781
|
+
return [array, offset];
|
|
11782
|
+
}
|
|
11783
|
+
const [resolvedSize, newOffset] = typeof size === "number" ? [size, offset] : size.read(bytes, offset);
|
|
11784
|
+
offset = newOffset;
|
|
11785
|
+
for (let i = 0; i < resolvedSize; i += 1) {
|
|
11786
|
+
const [value, newOffset2] = item.read(bytes, offset);
|
|
11787
|
+
offset = newOffset2;
|
|
11788
|
+
array.push(value);
|
|
11789
|
+
}
|
|
11790
|
+
return [array, offset];
|
|
11791
|
+
}
|
|
11792
|
+
});
|
|
11793
|
+
}
|
|
11794
|
+
function getArrayCodec$1(item, config = {}) {
|
|
11795
|
+
return combineCodec$1(getArrayEncoder$1(item, config), getArrayDecoder$1(item, config));
|
|
11796
|
+
}
|
|
11797
|
+
function computeArrayLikeCodecSize$1(size, itemSize) {
|
|
11798
|
+
if (typeof size !== "number") return null;
|
|
11799
|
+
if (size === 0) return 0;
|
|
11800
|
+
return itemSize === null ? null : itemSize * size;
|
|
11801
|
+
}
|
|
11802
|
+
function getBytesEncoder$1() {
|
|
11803
|
+
return createEncoder$1({
|
|
11804
|
+
getSizeFromValue: (value) => value.length,
|
|
11805
|
+
write: (value, bytes, offset) => {
|
|
11806
|
+
bytes.set(value, offset);
|
|
11807
|
+
return offset + value.length;
|
|
11808
|
+
}
|
|
11809
|
+
});
|
|
11810
|
+
}
|
|
11811
|
+
function getBytesDecoder$1() {
|
|
11812
|
+
return createDecoder$1({
|
|
11813
|
+
read: (bytes, offset) => {
|
|
11814
|
+
const slice = bytes.slice(offset);
|
|
11815
|
+
return [slice, offset + slice.length];
|
|
11816
|
+
}
|
|
11817
|
+
});
|
|
11818
|
+
}
|
|
11819
|
+
function getBytesCodec$1() {
|
|
11820
|
+
return combineCodec$1(getBytesEncoder$1(), getBytesDecoder$1());
|
|
11821
|
+
}
|
|
11822
|
+
function getTupleEncoder$1(items) {
|
|
11823
|
+
const fixedSize = sumCodecSizes$1(items.map(getFixedSize$1));
|
|
11824
|
+
const maxSize = sumCodecSizes$1(items.map(getMaxSize$1)) ?? void 0;
|
|
11825
|
+
return createEncoder$1({
|
|
11826
|
+
...fixedSize === null ? {
|
|
11827
|
+
getSizeFromValue: (value) => items.map((item, index) => getEncodedSize$1(value[index], item)).reduce((all, one) => all + one, 0),
|
|
11828
|
+
maxSize
|
|
11829
|
+
} : { fixedSize },
|
|
11830
|
+
write: (value, bytes, offset) => {
|
|
11831
|
+
assertValidNumberOfItemsForCodec$1("tuple", items.length, value.length);
|
|
11832
|
+
items.forEach((item, index) => {
|
|
11833
|
+
offset = item.write(value[index], bytes, offset);
|
|
11834
|
+
});
|
|
11835
|
+
return offset;
|
|
11836
|
+
}
|
|
11837
|
+
});
|
|
11838
|
+
}
|
|
11839
|
+
function getTupleDecoder$1(items) {
|
|
11840
|
+
const fixedSize = sumCodecSizes$1(items.map(getFixedSize$1));
|
|
11841
|
+
const maxSize = sumCodecSizes$1(items.map(getMaxSize$1)) ?? void 0;
|
|
11842
|
+
return createDecoder$1({
|
|
11843
|
+
...fixedSize === null ? { maxSize } : { fixedSize },
|
|
11844
|
+
read: (bytes, offset) => {
|
|
11845
|
+
const values = [];
|
|
11846
|
+
items.forEach((item) => {
|
|
11847
|
+
const [newValue, newOffset] = item.read(bytes, offset);
|
|
11848
|
+
values.push(newValue);
|
|
11849
|
+
offset = newOffset;
|
|
11850
|
+
});
|
|
11851
|
+
return [values, offset];
|
|
11852
|
+
}
|
|
11853
|
+
});
|
|
11854
|
+
}
|
|
11855
|
+
function getTupleCodec$1(items) {
|
|
11856
|
+
return combineCodec$1(
|
|
11857
|
+
getTupleEncoder$1(items),
|
|
11858
|
+
getTupleDecoder$1(items)
|
|
11859
|
+
);
|
|
11860
|
+
}
|
|
11861
|
+
function getStructEncoder$1(fields) {
|
|
11862
|
+
const fieldCodecs = fields.map(([, codec]) => codec);
|
|
11863
|
+
const fixedSize = sumCodecSizes$1(fieldCodecs.map(getFixedSize$1));
|
|
11864
|
+
const maxSize = sumCodecSizes$1(fieldCodecs.map(getMaxSize$1)) ?? void 0;
|
|
11865
|
+
return createEncoder$1({
|
|
11866
|
+
...fixedSize === null ? {
|
|
11867
|
+
getSizeFromValue: (value) => fields.map(([key, codec]) => getEncodedSize$1(value[key], codec)).reduce((all, one) => all + one, 0),
|
|
11868
|
+
maxSize
|
|
11869
|
+
} : { fixedSize },
|
|
11870
|
+
write: (struct, bytes, offset) => {
|
|
11871
|
+
fields.forEach(([key, codec]) => {
|
|
11872
|
+
offset = codec.write(struct[key], bytes, offset);
|
|
11873
|
+
});
|
|
11874
|
+
return offset;
|
|
11875
|
+
}
|
|
11876
|
+
});
|
|
11877
|
+
}
|
|
11878
|
+
function getStructDecoder$1(fields) {
|
|
11879
|
+
const fieldCodecs = fields.map(([, codec]) => codec);
|
|
11880
|
+
const fixedSize = sumCodecSizes$1(fieldCodecs.map(getFixedSize$1));
|
|
11881
|
+
const maxSize = sumCodecSizes$1(fieldCodecs.map(getMaxSize$1)) ?? void 0;
|
|
11882
|
+
return createDecoder$1({
|
|
11883
|
+
...fixedSize === null ? { maxSize } : { fixedSize },
|
|
11884
|
+
read: (bytes, offset) => {
|
|
11885
|
+
const struct = {};
|
|
11886
|
+
fields.forEach(([key, codec]) => {
|
|
11887
|
+
const [value, newOffset] = codec.read(bytes, offset);
|
|
11888
|
+
offset = newOffset;
|
|
11889
|
+
struct[key] = value;
|
|
11890
|
+
});
|
|
11891
|
+
return [struct, offset];
|
|
11892
|
+
}
|
|
11893
|
+
});
|
|
11894
|
+
}
|
|
11895
|
+
function getStructCodec$1(fields) {
|
|
11896
|
+
return combineCodec$1(
|
|
11897
|
+
getStructEncoder$1(fields),
|
|
11898
|
+
getStructDecoder$1(fields)
|
|
11899
|
+
);
|
|
11900
|
+
}
|
|
11901
|
+
|
|
11902
|
+
// src/null-characters.ts
|
|
11903
|
+
var removeNullCharacters$1 = (value) => (
|
|
11904
|
+
// eslint-disable-next-line no-control-regex
|
|
11905
|
+
value.replace(/\u0000/g, "")
|
|
11906
|
+
);
|
|
11604
11907
|
|
|
11605
|
-
|
|
11606
|
-
|
|
11607
|
-
|
|
11608
|
-
InterestBearingMintInstruction[InterestBearingMintInstruction["UpdateRate"] = 1] = "UpdateRate";
|
|
11609
|
-
})(InterestBearingMintInstruction || (InterestBearingMintInstruction = {}));
|
|
11610
|
-
struct$1([
|
|
11611
|
-
u8$1('instruction'),
|
|
11612
|
-
u8$1('interestBearingMintInstruction'),
|
|
11613
|
-
// TODO: Make this an optional public key
|
|
11614
|
-
publicKey$4('rateAuthority'),
|
|
11615
|
-
s16('rate'),
|
|
11616
|
-
]);
|
|
11617
|
-
struct$1([
|
|
11618
|
-
u8$1('instruction'),
|
|
11619
|
-
u8$1('interestBearingMintInstruction'),
|
|
11620
|
-
s16('rate'),
|
|
11621
|
-
]);
|
|
11908
|
+
// ../text-encoding-impl/dist/index.browser.mjs
|
|
11909
|
+
var e$1 = globalThis.TextDecoder;
|
|
11910
|
+
var o$1 = globalThis.TextEncoder;
|
|
11622
11911
|
|
|
11623
|
-
|
|
11624
|
-
|
|
11625
|
-
|
|
11626
|
-
|
|
11627
|
-
|
|
11628
|
-
|
|
11629
|
-
|
|
11630
|
-
|
|
11631
|
-
|
|
11632
|
-
|
|
11633
|
-
|
|
11634
|
-
|
|
11635
|
-
|
|
11636
|
-
|
|
11637
|
-
|
|
11638
|
-
|
|
11639
|
-
|
|
11640
|
-
]
|
|
11912
|
+
// src/utf8.ts
|
|
11913
|
+
var getUtf8Encoder$1 = () => {
|
|
11914
|
+
let textEncoder;
|
|
11915
|
+
return createEncoder$1({
|
|
11916
|
+
getSizeFromValue: (value) => (textEncoder ||= new o$1()).encode(value).length,
|
|
11917
|
+
write: (value, bytes, offset) => {
|
|
11918
|
+
const bytesToAdd = (textEncoder ||= new o$1()).encode(value);
|
|
11919
|
+
bytes.set(bytesToAdd, offset);
|
|
11920
|
+
return offset + bytesToAdd.length;
|
|
11921
|
+
}
|
|
11922
|
+
});
|
|
11923
|
+
};
|
|
11924
|
+
var getUtf8Decoder$1 = () => {
|
|
11925
|
+
let textDecoder;
|
|
11926
|
+
return createDecoder$1({
|
|
11927
|
+
read(bytes, offset) {
|
|
11928
|
+
const value = (textDecoder ||= new e$1()).decode(bytes.slice(offset));
|
|
11929
|
+
return [removeNullCharacters$1(value), bytes.length];
|
|
11930
|
+
}
|
|
11931
|
+
});
|
|
11932
|
+
};
|
|
11933
|
+
var getUtf8Codec$1 = () => combineCodec$1(getUtf8Encoder$1(), getUtf8Decoder$1());
|
|
11641
11934
|
|
|
11642
11935
|
var Field;
|
|
11643
11936
|
(function (Field) {
|
|
@@ -14615,23 +14908,7 @@ Layout$2.const = ((value, property) => new Constant(value, property));
|
|
|
14615
14908
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14616
14909
|
};
|
|
14617
14910
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14618
|
-
exports.struct = exports.f64 = exports.f32 = exports.i32 = exports.u32 = exports.i16 = exports.u16 = exports.i8 = exports.u8 = void 0;
|
|
14619
|
-
exports.u64 = u64;
|
|
14620
|
-
exports.i64 = i64;
|
|
14621
|
-
exports.u128 = u128;
|
|
14622
|
-
exports.i128 = i128;
|
|
14623
|
-
exports.u256 = u256;
|
|
14624
|
-
exports.i256 = i256;
|
|
14625
|
-
exports.publicKey = publicKey;
|
|
14626
|
-
exports.option = option;
|
|
14627
|
-
exports.bool = bool;
|
|
14628
|
-
exports.vec = vec;
|
|
14629
|
-
exports.tagged = tagged;
|
|
14630
|
-
exports.vecU8 = vecU8;
|
|
14631
|
-
exports.str = str;
|
|
14632
|
-
exports.rustEnum = rustEnum;
|
|
14633
|
-
exports.array = array;
|
|
14634
|
-
exports.map = map;
|
|
14911
|
+
exports.map = exports.array = exports.rustEnum = exports.str = exports.vecU8 = exports.tagged = exports.vec = exports.bool = exports.option = exports.publicKey = exports.i256 = exports.u256 = exports.i128 = exports.u128 = exports.i64 = exports.u64 = exports.struct = exports.f64 = exports.f32 = exports.i32 = exports.u32 = exports.i16 = exports.u16 = exports.i8 = exports.u8 = void 0;
|
|
14635
14912
|
const buffer_layout_1 = Layout$2;
|
|
14636
14913
|
const web3_js_1 = require$$1;
|
|
14637
14914
|
const bn_js_1 = __importDefault(bn.exports);
|
|
@@ -14668,21 +14945,27 @@ Layout$2.const = ((value, property) => new Constant(value, property));
|
|
|
14668
14945
|
function u64(property) {
|
|
14669
14946
|
return new BNLayout(8, false, property);
|
|
14670
14947
|
}
|
|
14948
|
+
exports.u64 = u64;
|
|
14671
14949
|
function i64(property) {
|
|
14672
14950
|
return new BNLayout(8, true, property);
|
|
14673
14951
|
}
|
|
14952
|
+
exports.i64 = i64;
|
|
14674
14953
|
function u128(property) {
|
|
14675
14954
|
return new BNLayout(16, false, property);
|
|
14676
14955
|
}
|
|
14956
|
+
exports.u128 = u128;
|
|
14677
14957
|
function i128(property) {
|
|
14678
14958
|
return new BNLayout(16, true, property);
|
|
14679
14959
|
}
|
|
14960
|
+
exports.i128 = i128;
|
|
14680
14961
|
function u256(property) {
|
|
14681
14962
|
return new BNLayout(32, false, property);
|
|
14682
14963
|
}
|
|
14964
|
+
exports.u256 = u256;
|
|
14683
14965
|
function i256(property) {
|
|
14684
14966
|
return new BNLayout(32, true, property);
|
|
14685
14967
|
}
|
|
14968
|
+
exports.i256 = i256;
|
|
14686
14969
|
class WrappedLayout extends buffer_layout_1.Layout {
|
|
14687
14970
|
constructor(layout, decoder, encoder, property) {
|
|
14688
14971
|
super(layout.span, property);
|
|
@@ -14703,6 +14986,7 @@ Layout$2.const = ((value, property) => new Constant(value, property));
|
|
|
14703
14986
|
function publicKey(property) {
|
|
14704
14987
|
return new WrappedLayout((0, buffer_layout_1.blob)(32), (b) => new web3_js_1.PublicKey(b), (key) => key.toBuffer(), property);
|
|
14705
14988
|
}
|
|
14989
|
+
exports.publicKey = publicKey;
|
|
14706
14990
|
class OptionLayout extends buffer_layout_1.Layout {
|
|
14707
14991
|
constructor(layout, property) {
|
|
14708
14992
|
super(-1, property);
|
|
@@ -14740,9 +15024,11 @@ Layout$2.const = ((value, property) => new Constant(value, property));
|
|
|
14740
15024
|
function option(layout, property) {
|
|
14741
15025
|
return new OptionLayout(layout, property);
|
|
14742
15026
|
}
|
|
15027
|
+
exports.option = option;
|
|
14743
15028
|
function bool(property) {
|
|
14744
15029
|
return new WrappedLayout((0, buffer_layout_1.u8)(), decodeBool, encodeBool, property);
|
|
14745
15030
|
}
|
|
15031
|
+
exports.bool = bool;
|
|
14746
15032
|
function decodeBool(value) {
|
|
14747
15033
|
if (value === 0) {
|
|
14748
15034
|
return false;
|
|
@@ -14763,6 +15049,7 @@ Layout$2.const = ((value, property) => new Constant(value, property));
|
|
|
14763
15049
|
]);
|
|
14764
15050
|
return new WrappedLayout(layout, ({ values }) => values, (values) => ({ values }), property);
|
|
14765
15051
|
}
|
|
15052
|
+
exports.vec = vec;
|
|
14766
15053
|
function tagged(tag, layout, property) {
|
|
14767
15054
|
const wrappedLayout = (0, buffer_layout_1.struct)([
|
|
14768
15055
|
u64("tag"),
|
|
@@ -14779,6 +15066,7 @@ Layout$2.const = ((value, property) => new Constant(value, property));
|
|
|
14779
15066
|
}
|
|
14780
15067
|
return new WrappedLayout(wrappedLayout, decodeTag, (data) => ({ tag, data }), property);
|
|
14781
15068
|
}
|
|
15069
|
+
exports.tagged = tagged;
|
|
14782
15070
|
function vecU8(property) {
|
|
14783
15071
|
const length = (0, buffer_layout_1.u32)("length");
|
|
14784
15072
|
const layout = (0, buffer_layout_1.struct)([
|
|
@@ -14787,20 +15075,24 @@ Layout$2.const = ((value, property) => new Constant(value, property));
|
|
|
14787
15075
|
]);
|
|
14788
15076
|
return new WrappedLayout(layout, ({ data }) => data, (data) => ({ data }), property);
|
|
14789
15077
|
}
|
|
15078
|
+
exports.vecU8 = vecU8;
|
|
14790
15079
|
function str(property) {
|
|
14791
15080
|
return new WrappedLayout(vecU8(), (data) => data.toString("utf-8"), (s) => Buffer.from(s, "utf-8"), property);
|
|
14792
15081
|
}
|
|
15082
|
+
exports.str = str;
|
|
14793
15083
|
function rustEnum(variants, property, discriminant) {
|
|
14794
15084
|
const unionLayout = (0, buffer_layout_1.union)(discriminant !== null && discriminant !== void 0 ? discriminant : (0, buffer_layout_1.u8)(), property);
|
|
14795
15085
|
variants.forEach((variant, index) => unionLayout.addVariant(index, variant, variant.property));
|
|
14796
15086
|
return unionLayout;
|
|
14797
15087
|
}
|
|
15088
|
+
exports.rustEnum = rustEnum;
|
|
14798
15089
|
function array(elementLayout, length, property) {
|
|
14799
15090
|
const layout = (0, buffer_layout_1.struct)([
|
|
14800
15091
|
(0, buffer_layout_1.seq)(elementLayout, length, "values"),
|
|
14801
15092
|
]);
|
|
14802
15093
|
return new WrappedLayout(layout, ({ values }) => values, (values) => ({ values }), property);
|
|
14803
15094
|
}
|
|
15095
|
+
exports.array = array;
|
|
14804
15096
|
class MapEntryLayout extends buffer_layout_1.Layout {
|
|
14805
15097
|
constructor(keyLayout, valueLayout, property) {
|
|
14806
15098
|
super(keyLayout.span + valueLayout.span, property);
|
|
@@ -14831,6 +15123,7 @@ Layout$2.const = ((value, property) => new Constant(value, property));
|
|
|
14831
15123
|
]);
|
|
14832
15124
|
return new WrappedLayout(layout, ({ values }) => new Map(values), (values) => ({ values: Array.from(values.entries()) }), property);
|
|
14833
15125
|
}
|
|
15126
|
+
exports.map = map;
|
|
14834
15127
|
|
|
14835
15128
|
} (dist$1));
|
|
14836
15129
|
|