@pooflabs/web 0.0.82 → 0.0.83
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-BsY_Lgiu.esm.js → index-B7yaLhND.esm.js} +17 -17
- package/dist/index-B7yaLhND.esm.js.map +1 -0
- package/dist/{index-DlKo76M3.js → index-BxXQhFLQ.js} +10 -3069
- package/dist/index-BxXQhFLQ.js.map +1 -0
- package/dist/{index-DWf2AOhe.esm.js → index-CP_wLmYu.esm.js} +9 -3068
- package/dist/index-CP_wLmYu.esm.js.map +1 -0
- package/dist/{index-CK_2Zn89.esm.js → index-CpaP1yGp.esm.js} +10 -3069
- package/dist/index-CpaP1yGp.esm.js.map +1 -0
- package/dist/{index-BicMkamC.js → index-DP0xF34Z.js} +17 -18
- package/dist/index-DP0xF34Z.js.map +1 -0
- package/dist/{index-Dz0bPXrU.js → index-DQWyH96R.js} +2 -2
- package/dist/index-DQWyH96R.js.map +1 -0
- package/dist/index-DfOd8wW4.esm.js +6 -0
- package/dist/index-DfOd8wW4.esm.js.map +1 -0
- package/dist/{index-Ci3m3diI.js → index-FviRSm3S.js} +9 -3068
- package/dist/index-FviRSm3S.js.map +1 -0
- package/dist/index.browser-1_M66nQ6.esm.js +1096 -0
- package/dist/index.browser-1_M66nQ6.esm.js.map +1 -0
- package/dist/{index.browser-DCOvqSUT.esm.js → index.browser-B_wQp2A8.esm.js} +1571 -1368
- package/dist/index.browser-B_wQp2A8.esm.js.map +1 -0
- package/dist/index.browser-BfnOoa_h.js +1099 -0
- package/dist/index.browser-BfnOoa_h.js.map +1 -0
- package/dist/index.browser-BhppfDyf.js +105 -0
- package/dist/index.browser-BhppfDyf.js.map +1 -0
- package/dist/index.browser-OvGNsMPu.esm.js +1002 -0
- package/dist/index.browser-OvGNsMPu.esm.js.map +1 -0
- package/dist/{index.browser-BkMiHSON.js → index.browser-_zN3Uapq.js} +1571 -1368
- package/dist/index.browser-_zN3Uapq.js.map +1 -0
- package/dist/index.browser-vUinl_9y.esm.js +102 -0
- package/dist/index.browser-vUinl_9y.esm.js.map +1 -0
- package/dist/index.browser-vuTr40so.js +1008 -0
- package/dist/index.browser-vuTr40so.js.map +1 -0
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/{index.native-CLaHKvDv.esm.js → index.native-CyEwEeKr.esm.js} +16 -16
- package/dist/index.native-CyEwEeKr.esm.js.map +1 -0
- package/dist/{index.native-11supFRU.js → index.native-Dkf8NZ2O.js} +16 -18
- package/dist/index.native-Dkf8NZ2O.js.map +1 -0
- package/dist/index.native.esm.js +1 -1
- package/dist/index.native.js +1 -1
- package/dist/{phantom-wallet-provider-Xb070-O6.js → phantom-wallet-provider-CVyVJmH0.js} +4 -4
- package/dist/{phantom-wallet-provider-Xb070-O6.js.map → phantom-wallet-provider-CVyVJmH0.js.map} +1 -1
- package/dist/{phantom-wallet-provider-BN47klTp.esm.js → phantom-wallet-provider-fkcFbwPk.esm.js} +4 -4
- package/dist/{phantom-wallet-provider-BN47klTp.esm.js.map → phantom-wallet-provider-fkcFbwPk.esm.js.map} +1 -1
- package/dist/{privy-wallet-provider-DUJS5viU.esm.js → privy-wallet-provider-CpHAxPcv.esm.js} +4 -4
- package/dist/{privy-wallet-provider-DUJS5viU.esm.js.map → privy-wallet-provider-CpHAxPcv.esm.js.map} +1 -1
- package/dist/{privy-wallet-provider-Ch22rj_G.js → privy-wallet-provider-CrBZ52nR.js} +4 -4
- package/dist/{privy-wallet-provider-Ch22rj_G.js.map → privy-wallet-provider-CrBZ52nR.js.map} +1 -1
- package/dist/{solana-mobile-wallet-provider-BXm94fqW.js → solana-mobile-wallet-provider-CAaGfPZJ.js} +4 -4
- package/dist/{solana-mobile-wallet-provider-BXm94fqW.js.map → solana-mobile-wallet-provider-CAaGfPZJ.js.map} +1 -1
- package/dist/{solana-mobile-wallet-provider-BF04Xp8P.esm.js → solana-mobile-wallet-provider-DGyWHJVI.esm.js} +4 -4
- package/dist/{solana-mobile-wallet-provider-BF04Xp8P.esm.js.map → solana-mobile-wallet-provider-DGyWHJVI.esm.js.map} +1 -1
- package/package.json +2 -2
- package/dist/index-BicMkamC.js.map +0 -1
- package/dist/index-BsY_Lgiu.esm.js.map +0 -1
- package/dist/index-CHWmdXHE.esm.js +0 -6
- package/dist/index-CHWmdXHE.esm.js.map +0 -1
- package/dist/index-CK_2Zn89.esm.js.map +0 -1
- package/dist/index-Ci3m3diI.js.map +0 -1
- package/dist/index-DWf2AOhe.esm.js.map +0 -1
- package/dist/index-DlKo76M3.js.map +0 -1
- package/dist/index-Dz0bPXrU.js.map +0 -1
- package/dist/index.browser-BkMiHSON.js.map +0 -1
- package/dist/index.browser-C-_FEr5M.esm.js +0 -1134
- package/dist/index.browser-C-_FEr5M.esm.js.map +0 -1
- package/dist/index.browser-C9bFQZyQ.esm.js +0 -1373
- package/dist/index.browser-C9bFQZyQ.esm.js.map +0 -1
- package/dist/index.browser-DCOvqSUT.esm.js.map +0 -1
- package/dist/index.browser-Dbq5Qf1G.esm.js +0 -242
- package/dist/index.browser-Dbq5Qf1G.esm.js.map +0 -1
- package/dist/index.browser-Df7yN8D5.js +0 -245
- package/dist/index.browser-Df7yN8D5.js.map +0 -1
- package/dist/index.browser-DjEZSiqI.js +0 -1137
- package/dist/index.browser-DjEZSiqI.js.map +0 -1
- package/dist/index.browser-dszs5oe5.js +0 -1376
- package/dist/index.browser-dszs5oe5.js.map +0 -1
- package/dist/index.native-11supFRU.js.map +0 -1
- package/dist/index.native-CLaHKvDv.esm.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.browser-vuTr40so.js","sources":["../node_modules/@solana-mobile/mobile-wallet-adapter-protocol/node_modules/@solana/codecs-core/dist/index.browser.mjs","../node_modules/@solana-mobile/mobile-wallet-adapter-protocol/node_modules/@solana/codecs-strings/dist/index.browser.mjs","../node_modules/@solana/wallet-standard-util/lib/esm/signIn.js","../node_modules/@solana-mobile/mobile-wallet-adapter-protocol/lib/esm/index.browser.js"],"sourcesContent":["import { SolanaError, SOLANA_ERROR__CODECS__EXPECTED_FIXED_LENGTH, SOLANA_ERROR__CODECS__EXPECTED_VARIABLE_LENGTH, SOLANA_ERROR__CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCH, SOLANA_ERROR__CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCH, SOLANA_ERROR__CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCH, SOLANA_ERROR__CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAY, SOLANA_ERROR__CODECS__INVALID_BYTE_LENGTH, SOLANA_ERROR__CODECS__OFFSET_OUT_OF_RANGE, SOLANA_ERROR__CODECS__EXPECTED_DECODER_TO_CONSUME_ENTIRE_BYTE_ARRAY, SOLANA_ERROR__CODECS__EXPECTED_POSITIVE_BYTE_LENGTH, SOLANA_ERROR__CODECS__SENTINEL_MISSING_IN_DECODED_BYTES, SOLANA_ERROR__CODECS__ENCODED_BYTES_MUST_NOT_INCLUDE_SENTINEL } from '@solana/errors';\n\n// src/add-codec-sentinel.ts\n\n// src/bytes.ts\nvar mergeBytes = (byteArrays) => {\n const nonEmptyByteArrays = byteArrays.filter((arr) => arr.length);\n if (nonEmptyByteArrays.length === 0) {\n return byteArrays.length ? byteArrays[0] : new Uint8Array();\n }\n if (nonEmptyByteArrays.length === 1) {\n return nonEmptyByteArrays[0];\n }\n const totalLength = nonEmptyByteArrays.reduce((total, arr) => total + arr.length, 0);\n const result = new Uint8Array(totalLength);\n let offset = 0;\n nonEmptyByteArrays.forEach((arr) => {\n result.set(arr, offset);\n offset += arr.length;\n });\n return result;\n};\nfunction padBytes(bytes, length) {\n if (bytes.length >= length) return bytes;\n const paddedBytes = new Uint8Array(length).fill(0);\n paddedBytes.set(bytes);\n return paddedBytes;\n}\nvar fixBytes = (bytes, length) => padBytes(bytes.length <= length ? bytes : bytes.slice(0, length), length);\nfunction containsBytes(data, bytes, offset) {\n const slice = (offset === 0 || offset <= -data.byteLength) && data.length === bytes.length ? data : data.slice(offset, offset + bytes.length);\n return bytesEqual(slice, bytes);\n}\nfunction bytesEqual(bytes1, bytes2) {\n return bytes1.length === bytes2.length && bytes1.every((value, index) => value === bytes2[index]);\n}\nfunction getEncodedSize(value, encoder) {\n return \"fixedSize\" in encoder ? encoder.fixedSize : encoder.getSizeFromValue(value);\n}\nfunction createEncoder(encoder) {\n return Object.freeze({\n ...encoder,\n encode: (value) => {\n const bytes = new Uint8Array(getEncodedSize(value, encoder));\n encoder.write(value, bytes, 0);\n return bytes;\n }\n });\n}\nfunction createDecoder(decoder) {\n return Object.freeze({\n ...decoder,\n decode: (bytes, offset = 0) => decoder.read(bytes, offset)[0]\n });\n}\nfunction createCodec(codec) {\n return Object.freeze({\n ...codec,\n decode: (bytes, offset = 0) => codec.read(bytes, offset)[0],\n encode: (value) => {\n const bytes = new Uint8Array(getEncodedSize(value, codec));\n codec.write(value, bytes, 0);\n return bytes;\n }\n });\n}\nfunction isFixedSize(codec) {\n return \"fixedSize\" in codec && typeof codec.fixedSize === \"number\";\n}\nfunction assertIsFixedSize(codec) {\n if (!isFixedSize(codec)) {\n throw new SolanaError(SOLANA_ERROR__CODECS__EXPECTED_FIXED_LENGTH);\n }\n}\nfunction isVariableSize(codec) {\n return !isFixedSize(codec);\n}\nfunction assertIsVariableSize(codec) {\n if (!isVariableSize(codec)) {\n throw new SolanaError(SOLANA_ERROR__CODECS__EXPECTED_VARIABLE_LENGTH);\n }\n}\nfunction combineCodec(encoder, decoder) {\n if (isFixedSize(encoder) !== isFixedSize(decoder)) {\n throw new SolanaError(SOLANA_ERROR__CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCH);\n }\n if (isFixedSize(encoder) && isFixedSize(decoder) && encoder.fixedSize !== decoder.fixedSize) {\n throw new SolanaError(SOLANA_ERROR__CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCH, {\n decoderFixedSize: decoder.fixedSize,\n encoderFixedSize: encoder.fixedSize\n });\n }\n if (!isFixedSize(encoder) && !isFixedSize(decoder) && encoder.maxSize !== decoder.maxSize) {\n throw new SolanaError(SOLANA_ERROR__CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCH, {\n decoderMaxSize: decoder.maxSize,\n encoderMaxSize: encoder.maxSize\n });\n }\n return {\n ...decoder,\n ...encoder,\n decode: decoder.decode,\n encode: encoder.encode,\n read: decoder.read,\n write: encoder.write\n };\n}\n\n// src/add-codec-sentinel.ts\nfunction addEncoderSentinel(encoder, sentinel) {\n const write = ((value, bytes, offset) => {\n const encoderBytes = encoder.encode(value);\n if (findSentinelIndex(encoderBytes, sentinel) >= 0) {\n throw new SolanaError(SOLANA_ERROR__CODECS__ENCODED_BYTES_MUST_NOT_INCLUDE_SENTINEL, {\n encodedBytes: encoderBytes,\n hexEncodedBytes: hexBytes(encoderBytes),\n hexSentinel: hexBytes(sentinel),\n sentinel\n });\n }\n bytes.set(encoderBytes, offset);\n offset += encoderBytes.length;\n bytes.set(sentinel, offset);\n offset += sentinel.length;\n return offset;\n });\n if (isFixedSize(encoder)) {\n return createEncoder({ ...encoder, fixedSize: encoder.fixedSize + sentinel.length, write });\n }\n return createEncoder({\n ...encoder,\n ...encoder.maxSize != null ? { maxSize: encoder.maxSize + sentinel.length } : {},\n getSizeFromValue: (value) => encoder.getSizeFromValue(value) + sentinel.length,\n write\n });\n}\nfunction addDecoderSentinel(decoder, sentinel) {\n const read = ((bytes, offset) => {\n const candidateBytes = offset === 0 || offset <= -bytes.byteLength ? bytes : bytes.slice(offset);\n const sentinelIndex = findSentinelIndex(candidateBytes, sentinel);\n if (sentinelIndex === -1) {\n throw new SolanaError(SOLANA_ERROR__CODECS__SENTINEL_MISSING_IN_DECODED_BYTES, {\n decodedBytes: candidateBytes,\n hexDecodedBytes: hexBytes(candidateBytes),\n hexSentinel: hexBytes(sentinel),\n sentinel\n });\n }\n const preSentinelBytes = candidateBytes.slice(0, sentinelIndex);\n return [decoder.decode(preSentinelBytes), offset + preSentinelBytes.length + sentinel.length];\n });\n if (isFixedSize(decoder)) {\n return createDecoder({ ...decoder, fixedSize: decoder.fixedSize + sentinel.length, read });\n }\n return createDecoder({\n ...decoder,\n ...decoder.maxSize != null ? { maxSize: decoder.maxSize + sentinel.length } : {},\n read\n });\n}\nfunction addCodecSentinel(codec, sentinel) {\n return combineCodec(addEncoderSentinel(codec, sentinel), addDecoderSentinel(codec, sentinel));\n}\nfunction findSentinelIndex(bytes, sentinel) {\n return bytes.findIndex((byte, index, arr) => {\n if (sentinel.length === 1) return byte === sentinel[0];\n return containsBytes(arr, sentinel, index);\n });\n}\nfunction hexBytes(bytes) {\n return bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, \"0\"), \"\");\n}\nfunction assertByteArrayIsNotEmptyForCodec(codecDescription, bytes, offset = 0) {\n if (bytes.length - offset <= 0) {\n throw new SolanaError(SOLANA_ERROR__CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAY, {\n codecDescription\n });\n }\n}\nfunction assertByteArrayHasEnoughBytesForCodec(codecDescription, expected, bytes, offset = 0) {\n const bytesLength = bytes.length - offset;\n if (bytesLength < expected) {\n throw new SolanaError(SOLANA_ERROR__CODECS__INVALID_BYTE_LENGTH, {\n bytesLength,\n codecDescription,\n expected\n });\n }\n}\nfunction assertByteArrayOffsetIsNotOutOfRange(codecDescription, offset, bytesLength) {\n if (offset < 0 || offset > bytesLength) {\n throw new SolanaError(SOLANA_ERROR__CODECS__OFFSET_OUT_OF_RANGE, {\n bytesLength,\n codecDescription,\n offset\n });\n }\n}\n\n// src/add-codec-size-prefix.ts\nfunction addEncoderSizePrefix(encoder, prefix) {\n const write = ((value, bytes, offset) => {\n const encoderBytes = encoder.encode(value);\n offset = prefix.write(encoderBytes.length, bytes, offset);\n bytes.set(encoderBytes, offset);\n return offset + encoderBytes.length;\n });\n if (isFixedSize(prefix) && isFixedSize(encoder)) {\n return createEncoder({ ...encoder, fixedSize: prefix.fixedSize + encoder.fixedSize, write });\n }\n const prefixMaxSize = isFixedSize(prefix) ? prefix.fixedSize : prefix.maxSize ?? null;\n const encoderMaxSize = isFixedSize(encoder) ? encoder.fixedSize : encoder.maxSize ?? null;\n const maxSize = prefixMaxSize !== null && encoderMaxSize !== null ? prefixMaxSize + encoderMaxSize : null;\n return createEncoder({\n ...encoder,\n ...maxSize !== null ? { maxSize } : {},\n getSizeFromValue: (value) => {\n const encoderSize = getEncodedSize(value, encoder);\n return getEncodedSize(encoderSize, prefix) + encoderSize;\n },\n write\n });\n}\nfunction addDecoderSizePrefix(decoder, prefix) {\n const read = ((bytes, offset) => {\n const [bigintSize, decoderOffset] = prefix.read(bytes, offset);\n const size = Number(bigintSize);\n offset = decoderOffset;\n if (offset > 0 || bytes.length > size) {\n bytes = bytes.slice(offset, offset + size);\n }\n assertByteArrayHasEnoughBytesForCodec(\"addDecoderSizePrefix\", size, bytes);\n return [decoder.decode(bytes), offset + size];\n });\n if (isFixedSize(prefix) && isFixedSize(decoder)) {\n return createDecoder({ ...decoder, fixedSize: prefix.fixedSize + decoder.fixedSize, read });\n }\n const prefixMaxSize = isFixedSize(prefix) ? prefix.fixedSize : prefix.maxSize ?? null;\n const decoderMaxSize = isFixedSize(decoder) ? decoder.fixedSize : decoder.maxSize ?? null;\n const maxSize = prefixMaxSize !== null && decoderMaxSize !== null ? prefixMaxSize + decoderMaxSize : null;\n return createDecoder({ ...decoder, ...maxSize !== null ? { maxSize } : {}, read });\n}\nfunction addCodecSizePrefix(codec, prefix) {\n return combineCodec(addEncoderSizePrefix(codec, prefix), addDecoderSizePrefix(codec, prefix));\n}\n\n// src/array-buffers.ts\nfunction toArrayBuffer(bytes, offset, length) {\n const bytesOffset = bytes.byteOffset + (offset ?? 0);\n const bytesLength = length ?? bytes.byteLength;\n let buffer;\n if (typeof SharedArrayBuffer === \"undefined\") {\n buffer = bytes.buffer;\n } else if (bytes.buffer instanceof SharedArrayBuffer) {\n buffer = new ArrayBuffer(bytes.length);\n new Uint8Array(buffer).set(new Uint8Array(bytes));\n } else {\n buffer = bytes.buffer;\n }\n return (bytesOffset === 0 || bytesOffset === -bytes.byteLength) && bytesLength === bytes.byteLength ? buffer : buffer.slice(bytesOffset, bytesOffset + bytesLength);\n}\nfunction createDecoderThatConsumesEntireByteArray(decoder) {\n return createDecoder({\n ...decoder,\n read(bytes, offset) {\n const [value, newOffset] = decoder.read(bytes, offset);\n if (bytes.length > newOffset) {\n throw new SolanaError(SOLANA_ERROR__CODECS__EXPECTED_DECODER_TO_CONSUME_ENTIRE_BYTE_ARRAY, {\n expectedLength: newOffset,\n numExcessBytes: bytes.length - newOffset\n });\n }\n return [value, newOffset];\n }\n });\n}\n\n// src/fix-codec-size.ts\nfunction fixEncoderSize(encoder, fixedBytes) {\n return createEncoder({\n fixedSize: fixedBytes,\n write: (value, bytes, offset) => {\n const variableByteArray = encoder.encode(value);\n const fixedByteArray = variableByteArray.length > fixedBytes ? variableByteArray.slice(0, fixedBytes) : variableByteArray;\n bytes.set(fixedByteArray, offset);\n return offset + fixedBytes;\n }\n });\n}\nfunction fixDecoderSize(decoder, fixedBytes) {\n return createDecoder({\n fixedSize: fixedBytes,\n read: (bytes, offset) => {\n assertByteArrayHasEnoughBytesForCodec(\"fixCodecSize\", fixedBytes, bytes, offset);\n if (offset > 0 || bytes.length > fixedBytes) {\n bytes = bytes.slice(offset, offset + fixedBytes);\n }\n if (isFixedSize(decoder)) {\n bytes = fixBytes(bytes, decoder.fixedSize);\n }\n const [value] = decoder.read(bytes, 0);\n return [value, offset + fixedBytes];\n }\n });\n}\nfunction fixCodecSize(codec, fixedBytes) {\n return combineCodec(fixEncoderSize(codec, fixedBytes), fixDecoderSize(codec, fixedBytes));\n}\n\n// src/offset-codec.ts\nfunction offsetEncoder(encoder, config) {\n return createEncoder({\n ...encoder,\n write: (value, bytes, preOffset) => {\n const wrapBytes = (offset) => modulo(offset, bytes.length);\n const newPreOffset = config.preOffset ? config.preOffset({ bytes, preOffset, wrapBytes }) : preOffset;\n assertByteArrayOffsetIsNotOutOfRange(\"offsetEncoder\", newPreOffset, bytes.length);\n const postOffset = encoder.write(value, bytes, newPreOffset);\n const newPostOffset = config.postOffset ? config.postOffset({ bytes, newPreOffset, postOffset, preOffset, wrapBytes }) : postOffset;\n assertByteArrayOffsetIsNotOutOfRange(\"offsetEncoder\", newPostOffset, bytes.length);\n return newPostOffset;\n }\n });\n}\nfunction offsetDecoder(decoder, config) {\n return createDecoder({\n ...decoder,\n read: (bytes, preOffset) => {\n const wrapBytes = (offset) => modulo(offset, bytes.length);\n const newPreOffset = config.preOffset ? config.preOffset({ bytes, preOffset, wrapBytes }) : preOffset;\n assertByteArrayOffsetIsNotOutOfRange(\"offsetDecoder\", newPreOffset, bytes.length);\n const [value, postOffset] = decoder.read(bytes, newPreOffset);\n const newPostOffset = config.postOffset ? config.postOffset({ bytes, newPreOffset, postOffset, preOffset, wrapBytes }) : postOffset;\n assertByteArrayOffsetIsNotOutOfRange(\"offsetDecoder\", newPostOffset, bytes.length);\n return [value, newPostOffset];\n }\n });\n}\nfunction offsetCodec(codec, config) {\n return combineCodec(offsetEncoder(codec, config), offsetDecoder(codec, config));\n}\nfunction modulo(dividend, divisor) {\n if (divisor === 0) return 0;\n return (dividend % divisor + divisor) % divisor;\n}\nfunction resizeEncoder(encoder, resize) {\n if (isFixedSize(encoder)) {\n const fixedSize = resize(encoder.fixedSize);\n if (fixedSize < 0) {\n throw new SolanaError(SOLANA_ERROR__CODECS__EXPECTED_POSITIVE_BYTE_LENGTH, {\n bytesLength: fixedSize,\n codecDescription: \"resizeEncoder\"\n });\n }\n return createEncoder({ ...encoder, fixedSize });\n }\n return createEncoder({\n ...encoder,\n getSizeFromValue: (value) => {\n const newSize = resize(encoder.getSizeFromValue(value));\n if (newSize < 0) {\n throw new SolanaError(SOLANA_ERROR__CODECS__EXPECTED_POSITIVE_BYTE_LENGTH, {\n bytesLength: newSize,\n codecDescription: \"resizeEncoder\"\n });\n }\n return newSize;\n }\n });\n}\nfunction resizeDecoder(decoder, resize) {\n if (isFixedSize(decoder)) {\n const fixedSize = resize(decoder.fixedSize);\n if (fixedSize < 0) {\n throw new SolanaError(SOLANA_ERROR__CODECS__EXPECTED_POSITIVE_BYTE_LENGTH, {\n bytesLength: fixedSize,\n codecDescription: \"resizeDecoder\"\n });\n }\n return createDecoder({ ...decoder, fixedSize });\n }\n return decoder;\n}\nfunction resizeCodec(codec, resize) {\n return combineCodec(resizeEncoder(codec, resize), resizeDecoder(codec, resize));\n}\n\n// src/pad-codec.ts\nfunction padLeftEncoder(encoder, offset) {\n return offsetEncoder(\n resizeEncoder(encoder, (size) => size + offset),\n { preOffset: ({ preOffset }) => preOffset + offset }\n );\n}\nfunction padRightEncoder(encoder, offset) {\n return offsetEncoder(\n resizeEncoder(encoder, (size) => size + offset),\n { postOffset: ({ postOffset }) => postOffset + offset }\n );\n}\nfunction padLeftDecoder(decoder, offset) {\n return offsetDecoder(\n resizeDecoder(decoder, (size) => size + offset),\n { preOffset: ({ preOffset }) => preOffset + offset }\n );\n}\nfunction padRightDecoder(decoder, offset) {\n return offsetDecoder(\n resizeDecoder(decoder, (size) => size + offset),\n { postOffset: ({ postOffset }) => postOffset + offset }\n );\n}\nfunction padLeftCodec(codec, offset) {\n return combineCodec(padLeftEncoder(codec, offset), padLeftDecoder(codec, offset));\n}\nfunction padRightCodec(codec, offset) {\n return combineCodec(padRightEncoder(codec, offset), padRightDecoder(codec, offset));\n}\n\n// src/reverse-codec.ts\nfunction copySourceToTargetInReverse(source, target_WILL_MUTATE, sourceOffset, sourceLength, targetOffset = 0) {\n while (sourceOffset < --sourceLength) {\n const leftValue = source[sourceOffset];\n target_WILL_MUTATE[sourceOffset + targetOffset] = source[sourceLength];\n target_WILL_MUTATE[sourceLength + targetOffset] = leftValue;\n sourceOffset++;\n }\n if (sourceOffset === sourceLength) {\n target_WILL_MUTATE[sourceOffset + targetOffset] = source[sourceOffset];\n }\n}\nfunction reverseEncoder(encoder) {\n assertIsFixedSize(encoder);\n return createEncoder({\n ...encoder,\n write: (value, bytes, offset) => {\n const newOffset = encoder.write(value, bytes, offset);\n copySourceToTargetInReverse(\n bytes,\n bytes,\n offset,\n offset + encoder.fixedSize\n );\n return newOffset;\n }\n });\n}\nfunction reverseDecoder(decoder) {\n assertIsFixedSize(decoder);\n return createDecoder({\n ...decoder,\n read: (bytes, offset) => {\n const reversedBytes = bytes.slice();\n copySourceToTargetInReverse(\n bytes,\n reversedBytes,\n offset,\n offset + decoder.fixedSize\n );\n return decoder.read(reversedBytes, offset);\n }\n });\n}\nfunction reverseCodec(codec) {\n return combineCodec(reverseEncoder(codec), reverseDecoder(codec));\n}\n\n// src/transform-codec.ts\nfunction transformEncoder(encoder, unmap) {\n return createEncoder({\n ...isVariableSize(encoder) ? { ...encoder, getSizeFromValue: (value) => encoder.getSizeFromValue(unmap(value)) } : encoder,\n write: (value, bytes, offset) => encoder.write(unmap(value), bytes, offset)\n });\n}\nfunction transformDecoder(decoder, map) {\n return createDecoder({\n ...decoder,\n read: (bytes, offset) => {\n const [value, newOffset] = decoder.read(bytes, offset);\n return [map(value, bytes, offset), newOffset];\n }\n });\n}\nfunction transformCodec(codec, unmap, map) {\n return createCodec({\n ...transformEncoder(codec, unmap),\n read: map ? transformDecoder(codec, map).read : codec.read\n });\n}\n\nexport { addCodecSentinel, addCodecSizePrefix, addDecoderSentinel, addDecoderSizePrefix, addEncoderSentinel, addEncoderSizePrefix, assertByteArrayHasEnoughBytesForCodec, assertByteArrayIsNotEmptyForCodec, assertByteArrayOffsetIsNotOutOfRange, assertIsFixedSize, assertIsVariableSize, bytesEqual, combineCodec, containsBytes, createCodec, createDecoder, createDecoderThatConsumesEntireByteArray, createEncoder, fixBytes, fixCodecSize, fixDecoderSize, fixEncoderSize, getEncodedSize, isFixedSize, isVariableSize, mergeBytes, offsetCodec, offsetDecoder, offsetEncoder, padBytes, padLeftCodec, padLeftDecoder, padLeftEncoder, padRightCodec, padRightDecoder, padRightEncoder, resizeCodec, resizeDecoder, resizeEncoder, reverseCodec, reverseDecoder, reverseEncoder, toArrayBuffer, transformCodec, transformDecoder, transformEncoder };\n//# sourceMappingURL=index.browser.mjs.map\n//# sourceMappingURL=index.browser.mjs.map","import { SolanaError, SOLANA_ERROR__CODECS__INVALID_STRING_FOR_BASE } from '@solana/errors';\nimport { combineCodec, createDecoder, createEncoder } from '@solana/codecs-core';\n\n// src/assertions.ts\nfunction assertValidBaseString(alphabet4, testValue, givenValue = testValue) {\n if (!testValue.match(new RegExp(`^[${alphabet4}]*$`))) {\n throw new SolanaError(SOLANA_ERROR__CODECS__INVALID_STRING_FOR_BASE, {\n alphabet: alphabet4,\n base: alphabet4.length,\n value: givenValue\n });\n }\n}\nvar getBaseXEncoder = (alphabet4) => {\n return createEncoder({\n getSizeFromValue: (value) => {\n const [leadingZeroes, tailChars] = partitionLeadingZeroes(value, alphabet4[0]);\n if (!tailChars) return value.length;\n const base10Number = getBigIntFromBaseX(tailChars, alphabet4);\n return leadingZeroes.length + Math.ceil(base10Number.toString(16).length / 2);\n },\n write(value, bytes, offset) {\n assertValidBaseString(alphabet4, value);\n if (value === \"\") return offset;\n const [leadingZeroes, tailChars] = partitionLeadingZeroes(value, alphabet4[0]);\n if (!tailChars) {\n bytes.set(new Uint8Array(leadingZeroes.length).fill(0), offset);\n return offset + leadingZeroes.length;\n }\n let base10Number = getBigIntFromBaseX(tailChars, alphabet4);\n const tailBytes = [];\n while (base10Number > 0n) {\n tailBytes.unshift(Number(base10Number % 256n));\n base10Number /= 256n;\n }\n const bytesToAdd = [...Array(leadingZeroes.length).fill(0), ...tailBytes];\n bytes.set(bytesToAdd, offset);\n return offset + bytesToAdd.length;\n }\n });\n};\nvar getBaseXDecoder = (alphabet4) => {\n return createDecoder({\n read(rawBytes, offset) {\n const bytes = offset === 0 || offset <= -rawBytes.byteLength ? rawBytes : rawBytes.slice(offset);\n if (bytes.length === 0) return [\"\", 0];\n let trailIndex = bytes.findIndex((n) => n !== 0);\n trailIndex = trailIndex === -1 ? bytes.length : trailIndex;\n const leadingZeroes = alphabet4[0].repeat(trailIndex);\n if (trailIndex === bytes.length) return [leadingZeroes, rawBytes.length];\n const base10Number = bytes.slice(trailIndex).reduce((sum, byte) => sum * 256n + BigInt(byte), 0n);\n const tailChars = getBaseXFromBigInt(base10Number, alphabet4);\n return [leadingZeroes + tailChars, rawBytes.length];\n }\n });\n};\nvar getBaseXCodec = (alphabet4) => combineCodec(getBaseXEncoder(alphabet4), getBaseXDecoder(alphabet4));\nfunction partitionLeadingZeroes(value, zeroCharacter) {\n const [leadingZeros, tailChars] = value.split(new RegExp(`((?!${zeroCharacter}).*)`));\n return [leadingZeros, tailChars];\n}\nfunction getBigIntFromBaseX(value, alphabet4) {\n const base = BigInt(alphabet4.length);\n let sum = 0n;\n for (const char of value) {\n sum *= base;\n sum += BigInt(alphabet4.indexOf(char));\n }\n return sum;\n}\nfunction getBaseXFromBigInt(value, alphabet4) {\n const base = BigInt(alphabet4.length);\n const tailChars = [];\n while (value > 0n) {\n tailChars.unshift(alphabet4[Number(value % base)]);\n value /= base;\n }\n return tailChars.join(\"\");\n}\n\n// src/base10.ts\nvar alphabet = \"0123456789\";\nvar getBase10Encoder = () => getBaseXEncoder(alphabet);\nvar getBase10Decoder = () => getBaseXDecoder(alphabet);\nvar getBase10Codec = () => getBaseXCodec(alphabet);\nvar INVALID_STRING_ERROR_BASE_CONFIG = {\n alphabet: \"0123456789abcdef\",\n base: 16\n};\nfunction charCodeToBase16(char) {\n if (char >= 48 /* ZERO */ && char <= 57 /* NINE */) return char - 48 /* ZERO */;\n if (char >= 65 /* A_UP */ && char <= 70 /* F_UP */) return char - (65 /* A_UP */ - 10);\n if (char >= 97 /* A_LO */ && char <= 102 /* F_LO */) return char - (97 /* A_LO */ - 10);\n}\nvar getBase16Encoder = () => createEncoder({\n getSizeFromValue: (value) => Math.ceil(value.length / 2),\n write(value, bytes, offset) {\n const len = value.length;\n const al = len / 2;\n if (len === 1) {\n const c = value.charCodeAt(0);\n const n = charCodeToBase16(c);\n if (n === void 0) {\n throw new SolanaError(SOLANA_ERROR__CODECS__INVALID_STRING_FOR_BASE, {\n ...INVALID_STRING_ERROR_BASE_CONFIG,\n value\n });\n }\n bytes.set([n], offset);\n return 1 + offset;\n }\n const hexBytes = new Uint8Array(al);\n for (let i = 0, j = 0; i < al; i++) {\n const c1 = value.charCodeAt(j++);\n const c2 = value.charCodeAt(j++);\n const n1 = charCodeToBase16(c1);\n const n2 = charCodeToBase16(c2);\n if (n1 === void 0 || n2 === void 0 && !Number.isNaN(c2)) {\n throw new SolanaError(SOLANA_ERROR__CODECS__INVALID_STRING_FOR_BASE, {\n ...INVALID_STRING_ERROR_BASE_CONFIG,\n value\n });\n }\n hexBytes[i] = !Number.isNaN(c2) ? n1 << 4 | (n2 ?? 0) : n1;\n }\n bytes.set(hexBytes, offset);\n return hexBytes.length + offset;\n }\n});\nvar getBase16Decoder = () => createDecoder({\n read(bytes, offset) {\n const value = bytes.slice(offset).reduce((str, byte) => str + byte.toString(16).padStart(2, \"0\"), \"\");\n return [value, bytes.length];\n }\n});\nvar getBase16Codec = () => combineCodec(getBase16Encoder(), getBase16Decoder());\n\n// src/base58.ts\nvar alphabet2 = \"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\";\nvar getBase58Encoder = () => getBaseXEncoder(alphabet2);\nvar getBase58Decoder = () => getBaseXDecoder(alphabet2);\nvar getBase58Codec = () => getBaseXCodec(alphabet2);\nvar getBaseXResliceEncoder = (alphabet4, bits) => createEncoder({\n getSizeFromValue: (value) => Math.floor(value.length * bits / 8),\n write(value, bytes, offset) {\n assertValidBaseString(alphabet4, value);\n if (value === \"\") return offset;\n const charIndices = [...value].map((c) => alphabet4.indexOf(c));\n const reslicedBytes = reslice(charIndices, bits, 8, false);\n bytes.set(reslicedBytes, offset);\n return reslicedBytes.length + offset;\n }\n});\nvar getBaseXResliceDecoder = (alphabet4, bits) => createDecoder({\n read(rawBytes, offset = 0) {\n const bytes = offset === 0 || offset <= -rawBytes.byteLength ? rawBytes : rawBytes.slice(offset);\n if (bytes.length === 0) return [\"\", rawBytes.length];\n const charIndices = reslice([...bytes], 8, bits, true);\n return [charIndices.map((i) => alphabet4[i]).join(\"\"), rawBytes.length];\n }\n});\nvar getBaseXResliceCodec = (alphabet4, bits) => combineCodec(getBaseXResliceEncoder(alphabet4, bits), getBaseXResliceDecoder(alphabet4, bits));\nfunction reslice(input, inputBits, outputBits, useRemainder) {\n const output = [];\n let accumulator = 0;\n let bitsInAccumulator = 0;\n const mask = (1 << outputBits) - 1;\n for (const value of input) {\n accumulator = accumulator << inputBits | value;\n bitsInAccumulator += inputBits;\n while (bitsInAccumulator >= outputBits) {\n bitsInAccumulator -= outputBits;\n output.push(accumulator >> bitsInAccumulator & mask);\n }\n }\n if (useRemainder && bitsInAccumulator > 0) {\n output.push(accumulator << outputBits - bitsInAccumulator & mask);\n }\n return output;\n}\n\n// src/base64.ts\nvar alphabet3 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar getBase64Encoder = () => {\n {\n return createEncoder({\n getSizeFromValue: (value) => {\n try {\n return atob(value).length;\n } catch {\n throw new SolanaError(SOLANA_ERROR__CODECS__INVALID_STRING_FOR_BASE, {\n alphabet: alphabet3,\n base: 64,\n value\n });\n }\n },\n write(value, bytes, offset) {\n try {\n const bytesToAdd = atob(value).split(\"\").map((c) => c.charCodeAt(0));\n bytes.set(bytesToAdd, offset);\n return bytesToAdd.length + offset;\n } catch {\n throw new SolanaError(SOLANA_ERROR__CODECS__INVALID_STRING_FOR_BASE, {\n alphabet: alphabet3,\n base: 64,\n value\n });\n }\n }\n });\n }\n};\nvar getBase64Decoder = () => {\n {\n return createDecoder({\n read(bytes, offset = 0) {\n const slice = bytes.slice(offset);\n const value = btoa(String.fromCharCode(...slice));\n return [value, bytes.length];\n }\n });\n }\n};\nvar getBase64Codec = () => combineCodec(getBase64Encoder(), getBase64Decoder());\n\n// src/null-characters.ts\nvar removeNullCharacters = (value) => (\n // eslint-disable-next-line no-control-regex\n value.replace(/\\u0000/g, \"\")\n);\nvar padNullCharacters = (value, chars) => value.padEnd(chars, \"\\0\");\n\n// ../text-encoding-impl/dist/index.browser.mjs\nvar e = globalThis.TextDecoder;\nvar o = globalThis.TextEncoder;\n\n// src/utf8.ts\nvar getUtf8Encoder = () => {\n let textEncoder;\n return createEncoder({\n getSizeFromValue: (value) => (textEncoder ||= new o()).encode(value).length,\n write: (value, bytes, offset) => {\n const bytesToAdd = (textEncoder ||= new o()).encode(value);\n bytes.set(bytesToAdd, offset);\n return offset + bytesToAdd.length;\n }\n });\n};\nvar getUtf8Decoder = () => {\n let textDecoder;\n return createDecoder({\n read(bytes, offset) {\n const value = (textDecoder ||= new e()).decode(bytes.slice(offset));\n return [removeNullCharacters(value), bytes.length];\n }\n });\n};\nvar getUtf8Codec = () => combineCodec(getUtf8Encoder(), getUtf8Decoder());\n\nexport { assertValidBaseString, getBase10Codec, getBase10Decoder, getBase10Encoder, getBase16Codec, getBase16Decoder, getBase16Encoder, getBase58Codec, getBase58Decoder, getBase58Encoder, getBase64Codec, getBase64Decoder, getBase64Encoder, getBaseXCodec, getBaseXDecoder, getBaseXEncoder, getBaseXResliceCodec, getBaseXResliceDecoder, getBaseXResliceEncoder, getUtf8Codec, getUtf8Decoder, getUtf8Encoder, padNullCharacters, removeNullCharacters };\n//# sourceMappingURL=index.browser.mjs.map\n//# sourceMappingURL=index.browser.mjs.map","import { verifyMessageSignature } from './signMessage.js';\nimport { arraysEqual } from './util.js';\n/**\n * TODO: docs\n */\nexport function verifySignIn(input, output) {\n const { signedMessage, signature, account: { publicKey }, } = output;\n const message = deriveSignInMessage(input, output);\n return (!!message && verifyMessageSignature({ message, signedMessage, signature, publicKey: publicKey }));\n}\n/**\n * TODO: docs\n */\nexport function deriveSignInMessage(input, output) {\n const text = deriveSignInMessageText(input, output);\n if (!text)\n return null;\n return new TextEncoder().encode(text);\n}\n/**\n * TODO: docs\n */\nexport function deriveSignInMessageText(input, output) {\n const parsed = parseSignInMessage(output.signedMessage);\n if (!parsed)\n return null;\n if (input.domain && input.domain !== parsed.domain)\n return null;\n if (input.address && input.address !== parsed.address)\n return null;\n if (input.statement !== parsed.statement)\n return null;\n if (input.uri !== parsed.uri)\n return null;\n if (input.version !== parsed.version)\n return null;\n if (input.chainId !== parsed.chainId)\n return null;\n if (input.nonce !== parsed.nonce)\n return null;\n if (input.issuedAt !== parsed.issuedAt)\n return null;\n if (input.expirationTime !== parsed.expirationTime)\n return null;\n if (input.notBefore !== parsed.notBefore)\n return null;\n if (input.requestId !== parsed.requestId)\n return null;\n if (input.resources) {\n if (!parsed.resources)\n return null;\n if (!arraysEqual(input.resources, parsed.resources))\n return null;\n }\n else if (parsed.resources)\n return null;\n return createSignInMessageText(parsed);\n}\n/**\n * TODO: docs\n */\nexport function parseSignInMessage(message) {\n const text = new TextDecoder().decode(message);\n return parseSignInMessageText(text);\n}\n// TODO: implement https://github.com/solana-labs/solana/blob/master/docs/src/proposals/off-chain-message-signing.md\nconst DOMAIN = '(?<domain>[^\\\\n]+?) wants you to sign in with your Solana account:\\\\n';\nconst ADDRESS = '(?<address>[^\\\\n]+)(?:\\\\n|$)';\nconst STATEMENT = '(?:\\\\n(?<statement>[\\\\S\\\\s]*?)(?:\\\\n|$))??';\nconst URI = '(?:\\\\nURI: (?<uri>[^\\\\n]+))?';\nconst VERSION = '(?:\\\\nVersion: (?<version>[^\\\\n]+))?';\nconst CHAIN_ID = '(?:\\\\nChain ID: (?<chainId>[^\\\\n]+))?';\nconst NONCE = '(?:\\\\nNonce: (?<nonce>[^\\\\n]+))?';\nconst ISSUED_AT = '(?:\\\\nIssued At: (?<issuedAt>[^\\\\n]+))?';\nconst EXPIRATION_TIME = '(?:\\\\nExpiration Time: (?<expirationTime>[^\\\\n]+))?';\nconst NOT_BEFORE = '(?:\\\\nNot Before: (?<notBefore>[^\\\\n]+))?';\nconst REQUEST_ID = '(?:\\\\nRequest ID: (?<requestId>[^\\\\n]+))?';\nconst RESOURCES = '(?:\\\\nResources:(?<resources>(?:\\\\n- [^\\\\n]+)*))?';\nconst FIELDS = `${URI}${VERSION}${CHAIN_ID}${NONCE}${ISSUED_AT}${EXPIRATION_TIME}${NOT_BEFORE}${REQUEST_ID}${RESOURCES}`;\nconst MESSAGE = new RegExp(`^${DOMAIN}${ADDRESS}${STATEMENT}${FIELDS}\\\\n*$`);\n/**\n * TODO: docs\n */\nexport function parseSignInMessageText(text) {\n const match = MESSAGE.exec(text);\n if (!match)\n return null;\n const groups = match.groups;\n if (!groups)\n return null;\n return {\n domain: groups.domain,\n address: groups.address,\n statement: groups.statement,\n uri: groups.uri,\n version: groups.version,\n nonce: groups.nonce,\n chainId: groups.chainId,\n issuedAt: groups.issuedAt,\n expirationTime: groups.expirationTime,\n notBefore: groups.notBefore,\n requestId: groups.requestId,\n resources: groups.resources?.split('\\n- ').slice(1),\n };\n}\n/**\n * TODO: docs\n */\nexport function createSignInMessage(input) {\n const text = createSignInMessageText(input);\n return new TextEncoder().encode(text);\n}\n/**\n * TODO: docs\n */\nexport function createSignInMessageText(input) {\n // ${domain} wants you to sign in with your Solana account:\n // ${address}\n //\n // ${statement}\n //\n // URI: ${uri}\n // Version: ${version}\n // Chain ID: ${chain}\n // Nonce: ${nonce}\n // Issued At: ${issued-at}\n // Expiration Time: ${expiration-time}\n // Not Before: ${not-before}\n // Request ID: ${request-id}\n // Resources:\n // - ${resources[0]}\n // - ${resources[1]}\n // ...\n // - ${resources[n]}\n let message = `${input.domain} wants you to sign in with your Solana account:\\n`;\n message += `${input.address}`;\n if (input.statement) {\n message += `\\n\\n${input.statement}`;\n }\n const fields = [];\n if (input.uri) {\n fields.push(`URI: ${input.uri}`);\n }\n if (input.version) {\n fields.push(`Version: ${input.version}`);\n }\n if (input.chainId) {\n fields.push(`Chain ID: ${input.chainId}`);\n }\n if (input.nonce) {\n fields.push(`Nonce: ${input.nonce}`);\n }\n if (input.issuedAt) {\n fields.push(`Issued At: ${input.issuedAt}`);\n }\n if (input.expirationTime) {\n fields.push(`Expiration Time: ${input.expirationTime}`);\n }\n if (input.notBefore) {\n fields.push(`Not Before: ${input.notBefore}`);\n }\n if (input.requestId) {\n fields.push(`Request ID: ${input.requestId}`);\n }\n if (input.resources) {\n fields.push(`Resources:`);\n for (const resource of input.resources) {\n fields.push(`- ${resource}`);\n }\n }\n if (fields.length) {\n message += `\\n\\n${fields.join('\\n')}`;\n }\n return message;\n}\n//# sourceMappingURL=signIn.js.map","import { getBase58Decoder } from \"@solana/codecs-strings\";\nimport { createSignInMessageText } from \"@solana/wallet-standard-util\";\n//#region src/errors.ts\nconst SolanaMobileWalletAdapterErrorCode = {\n\tERROR_ASSOCIATION_PORT_OUT_OF_RANGE: \"ERROR_ASSOCIATION_PORT_OUT_OF_RANGE\",\n\tERROR_REFLECTOR_ID_OUT_OF_RANGE: \"ERROR_REFLECTOR_ID_OUT_OF_RANGE\",\n\tERROR_FORBIDDEN_WALLET_BASE_URL: \"ERROR_FORBIDDEN_WALLET_BASE_URL\",\n\tERROR_SECURE_CONTEXT_REQUIRED: \"ERROR_SECURE_CONTEXT_REQUIRED\",\n\tERROR_SESSION_CLOSED: \"ERROR_SESSION_CLOSED\",\n\tERROR_SESSION_TIMEOUT: \"ERROR_SESSION_TIMEOUT\",\n\tERROR_WALLET_NOT_FOUND: \"ERROR_WALLET_NOT_FOUND\",\n\tERROR_INVALID_PROTOCOL_VERSION: \"ERROR_INVALID_PROTOCOL_VERSION\",\n\tERROR_BROWSER_NOT_SUPPORTED: \"ERROR_BROWSER_NOT_SUPPORTED\",\n\tERROR_LOOPBACK_ACCESS_BLOCKED: \"ERROR_LOOPBACK_ACCESS_BLOCKED\",\n\tERROR_ASSOCIATION_CANCELLED: \"ERROR_ASSOCIATION_CANCELLED\"\n};\nvar SolanaMobileWalletAdapterError = class extends Error {\n\tdata;\n\tcode;\n\tconstructor(...args) {\n\t\tconst [code, message, data] = args;\n\t\tsuper(message);\n\t\tthis.code = code;\n\t\tthis.data = data;\n\t\tthis.name = \"SolanaMobileWalletAdapterError\";\n\t}\n};\nconst SolanaMobileWalletAdapterProtocolErrorCode = {\n\tERROR_AUTHORIZATION_FAILED: -1,\n\tERROR_INVALID_PAYLOADS: -2,\n\tERROR_NOT_SIGNED: -3,\n\tERROR_NOT_SUBMITTED: -4,\n\tERROR_TOO_MANY_PAYLOADS: -5,\n\tERROR_ATTEST_ORIGIN_ANDROID: -100\n};\nvar SolanaMobileWalletAdapterProtocolError = class extends Error {\n\tdata;\n\tcode;\n\tjsonRpcMessageId;\n\tconstructor(...args) {\n\t\tconst [jsonRpcMessageId, code, message, data] = args;\n\t\tsuper(message);\n\t\tthis.code = code;\n\t\tthis.data = data;\n\t\tthis.jsonRpcMessageId = jsonRpcMessageId;\n\t\tthis.name = \"SolanaMobileWalletAdapterProtocolError\";\n\t}\n};\n//#endregion\n//#region src/base64Utils.ts\nfunction encode(input) {\n\treturn window.btoa(input);\n}\nfunction fromUint8Array$1(byteArray, urlsafe) {\n\tconst base64 = window.btoa(String.fromCharCode.call(null, ...byteArray));\n\tif (urlsafe) return base64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n\telse return base64;\n}\nfunction toUint8Array(base64EncodedByteArray) {\n\treturn new Uint8Array(window.atob(base64EncodedByteArray).split(\"\").map((c) => c.charCodeAt(0)));\n}\n//#endregion\n//#region src/createHelloReq.ts\nasync function createHelloReq(ecdhPublicKey, associationKeypairPrivateKey) {\n\tconst publicKeyBuffer = await crypto.subtle.exportKey(\"raw\", ecdhPublicKey);\n\tconst signatureBuffer = await crypto.subtle.sign({\n\t\thash: \"SHA-256\",\n\t\tname: \"ECDSA\"\n\t}, associationKeypairPrivateKey, publicKeyBuffer);\n\tconst response = new Uint8Array(publicKeyBuffer.byteLength + signatureBuffer.byteLength);\n\tresponse.set(new Uint8Array(publicKeyBuffer), 0);\n\tresponse.set(new Uint8Array(signatureBuffer), publicKeyBuffer.byteLength);\n\treturn response;\n}\n//#endregion\n//#region src/base58Utils.ts\nfunction fromUint8Array(byteArray) {\n\treturn getBase58Decoder().decode(byteArray);\n}\nfunction base64ToBase58(base64EncodedString) {\n\treturn fromUint8Array(toUint8Array(base64EncodedString));\n}\n//#endregion\n//#region src/createSIWSMessage.ts\nfunction createSIWSMessage(payload) {\n\treturn createSignInMessageText(payload);\n}\nfunction createSIWSMessageBase64Url(payload) {\n\treturn encode(createSIWSMessage(payload)).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n}\n//#endregion\n//#region src/types.ts\nconst SolanaSignTransactions = \"solana:signTransactions\";\nconst SolanaCloneAuthorization = \"solana:cloneAuthorization\";\nconst SolanaSignInWithSolana = \"solana:signInWithSolana\";\n//#endregion\n//#region src/createMobileWalletProxy.ts\n/**\n* Creates a {@link MobileWallet} proxy that handles backwards compatibility and API to RPC conversion.\n*\n* @param protocolVersion the protocol version in use for this session/request\n* @param protocolRequestHandler callback function that handles sending the RPC request to the wallet endpoint.\n* @returns a {@link MobileWallet} proxy\n*/\nfunction createMobileWalletProxy(protocolVersion, protocolRequestHandler) {\n\treturn new Proxy({}, {\n\t\tget(target, p) {\n\t\t\tif (p === \"then\") return null;\n\t\t\tif (target[p] == null) target[p] = async function(inputParams) {\n\t\t\t\tconst { method, params } = handleMobileWalletRequest(p, inputParams, protocolVersion);\n\t\t\t\tconst result = await protocolRequestHandler(method, params);\n\t\t\t\tif (method === \"authorize\" && params.sign_in_payload && !result.sign_in_result) result.sign_in_result = await signInFallback(params.sign_in_payload, result, protocolRequestHandler);\n\t\t\t\treturn handleMobileWalletResponse(p, result, protocolVersion);\n\t\t\t};\n\t\t\treturn target[p];\n\t\t},\n\t\tdefineProperty() {\n\t\t\treturn false;\n\t\t},\n\t\tdeleteProperty() {\n\t\t\treturn false;\n\t\t}\n\t});\n}\n/**\n* Handles all {@link MobileWallet} API requests and determines the correct MWA RPC method and params to call.\n* This handles backwards compatibility, based on the provided @protocolVersion.\n*\n* @param methodName the name of {@link MobileWallet} method that was called\n* @param methodParams the parameters that were passed to the method\n* @param protocolVersion the protocol version in use for this session/request\n* @returns the RPC request method and params that should be sent to the wallet endpoint\n*/\nfunction handleMobileWalletRequest(methodName, methodParams, protocolVersion) {\n\tlet params = methodParams;\n\tlet method = methodName.toString().replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`).toLowerCase();\n\tswitch (methodName) {\n\t\tcase \"authorize\": {\n\t\t\tconst authorizeParams = params;\n\t\t\tlet { chain } = authorizeParams;\n\t\t\tif (protocolVersion === \"legacy\") {\n\t\t\t\tswitch (chain) {\n\t\t\t\t\tcase \"solana:testnet\":\n\t\t\t\t\t\tchain = \"testnet\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"solana:devnet\":\n\t\t\t\t\t\tchain = \"devnet\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"solana:mainnet\":\n\t\t\t\t\t\tchain = \"mainnet-beta\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault: chain = authorizeParams.cluster;\n\t\t\t\t}\n\t\t\t\tauthorizeParams.cluster = chain;\n\t\t\t\tparams = authorizeParams;\n\t\t\t} else {\n\t\t\t\tswitch (chain) {\n\t\t\t\t\tcase \"testnet\":\n\t\t\t\t\tcase \"devnet\":\n\t\t\t\t\t\tchain = `solana:${chain}`;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"mainnet-beta\":\n\t\t\t\t\t\tchain = \"solana:mainnet\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tauthorizeParams.chain = chain;\n\t\t\t\tparams = authorizeParams;\n\t\t\t}\n\t\t}\n\t\tcase \"reauthorize\": {\n\t\t\tconst { auth_token, identity } = params;\n\t\t\tif (auth_token) switch (protocolVersion) {\n\t\t\t\tcase \"legacy\":\n\t\t\t\t\tmethod = \"reauthorize\";\n\t\t\t\t\tparams = {\n\t\t\t\t\t\tauth_token,\n\t\t\t\t\t\tidentity\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tmethod = \"authorize\";\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn {\n\t\tmethod,\n\t\tparams\n\t};\n}\n/**\n* Handles all {@link MobileWallet} API responses and modifies the response for backwards compatibility, if needed\n*\n* @param method the {@link MobileWallet} method that was called\n* @param response the original response that was returned by the method call\n* @param protocolVersion the protocol version in use for this session/request\n* @returns the possibly modified response\n*/\nfunction handleMobileWalletResponse(method, response, protocolVersion) {\n\tswitch (method) {\n\t\tcase \"getCapabilities\": {\n\t\t\tconst capabilities = response;\n\t\t\tswitch (protocolVersion) {\n\t\t\t\tcase \"legacy\": {\n\t\t\t\t\tconst features = [SolanaSignTransactions];\n\t\t\t\t\tif (capabilities.supports_clone_authorization === true) features.push(SolanaCloneAuthorization);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...capabilities,\n\t\t\t\t\t\tfeatures\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase \"v1\": return {\n\t\t\t\t\t...capabilities,\n\t\t\t\t\tsupports_sign_and_send_transactions: true,\n\t\t\t\t\tsupports_clone_authorization: capabilities.features.includes(SolanaCloneAuthorization)\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\treturn response;\n}\nasync function signInFallback(signInPayload, authorizationResult, protocolRequestHandler) {\n\tconst domain = signInPayload.domain ?? window.location.host;\n\tconst address = authorizationResult.accounts[0].address;\n\tconst siwsMessage = createSIWSMessageBase64Url({\n\t\t...signInPayload,\n\t\tdomain,\n\t\taddress: base64ToBase58(address)\n\t});\n\tconst signedPayload = toUint8Array((await protocolRequestHandler(\"sign_messages\", {\n\t\taddresses: [address],\n\t\tpayloads: [siwsMessage]\n\t})).signed_payloads[0]);\n\tconst signedMessage = fromUint8Array$1(signedPayload.slice(0, signedPayload.length - 64));\n\tconst signature = fromUint8Array$1(signedPayload.slice(signedPayload.length - 64));\n\treturn {\n\t\taddress,\n\t\tsigned_message: signedMessage.length == 0 ? siwsMessage : signedMessage,\n\t\tsignature\n\t};\n}\nfunction createSequenceNumberVector(sequenceNumber) {\n\tif (sequenceNumber >= 4294967296) throw new Error(\"Outbound sequence number overflow. The maximum sequence number is 32-bytes.\");\n\tconst byteArray = /* @__PURE__ */ new ArrayBuffer(4);\n\tnew DataView(byteArray).setUint32(0, sequenceNumber, false);\n\treturn new Uint8Array(byteArray);\n}\n//#endregion\n//#region src/encryptedMessage.ts\nconst INITIALIZATION_VECTOR_BYTES = 12;\nasync function encryptMessage(plaintext, sequenceNumber, sharedSecret) {\n\tconst sequenceNumberVector = createSequenceNumberVector(sequenceNumber);\n\tconst initializationVector = new Uint8Array(INITIALIZATION_VECTOR_BYTES);\n\tcrypto.getRandomValues(initializationVector);\n\tconst ciphertext = await crypto.subtle.encrypt(getAlgorithmParams(sequenceNumberVector, initializationVector), sharedSecret, new TextEncoder().encode(plaintext));\n\tconst response = new Uint8Array(sequenceNumberVector.byteLength + initializationVector.byteLength + ciphertext.byteLength);\n\tresponse.set(new Uint8Array(sequenceNumberVector), 0);\n\tresponse.set(new Uint8Array(initializationVector), sequenceNumberVector.byteLength);\n\tresponse.set(new Uint8Array(ciphertext), sequenceNumberVector.byteLength + initializationVector.byteLength);\n\treturn response;\n}\nasync function decryptMessage(message, sharedSecret) {\n\tconst sequenceNumberVector = message.slice(0, 4);\n\tconst initializationVector = message.slice(4, 4 + INITIALIZATION_VECTOR_BYTES);\n\tconst ciphertext = message.slice(4 + INITIALIZATION_VECTOR_BYTES);\n\tconst plaintextBuffer = await crypto.subtle.decrypt(getAlgorithmParams(sequenceNumberVector, initializationVector), sharedSecret, ciphertext);\n\treturn getUtf8Decoder().decode(plaintextBuffer);\n}\nfunction getAlgorithmParams(sequenceNumber, initializationVector) {\n\treturn {\n\t\tadditionalData: sequenceNumber,\n\t\tiv: initializationVector,\n\t\tname: \"AES-GCM\",\n\t\ttagLength: 128\n\t};\n}\nlet _utf8Decoder;\nfunction getUtf8Decoder() {\n\tif (_utf8Decoder === void 0) _utf8Decoder = new TextDecoder(\"utf-8\");\n\treturn _utf8Decoder;\n}\n//#endregion\n//#region src/generateAssociationKeypair.ts\nasync function generateAssociationKeypair() {\n\treturn await crypto.subtle.generateKey({\n\t\tname: \"ECDSA\",\n\t\tnamedCurve: \"P-256\"\n\t}, false, [\"sign\"]);\n}\n//#endregion\n//#region src/generateECDHKeypair.ts\nasync function generateECDHKeypair() {\n\treturn await crypto.subtle.generateKey({\n\t\tname: \"ECDH\",\n\t\tnamedCurve: \"P-256\"\n\t}, false, [\"deriveKey\", \"deriveBits\"]);\n}\n//#endregion\n//#region src/arrayBufferToBase64String.ts\nfunction arrayBufferToBase64String(buffer) {\n\tlet binary = \"\";\n\tconst bytes = new Uint8Array(buffer);\n\tconst len = bytes.byteLength;\n\tfor (let ii = 0; ii < len; ii++) binary += String.fromCharCode(bytes[ii]);\n\treturn window.btoa(binary);\n}\n//#endregion\n//#region src/associationPort.ts\nfunction getRandomAssociationPort() {\n\treturn assertAssociationPort(49152 + Math.floor(Math.random() * 16384));\n}\nfunction assertAssociationPort(port) {\n\tif (port < 49152 || port > 65535) throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_ASSOCIATION_PORT_OUT_OF_RANGE, `Association port number must be between 49152 and 65535. ${port} given.`, { port });\n\treturn port;\n}\n//#endregion\n//#region src/getStringWithURLUnsafeBase64CharactersReplaced.ts\nfunction getStringWithURLUnsafeCharactersReplaced(unsafeBase64EncodedString) {\n\treturn unsafeBase64EncodedString.replace(/[/+=]/g, (m) => ({\n\t\t\"/\": \"_\",\n\t\t\"+\": \"-\",\n\t\t\"=\": \".\"\n\t})[m]);\n}\n//#endregion\n//#region src/getAssociateAndroidIntentURL.ts\nconst INTENT_NAME = \"solana-wallet\";\nfunction getPathParts(pathString) {\n\treturn pathString.replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n}\nfunction getIntentURL(methodPathname, intentUrlBase) {\n\tlet baseUrl = null;\n\tif (intentUrlBase) {\n\t\ttry {\n\t\t\tbaseUrl = new URL(intentUrlBase);\n\t\t} catch {}\n\t\tif (baseUrl?.protocol !== \"https:\") throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_FORBIDDEN_WALLET_BASE_URL, \"Base URLs supplied by wallets must be valid `https` URLs\");\n\t}\n\tbaseUrl ||= new URL(`${INTENT_NAME}:/`);\n\tconst pathname = methodPathname.startsWith(\"/\") ? methodPathname : [...getPathParts(baseUrl.pathname), ...getPathParts(methodPathname)].join(\"/\");\n\treturn new URL(pathname, baseUrl);\n}\nasync function getAssociateAndroidIntentURL(associationPublicKey, putativePort, associationURLBase, protocolVersions = [\"v1\"]) {\n\tconst associationPort = assertAssociationPort(putativePort);\n\tconst encodedKey = arrayBufferToBase64String(await crypto.subtle.exportKey(\"raw\", associationPublicKey));\n\tconst url = getIntentURL(\"v1/associate/local\", associationURLBase);\n\turl.searchParams.set(\"association\", getStringWithURLUnsafeCharactersReplaced(encodedKey));\n\turl.searchParams.set(\"port\", `${associationPort}`);\n\tprotocolVersions.forEach((version) => {\n\t\turl.searchParams.set(\"v\", version);\n\t});\n\treturn url;\n}\nasync function getRemoteAssociateAndroidIntentURL(associationPublicKey, hostAuthority, reflectorId, associationURLBase, protocolVersions = [\"v1\"]) {\n\tconst encodedKey = arrayBufferToBase64String(await crypto.subtle.exportKey(\"raw\", associationPublicKey));\n\tconst url = getIntentURL(\"v1/associate/remote\", associationURLBase);\n\turl.searchParams.set(\"association\", getStringWithURLUnsafeCharactersReplaced(encodedKey));\n\turl.searchParams.set(\"reflector\", `${hostAuthority}`);\n\turl.searchParams.set(\"id\", `${fromUint8Array$1(reflectorId, true)}`);\n\tprotocolVersions.forEach((version) => {\n\t\turl.searchParams.set(\"v\", version);\n\t});\n\treturn url;\n}\n//#endregion\n//#region src/jsonRpcMessage.ts\nasync function encryptJsonRpcMessage(jsonRpcMessage, sharedSecret) {\n\tconst plaintext = JSON.stringify(jsonRpcMessage);\n\tconst sequenceNumber = jsonRpcMessage.id;\n\treturn encryptMessage(plaintext, sequenceNumber, sharedSecret);\n}\nasync function decryptJsonRpcMessage(message, sharedSecret) {\n\tconst plaintext = await decryptMessage(message, sharedSecret);\n\tconst jsonRpcMessage = JSON.parse(plaintext);\n\tif (Object.hasOwnProperty.call(jsonRpcMessage, \"error\")) throw new SolanaMobileWalletAdapterProtocolError(jsonRpcMessage.id, jsonRpcMessage.error.code, jsonRpcMessage.error.message);\n\treturn jsonRpcMessage;\n}\n//#endregion\n//#region src/parseHelloRsp.ts\nasync function parseHelloRsp(payloadBuffer, associationPublicKey, ecdhPrivateKey) {\n\tconst [associationPublicKeyBuffer, walletPublicKey] = await Promise.all([crypto.subtle.exportKey(\"raw\", associationPublicKey), crypto.subtle.importKey(\"raw\", payloadBuffer.slice(0, 65), {\n\t\tname: \"ECDH\",\n\t\tnamedCurve: \"P-256\"\n\t}, false, [])]);\n\tconst sharedSecret = await crypto.subtle.deriveBits({\n\t\tname: \"ECDH\",\n\t\tpublic: walletPublicKey\n\t}, ecdhPrivateKey, 256);\n\tconst ecdhSecretKey = await crypto.subtle.importKey(\"raw\", sharedSecret, \"HKDF\", false, [\"deriveKey\"]);\n\treturn await crypto.subtle.deriveKey({\n\t\tname: \"HKDF\",\n\t\thash: \"SHA-256\",\n\t\tsalt: new Uint8Array(associationPublicKeyBuffer),\n\t\tinfo: new Uint8Array()\n\t}, ecdhSecretKey, {\n\t\tname: \"AES-GCM\",\n\t\tlength: 128\n\t}, false, [\"encrypt\", \"decrypt\"]);\n}\n//#endregion\n//#region src/parseSessionProps.ts\nasync function parseSessionProps(message, sharedSecret) {\n\tconst plaintext = await decryptMessage(message, sharedSecret);\n\tconst jsonProperties = JSON.parse(plaintext);\n\tlet protocolVersion = \"legacy\";\n\tif (Object.hasOwnProperty.call(jsonProperties, \"v\")) switch (jsonProperties.v) {\n\t\tcase 1:\n\t\tcase \"1\":\n\t\tcase \"v1\":\n\t\t\tprotocolVersion = \"v1\";\n\t\t\tbreak;\n\t\tcase \"legacy\":\n\t\t\tprotocolVersion = \"legacy\";\n\t\t\tbreak;\n\t\tdefault: throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_INVALID_PROTOCOL_VERSION, `Unknown/unsupported protocol version: ${jsonProperties.v}`);\n\t}\n\treturn { protocol_version: protocolVersion };\n}\n//#endregion\n//#region src/startSession.ts\nconst Browser = {\n\tFirefox: 0,\n\tOther: 1\n};\nfunction assertUnreachable(x) {\n\treturn x;\n}\nfunction getBrowser() {\n\treturn navigator.userAgent.indexOf(\"Firefox/\") !== -1 ? Browser.Firefox : Browser.Other;\n}\nfunction getDetectionPromise() {\n\treturn new Promise((resolve, reject) => {\n\t\tfunction cleanup() {\n\t\t\tclearTimeout(timeoutId);\n\t\t\twindow.removeEventListener(\"blur\", handleBlur);\n\t\t}\n\t\tfunction handleBlur() {\n\t\t\tcleanup();\n\t\t\tresolve();\n\t\t}\n\t\twindow.addEventListener(\"blur\", handleBlur);\n\t\tconst timeoutId = setTimeout(() => {\n\t\t\tcleanup();\n\t\t\treject();\n\t\t}, 3e3);\n\t});\n}\nlet _frame = null;\nfunction launchUrlThroughHiddenFrame(url) {\n\tif (_frame == null) {\n\t\t_frame = document.createElement(\"iframe\");\n\t\t_frame.style.display = \"none\";\n\t\tdocument.body.appendChild(_frame);\n\t}\n\t_frame.contentWindow.location.href = url.toString();\n}\nasync function launchAssociation(associationUrl) {\n\tif (associationUrl.protocol === \"https:\") window.location.assign(associationUrl);\n\telse try {\n\t\tconst browser = getBrowser();\n\t\tswitch (browser) {\n\t\t\tcase Browser.Firefox:\n\t\t\t\tlaunchUrlThroughHiddenFrame(associationUrl);\n\t\t\t\tbreak;\n\t\t\tcase Browser.Other: {\n\t\t\t\tconst detectionPromise = getDetectionPromise();\n\t\t\t\twindow.location.assign(associationUrl);\n\t\t\t\tawait detectionPromise;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: assertUnreachable(browser);\n\t\t}\n\t} catch {\n\t\tthrow new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_WALLET_NOT_FOUND, \"Found no installed wallet that supports the mobile wallet protocol.\");\n\t}\n}\nasync function startSession(associationPublicKey, associationURLBase) {\n\tconst randomAssociationPort = getRandomAssociationPort();\n\tawait launchAssociation(await getAssociateAndroidIntentURL(associationPublicKey, randomAssociationPort, associationURLBase));\n\treturn randomAssociationPort;\n}\n//#endregion\n//#region src/transact.ts\nconst WEBSOCKET_CONNECTION_CONFIG = {\n\tretryDelayScheduleMs: [\n\t\t150,\n\t\t150,\n\t\t200,\n\t\t500,\n\t\t500,\n\t\t750,\n\t\t750,\n\t\t1e3\n\t],\n\ttimeoutMs: 3e4\n};\nconst WEBSOCKET_PROTOCOL_BINARY = \"com.solana.mobilewalletadapter.v1\";\nconst WEBSOCKET_PROTOCOL_BASE64 = \"com.solana.mobilewalletadapter.v1.base64\";\nfunction assertSecureContext() {\n\tif (typeof window === \"undefined\" || window.isSecureContext !== true) throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_SECURE_CONTEXT_REQUIRED, \"The mobile wallet adapter protocol must be used in a secure context (`https`).\");\n}\nfunction assertSecureEndpointSpecificURI(walletUriBase) {\n\tlet url;\n\ttry {\n\t\turl = new URL(walletUriBase);\n\t} catch {\n\t\tthrow new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_FORBIDDEN_WALLET_BASE_URL, \"Invalid base URL supplied by wallet\");\n\t}\n\tif (url.protocol !== \"https:\") throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_FORBIDDEN_WALLET_BASE_URL, \"Base URLs supplied by wallets must be valid `https` URLs\");\n}\nfunction getSequenceNumberFromByteArray(byteArray) {\n\treturn new DataView(byteArray).getUint32(0, false);\n}\nfunction decodeVarLong(byteArray) {\n\tconst bytes = new Uint8Array(byteArray);\n\tconst l = byteArray.byteLength;\n\tconst limit = 10;\n\tlet value = 0, offset = 0, b;\n\tdo {\n\t\tif (offset >= l || offset > limit) throw new RangeError(\"Failed to decode varint\");\n\t\tb = bytes[offset++];\n\t\tvalue |= (b & 127) << 7 * offset;\n\t} while (b >= 128);\n\treturn {\n\t\tvalue,\n\t\toffset\n\t};\n}\nfunction getReflectorIdFromByteArray(byteArray) {\n\tconst { value: length, offset } = decodeVarLong(byteArray);\n\treturn new Uint8Array(byteArray.slice(offset, offset + length));\n}\nasync function transact(callback, config) {\n\tconst { wallet, close } = await startScenario(config);\n\ttry {\n\t\treturn await callback(await wallet);\n\t} finally {\n\t\tclose();\n\t}\n}\nasync function startScenario(config) {\n\tassertSecureContext();\n\tconst associationKeypair = await generateAssociationKeypair();\n\tconst websocketURL = `ws://localhost:${await startSession(associationKeypair.publicKey, config?.baseUri)}/solana-wallet`;\n\tlet connectionStartTime;\n\tconst getNextRetryDelayMs = (() => {\n\t\tconst schedule = [...WEBSOCKET_CONNECTION_CONFIG.retryDelayScheduleMs];\n\t\treturn () => schedule.length > 1 ? schedule.shift() : schedule[0];\n\t})();\n\tlet nextJsonRpcMessageId = 1;\n\tlet lastKnownInboundSequenceNumber = 0;\n\tlet state = { __type: \"disconnected\" };\n\tlet socket;\n\tlet sessionEstablished = false;\n\tlet handleForceClose;\n\treturn {\n\t\tclose: () => {\n\t\t\tsocket.close();\n\t\t\thandleForceClose();\n\t\t},\n\t\twallet: new Promise((resolve, reject) => {\n\t\t\tconst jsonRpcResponsePromises = {};\n\t\t\tconst handleOpen = async () => {\n\t\t\t\tif (state.__type !== \"connecting\") {\n\t\t\t\t\tconsole.warn(`Expected adapter state to be \\`connecting\\` at the moment the websocket opens. Got \\`${state.__type}\\`.`);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tsocket.removeEventListener(\"open\", handleOpen);\n\t\t\t\tconst { associationKeypair } = state;\n\t\t\t\tconst ecdhKeypair = await generateECDHKeypair();\n\t\t\t\tsocket.send(await createHelloReq(ecdhKeypair.publicKey, associationKeypair.privateKey));\n\t\t\t\tstate = {\n\t\t\t\t\t__type: \"hello_req_sent\",\n\t\t\t\t\tassociationPublicKey: associationKeypair.publicKey,\n\t\t\t\t\tecdhPrivateKey: ecdhKeypair.privateKey\n\t\t\t\t};\n\t\t\t};\n\t\t\tconst handleClose = (evt) => {\n\t\t\t\tif (evt.wasClean) state = { __type: \"disconnected\" };\n\t\t\t\telse reject(new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_SESSION_CLOSED, `The wallet session dropped unexpectedly (${evt.code}: ${evt.reason}).`, { closeEvent: evt }));\n\t\t\t\tdisposeSocket();\n\t\t\t};\n\t\t\tconst handleError = async (_evt) => {\n\t\t\t\tdisposeSocket();\n\t\t\t\tif (Date.now() - connectionStartTime >= WEBSOCKET_CONNECTION_CONFIG.timeoutMs) reject(new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_SESSION_TIMEOUT, `Failed to connect to the wallet websocket at ${websocketURL}.`));\n\t\t\t\telse {\n\t\t\t\t\tawait new Promise((resolve) => {\n\t\t\t\t\t\tconst retryDelayMs = getNextRetryDelayMs();\n\t\t\t\t\t\tretryWaitTimeoutId = window.setTimeout(resolve, retryDelayMs);\n\t\t\t\t\t});\n\t\t\t\t\tattemptSocketConnection();\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst handleMessage = async (evt) => {\n\t\t\t\tconst responseBuffer = await evt.data.arrayBuffer();\n\t\t\t\tswitch (state.__type) {\n\t\t\t\t\tcase \"connecting\": {\n\t\t\t\t\t\tif (responseBuffer.byteLength !== 0) throw new Error(\"Encountered unexpected message while connecting\");\n\t\t\t\t\t\tconst ecdhKeypair = await generateECDHKeypair();\n\t\t\t\t\t\tsocket.send(await createHelloReq(ecdhKeypair.publicKey, associationKeypair.privateKey));\n\t\t\t\t\t\tstate = {\n\t\t\t\t\t\t\t__type: \"hello_req_sent\",\n\t\t\t\t\t\t\tassociationPublicKey: associationKeypair.publicKey,\n\t\t\t\t\t\t\tecdhPrivateKey: ecdhKeypair.privateKey\n\t\t\t\t\t\t};\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"connected\":\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst sequenceNumber = getSequenceNumberFromByteArray(responseBuffer.slice(0, 4));\n\t\t\t\t\t\t\tif (sequenceNumber !== lastKnownInboundSequenceNumber + 1) throw new Error(\"Encrypted message has invalid sequence number\");\n\t\t\t\t\t\t\tlastKnownInboundSequenceNumber = sequenceNumber;\n\t\t\t\t\t\t\tconst jsonRpcMessage = await decryptJsonRpcMessage(responseBuffer, state.sharedSecret);\n\t\t\t\t\t\t\tconst responsePromise = jsonRpcResponsePromises[jsonRpcMessage.id];\n\t\t\t\t\t\t\tdelete jsonRpcResponsePromises[jsonRpcMessage.id];\n\t\t\t\t\t\t\tresponsePromise.resolve(jsonRpcMessage.result);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tif (e instanceof SolanaMobileWalletAdapterProtocolError) {\n\t\t\t\t\t\t\t\tconst responsePromise = jsonRpcResponsePromises[e.jsonRpcMessageId];\n\t\t\t\t\t\t\t\tdelete jsonRpcResponsePromises[e.jsonRpcMessageId];\n\t\t\t\t\t\t\t\tresponsePromise.reject(e);\n\t\t\t\t\t\t\t} else throw e;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"hello_req_sent\": {\n\t\t\t\t\t\tif (responseBuffer.byteLength === 0) {\n\t\t\t\t\t\t\tconst ecdhKeypair = await generateECDHKeypair();\n\t\t\t\t\t\t\tsocket.send(await createHelloReq(ecdhKeypair.publicKey, associationKeypair.privateKey));\n\t\t\t\t\t\t\tstate = {\n\t\t\t\t\t\t\t\t__type: \"hello_req_sent\",\n\t\t\t\t\t\t\t\tassociationPublicKey: associationKeypair.publicKey,\n\t\t\t\t\t\t\t\tecdhPrivateKey: ecdhKeypair.privateKey\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst sharedSecret = await parseHelloRsp(responseBuffer, state.associationPublicKey, state.ecdhPrivateKey);\n\t\t\t\t\t\tconst sessionPropertiesBuffer = responseBuffer.slice(65);\n\t\t\t\t\t\tconst sessionProperties = sessionPropertiesBuffer.byteLength !== 0 ? await (async () => {\n\t\t\t\t\t\t\tconst sequenceNumber = getSequenceNumberFromByteArray(sessionPropertiesBuffer.slice(0, 4));\n\t\t\t\t\t\t\tif (sequenceNumber !== lastKnownInboundSequenceNumber + 1) throw new Error(\"Encrypted message has invalid sequence number\");\n\t\t\t\t\t\t\tlastKnownInboundSequenceNumber = sequenceNumber;\n\t\t\t\t\t\t\treturn parseSessionProps(sessionPropertiesBuffer, sharedSecret);\n\t\t\t\t\t\t})() : { protocol_version: \"legacy\" };\n\t\t\t\t\t\tstate = {\n\t\t\t\t\t\t\t__type: \"connected\",\n\t\t\t\t\t\t\tsharedSecret,\n\t\t\t\t\t\t\tsessionProperties\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst wallet = createMobileWalletProxy(sessionProperties.protocol_version, async (method, params) => {\n\t\t\t\t\t\t\tconst id = nextJsonRpcMessageId++;\n\t\t\t\t\t\t\tsocket.send(await encryptJsonRpcMessage({\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\t\t\t\tmethod,\n\t\t\t\t\t\t\t\tparams: params ?? {}\n\t\t\t\t\t\t\t}, sharedSecret));\n\t\t\t\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\t\t\t\tjsonRpcResponsePromises[id] = {\n\t\t\t\t\t\t\t\t\tresolve(result) {\n\t\t\t\t\t\t\t\t\t\tswitch (method) {\n\t\t\t\t\t\t\t\t\t\t\tcase \"authorize\":\n\t\t\t\t\t\t\t\t\t\t\tcase \"reauthorize\": {\n\t\t\t\t\t\t\t\t\t\t\t\tconst { wallet_uri_base } = result;\n\t\t\t\t\t\t\t\t\t\t\t\tif (wallet_uri_base != null) try {\n\t\t\t\t\t\t\t\t\t\t\t\t\tassertSecureEndpointSpecificURI(wallet_uri_base);\n\t\t\t\t\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treject(e);\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tresolve(result);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\treject\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsessionEstablished = true;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresolve(wallet);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\treject(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t\thandleForceClose = () => {\n\t\t\t\tsocket.removeEventListener(\"message\", handleMessage);\n\t\t\t\tdisposeSocket();\n\t\t\t\tif (!sessionEstablished) reject(new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_SESSION_CLOSED, `The wallet session was closed before connection.`, { closeEvent: new CloseEvent(\"socket was closed before connection\") }));\n\t\t\t};\n\t\t\tlet disposeSocket;\n\t\t\tlet retryWaitTimeoutId;\n\t\t\tconst attemptSocketConnection = () => {\n\t\t\t\tif (disposeSocket) disposeSocket();\n\t\t\t\tstate = {\n\t\t\t\t\t__type: \"connecting\",\n\t\t\t\t\tassociationKeypair\n\t\t\t\t};\n\t\t\t\tif (connectionStartTime === void 0) connectionStartTime = Date.now();\n\t\t\t\tsocket = new WebSocket(websocketURL, [WEBSOCKET_PROTOCOL_BINARY]);\n\t\t\t\tsocket.addEventListener(\"open\", handleOpen);\n\t\t\t\tsocket.addEventListener(\"close\", handleClose);\n\t\t\t\tsocket.addEventListener(\"error\", handleError);\n\t\t\t\tsocket.addEventListener(\"message\", handleMessage);\n\t\t\t\tdisposeSocket = () => {\n\t\t\t\t\twindow.clearTimeout(retryWaitTimeoutId);\n\t\t\t\t\tsocket.removeEventListener(\"open\", handleOpen);\n\t\t\t\t\tsocket.removeEventListener(\"close\", handleClose);\n\t\t\t\t\tsocket.removeEventListener(\"error\", handleError);\n\t\t\t\t\tsocket.removeEventListener(\"message\", handleMessage);\n\t\t\t\t};\n\t\t\t};\n\t\t\tattemptSocketConnection();\n\t\t})\n\t};\n}\nasync function startRemoteScenario(config) {\n\tassertSecureContext();\n\tconst associationKeypair = await generateAssociationKeypair();\n\tconst websocketURL = `wss://${config?.remoteHostAuthority}/reflect`;\n\tlet connectionStartTime;\n\tconst getNextRetryDelayMs = (() => {\n\t\tconst schedule = [...WEBSOCKET_CONNECTION_CONFIG.retryDelayScheduleMs];\n\t\treturn () => schedule.length > 1 ? schedule.shift() : schedule[0];\n\t})();\n\tlet nextJsonRpcMessageId = 1;\n\tlet lastKnownInboundSequenceNumber = 0;\n\tlet encoding;\n\tlet state = { __type: \"disconnected\" };\n\tlet socket;\n\tlet disposeSocket;\n\tconst decodeBytes = async (evt) => {\n\t\tif (encoding == \"base64\") return toUint8Array(await evt.data).buffer;\n\t\telse return await evt.data.arrayBuffer();\n\t};\n\tconst associationUrl = await new Promise((resolve, reject) => {\n\t\tconst handleOpen = async () => {\n\t\t\tif (state.__type !== \"connecting\") {\n\t\t\t\tconsole.warn(`Expected adapter state to be \\`connecting\\` at the moment the websocket opens. Got \\`${state.__type}\\`.`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (socket.protocol.includes(WEBSOCKET_PROTOCOL_BASE64)) encoding = \"base64\";\n\t\t\telse encoding = \"binary\";\n\t\t\tsocket.removeEventListener(\"open\", handleOpen);\n\t\t};\n\t\tconst handleClose = (evt) => {\n\t\t\tif (evt.wasClean) state = { __type: \"disconnected\" };\n\t\t\telse reject(new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_SESSION_CLOSED, `The wallet session dropped unexpectedly (${evt.code}: ${evt.reason}).`, { closeEvent: evt }));\n\t\t\tdisposeSocket();\n\t\t};\n\t\tconst handleError = async (_evt) => {\n\t\t\tdisposeSocket();\n\t\t\tif (Date.now() - connectionStartTime >= WEBSOCKET_CONNECTION_CONFIG.timeoutMs) reject(new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_SESSION_TIMEOUT, `Failed to connect to the wallet websocket at ${websocketURL}.`));\n\t\t\telse {\n\t\t\t\tawait new Promise((resolve) => {\n\t\t\t\t\tconst retryDelayMs = getNextRetryDelayMs();\n\t\t\t\t\tretryWaitTimeoutId = window.setTimeout(resolve, retryDelayMs);\n\t\t\t\t});\n\t\t\t\tattemptSocketConnection();\n\t\t\t}\n\t\t};\n\t\tconst handleReflectorIdMessage = async (evt) => {\n\t\t\tconst responseBuffer = await decodeBytes(evt);\n\t\t\tif (state.__type === \"connecting\") {\n\t\t\t\tif (responseBuffer.byteLength == 0) throw new Error(\"Encountered unexpected message while connecting\");\n\t\t\t\tconst reflectorId = getReflectorIdFromByteArray(responseBuffer);\n\t\t\t\tstate = {\n\t\t\t\t\t__type: \"reflector_id_received\",\n\t\t\t\t\treflectorId\n\t\t\t\t};\n\t\t\t\tconst associationUrl = await getRemoteAssociateAndroidIntentURL(associationKeypair.publicKey, config.remoteHostAuthority, reflectorId, config?.baseUri);\n\t\t\t\tsocket.removeEventListener(\"message\", handleReflectorIdMessage);\n\t\t\t\tresolve(associationUrl);\n\t\t\t}\n\t\t};\n\t\tlet retryWaitTimeoutId;\n\t\tconst attemptSocketConnection = () => {\n\t\t\tif (disposeSocket) disposeSocket();\n\t\t\tstate = {\n\t\t\t\t__type: \"connecting\",\n\t\t\t\tassociationKeypair\n\t\t\t};\n\t\t\tif (connectionStartTime === void 0) connectionStartTime = Date.now();\n\t\t\tsocket = new WebSocket(websocketURL, [WEBSOCKET_PROTOCOL_BINARY, WEBSOCKET_PROTOCOL_BASE64]);\n\t\t\tsocket.addEventListener(\"open\", handleOpen);\n\t\t\tsocket.addEventListener(\"close\", handleClose);\n\t\t\tsocket.addEventListener(\"error\", handleError);\n\t\t\tsocket.addEventListener(\"message\", handleReflectorIdMessage);\n\t\t\tdisposeSocket = () => {\n\t\t\t\twindow.clearTimeout(retryWaitTimeoutId);\n\t\t\t\tsocket.removeEventListener(\"open\", handleOpen);\n\t\t\t\tsocket.removeEventListener(\"close\", handleClose);\n\t\t\t\tsocket.removeEventListener(\"error\", handleError);\n\t\t\t\tsocket.removeEventListener(\"message\", handleReflectorIdMessage);\n\t\t\t};\n\t\t};\n\t\tattemptSocketConnection();\n\t});\n\tlet sessionEstablished = false;\n\tlet handleClose;\n\treturn {\n\t\tassociationUrl,\n\t\tclose: () => {\n\t\t\tsocket.close();\n\t\t\thandleClose();\n\t\t},\n\t\twallet: new Promise((resolve, reject) => {\n\t\t\tconst jsonRpcResponsePromises = {};\n\t\t\tconst handleMessage = async (evt) => {\n\t\t\t\tconst responseBuffer = await decodeBytes(evt);\n\t\t\t\tswitch (state.__type) {\n\t\t\t\t\tcase \"reflector_id_received\": {\n\t\t\t\t\t\tif (responseBuffer.byteLength !== 0) throw new Error(\"Encountered unexpected message while awaiting reflection\");\n\t\t\t\t\t\tconst ecdhKeypair = await generateECDHKeypair();\n\t\t\t\t\t\tconst binaryMsg = await createHelloReq(ecdhKeypair.publicKey, associationKeypair.privateKey);\n\t\t\t\t\t\tif (encoding == \"base64\") socket.send(fromUint8Array$1(binaryMsg));\n\t\t\t\t\t\telse socket.send(binaryMsg);\n\t\t\t\t\t\tstate = {\n\t\t\t\t\t\t\t__type: \"hello_req_sent\",\n\t\t\t\t\t\t\tassociationPublicKey: associationKeypair.publicKey,\n\t\t\t\t\t\t\tecdhPrivateKey: ecdhKeypair.privateKey\n\t\t\t\t\t\t};\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"connected\":\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst sequenceNumber = getSequenceNumberFromByteArray(responseBuffer.slice(0, 4));\n\t\t\t\t\t\t\tif (sequenceNumber !== lastKnownInboundSequenceNumber + 1) throw new Error(\"Encrypted message has invalid sequence number\");\n\t\t\t\t\t\t\tlastKnownInboundSequenceNumber = sequenceNumber;\n\t\t\t\t\t\t\tconst jsonRpcMessage = await decryptJsonRpcMessage(responseBuffer, state.sharedSecret);\n\t\t\t\t\t\t\tconst responsePromise = jsonRpcResponsePromises[jsonRpcMessage.id];\n\t\t\t\t\t\t\tdelete jsonRpcResponsePromises[jsonRpcMessage.id];\n\t\t\t\t\t\t\tresponsePromise.resolve(jsonRpcMessage.result);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tif (e instanceof SolanaMobileWalletAdapterProtocolError) {\n\t\t\t\t\t\t\t\tconst responsePromise = jsonRpcResponsePromises[e.jsonRpcMessageId];\n\t\t\t\t\t\t\t\tdelete jsonRpcResponsePromises[e.jsonRpcMessageId];\n\t\t\t\t\t\t\t\tresponsePromise.reject(e);\n\t\t\t\t\t\t\t} else throw e;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"hello_req_sent\": {\n\t\t\t\t\t\tconst sharedSecret = await parseHelloRsp(responseBuffer, state.associationPublicKey, state.ecdhPrivateKey);\n\t\t\t\t\t\tconst sessionPropertiesBuffer = responseBuffer.slice(65);\n\t\t\t\t\t\tconst sessionProperties = sessionPropertiesBuffer.byteLength !== 0 ? await (async () => {\n\t\t\t\t\t\t\tconst sequenceNumber = getSequenceNumberFromByteArray(sessionPropertiesBuffer.slice(0, 4));\n\t\t\t\t\t\t\tif (sequenceNumber !== lastKnownInboundSequenceNumber + 1) throw new Error(\"Encrypted message has invalid sequence number\");\n\t\t\t\t\t\t\tlastKnownInboundSequenceNumber = sequenceNumber;\n\t\t\t\t\t\t\treturn parseSessionProps(sessionPropertiesBuffer, sharedSecret);\n\t\t\t\t\t\t})() : { protocol_version: \"legacy\" };\n\t\t\t\t\t\tstate = {\n\t\t\t\t\t\t\t__type: \"connected\",\n\t\t\t\t\t\t\tsharedSecret,\n\t\t\t\t\t\t\tsessionProperties\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst wallet = createMobileWalletProxy(sessionProperties.protocol_version, async (method, params) => {\n\t\t\t\t\t\t\tconst id = nextJsonRpcMessageId++;\n\t\t\t\t\t\t\tconst binaryMsg = await encryptJsonRpcMessage({\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\t\t\t\tmethod,\n\t\t\t\t\t\t\t\tparams: params ?? {}\n\t\t\t\t\t\t\t}, sharedSecret);\n\t\t\t\t\t\t\tif (encoding == \"base64\") socket.send(fromUint8Array$1(binaryMsg));\n\t\t\t\t\t\t\telse socket.send(binaryMsg);\n\t\t\t\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\t\t\t\tjsonRpcResponsePromises[id] = {\n\t\t\t\t\t\t\t\t\tresolve(result) {\n\t\t\t\t\t\t\t\t\t\tswitch (method) {\n\t\t\t\t\t\t\t\t\t\t\tcase \"authorize\":\n\t\t\t\t\t\t\t\t\t\t\tcase \"reauthorize\": {\n\t\t\t\t\t\t\t\t\t\t\t\tconst { wallet_uri_base } = result;\n\t\t\t\t\t\t\t\t\t\t\t\tif (wallet_uri_base != null) try {\n\t\t\t\t\t\t\t\t\t\t\t\t\tassertSecureEndpointSpecificURI(wallet_uri_base);\n\t\t\t\t\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treject(e);\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tresolve(result);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\treject\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsessionEstablished = true;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresolve(wallet);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\treject(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t\tsocket.addEventListener(\"message\", handleMessage);\n\t\t\thandleClose = () => {\n\t\t\t\tsocket.removeEventListener(\"message\", handleMessage);\n\t\t\t\tdisposeSocket();\n\t\t\t\tif (!sessionEstablished) reject(new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_SESSION_CLOSED, `The wallet session was closed before connection.`, { closeEvent: new CloseEvent(\"socket was closed before connection\") }));\n\t\t\t};\n\t\t})\n\t};\n}\n//#endregion\nexport { SolanaCloneAuthorization, SolanaMobileWalletAdapterError, SolanaMobileWalletAdapterErrorCode, SolanaMobileWalletAdapterProtocolError, SolanaMobileWalletAdapterProtocolErrorCode, SolanaSignInWithSolana, SolanaSignTransactions, startRemoteScenario, startScenario, transact };\n\n//# sourceMappingURL=index.browser.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
package/dist/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { H as DEFAULT_TEST_ADDRESS, L as InsufficientBalanceError, M as MockAuthProvider, O as OffchainAuthProvider, P as PhantomWalletProvider, K as PrivyExpoProvider, G as PrivyWalletProvider, R as ReactNativeSessionManager, N as ServerSessionManager, S as SolanaMobileWalletProvider, W as WebSessionManager, z as aggregate, Q as buildSetDocumentsTransaction, T as clearCache, U as closeAllSubscriptions, V as convertRemainingAccounts, y as count, X as createSessionWithPrivy, Y as createSessionWithSignature, C as deserializeTransaction, Z as genAuthNonce, _ as genSolanaMessage, k as get, e as getAuthLoading, j as getAuthProvider, $ as getCachedData, h as getConfig, c as getCurrentUser, p as getFiles, D as getIdToken, a0 as getMany, F as getPlatform, i as init, I as isMobileWalletAvailable, l as login, f as logout, d as onAuthLoadingChanged, o as onAuthStateChanged, a1 as reconnectWithNewAuth, a2 as refreshSession, J as registerMobileWalletAdapter, t as runExpression, u as runExpressionMany, r as runQuery, q as runQueryMany, s as set, n as setFile, m as setMany, E as setPlatform, x as signAndSubmitTransaction, v as signMessage, a3 as signSessionCreateMessage, w as signTransaction, A as subscribe, B as useAuth } from './index-B7yaLhND.esm.js';
|
|
2
2
|
import 'axios';
|
|
3
3
|
import '@solana/web3.js';
|
|
4
4
|
import '@coral-xyz/anchor';
|
package/dist/index.js
CHANGED
|
@@ -9461,17 +9461,17 @@ function requireSrc$1 () {
|
|
|
9461
9461
|
return src$1;
|
|
9462
9462
|
}
|
|
9463
9463
|
|
|
9464
|
-
var bs58$1
|
|
9464
|
+
var bs58$1;
|
|
9465
9465
|
var hasRequiredBs58$1;
|
|
9466
9466
|
|
|
9467
9467
|
function requireBs58$1 () {
|
|
9468
|
-
if (hasRequiredBs58$1) return bs58$1
|
|
9468
|
+
if (hasRequiredBs58$1) return bs58$1;
|
|
9469
9469
|
hasRequiredBs58$1 = 1;
|
|
9470
9470
|
var basex = requireSrc$1();
|
|
9471
9471
|
var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
9472
9472
|
|
|
9473
|
-
bs58$1
|
|
9474
|
-
return bs58$1
|
|
9473
|
+
bs58$1 = basex(ALPHABET);
|
|
9474
|
+
return bs58$1;
|
|
9475
9475
|
}
|
|
9476
9476
|
|
|
9477
9477
|
var bs58Exports$1 = requireBs58$1();
|
|
@@ -12836,15 +12836,15 @@ function clearIncompatibleSession() {
|
|
|
12836
12836
|
// Lazy loaders for web-only providers.
|
|
12837
12837
|
// Using dynamic import() ensures Metro (RN) never resolves these modules.
|
|
12838
12838
|
async function loadPrivyWalletProvider() {
|
|
12839
|
-
const mod = await import('./privy-wallet-provider-
|
|
12839
|
+
const mod = await import('./privy-wallet-provider-CpHAxPcv.esm.js');
|
|
12840
12840
|
return mod.PrivyWalletProvider;
|
|
12841
12841
|
}
|
|
12842
12842
|
async function loadPhantomWalletProvider() {
|
|
12843
|
-
const mod = await import('./phantom-wallet-provider-
|
|
12843
|
+
const mod = await import('./phantom-wallet-provider-fkcFbwPk.esm.js');
|
|
12844
12844
|
return { PhantomWalletProvider: mod.PhantomWalletProvider };
|
|
12845
12845
|
}
|
|
12846
12846
|
async function loadSolanaMobileWalletProvider() {
|
|
12847
|
-
const mod = await import('./solana-mobile-wallet-provider-
|
|
12847
|
+
const mod = await import('./solana-mobile-wallet-provider-DGyWHJVI.esm.js');
|
|
12848
12848
|
return mod.SolanaMobileWalletProvider;
|
|
12849
12849
|
}
|
|
12850
12850
|
async function hotSwapToPrivyProvider(config) {
|
|
@@ -15840,25 +15840,25 @@ function requireSrc () {
|
|
|
15840
15840
|
return src;
|
|
15841
15841
|
}
|
|
15842
15842
|
|
|
15843
|
-
var bs58
|
|
15843
|
+
var bs58;
|
|
15844
15844
|
var hasRequiredBs58;
|
|
15845
15845
|
|
|
15846
15846
|
function requireBs58 () {
|
|
15847
|
-
if (hasRequiredBs58) return bs58
|
|
15847
|
+
if (hasRequiredBs58) return bs58;
|
|
15848
15848
|
hasRequiredBs58 = 1;
|
|
15849
15849
|
var basex = requireSrc();
|
|
15850
15850
|
var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
15851
15851
|
|
|
15852
|
-
bs58
|
|
15853
|
-
return bs58
|
|
15852
|
+
bs58 = basex(ALPHABET);
|
|
15853
|
+
return bs58;
|
|
15854
15854
|
}
|
|
15855
15855
|
|
|
15856
15856
|
var bs58Exports = requireBs58();
|
|
15857
|
-
var
|
|
15857
|
+
var base58 = /*@__PURE__*/getDefaultExportFromCjs$1(bs58Exports);
|
|
15858
15858
|
|
|
15859
15859
|
var index = /*#__PURE__*/_mergeNamespaces({
|
|
15860
15860
|
__proto__: null,
|
|
15861
|
-
default:
|
|
15861
|
+
default: base58
|
|
15862
15862
|
}, [bs58Exports]);
|
|
15863
15863
|
|
|
15864
15864
|
/**
|
|
@@ -16045,7 +16045,7 @@ class PrivyExpoProvider {
|
|
|
16045
16045
|
const wallet = await this.getWalletOrThrow();
|
|
16046
16046
|
const messageBytes = getPlatform().textEncode(message);
|
|
16047
16047
|
const result = await wallet.signMessage(messageBytes);
|
|
16048
|
-
return
|
|
16048
|
+
return base58.encode(result.signature);
|
|
16049
16049
|
}
|
|
16050
16050
|
async signTransaction(transaction) {
|
|
16051
16051
|
await this.ensureReady();
|
|
@@ -16200,5 +16200,5 @@ class PrivyExpoProvider {
|
|
|
16200
16200
|
}
|
|
16201
16201
|
}
|
|
16202
16202
|
|
|
16203
|
-
export {
|
|
16204
|
-
//# sourceMappingURL=index.native-
|
|
16203
|
+
export { ReactNativeSessionManager as $, getAuthProvider as A, get as B, set as C, setMany as D, setFile as E, getFiles as F, runQuery as G, runQueryMany as H, runExpression as I, runExpressionMany as J, signMessage as K, signTransaction as L, signAndSubmitTransaction as M, count as N, aggregate as O, subscribe as P, useAuth as Q, deserializeTransaction as R, SOLANA_MAINNET_RPC_URL as S, getIdToken as T, setPlatform as U, MockAuthProvider as V, WebSessionManager as W, DEFAULT_TEST_ADDRESS as X, OffchainAuthProvider as Y, PrivyExpoProvider as Z, InsufficientBalanceError as _, SOLANA_DEVNET_RPC_URL as a, ServerSessionManager as a0, clearCache as a1, closeAllSubscriptions as a2, getCachedData as a3, getMany as a4, reconnectWithNewAuth as a5, refreshSession as a6, signSessionCreateMessage as a7, buildSetDocumentsTransaction as b, convertRemainingAccounts as c, base58 as d, confirmAndCheckTransaction as e, createSessionWithPrivy as f, getPlatform as g, SURFNET_RPC_URL$1 as h, index as i, detectMobile as j, detectAndroid as k, setAuthLoading as l, genAuthNonce as m, genSolanaMessage as n, createSessionWithSignature as o, getDefaultExportFromCjs$1 as p, init as q, requireBuffer as r, setCurrentUser as s, getCurrentUser as t, onAuthStateChanged as u, onAuthLoadingChanged as v, getAuthLoading as w, login as x, logout as y, getConfig as z };
|
|
16204
|
+
//# sourceMappingURL=index.native-CyEwEeKr.esm.js.map
|