@bounded-sh/client 0.0.1 → 0.0.3

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 (66) hide show
  1. package/dist/auth/providers/phantom-wallet-provider.d.ts +1 -1
  2. package/dist/auth/providers/privy-expo-provider.d.ts +1 -1
  3. package/dist/auth/providers/solana-mobile-wallet-provider.d.ts +3 -3
  4. package/dist/{index-VGx-869x.js → index-2UpSvA7V.js} +2586 -124
  5. package/dist/index-2UpSvA7V.js.map +1 -0
  6. package/dist/{index-C1VOdmRN.js → index-C2JpxGAC.js} +1202 -450
  7. package/dist/index-C2JpxGAC.js.map +1 -0
  8. package/dist/{index-CT2j1oic.esm.js → index-C2yvle9S.esm.js} +1202 -450
  9. package/dist/index-C2yvle9S.esm.js.map +1 -0
  10. package/dist/{index-sKqrgk0t.js → index-CYVVTWs4.js} +1202 -450
  11. package/dist/index-CYVVTWs4.js.map +1 -0
  12. package/dist/{index-BHTfW8CV.esm.js → index-DJg-Dduo.esm.js} +1202 -450
  13. package/dist/index-DJg-Dduo.esm.js.map +1 -0
  14. package/dist/{index-o5Hv9pfS.esm.js → index-DyfiK3_X.esm.js} +2585 -124
  15. package/dist/index-DyfiK3_X.esm.js.map +1 -0
  16. package/dist/{index.browser-BJZ7fYwv.js → index.browser-BTJZmhY1.js} +766 -773
  17. package/dist/index.browser-BTJZmhY1.js.map +1 -0
  18. package/dist/{index.browser-DaNhOhkQ.esm.js → index.browser-C_TToxuO.esm.js} +230 -242
  19. package/dist/index.browser-C_TToxuO.esm.js.map +1 -0
  20. package/dist/{index.browser-utVKQsEC.js → index.browser-DcHalmEf.js} +230 -242
  21. package/dist/index.browser-DcHalmEf.js.map +1 -0
  22. package/dist/{index.browser-DhAcjdpV.esm.js → index.browser-pymH6o1X.esm.js} +766 -773
  23. package/dist/index.browser-pymH6o1X.esm.js.map +1 -0
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.esm.js +1 -1
  26. package/dist/index.js +2 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/{index.native-JPUkdHJj.esm.js → index.native-BTjBgNiE.esm.js} +2556 -95
  29. package/dist/index.native-BTjBgNiE.esm.js.map +1 -0
  30. package/dist/{index.native-B5IBOdv_.js → index.native-BvsmNFXn.js} +2557 -95
  31. package/dist/index.native-BvsmNFXn.js.map +1 -0
  32. package/dist/index.native.d.ts +1 -1
  33. package/dist/index.native.esm.js +1 -1
  34. package/dist/index.native.js +2 -1
  35. package/dist/index.native.js.map +1 -1
  36. package/dist/{phantom-wallet-provider-CDLyxrih.js → phantom-wallet-provider-BXMvoOrI.js} +10 -10
  37. package/dist/phantom-wallet-provider-BXMvoOrI.js.map +1 -0
  38. package/dist/{phantom-wallet-provider-DMlaSrAl.esm.js → phantom-wallet-provider-CTossIFB.esm.js} +10 -10
  39. package/dist/phantom-wallet-provider-CTossIFB.esm.js.map +1 -0
  40. package/dist/{privy-wallet-provider-nR52lXzI.esm.js → privy-wallet-provider-1qE_f-DF.esm.js} +6 -6
  41. package/dist/privy-wallet-provider-1qE_f-DF.esm.js.map +1 -0
  42. package/dist/{privy-wallet-provider-DiHHTDbZ.js → privy-wallet-provider-D64DJ3u4.js} +6 -6
  43. package/dist/privy-wallet-provider-D64DJ3u4.js.map +1 -0
  44. package/dist/{solana-mobile-wallet-provider-B4CeMMQd.esm.js → solana-mobile-wallet-provider-9M8U6AA7.esm.js} +22 -22
  45. package/dist/solana-mobile-wallet-provider-9M8U6AA7.esm.js.map +1 -0
  46. package/dist/{solana-mobile-wallet-provider-BYMfFjZb.js → solana-mobile-wallet-provider-C1wQ1DRK.js} +22 -22
  47. package/dist/solana-mobile-wallet-provider-C1wQ1DRK.js.map +1 -0
  48. package/package.json +2 -2
  49. package/dist/index-BHTfW8CV.esm.js.map +0 -1
  50. package/dist/index-C1VOdmRN.js.map +0 -1
  51. package/dist/index-CT2j1oic.esm.js.map +0 -1
  52. package/dist/index-VGx-869x.js.map +0 -1
  53. package/dist/index-o5Hv9pfS.esm.js.map +0 -1
  54. package/dist/index-sKqrgk0t.js.map +0 -1
  55. package/dist/index.browser-BJZ7fYwv.js.map +0 -1
  56. package/dist/index.browser-DaNhOhkQ.esm.js.map +0 -1
  57. package/dist/index.browser-DhAcjdpV.esm.js.map +0 -1
  58. package/dist/index.browser-utVKQsEC.js.map +0 -1
  59. package/dist/index.native-B5IBOdv_.js.map +0 -1
  60. package/dist/index.native-JPUkdHJj.esm.js.map +0 -1
  61. package/dist/phantom-wallet-provider-CDLyxrih.js.map +0 -1
  62. package/dist/phantom-wallet-provider-DMlaSrAl.esm.js.map +0 -1
  63. package/dist/privy-wallet-provider-DiHHTDbZ.js.map +0 -1
  64. package/dist/privy-wallet-provider-nR52lXzI.esm.js.map +0 -1
  65. package/dist/solana-mobile-wallet-provider-B4CeMMQd.esm.js.map +0 -1
  66. package/dist/solana-mobile-wallet-provider-BYMfFjZb.js.map +0 -1
@@ -1,11 +1,10 @@
1
1
  'use strict';
2
2
 
3
+ var encoding = require('@solana-mobile/mobile-wallet-adapter-protocol/encoding');
3
4
  var mobileWalletAdapterProtocol = require('@solana-mobile/mobile-wallet-adapter-protocol');
4
- var index_native = require('./index.native-B5IBOdv_.js');
5
- require('axios');
6
- require('@solana/web3.js');
7
- require('@coral-xyz/anchor');
8
- require('react');
5
+
6
+ /** Solana Mainnet (beta) cluster, e.g. https://api.mainnet-beta.solana.com */
7
+ const SOLANA_MAINNET_CHAIN = 'solana:mainnet';
9
8
 
10
9
  /** Name of the feature. */
11
10
  const SolanaSignAndSendTransaction = 'solana:signAndSendTransaction';
@@ -3099,169 +3098,58 @@ function requireBrowser () {
3099
3098
 
3100
3099
  requireBrowser();
3101
3100
 
3102
- /** Solana Mainnet (beta) cluster, e.g. https://api.mainnet-beta.solana.com */
3103
- const SOLANA_MAINNET_CHAIN = 'solana:mainnet';
3104
-
3105
- //#region src/base64Utils.ts
3106
- function fromUint8Array(byteArray) {
3107
- return window.btoa(String.fromCharCode.call(null, ...byteArray));
3108
- }
3109
- function toUint8Array(base64EncodedByteArray) {
3110
- return new Uint8Array(window.atob(base64EncodedByteArray).split("").map((c) => c.charCodeAt(0)));
3101
+ //#region src/createDefaultAuthorizationCache.ts
3102
+ const CACHE_KEY = "SolanaMobileWalletAdapterDefaultAuthorizationCache";
3103
+ function createDefaultAuthorizationCache() {
3104
+ let storage;
3105
+ try {
3106
+ storage = window.localStorage;
3107
+ } catch {}
3108
+ return {
3109
+ async clear() {
3110
+ if (!storage) return;
3111
+ try {
3112
+ storage.removeItem(CACHE_KEY);
3113
+ } catch {}
3114
+ },
3115
+ async get() {
3116
+ if (!storage) return;
3117
+ try {
3118
+ const parsed = JSON.parse(storage.getItem(CACHE_KEY));
3119
+ if (parsed && parsed.accounts) {
3120
+ const parsedAccounts = parsed.accounts.map((account) => {
3121
+ return {
3122
+ ...account,
3123
+ publicKey: "publicKey" in account ? new Uint8Array(Object.values(account.publicKey)) : encoding.base58ToUint8Array(account.address)
3124
+ };
3125
+ });
3126
+ return {
3127
+ ...parsed,
3128
+ accounts: parsedAccounts
3129
+ };
3130
+ } else return parsed || void 0;
3131
+ } catch {}
3132
+ },
3133
+ async set(authorization) {
3134
+ if (!storage) return;
3135
+ try {
3136
+ storage.setItem(CACHE_KEY, JSON.stringify(authorization));
3137
+ } catch {}
3138
+ }
3139
+ };
3111
3140
  }
3112
3141
  //#endregion
3113
- //#region src/embedded-modal/loadingSpinner.ts
3114
- const modalHtml$1 = `
3115
- <div class="mobile-wallet-adapter-embedded-loading-indicator" role="dialog" aria-modal="true" aria-labelledby="modal-title">
3116
- <div data-modal-close style="position: absolute; width: 100%; height: 100%;"></div>
3117
- <div class="mobile-wallet-adapter-embedded-loading-container">
3118
- <div class="mobile-wallet-adapter-embedded-loading-animation"></div>
3119
- </div>
3120
- </div>
3121
- `;
3122
- const css$6 = `
3123
- .mobile-wallet-adapter-embedded-loading-indicator {
3124
- display: flex; /* Use flexbox to center content */
3125
- justify-content: center; /* Center horizontally */
3126
- align-items: start; /* Center vertically */
3127
- position: fixed; /* Stay in place */
3128
- z-index: 1; /* Sit on top */
3129
- left: 0;
3130
- top: 0;
3131
- width: 100%; /* Full width */
3132
- height: 100%; /* Full height */
3133
- background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
3134
- overflow-y: auto; /* enable scrolling */
3135
- }
3136
-
3137
- .mobile-wallet-adapter-embedded-loading-container {
3138
- display: flex;
3139
- margin: auto;
3140
- }
3141
-
3142
- .mobile-wallet-adapter-embedded-loading-animation {
3143
- position: relative;
3144
- left: -9999px;
3145
- width: 10px;
3146
- height: 10px;
3147
- border-radius: 5px;
3148
- background-color: var(--spinner-color);
3149
- color: var(--spinner-color);
3150
- box-shadow: 9984px 0 0 0 var(--spinner-color),
3151
- 9999px 0 0 0 var(--spinner-color),
3152
- 10014px 0 0 0 var(--spinner-color);
3153
- animation: dot-typing 1.5s infinite linear;
3154
- }
3155
-
3156
- @keyframes dot-typing {
3157
- 0% {
3158
- box-shadow: 9984px 0 0 0 var(--spinner-color),
3159
- 9999px 0 0 0 var(--spinner-color),
3160
- 10014px 0 0 0 var(--spinner-color);
3161
- }
3162
- 16.667% {
3163
- box-shadow: 9984px -10px 0 0 var(--spinner-color),
3164
- 9999px 0 0 0 var(--spinner-color),
3165
- 10014px 0 0 0 var(--spinner-color);
3166
- }
3167
- 33.333% {
3168
- box-shadow: 9984px 0 0 0 var(--spinner-color),
3169
- 9999px 0 0 0 var(--spinner-color),
3170
- 10014px 0 0 0 var(--spinner-color);
3171
- }
3172
- 50% {
3173
- box-shadow: 9984px 0 0 0 var(--spinner-color),
3174
- 9999px -10px 0 0 var(--spinner-color),
3175
- 10014px 0 0 0 var(--spinner-color);
3176
- }
3177
- 66.667% {
3178
- box-shadow: 9984px 0 0 0 var(--spinner-color),
3179
- 9999px 0 0 0 var(--spinner-color),
3180
- 10014px 0 0 0 var(--spinner-color);
3181
- }
3182
- 83.333% {
3183
- box-shadow: 9984px 0 0 0 var(--spinner-color),
3184
- 9999px 0 0 0 var(--spinner-color),
3185
- 10014px -10px 0 0 var(--spinner-color);
3186
- }
3187
- 100% {
3188
- box-shadow: 9984px 0 0 0 var(--spinner-color),
3189
- 9999px 0 0 0 var(--spinner-color),
3190
- 10014px 0 0 0 var(--spinner-color);
3191
- }
3142
+ //#region src/createDefaultChainSelector.ts
3143
+ function createDefaultChainSelector() {
3144
+ return { async select(chains) {
3145
+ if (chains.length === 1) return chains[0];
3146
+ else if (chains.includes(SOLANA_MAINNET_CHAIN)) return SOLANA_MAINNET_CHAIN;
3147
+ else return chains[0];
3148
+ } };
3192
3149
  }
3193
- `;
3194
- var EmbeddedLoadingSpinner = class {
3195
- #root = null;
3196
- #eventListeners = {};
3197
- #listenersAttached = false;
3198
- dom = null;
3199
- constructor() {
3200
- this.init = this.init.bind(this);
3201
- this.#root = document.getElementById("mobile-wallet-adapter-embedded-root-ui");
3202
- }
3203
- async init() {
3204
- console.log("Injecting modal");
3205
- this.#injectHTML();
3206
- }
3207
- open = () => {
3208
- console.debug("Modal open");
3209
- this.#attachEventListeners();
3210
- if (this.#root) this.#root.style.display = "flex";
3211
- };
3212
- close = (event = void 0) => {
3213
- console.debug("Modal close");
3214
- this.#removeEventListeners();
3215
- if (this.#root) this.#root.style.display = "none";
3216
- this.#eventListeners["close"]?.forEach((listener) => listener(event));
3217
- };
3218
- addEventListener(event, listener) {
3219
- this.#eventListeners[event]?.push(listener) || (this.#eventListeners[event] = [listener]);
3220
- return () => this.removeEventListener(event, listener);
3221
- }
3222
- removeEventListener(event, listener) {
3223
- this.#eventListeners[event] = this.#eventListeners[event]?.filter((existingListener) => listener !== existingListener);
3224
- }
3225
- #injectHTML() {
3226
- if (this.dom) return;
3227
- this.#root = document.createElement("div");
3228
- this.#root.id = "mobile-wallet-adapter-embedded-root-ui";
3229
- this.#root.innerHTML = modalHtml$1;
3230
- this.#root.style.display = "none";
3231
- const styles = document.createElement("style");
3232
- styles.id = "mobile-wallet-adapter-embedded-modal-styles";
3233
- styles.textContent = css$6;
3234
- const host = document.createElement("div");
3235
- this.dom = host.attachShadow({ mode: "closed" });
3236
- host.style.setProperty("--spinner-color", "#FFFFFF");
3237
- this.dom.appendChild(styles);
3238
- this.dom.appendChild(this.#root);
3239
- document.body.appendChild(host);
3240
- }
3241
- #attachEventListeners() {
3242
- if (!this.#root || this.#listenersAttached) return;
3243
- [...this.#root.querySelectorAll("[data-modal-close]")].forEach((closer) => closer?.addEventListener("click", (event) => {
3244
- this.close(event);
3245
- }));
3246
- window.addEventListener("load", this.close);
3247
- document.addEventListener("keydown", this.#handleKeyDown);
3248
- this.#listenersAttached = true;
3249
- }
3250
- #removeEventListeners() {
3251
- if (!this.#listenersAttached) return;
3252
- window.removeEventListener("load", this.close);
3253
- document.removeEventListener("keydown", this.#handleKeyDown);
3254
- if (!this.#root) return;
3255
- [...this.#root.querySelectorAll("[data-modal-close]")].forEach((closer) => closer?.removeEventListener("click", this.close));
3256
- this.#listenersAttached = false;
3257
- }
3258
- #handleKeyDown = (event) => {
3259
- if (event.key === "Escape") this.close(event);
3260
- };
3261
- };
3262
3150
  //#endregion
3263
3151
  //#region src/embedded-modal/modal.ts
3264
- const modalHtml = `
3152
+ const modalHtml$1 = `
3265
3153
  <div class="mobile-wallet-adapter-embedded-modal-container" role="dialog" aria-modal="true" aria-labelledby="modal-title">
3266
3154
  <div data-modal-close style="position: absolute; width: 100%; height: 100%;"></div>
3267
3155
  <div class="mobile-wallet-adapter-embedded-modal-card">
@@ -3276,7 +3164,7 @@ const modalHtml = `
3276
3164
  </div>
3277
3165
  </div>
3278
3166
  `;
3279
- const css$5 = `
3167
+ const css$6 = `
3280
3168
  .mobile-wallet-adapter-embedded-modal-container {
3281
3169
  display: flex; /* Use flexbox to center content */
3282
3170
  justify-content: center; /* Center horizontally */
@@ -3376,13 +3264,13 @@ var EmbeddedModal = class {
3376
3264
  }
3377
3265
  this.#root = document.createElement("div");
3378
3266
  this.#root.id = "mobile-wallet-adapter-embedded-root-ui";
3379
- this.#root.innerHTML = modalHtml;
3267
+ this.#root.innerHTML = modalHtml$1;
3380
3268
  this.#root.style.display = "none";
3381
3269
  const content = this.#root.querySelector(".mobile-wallet-adapter-embedded-modal-content");
3382
3270
  if (content) content.innerHTML = this.contentHtml;
3383
3271
  const styles = document.createElement("style");
3384
3272
  styles.id = "mobile-wallet-adapter-embedded-modal-styles";
3385
- styles.textContent = css$5 + this.contentStyles;
3273
+ styles.textContent = css$6 + this.contentStyles;
3386
3274
  const host = document.createElement("div");
3387
3275
  host.innerHTML = fonts;
3388
3276
  this.dom = host.attachShadow({ mode: "closed" });
@@ -3412,8 +3300,8 @@ var EmbeddedModal = class {
3412
3300
  //#endregion
3413
3301
  //#region src/embedded-modal/localConnectionModal.ts
3414
3302
  var LocalConnectionModal = class extends EmbeddedModal {
3415
- contentStyles = css$3;
3416
- contentHtml = ErrorDialogHtml$3;
3303
+ contentStyles = css$4;
3304
+ contentHtml = ErrorDialogHtml$2;
3417
3305
  initWithCallback(callback) {
3418
3306
  super.init();
3419
3307
  this.#prepareLaunchAction(callback);
@@ -3428,7 +3316,7 @@ var LocalConnectionModal = class extends EmbeddedModal {
3428
3316
  launchButton?.addEventListener("click", listener);
3429
3317
  }
3430
3318
  };
3431
- const ErrorDialogHtml$3 = `
3319
+ const ErrorDialogHtml$2 = `
3432
3320
  <svg class="mobile-wallet-adapter-embedded-modal-launch-icon" width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
3433
3321
  <path d="M21.6 48C7.2 48 0 40.8 0 26.4V21.6C0 7.2 7.2 0 21.6 0H26.4C40.8 0 48 7.2 48 21.6V26.4C48 40.8 40.8 48 26.4 48H21.6Z" fill="#15994E"/>
3434
3322
  <mask id="mask0_189_522" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="8" y="8" width="32" height="32">
@@ -3450,7 +3338,7 @@ const ErrorDialogHtml$3 = `
3450
3338
  </button>
3451
3339
  </div>
3452
3340
  `;
3453
- const css$3 = `
3341
+ const css$4 = `
3454
3342
  .mobile-wallet-adapter-embedded-modal-close {
3455
3343
  display: none;
3456
3344
  }
@@ -3488,10 +3376,10 @@ const css$3 = `
3488
3376
  //#endregion
3489
3377
  //#region src/embedded-modal/loopbackBlockedModal.ts
3490
3378
  var LoopbackPermissionBlockedModal = class extends EmbeddedModal {
3491
- contentStyles = css$2;
3379
+ contentStyles = css$3;
3492
3380
  get contentHtml() {
3493
3381
  const instructions = getIsPwaLaunchedAsApp() ? "Long press the app icon on your home screen to open site settings" : "Tap the lock or settings icon in the address bar to open site settings";
3494
- return ErrorDialogHtml$2.replace("{{PERMISSION_INSTRUCTION_DETAIL}}", instructions);
3382
+ return ErrorDialogHtml$1.replace("{{PERMISSION_INSTRUCTION_DETAIL}}", instructions);
3495
3383
  }
3496
3384
  async init() {
3497
3385
  super.init();
@@ -3506,7 +3394,7 @@ var LoopbackPermissionBlockedModal = class extends EmbeddedModal {
3506
3394
  launchButton?.addEventListener("click", listener);
3507
3395
  }
3508
3396
  };
3509
- const ErrorDialogHtml$2 = `
3397
+ const ErrorDialogHtml$1 = `
3510
3398
  <div class="mobile-wallet-adapter-embedded-modal-header">
3511
3399
  Local Wallet Connection
3512
3400
  </div>
@@ -3559,7 +3447,7 @@ const ErrorDialogHtml$2 = `
3559
3447
  </button>
3560
3448
  </div>
3561
3449
  `;
3562
- const css$2 = `
3450
+ const css$3 = `
3563
3451
  .mobile-wallet-adapter-embedded-modal-close {
3564
3452
  display: none;
3565
3453
  }
@@ -3649,8 +3537,8 @@ const css$2 = `
3649
3537
  //#endregion
3650
3538
  //#region src/embedded-modal/loopbackPermissionModal.ts
3651
3539
  var LoopbackPermissionModal = class extends EmbeddedModal {
3652
- contentStyles = css$1;
3653
- contentHtml = ErrorDialogHtml$1;
3540
+ contentStyles = css$2;
3541
+ contentHtml = ErrorDialogHtml;
3654
3542
  async init() {
3655
3543
  super.init();
3656
3544
  this.#prepareLaunchAction();
@@ -3667,7 +3555,7 @@ var LoopbackPermissionModal = class extends EmbeddedModal {
3667
3555
  launchButton?.addEventListener("click", listener);
3668
3556
  }
3669
3557
  };
3670
- const ErrorDialogHtml$1 = `
3558
+ const ErrorDialogHtml = `
3671
3559
  <div class="mobile-wallet-adapter-embedded-modal-title">Allow connections to your wallet</div>
3672
3560
  <div id="mobile-wallet-adapter-local-launch-message" class="mobile-wallet-adapter-embedded-modal-subtitle">
3673
3561
  Tap "Allow" on the next screen
@@ -3693,7 +3581,7 @@ const ErrorDialogHtml$1 = `
3693
3581
  </button>
3694
3582
  </div>
3695
3583
  `;
3696
- const css$1 = `
3584
+ const css$2 = `
3697
3585
  .mobile-wallet-adapter-embedded-modal-close {
3698
3586
  display: none;
3699
3587
  }
@@ -3795,6 +3683,156 @@ async function checkLocalNetworkAccessPermission() {
3795
3683
  }
3796
3684
  }
3797
3685
  //#endregion
3686
+ //#region src/embedded-modal/loadingSpinner.ts
3687
+ const modalHtml = `
3688
+ <div class="mobile-wallet-adapter-embedded-loading-indicator" role="dialog" aria-modal="true" aria-labelledby="modal-title">
3689
+ <div data-modal-close style="position: absolute; width: 100%; height: 100%;"></div>
3690
+ <div class="mobile-wallet-adapter-embedded-loading-container">
3691
+ <div class="mobile-wallet-adapter-embedded-loading-animation"></div>
3692
+ </div>
3693
+ </div>
3694
+ `;
3695
+ const css$1 = `
3696
+ .mobile-wallet-adapter-embedded-loading-indicator {
3697
+ display: flex; /* Use flexbox to center content */
3698
+ justify-content: center; /* Center horizontally */
3699
+ align-items: start; /* Center vertically */
3700
+ position: fixed; /* Stay in place */
3701
+ z-index: 1; /* Sit on top */
3702
+ left: 0;
3703
+ top: 0;
3704
+ width: 100%; /* Full width */
3705
+ height: 100%; /* Full height */
3706
+ background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
3707
+ overflow-y: auto; /* enable scrolling */
3708
+ }
3709
+
3710
+ .mobile-wallet-adapter-embedded-loading-container {
3711
+ display: flex;
3712
+ margin: auto;
3713
+ }
3714
+
3715
+ .mobile-wallet-adapter-embedded-loading-animation {
3716
+ position: relative;
3717
+ left: -9999px;
3718
+ width: 10px;
3719
+ height: 10px;
3720
+ border-radius: 5px;
3721
+ background-color: var(--spinner-color);
3722
+ color: var(--spinner-color);
3723
+ box-shadow: 9984px 0 0 0 var(--spinner-color),
3724
+ 9999px 0 0 0 var(--spinner-color),
3725
+ 10014px 0 0 0 var(--spinner-color);
3726
+ animation: dot-typing 1.5s infinite linear;
3727
+ }
3728
+
3729
+ @keyframes dot-typing {
3730
+ 0% {
3731
+ box-shadow: 9984px 0 0 0 var(--spinner-color),
3732
+ 9999px 0 0 0 var(--spinner-color),
3733
+ 10014px 0 0 0 var(--spinner-color);
3734
+ }
3735
+ 16.667% {
3736
+ box-shadow: 9984px -10px 0 0 var(--spinner-color),
3737
+ 9999px 0 0 0 var(--spinner-color),
3738
+ 10014px 0 0 0 var(--spinner-color);
3739
+ }
3740
+ 33.333% {
3741
+ box-shadow: 9984px 0 0 0 var(--spinner-color),
3742
+ 9999px 0 0 0 var(--spinner-color),
3743
+ 10014px 0 0 0 var(--spinner-color);
3744
+ }
3745
+ 50% {
3746
+ box-shadow: 9984px 0 0 0 var(--spinner-color),
3747
+ 9999px -10px 0 0 var(--spinner-color),
3748
+ 10014px 0 0 0 var(--spinner-color);
3749
+ }
3750
+ 66.667% {
3751
+ box-shadow: 9984px 0 0 0 var(--spinner-color),
3752
+ 9999px 0 0 0 var(--spinner-color),
3753
+ 10014px 0 0 0 var(--spinner-color);
3754
+ }
3755
+ 83.333% {
3756
+ box-shadow: 9984px 0 0 0 var(--spinner-color),
3757
+ 9999px 0 0 0 var(--spinner-color),
3758
+ 10014px -10px 0 0 var(--spinner-color);
3759
+ }
3760
+ 100% {
3761
+ box-shadow: 9984px 0 0 0 var(--spinner-color),
3762
+ 9999px 0 0 0 var(--spinner-color),
3763
+ 10014px 0 0 0 var(--spinner-color);
3764
+ }
3765
+ }
3766
+ `;
3767
+ var EmbeddedLoadingSpinner = class {
3768
+ #root = null;
3769
+ #eventListeners = {};
3770
+ #listenersAttached = false;
3771
+ dom = null;
3772
+ constructor() {
3773
+ this.init = this.init.bind(this);
3774
+ this.#root = document.getElementById("mobile-wallet-adapter-embedded-root-ui");
3775
+ }
3776
+ async init() {
3777
+ console.log("Injecting modal");
3778
+ this.#injectHTML();
3779
+ }
3780
+ open = () => {
3781
+ console.debug("Modal open");
3782
+ this.#attachEventListeners();
3783
+ if (this.#root) this.#root.style.display = "flex";
3784
+ };
3785
+ close = (event = void 0) => {
3786
+ console.debug("Modal close");
3787
+ this.#removeEventListeners();
3788
+ if (this.#root) this.#root.style.display = "none";
3789
+ this.#eventListeners["close"]?.forEach((listener) => listener(event));
3790
+ };
3791
+ addEventListener(event, listener) {
3792
+ this.#eventListeners[event]?.push(listener) || (this.#eventListeners[event] = [listener]);
3793
+ return () => this.removeEventListener(event, listener);
3794
+ }
3795
+ removeEventListener(event, listener) {
3796
+ this.#eventListeners[event] = this.#eventListeners[event]?.filter((existingListener) => listener !== existingListener);
3797
+ }
3798
+ #injectHTML() {
3799
+ if (this.dom) return;
3800
+ this.#root = document.createElement("div");
3801
+ this.#root.id = "mobile-wallet-adapter-embedded-root-ui";
3802
+ this.#root.innerHTML = modalHtml;
3803
+ this.#root.style.display = "none";
3804
+ const styles = document.createElement("style");
3805
+ styles.id = "mobile-wallet-adapter-embedded-modal-styles";
3806
+ styles.textContent = css$1;
3807
+ const host = document.createElement("div");
3808
+ this.dom = host.attachShadow({ mode: "closed" });
3809
+ host.style.setProperty("--spinner-color", "#FFFFFF");
3810
+ this.dom.appendChild(styles);
3811
+ this.dom.appendChild(this.#root);
3812
+ document.body.appendChild(host);
3813
+ }
3814
+ #attachEventListeners() {
3815
+ if (!this.#root || this.#listenersAttached) return;
3816
+ [...this.#root.querySelectorAll("[data-modal-close]")].forEach((closer) => closer?.addEventListener("click", (event) => {
3817
+ this.close(event);
3818
+ }));
3819
+ window.addEventListener("load", this.close);
3820
+ document.addEventListener("keydown", this.#handleKeyDown);
3821
+ this.#listenersAttached = true;
3822
+ }
3823
+ #removeEventListeners() {
3824
+ if (!this.#listenersAttached) return;
3825
+ window.removeEventListener("load", this.close);
3826
+ document.removeEventListener("keydown", this.#handleKeyDown);
3827
+ if (!this.#root) return;
3828
+ [...this.#root.querySelectorAll("[data-modal-close]")].forEach((closer) => closer?.removeEventListener("click", this.close));
3829
+ this.#listenersAttached = false;
3830
+ }
3831
+ #handleKeyDown = (event) => {
3832
+ if (event.key === "Escape") this.close(event);
3833
+ };
3834
+ };
3835
+ //#endregion
3798
3836
  //#region src/icon.ts
3799
3837
  const icon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03IDIuNUgxN0MxNy44Mjg0IDIuNSAxOC41IDMuMTcxNTcgMTguNSA0VjIwQzE4LjUgMjAuODI4NCAxNy44Mjg0IDIxLjUgMTcgMjEuNUg3QzYuMTcxNTcgMjEuNSA1LjUgMjAuODI4NCA1LjUgMjBWNEM1LjUgMy4xNzE1NyA2LjE3MTU3IDIuNSA3IDIuNVpNMyA0QzMgMS43OTA4NiA0Ljc5MDg2IDAgNyAwSDE3QzE5LjIwOTEgMCAyMSAxLjc5MDg2IDIxIDRWMjBDMjEgMjIuMjA5MSAxOS4yMDkxIDI0IDE3IDI0SDdDNC43OTA4NiAyNCAzIDIyLjIwOTEgMyAyMFY0Wk0xMSA0LjYxNTM4QzEwLjQ0NzcgNC42MTUzOCAxMCA1LjA2MzEgMTAgNS42MTUzOFY2LjM4NDYyQzEwIDYuOTM2OSAxMC40NDc3IDcuMzg0NjIgMTEgNy4zODQ2MkgxM0MxMy41NTIzIDcuMzg0NjIgMTQgNi45MzY5IDE0IDYuMzg0NjJWNS42MTUzOEMxNCA1LjA2MzEgMTMuNTUyMyA0LjYxNTM4IDEzIDQuNjE1MzhIMTFaIiBmaWxsPSIjRENCOEZGIi8+Cjwvc3ZnPgo=";
3800
3838
  //#endregion
@@ -4058,9 +4096,9 @@ var LocalSolanaMobileWalletAdapterWallet = class {
4058
4096
  };
4059
4097
  #accountsToWalletStandardAccounts = (accounts) => {
4060
4098
  return accounts.map((account) => {
4061
- const publicKey = toUint8Array(account.address);
4099
+ const publicKey = encoding.base64ToUint8Array(account.address);
4062
4100
  return {
4063
- address: index_native.base58.encode(publicKey),
4101
+ address: encoding.base58FromUint8Array(publicKey),
4064
4102
  publicKey,
4065
4103
  label: account.label,
4066
4104
  icon: account.icon,
@@ -4073,11 +4111,11 @@ var LocalSolanaMobileWalletAdapterWallet = class {
4073
4111
  const { authToken, chain } = this.#assertIsAuthorized();
4074
4112
  try {
4075
4113
  const base64Transactions = transactions.map((tx) => {
4076
- return fromUint8Array(tx);
4114
+ return encoding.base64FromUint8Array(tx);
4077
4115
  });
4078
4116
  return await this.#transact(async (wallet) => {
4079
4117
  await this.#performReauthorization(wallet, authToken, chain);
4080
- return (await wallet.signTransactions({ payloads: base64Transactions })).signed_payloads.map(toUint8Array);
4118
+ return (await wallet.signTransactions({ payloads: base64Transactions })).signed_payloads.map(encoding.base64ToUint8Array);
4081
4119
  });
4082
4120
  } catch (e) {
4083
4121
  throw new Error(getErrorMessage(e), { cause: e });
@@ -4089,11 +4127,11 @@ var LocalSolanaMobileWalletAdapterWallet = class {
4089
4127
  return await this.#transact(async (wallet) => {
4090
4128
  const [capabilities] = await Promise.all([wallet.getCapabilities(), this.#performReauthorization(wallet, authToken, chain)]);
4091
4129
  if (capabilities.supports_sign_and_send_transactions) {
4092
- const base64Transaction = fromUint8Array(transaction);
4130
+ const base64Transaction = encoding.base64FromUint8Array(transaction);
4093
4131
  return (await wallet.signAndSendTransactions({
4094
4132
  ...options,
4095
4133
  payloads: [base64Transaction]
4096
- })).signatures.map(toUint8Array)[0];
4134
+ })).signatures.map(encoding.base64ToUint8Array)[0];
4097
4135
  } else throw new Error("connected wallet does not support signAndSendTransaction");
4098
4136
  });
4099
4137
  } catch (e) {
@@ -4115,15 +4153,15 @@ var LocalSolanaMobileWalletAdapterWallet = class {
4115
4153
  };
4116
4154
  #signMessage = async (...inputs) => {
4117
4155
  const { authToken, chain } = this.#assertIsAuthorized();
4118
- const addresses = inputs.map(({ account }) => fromUint8Array(new Uint8Array(account.publicKey)));
4119
- const messages = inputs.map(({ message }) => fromUint8Array(message));
4156
+ const addresses = inputs.map(({ account }) => encoding.base64FromUint8Array(new Uint8Array(account.publicKey)));
4157
+ const messages = inputs.map(({ message }) => encoding.base64FromUint8Array(message));
4120
4158
  try {
4121
4159
  return await this.#transact(async (wallet) => {
4122
4160
  await this.#performReauthorization(wallet, authToken, chain);
4123
4161
  return (await wallet.signMessages({
4124
4162
  addresses,
4125
4163
  payloads: messages
4126
- })).signed_payloads.map(toUint8Array).map((signedMessage) => {
4164
+ })).signed_payloads.map(encoding.base64ToUint8Array).map((signedMessage) => {
4127
4165
  return {
4128
4166
  signedMessage,
4129
4167
  signature: signedMessage.slice(-SIGNATURE_LENGTH_IN_BYTES)
@@ -4152,13 +4190,13 @@ var LocalSolanaMobileWalletAdapterWallet = class {
4152
4190
  const signedInAccount = authorizationResult.accounts.find((acc) => acc.address == signedInAddress);
4153
4191
  return {
4154
4192
  account: {
4155
- ...signedInAccount ?? { address: index_native.base58.encode(toUint8Array(signedInAddress)) },
4156
- publicKey: toUint8Array(signedInAddress),
4193
+ ...signedInAccount ?? { address: encoding.base58FromUint8Array(encoding.base64ToUint8Array(signedInAddress)) },
4194
+ publicKey: encoding.base64ToUint8Array(signedInAddress),
4157
4195
  chains: signedInAccount?.chains ?? this.#chains,
4158
4196
  features: signedInAccount?.features ?? authorizationResult.capabilities.features
4159
4197
  },
4160
- signedMessage: toUint8Array(authorizationResult.sign_in_result.signed_message),
4161
- signature: toUint8Array(authorizationResult.sign_in_result.signature)
4198
+ signedMessage: encoding.base64ToUint8Array(authorizationResult.sign_in_result.signed_message),
4199
+ signature: encoding.base64ToUint8Array(authorizationResult.sign_in_result.signature)
4162
4200
  };
4163
4201
  } catch (e) {
4164
4202
  throw new Error(getErrorMessage(e), { cause: e });
@@ -4167,59 +4205,9 @@ var LocalSolanaMobileWalletAdapterWallet = class {
4167
4205
  }
4168
4206
  };
4169
4207
  };
4170
- //#endregion
4171
- //#region src/createDefaultAuthorizationCache.ts
4172
- const CACHE_KEY = "SolanaMobileWalletAdapterDefaultAuthorizationCache";
4173
- function createDefaultAuthorizationCache() {
4174
- let storage;
4175
- try {
4176
- storage = window.localStorage;
4177
- } catch {}
4178
- return {
4179
- async clear() {
4180
- if (!storage) return;
4181
- try {
4182
- storage.removeItem(CACHE_KEY);
4183
- } catch {}
4184
- },
4185
- async get() {
4186
- if (!storage) return;
4187
- try {
4188
- const parsed = JSON.parse(storage.getItem(CACHE_KEY));
4189
- if (parsed && parsed.accounts) {
4190
- const parsedAccounts = parsed.accounts.map((account) => {
4191
- return {
4192
- ...account,
4193
- publicKey: "publicKey" in account ? new Uint8Array(Object.values(account.publicKey)) : index_native.base58.decode(account.address)
4194
- };
4195
- });
4196
- return {
4197
- ...parsed,
4198
- accounts: parsedAccounts
4199
- };
4200
- } else return parsed || void 0;
4201
- } catch {}
4202
- },
4203
- async set(authorization) {
4204
- if (!storage) return;
4205
- try {
4206
- storage.setItem(CACHE_KEY, JSON.stringify(authorization));
4207
- } catch {}
4208
- }
4209
- };
4210
- }
4211
- //#endregion
4212
- //#region src/createDefaultChainSelector.ts
4213
- function createDefaultChainSelector() {
4214
- return { async select(chains) {
4215
- if (chains.length === 1) return chains[0];
4216
- else if (chains.includes(SOLANA_MAINNET_CHAIN)) return SOLANA_MAINNET_CHAIN;
4217
- else return chains[0];
4218
- } };
4219
- }
4220
4208
 
4221
4209
  exports.LocalSolanaMobileWalletAdapterWallet = LocalSolanaMobileWalletAdapterWallet;
4222
4210
  exports.SolanaMobileWalletAdapterWalletName = SolanaMobileWalletAdapterWalletName;
4223
4211
  exports.createDefaultAuthorizationCache = createDefaultAuthorizationCache;
4224
4212
  exports.createDefaultChainSelector = createDefaultChainSelector;
4225
- //# sourceMappingURL=index.browser-utVKQsEC.js.map
4213
+ //# sourceMappingURL=index.browser-DcHalmEf.js.map