@pooflabs/web 0.0.81-rc5 → 0.0.81

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.
Files changed (81) hide show
  1. package/dist/auth/index.d.ts +10 -1
  2. package/dist/auth/providers/phantom-wallet-provider.d.ts +20 -21
  3. package/dist/global.d.ts +3 -1
  4. package/dist/{index-Fjyk5jYL.js → index-B2WGCssJ.js} +346 -490
  5. package/dist/index-B2WGCssJ.js.map +1 -0
  6. package/dist/{index-DB9nDInp.esm.js → index-CjHbp7Dq.esm.js} +3697 -562
  7. package/dist/index-CjHbp7Dq.esm.js.map +1 -0
  8. package/dist/{index-D_ta2S2c.js → index-DXPkkq81.js} +3698 -563
  9. package/dist/index-DXPkkq81.js.map +1 -0
  10. package/dist/{index-Bg_ApFIo.js → index-D_DiP8XQ.js} +3698 -563
  11. package/dist/index-D_DiP8XQ.js.map +1 -0
  12. package/dist/{index-CZhJBWap.esm.js → index-dcJIjFrs.esm.js} +3697 -562
  13. package/dist/index-dcJIjFrs.esm.js.map +1 -0
  14. package/dist/{index-Bkr4BRoP.esm.js → index-nt_HQVrk.esm.js} +344 -490
  15. package/dist/index-nt_HQVrk.esm.js.map +1 -0
  16. package/dist/{index.browser-iqs5DlRU.esm.js → index.browser-BNdFfyIg.esm.js} +1571 -1368
  17. package/dist/index.browser-BNdFfyIg.esm.js.map +1 -0
  18. package/dist/{index.browser-DHi7UhqF.js → index.browser-CT6PUv9G.js} +1571 -1368
  19. package/dist/index.browser-CT6PUv9G.js.map +1 -0
  20. package/dist/index.browser-Cy21yaX0.esm.js +1096 -0
  21. package/dist/index.browser-Cy21yaX0.esm.js.map +1 -0
  22. package/dist/index.browser-OvGNsMPu.esm.js +1002 -0
  23. package/dist/index.browser-OvGNsMPu.esm.js.map +1 -0
  24. package/dist/index.browser-ZD7Tz2bn.js +1099 -0
  25. package/dist/index.browser-ZD7Tz2bn.js.map +1 -0
  26. package/dist/index.browser-d0PlOXpF.js +105 -0
  27. package/dist/index.browser-d0PlOXpF.js.map +1 -0
  28. package/dist/index.browser-pE1s68e9.esm.js +102 -0
  29. package/dist/index.browser-pE1s68e9.esm.js.map +1 -0
  30. package/dist/index.browser-vuTr40so.js +1008 -0
  31. package/dist/index.browser-vuTr40so.js.map +1 -0
  32. package/dist/index.d.ts +1 -0
  33. package/dist/index.esm.js +1 -1
  34. package/dist/index.js +1 -1
  35. package/dist/{index.native-DYgJWWY4.esm.js → index.native-BqYr--vb.esm.js} +202 -178
  36. package/dist/index.native-BqYr--vb.esm.js.map +1 -0
  37. package/dist/{index.native-DJWuqJTZ.js → index.native-CyA-RdvW.js} +204 -178
  38. package/dist/index.native-CyA-RdvW.js.map +1 -0
  39. package/dist/index.native.esm.js +1 -1
  40. package/dist/index.native.js +1 -1
  41. package/dist/{phantom-wallet-provider-fofd8BMo.js → phantom-wallet-provider-DWCaMkyz.js} +147 -238
  42. package/dist/phantom-wallet-provider-DWCaMkyz.js.map +1 -0
  43. package/dist/{phantom-wallet-provider-DSFGWSOJ.esm.js → phantom-wallet-provider-K2V96G-G.esm.js} +147 -238
  44. package/dist/phantom-wallet-provider-K2V96G-G.esm.js.map +1 -0
  45. package/dist/{privy-wallet-provider-Csv34Kcc.js → privy-wallet-provider-BMg_S_d0.js} +4 -4
  46. package/dist/privy-wallet-provider-BMg_S_d0.js.map +1 -0
  47. package/dist/{privy-wallet-provider-TRToDe4Q.esm.js → privy-wallet-provider-DoX8q99w.esm.js} +4 -4
  48. package/dist/privy-wallet-provider-DoX8q99w.esm.js.map +1 -0
  49. package/dist/{solana-mobile-wallet-provider-L7nRuxhv.esm.js → solana-mobile-wallet-provider-Cmphb3oB.esm.js} +3 -82
  50. package/dist/solana-mobile-wallet-provider-Cmphb3oB.esm.js.map +1 -0
  51. package/dist/{solana-mobile-wallet-provider-Cp65LfNb.js → solana-mobile-wallet-provider-t22Ie8lY.js} +3 -82
  52. package/dist/solana-mobile-wallet-provider-t22Ie8lY.js.map +1 -0
  53. package/package.json +3 -3
  54. package/dist/index-Bg_ApFIo.js.map +0 -1
  55. package/dist/index-Bkr4BRoP.esm.js.map +0 -1
  56. package/dist/index-CZhJBWap.esm.js.map +0 -1
  57. package/dist/index-DB9nDInp.esm.js.map +0 -1
  58. package/dist/index-D_ta2S2c.js.map +0 -1
  59. package/dist/index-Fjyk5jYL.js.map +0 -1
  60. package/dist/index.browser-BTlliHCf.esm.js +0 -119
  61. package/dist/index.browser-BTlliHCf.esm.js.map +0 -1
  62. package/dist/index.browser-C-_FEr5M.esm.js +0 -1134
  63. package/dist/index.browser-C-_FEr5M.esm.js.map +0 -1
  64. package/dist/index.browser-DHi7UhqF.js.map +0 -1
  65. package/dist/index.browser-DRTQuf0J.js +0 -1253
  66. package/dist/index.browser-DRTQuf0J.js.map +0 -1
  67. package/dist/index.browser-Disp7Kcb.esm.js +0 -1250
  68. package/dist/index.browser-Disp7Kcb.esm.js.map +0 -1
  69. package/dist/index.browser-DjEZSiqI.js +0 -1137
  70. package/dist/index.browser-DjEZSiqI.js.map +0 -1
  71. package/dist/index.browser-DvTeEO2r.js +0 -122
  72. package/dist/index.browser-DvTeEO2r.js.map +0 -1
  73. package/dist/index.browser-iqs5DlRU.esm.js.map +0 -1
  74. package/dist/index.native-DJWuqJTZ.js.map +0 -1
  75. package/dist/index.native-DYgJWWY4.esm.js.map +0 -1
  76. package/dist/phantom-wallet-provider-DSFGWSOJ.esm.js.map +0 -1
  77. package/dist/phantom-wallet-provider-fofd8BMo.js.map +0 -1
  78. package/dist/privy-wallet-provider-Csv34Kcc.js.map +0 -1
  79. package/dist/privy-wallet-provider-TRToDe4Q.esm.js.map +0 -1
  80. package/dist/solana-mobile-wallet-provider-Cp65LfNb.js.map +0 -1
  81. package/dist/solana-mobile-wallet-provider-L7nRuxhv.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.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { init, getCurrentUser, onAuthStateChanged, onAuthLoadingChanged, getAuthLoading, login, logout, } from "./global";
2
+ export type { LoginOptions } from "./global";
2
3
  export { getConfig } from "@pooflabs/core";
3
4
  export { getAuthProvider } from "./auth";
4
5
  export { get, set, setMany, setFile, getFiles, runQuery, runQueryMany, runExpression, runExpressionMany, signMessage, signTransaction, signAndSubmitTransaction, count, aggregate, GetOptions, SetOptions, CountOptions, AggregateOptions, AggregateOperation, AggregateResult, } from "@pooflabs/core";
package/dist/index.esm.js CHANGED
@@ -1,4 +1,4 @@
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-Bkr4BRoP.esm.js';
1
+ export { J as DEFAULT_TEST_ADDRESS, Q as InsufficientBalanceError, M as MockAuthProvider, O as OffchainAuthProvider, P as PhantomWalletProvider, N as PrivyExpoProvider, I as PrivyWalletProvider, R as ReactNativeSessionManager, T as ServerSessionManager, S as SolanaMobileWalletProvider, W as WebSessionManager, B as aggregate, U as buildSetDocumentsTransaction, V as clearCache, X as closeAllSubscriptions, Y as convertRemainingAccounts, A as count, Z as createSessionWithPrivy, _ as createSessionWithSignature, E as deserializeTransaction, $ as genAuthNonce, a0 as genSolanaMessage, m as get, f as getAuthLoading, k as getAuthProvider, a1 as getCachedData, j as getConfig, d as getCurrentUser, q as getFiles, F as getIdToken, a2 as getMany, H as getPlatform, i as init, K as isMobileWalletAvailable, l as login, h as logout, e as onAuthLoadingChanged, o as onAuthStateChanged, a3 as reconnectWithNewAuth, a4 as refreshSession, L as registerMobileWalletAdapter, v as runExpression, w as runExpressionMany, t as runQuery, u as runQueryMany, s as set, p as setFile, n as setMany, G as setPlatform, z as signAndSubmitTransaction, x as signMessage, a5 as signSessionCreateMessage, y as signTransaction, C as subscribe, D as useAuth } from './index-nt_HQVrk.esm.js';
2
2
  import 'axios';
3
3
  import '@solana/web3.js';
4
4
  import '@coral-xyz/anchor';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Fjyk5jYL.js');
3
+ var index = require('./index-B2WGCssJ.js');
4
4
  require('axios');
5
5
  require('@solana/web3.js');
6
6
  require('@coral-xyz/anchor');