@multiplatform.one/web3 7.88.2 → 7.88.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 (44) hide show
  1. package/dist/cjs/connectkit/adapters/SolanaAdapter.cjs +81 -6
  2. package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js +94 -6
  3. package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  4. package/dist/cjs/connectkit/adapters/discover.cjs +15 -0
  5. package/dist/cjs/connectkit/adapters/discover.native.js +17 -0
  6. package/dist/cjs/connectkit/adapters/discover.native.js.map +1 -1
  7. package/dist/cjs/connectkit/connectors/getWalletConnectors.cjs +4 -1
  8. package/dist/cjs/connectkit/connectors/getWalletConnectors.native.js +4 -1
  9. package/dist/cjs/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
  10. package/dist/esm/connectkit/adapters/SolanaAdapter.mjs +79 -6
  11. package/dist/esm/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
  12. package/dist/esm/connectkit/adapters/SolanaAdapter.native.js +92 -6
  13. package/dist/esm/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  14. package/dist/esm/connectkit/adapters/discover.mjs +16 -1
  15. package/dist/esm/connectkit/adapters/discover.mjs.map +1 -1
  16. package/dist/esm/connectkit/adapters/discover.native.js +18 -1
  17. package/dist/esm/connectkit/adapters/discover.native.js.map +1 -1
  18. package/dist/esm/connectkit/connectors/getWalletConnectors.mjs +4 -1
  19. package/dist/esm/connectkit/connectors/getWalletConnectors.mjs.map +1 -1
  20. package/dist/esm/connectkit/connectors/getWalletConnectors.native.js +4 -1
  21. package/dist/esm/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
  22. package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs +79 -6
  23. package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
  24. package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js +94 -6
  25. package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  26. package/dist/jsx/connectkit/adapters/discover.mjs +16 -1
  27. package/dist/jsx/connectkit/adapters/discover.mjs.map +1 -1
  28. package/dist/jsx/connectkit/adapters/discover.native.js +17 -0
  29. package/dist/jsx/connectkit/adapters/discover.native.js.map +1 -1
  30. package/dist/jsx/connectkit/connectors/getWalletConnectors.mjs +4 -1
  31. package/dist/jsx/connectkit/connectors/getWalletConnectors.mjs.map +1 -1
  32. package/dist/jsx/connectkit/connectors/getWalletConnectors.native.js +4 -1
  33. package/dist/jsx/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
  34. package/dist/keycloak/login.iife.js +251 -251
  35. package/package.json +7 -7
  36. package/src/connectkit/adapters/SolanaAdapter.ts +102 -6
  37. package/src/connectkit/adapters/discover.ts +19 -2
  38. package/src/connectkit/connectors/getWalletConnectors.ts +1 -0
  39. package/src/keycloak/KeycloakWalletLogin.solana.spec.tsx +158 -0
  40. package/types/connectkit/adapters/SolanaAdapter.d.ts +37 -0
  41. package/types/connectkit/adapters/SolanaAdapter.d.ts.map +1 -1
  42. package/types/connectkit/adapters/discover.d.ts +5 -1
  43. package/types/connectkit/adapters/discover.d.ts.map +1 -1
  44. package/types/connectkit/connectors/getWalletConnectors.d.ts.map +1 -1
@@ -22,9 +22,12 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
22
22
  }), mod);
23
23
  var SolanaAdapter_exports = {};
24
24
  __export(SolanaAdapter_exports, {
25
- SolanaAdapter: () => SolanaAdapter
25
+ SolanaAdapter: () => SolanaAdapter,
26
+ isStandardSolanaWallet: () => isStandardSolanaWallet,
27
+ standardSolanaProvider: () => standardSolanaProvider
26
28
  });
27
29
  module.exports = __toCommonJS(SolanaAdapter_exports);
30
+ var import_walletStandard = require("../../clients/walletStandard.cjs");
28
31
  var import_message = require("../../message/index.cjs");
29
32
  const BASE58_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
30
33
  function base58encode(bytes) {
@@ -54,13 +57,85 @@ function getInjectedProvider() {
54
57
  }
55
58
  return provider;
56
59
  }
60
+ const isSolanaAccount = account => account.chains.some(chain => chain.startsWith("solana:"));
61
+ function isStandardSolanaWallet(wallet) {
62
+ return !!wallet.features[import_walletStandard.StandardConnect] && !!wallet.features[import_walletStandard.SolanaSignMessage] && wallet.chains.some(chain => chain.startsWith("solana:"));
63
+ }
64
+ function standardSolanaProvider(wallet) {
65
+ const connectFeature = wallet.features[import_walletStandard.StandardConnect];
66
+ const signFeature = wallet.features[import_walletStandard.SolanaSignMessage];
67
+ const events = wallet.features["standard:events"];
68
+ const disconnectFeature = wallet.features["standard:disconnect"];
69
+ const key = account2 => ({
70
+ toString: () => account2.address
71
+ });
72
+ const pick = accounts => accounts.find(isSolanaAccount) ?? null;
73
+ const unsubscribes = /* @__PURE__ */new Map();
74
+ let account = null;
75
+ return {
76
+ get publicKey() {
77
+ return account ? key(account) : null;
78
+ },
79
+ async connect(options) {
80
+ const {
81
+ accounts
82
+ } = await connectFeature.connect(options?.onlyIfTrusted ? {
83
+ silent: true
84
+ } : void 0);
85
+ account = pick(accounts);
86
+ if (!account) {
87
+ throw Object.assign(new Error(`${wallet.name} shared no Solana account.`), {
88
+ code: 4001
89
+ });
90
+ }
91
+ return {
92
+ publicKey: key(account)
93
+ };
94
+ },
95
+ async disconnect() {
96
+ account = null;
97
+ await disconnectFeature?.disconnect();
98
+ },
99
+ async signMessage(message) {
100
+ if (!account) throw new Error("connect a Solana wallet first");
101
+ const [signed] = await signFeature.signMessage({
102
+ account,
103
+ message
104
+ });
105
+ return {
106
+ signature: signed.signature
107
+ };
108
+ },
109
+ on(event, listener) {
110
+ if (!events) return;
111
+ const unsubscribe = events.on("change", ({
112
+ accounts
113
+ }) => {
114
+ if (!accounts) return;
115
+ account = pick(accounts);
116
+ if (event === "accountChanged" && account) listener(key(account));
117
+ if (event === "disconnect" && !account) listener(null);
118
+ });
119
+ unsubscribes.set(listener, unsubscribe);
120
+ },
121
+ off(_event, listener) {
122
+ unsubscribes.get(listener)?.();
123
+ unsubscribes.delete(listener);
124
+ }
125
+ };
126
+ }
57
127
  class SolanaAdapter {
58
128
  chain = "solana";
59
129
  address = null;
60
130
  networkId = "mainnet-beta";
61
131
  isConnected = false;
132
+ /** Drives the injected wallet unless given another provider, such as `standardSolanaProvider(wallet)`. */
133
+ provider;
134
+ constructor(provider = getInjectedProvider) {
135
+ this.provider = provider;
136
+ }
62
137
  async connect() {
63
- const provider = getInjectedProvider();
138
+ const provider = this.provider();
64
139
  const {
65
140
  publicKey
66
141
  } = await provider.connect();
@@ -73,7 +148,7 @@ class SolanaAdapter {
73
148
  * any other failure, and when no wallet is injected yet.
74
149
  */
75
150
  async restore() {
76
- const provider = getInjectedProvider();
151
+ const provider = this.provider();
77
152
  try {
78
153
  const {
79
154
  publicKey
@@ -94,7 +169,7 @@ class SolanaAdapter {
94
169
  * page must connect again; the adapter treats it as a disconnect.
95
170
  */
96
171
  subscribe(listener) {
97
- const provider = getInjectedProvider();
172
+ const provider = this.provider();
98
173
  const onAccount = publicKey => {
99
174
  this.address = publicKey ? publicKey.toString() : null;
100
175
  this.isConnected = this.address !== null;
@@ -115,7 +190,7 @@ class SolanaAdapter {
115
190
  }
116
191
  async disconnect() {
117
192
  try {
118
- await getInjectedProvider().disconnect();
193
+ await this.provider().disconnect();
119
194
  } catch {}
120
195
  this.address = null;
121
196
  this.isConnected = false;
@@ -130,7 +205,7 @@ class SolanaAdapter {
130
205
  }
131
206
  /** Sign the UTF-8 message bytes; returns the base58 ed25519 signature. */
132
207
  async signMessage(message) {
133
- const provider = getInjectedProvider();
208
+ const provider = this.provider();
134
209
  const {
135
210
  signature
136
211
  } = await provider.signMessage(new TextEncoder().encode(message), "utf8");
@@ -24,9 +24,12 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
24
24
  }), mod);
25
25
  var SolanaAdapter_exports = {};
26
26
  __export(SolanaAdapter_exports, {
27
- SolanaAdapter: () => SolanaAdapter
27
+ SolanaAdapter: () => SolanaAdapter,
28
+ isStandardSolanaWallet: () => isStandardSolanaWallet,
29
+ standardSolanaProvider: () => standardSolanaProvider
28
30
  });
29
31
  module.exports = __toCommonJS(SolanaAdapter_exports);
32
+ var import_walletStandard = require("../../clients/walletStandard.native.js");
30
33
  var import_message = require("../../message/index.native.js");
31
34
  function _class_call_check(instance, Constructor) {
32
35
  if (!(instance instanceof Constructor)) {
@@ -90,20 +93,105 @@ function getInjectedProvider() {
90
93
  }
91
94
  return provider;
92
95
  }
96
+ var isSolanaAccount = function isSolanaAccount2(account) {
97
+ return account.chains.some(function (chain) {
98
+ return chain.startsWith("solana:");
99
+ });
100
+ };
101
+ function isStandardSolanaWallet(wallet) {
102
+ return !!wallet.features[import_walletStandard.StandardConnect] && !!wallet.features[import_walletStandard.SolanaSignMessage] && wallet.chains.some(function (chain) {
103
+ return chain.startsWith("solana:");
104
+ });
105
+ }
106
+ function standardSolanaProvider(wallet) {
107
+ var connectFeature = wallet.features[import_walletStandard.StandardConnect];
108
+ var signFeature = wallet.features[import_walletStandard.SolanaSignMessage];
109
+ var events = wallet.features["standard:events"];
110
+ var disconnectFeature = wallet.features["standard:disconnect"];
111
+ var key = function key2(account2) {
112
+ return {
113
+ toString: function toString() {
114
+ return account2.address;
115
+ }
116
+ };
117
+ };
118
+ var pick = function pick2(accounts) {
119
+ var _accounts_find;
120
+ return (_accounts_find = accounts.find(isSolanaAccount)) !== null && _accounts_find !== void 0 ? _accounts_find : null;
121
+ };
122
+ var unsubscribes = /* @__PURE__ */new Map();
123
+ var account = null;
124
+ return {
125
+ get publicKey() {
126
+ return account ? key(account) : null;
127
+ },
128
+ async connect(options) {
129
+ var {
130
+ accounts
131
+ } = await connectFeature.connect((options === null || options === void 0 ? void 0 : options.onlyIfTrusted) ? {
132
+ silent: true
133
+ } : void 0);
134
+ account = pick(accounts);
135
+ if (!account) {
136
+ throw Object.assign(new Error(`${wallet.name} shared no Solana account.`), {
137
+ code: 4001
138
+ });
139
+ }
140
+ return {
141
+ publicKey: key(account)
142
+ };
143
+ },
144
+ async disconnect() {
145
+ account = null;
146
+ await (disconnectFeature === null || disconnectFeature === void 0 ? void 0 : disconnectFeature.disconnect());
147
+ },
148
+ async signMessage(message) {
149
+ if (!account) throw new Error("connect a Solana wallet first");
150
+ var [signed] = await signFeature.signMessage({
151
+ account,
152
+ message
153
+ });
154
+ return {
155
+ signature: signed.signature
156
+ };
157
+ },
158
+ on(event, listener) {
159
+ if (!events) return;
160
+ var unsubscribe = events.on("change", function (param) {
161
+ var {
162
+ accounts
163
+ } = param;
164
+ if (!accounts) return;
165
+ account = pick(accounts);
166
+ if (event === "accountChanged" && account) listener(key(account));
167
+ if (event === "disconnect" && !account) listener(null);
168
+ });
169
+ unsubscribes.set(listener, unsubscribe);
170
+ },
171
+ off(_event, listener) {
172
+ var _unsubscribes_get;
173
+ (_unsubscribes_get = unsubscribes.get(listener)) === null || _unsubscribes_get === void 0 ? void 0 : _unsubscribes_get();
174
+ unsubscribes.delete(listener);
175
+ }
176
+ };
177
+ }
93
178
  var SolanaAdapter = /* @__PURE__ */function () {
94
179
  "use strict";
95
180
 
96
181
  function SolanaAdapter2() {
182
+ var provider = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getInjectedProvider;
97
183
  _class_call_check(this, SolanaAdapter2);
98
184
  _define_property(this, "chain", "solana");
99
185
  _define_property(this, "address", null);
100
186
  _define_property(this, "networkId", "mainnet-beta");
101
187
  _define_property(this, "isConnected", false);
188
+ _define_property(this, "provider", void 0);
189
+ this.provider = provider;
102
190
  }
103
191
  _create_class(SolanaAdapter2, [{
104
192
  key: "connect",
105
193
  value: async function connect() {
106
- var provider = getInjectedProvider();
194
+ var provider = this.provider();
107
195
  var {
108
196
  publicKey
109
197
  } = await provider.connect();
@@ -119,7 +207,7 @@ var SolanaAdapter = /* @__PURE__ */function () {
119
207
  * any other failure, and when no wallet is injected yet.
120
208
  */
121
209
  async function restore() {
122
- var provider = getInjectedProvider();
210
+ var provider = this.provider();
123
211
  try {
124
212
  var {
125
213
  publicKey
@@ -144,7 +232,7 @@ var SolanaAdapter = /* @__PURE__ */function () {
144
232
  value: function subscribe(listener) {
145
233
  var _this = this;
146
234
  var _provider_on, _provider_on1;
147
- var provider = getInjectedProvider();
235
+ var provider = this.provider();
148
236
  var onAccount = function onAccount2(publicKey) {
149
237
  _this.address = publicKey ? publicKey.toString() : null;
150
238
  _this.isConnected = _this.address !== null;
@@ -169,7 +257,7 @@ var SolanaAdapter = /* @__PURE__ */function () {
169
257
  key: "disconnect",
170
258
  value: async function disconnect() {
171
259
  try {
172
- await getInjectedProvider().disconnect();
260
+ await this.provider().disconnect();
173
261
  } catch (unused) {}
174
262
  this.address = null;
175
263
  this.isConnected = false;
@@ -188,7 +276,7 @@ var SolanaAdapter = /* @__PURE__ */function () {
188
276
  key: "signMessage",
189
277
  value: (/** Sign the UTF-8 message bytes; returns the base58 ed25519 signature. */
190
278
  async function signMessage(message) {
191
- var provider = getInjectedProvider();
279
+ var provider = this.provider();
192
280
  var {
193
281
  signature
194
282
  } = await provider.signMessage(new TextEncoder().encode(message), "utf8");
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","SolanaAdapter_exports","__export","SolanaAdapter","module","exports","import_message","require","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","BASE58_ALPHABET","base58encode","bytes","digits","carry","j","push","str","i1","i2","getInjectedProvider","_ref","_w_phantom","w","window","provider","phantom","solana","Error","SolanaAdapter2","connect","publicKey","address","toString","isConnected","restore","onlyIfTrusted","error","code"],"sources":["../../../../src/connectkit/adapters/SolanaAdapter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","SolanaAdapter_exports","__export","SolanaAdapter","isStandardSolanaWallet","standardSolanaProvider","module","exports","import_walletStandard","require","import_message","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","BASE58_ALPHABET","base58encode","bytes","digits","carry","j","push","str","i1","i2","getInjectedProvider","_ref","_w_phantom","w","window","provider","phantom","solana","Error","isSolanaAccount","isSolanaAccount2","account","chains","some","chain","startsWith","wallet","features","StandardConnect","SolanaSignMessage","connectFeature","signFeature","events","disconnectFeature","key2","account2","toString","address","pick","pick2","accounts","_accounts_find","find","unsubscribes","Map","publicKey","connect","options","onlyIfTrusted","silent","assign","name","code","disconnect","signMessage","message","signed","signature","on","event","listener","unsubscribe","param","set","off","_event","_unsubscribes_get","get","delete","SolanaAdapter2","arguments","isConnected"],"sources":["../../../../src/connectkit/adapters/SolanaAdapter.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,sBAAA,EAAAA,CAAA,KAAAA,sBAAA;EAAAC,sBAAA,EAAAA,CAAA,KAAAA;AAAA;AAaAC,MAAA,CAAAC,OAAA,GAAAX,YAOO,CAAAK,qBAAA;AACP,IAAAO,qBAAmC,GAAAC,OAAA;AAGnC,IAAAC,cAAM,GAAAD,OAAkB;AAGxB,SAASE,iBAAaA,CAAAC,QAA2B,EAAAC,WAAA;EAC/C,MAAMD,QAAA,YAAqBC,WAAA;IAC3B,UAASC,SAAW,oCAAmB;EACrC;AACA;AACE,SAAAC,iBAAiBA,CAAAC,MAAK,EAAAC,KAAA;EACtB,SAAAC,CAAA,GAAQ,GAAIA,CAAA,GAAAD,KAAQ,CAAAE,MAAA,EAAAD,CAAA;IACpB,IAAAE,UAAS,GAAAH,KAAQ,CAAMC,CAAA;IACzBE,UAAA,CAAAC,UAAA,GAAAD,UAAA,CAAAC,UAAA;IACAD,UAAO,CAAAE,YAAO;IACZ,WAAO,IAAKF,UAAU,EAAAA,UAAA,CAAAG,QAAA;IACtBC,MAAA,CAAAC,cAAiB,CAAAT,MAAM,EAAAI,UAAA,CAAAM,GAAA,EAAAN,UAAA;EAAA;AACzB;AAEF,SAAIO,aAAMA,CAAAd,WAAA,EAAAe,UAAA,EAAAC,WAAA;EACV,IAAAD,UAAa,EAAGb,iBAAU,CAAAF,WAAiB,CAAAiB,SAAS,EAAKF,UAAO;EAChE,IAAAC,WAAa,EAAAd,iBAAmB,CAAAF,WAAa,EAAAgB,WAAO;EACpD,OAAOhB,WAAA;AACT;AAeA,SAASkB,iBAAAC,GAAA,EAAsCN,GAAA,EAAA1B,KAAA;EAC7C,IAAA0B,GAAM,IAAIM,GAAA;IAIVR,MAAM,CAAAC,cAAa,CAAAO,GAAA,EAASN,GAAA;MACxB1B,KAAC;MACHqB,UAAU;MACRC,YAAA;MACFC,QAAA;IACF;EACA,OAAO;IACTS,GAAA,CAAAN,GAAA,IAAA1B,KAAA;EAaA;EAIO,OAASgC,GAAA;AACd;AAKF,IAAAC,eAAA;AAQO,SAASC,aAAAC,KAAA;EACd,IAAAC,MAAM,IACN,EACA;EACA,SAAMlB,CAAA,MAAAA,CAAA,GAAAiB,KAAA,CAAoBhB,MAAA,EAAOD,CAAA;IAGjC,IAAMmB,KAAA,GAAOF,KAAA,CAAAjB,CAAA;IACb,KAAM,IAAAoB,CAAA,GAAQ,GAAAA,CAAA,GAAAF,MACZ,CAAAjB,MAAA,EAASmB,CAAA,IAAK;MAChBD,KAAM,IAAAD,MAAA,CAAAE,CAAe;MACjBF,MAAA,CAAAE,CAAA,IAAwCD,KAAA;MAC5CA,KAAO,GAAAA,KAAA;IACL;IACE,OAAAA,KAAO;MACTD,MAAA,CAAAG,IAAA,CAAAF,KAAA;MACAA,KAAM,GAAAA,KAAQ,QAAS;IACrB;EAA0C;EACI,IAC9CG,GAAA;EACA,SAAAC,EAAA,GAAU,GAAAA,EAAK,GAAAN,KAAQ,CAAAhB,MAAA,IAAAgB,KAAA,CAAAM,EAAA,SAAAA,EAAA,IAAAD,GAAA;EACvB,SAAKE,EAAA,GAAAN,MAAS,CAAAjB,MAAA,MAAAuB,EAAA,OAAAA,EAAA,IAAAF,GAAA,IAAAP,eAAA,CAAAG,MAAA,CAAAM,EAAA;EACZ,OAAAF,GAAA;AAAyF;AAE3F,SAAAG,mBAAoBA,CAAA,EAAI;EAAS,IACnCC,IAAA;EAAA,IACAC,UAAM;EACJ,IAAAC,CAAA,GAAAC,MAAU;EACV,IAAAC,QAAM,IAAAJ,IAAA,IAAAC,UAAmB,GAAAC,CAAA,CAAAG,OAAW,cAAAJ,UAAA,uBAAAA,UAAA,CAAAK,MAAA,cAAAN,IAAA,cAAAA,IAAA,GAAAE,CAAA,CAAAI,MAAA;EAAA,IACtC,CAAAF,QAAA;IACA,MAAM,IAAAG,KAAA,uGAAqB;EACzB;EACA,OAAAH,QAAO;AACP;AAAqC,IACvCI,eAAA,YAAAC,iBAAAC,OAAA;EAAA,OACGA,OAAO,CAAAC,MAAA,CAAUC,IAAA,WAAAC,KAAA;IAClB,OAAKA,KAAA,CAAAC,UAAQ;EACb;AACE;AACA,SAAAtD,sBAAuBA,CAAAuD,MAAA;EACvB,SAAAA,MAAI,CAAAC,QAAU,CAAApD,qBAAoB,CAAAqD,eAAsB,OAAOF,MAAC,CAAAC,QAAA,CAAApD,qBAAA,CAAAsD,iBAAA,KAAAH,MAAA,CAAAJ,MAAA,CAAAC,IAAA,WAAAC,KAAA;IAChE,OAAAA,KAAI,CAAAC,UAAU,WAAgB;EAAuB;AAEvD;AAAsC,SACxCrD,uBAAAsD,MAAA;EAAA,IACAI,cAAY,GAAAJ,MAAU,CAAAC,QAAA,CAAApD,qBAAA,CAAAqD,eAAA;EACpB,IAAAG,WAAA,GAAaL,MAAI,CAAAC,QAAY,CAAApD,qBAAA,CAAAsD,iBAAA;EAC7B,IAAAG,MAAA,GAAAN,MAAa,CAAAC,QAAO,kBAAQ;EAAA,IAC9BM,iBAAA,GAAAP,MAAA,CAAAC,QAAA;EACF,IAAAlC,GAAA,YAAAyC,KAAAC,QAAA;IACF;MAEaC,QAAA,WAAuCA,SAAA;QACzC,OAAQD,QAAA,CAAAE,OAAA;MACjB;IACA;EACA;EAAc,IAAAC,IAAA,YAAAC,MAAAC,QAAA;IAGG,IAAAC,cAAA;IAEjB,QAAAA,cAA6C,GAAAD,QAAA,CAAAE,IAAA,CAAAvB,eAAqB,eAAAsB,cAAA,cAAAA,cAAA;EAChE;EACF,IAAAE,YAAA,sBAAAC,GAAA;EAEA,IAAAvB,OAAM,OAAyB;EAC7B;IACA,IAAAwB,SAAQA,CAAA;MACR,OAAKxB,OAAU,GAAA5B,GAAA,CAAA4B,OAAU,IAAS;IAClC;IACF,MAAAyB,QAAAC,OAAA;MAAA;QAAAP;MAAA,UAAAV,cAAA,CAAAgB,OAAA,EAAAC,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAAC,aAAA;QAAAC,MAAA;MAAA;MAAA5B,OAAA,GAAAiB,IAAA,CAAAE,QAAA;MAAA,KAAAnB,OAAA;QAOM,MAAA9B,MAA4B,CAAA2D,MAAA,KAAAhC,KAAA,IAAAQ,MAAA,CAAAyB,IAAA;UAC1BC,IAAA;QACF;MACF;MACA,OAAK;QACLP,SAAK,EAAApD,GAAA,CAAA4B,OAAc;MACnB;IACF;IACE,MAAKgC,UAAqCA,CAAA;MAC1ChC,OAAM;MACR,OAAAY,iBAAA,aAAAA,iBAAA,uBAAAA,iBAAA,CAAAoB,UAAA;IACF;IAAA,MAAAC,YAAAC,OAAA;MAAA,KAAAlC,OAAA,YAAAH,KAAA;MAAA,KAAAsC,MAAA,UAAAzB,WAAA,CAAAuB,WAAA;QAAAjC,OAAA;QAAAkC;MAOA;MACE,OAAM;QACNE,SAAM,EAAAD,MAA6B,CAAAC;MACjC;IACA;IACAC,GAAAC,KAAA,EAAAC,QAAS;MACX,KAAA5B,MAAA;MACA,IAAM6B,WAAA,GAAA7B,MAA+B,CAAM0B,EAAA,qBAAAI,KAAA;QACzC,IAAK;UAAAtB;QAAU,IAAAsB,KAAA;QACf,IAAK,CAAAtB,QAAA;QACLnB,OAAS,GAAAiB,IAAA,CAAAE,QAAA;QACX,IAAAmB,KAAA,yBAAAtC,OAAA,EAAAuC,QAAA,CAAAnE,GAAA,CAAA4B,OAAA;QACA,IAAAsC,KAAS,KAAK,gBAAkB,CAAAtC,OAAS,EAAAuC,QAAA;MACzC;MACAjB,YAAa,CAAAoB,GAAA,CAAAH,QAAA,EAAAC,WAAA;IACX;IACAG,IAAAC,MAAM,EAAAL,QAAA;MACN,IAAAM,iBAAoB;MACtB,CAAAA,iBAAA,GAAAvB,YAAA,CAAAwB,GAAA,CAAAP,QAAA,eAAAM,iBAAA,uBAAAA,iBAAA;MACFvB,YAAA,CAAAyB,MAAA,CAAAR,QAAA;IAEA;EACE;AACE;AAAiC,IACnC1F,aAAQ;EAAA,YAER;;EACA,SAAKmG,cAAUA,CAAA;IACf,IAAAtD,QAAK,GAAAuD,SAAc,CAAApF,MAAA,QAAAoF,SAAA,iBAAAA,SAAA,MAAA5D,mBAAA;IACrBhC,iBAAA,OAAA2F,cAAA;IAAAvE,gBAAA;IAGAA,gBAAM,CAAa,MAA6C;IAC9DA,gBAAU,KAAS,aAAU,EAAM;IACnCA,gBAAO;IAA0BA,gBAC5B;IAAA,IACH,CAAAiB,QAAS,GAAKA,QAAA;EAAA;EAElBrB,aAAA,CAAA2E,cAAA;IAGA5E,GAAM,WAAY;IAChB1B,KAAM,iBAAgB+E,OAASA,CAAA;MAC/B,IAAQ/B,QAAA,GAAU,IAAI,CAAAA,QAAM;MAC5B,IAAO;QAAA8B;MAAa,UAAS9B,QAAA,CAAA+B,OAAA;MAC/B,KAAAT,OAAA,GAAAQ,SAAA,CAAAT,QAAA;MACF,KAAAmC,WAAA","ignoreList":[]}
@@ -25,6 +25,7 @@ __export(discover_exports, {
25
25
  discoverWallets: () => discoverWallets
26
26
  });
27
27
  module.exports = __toCommonJS(discover_exports);
28
+ var import_walletStandard = require("../../clients/walletStandard.cjs");
28
29
  var import_SolanaAdapter = require("./SolanaAdapter.cjs");
29
30
  var import_SuiAdapter = require("./SuiAdapter.cjs");
30
31
  var import_BitcoinAdapter = require("./BitcoinAdapter.cjs");
@@ -40,6 +41,20 @@ function discoverWallets() {
40
41
  ecosystem: "solana",
41
42
  adapter: new import_SolanaAdapter.SolanaAdapter()
42
43
  });
44
+ } else {
45
+ const standard = (0, import_walletStandard.getStandardWallets)().find(import_SolanaAdapter.isStandardSolanaWallet);
46
+ if (standard) {
47
+ const provider = (0, import_SolanaAdapter.standardSolanaProvider)(standard);
48
+ out.push({
49
+ id: `wallet:solana:${standard.name.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
50
+ name: standard.name,
51
+ ecosystem: "solana",
52
+ adapter: new import_SolanaAdapter.SolanaAdapter(() => provider),
53
+ ...(standard.icon ? {
54
+ icon: standard.icon
55
+ } : {})
56
+ });
57
+ }
43
58
  }
44
59
  const suiWallets = (0, import_SuiAdapter.discoverSuiWallets)();
45
60
  if (suiWallets.length) {
@@ -27,6 +27,7 @@ __export(discover_exports, {
27
27
  discoverWallets: () => discoverWallets
28
28
  });
29
29
  module.exports = __toCommonJS(discover_exports);
30
+ var import_walletStandard = require("../../clients/walletStandard.native.js");
30
31
  var import_SolanaAdapter = require("./SolanaAdapter.native.js");
31
32
  var import_SuiAdapter = require("./SuiAdapter.native.js");
32
33
  var import_BitcoinAdapter = require("./BitcoinAdapter.native.js");
@@ -44,6 +45,22 @@ function discoverWallets() {
44
45
  ecosystem: "solana",
45
46
  adapter: new import_SolanaAdapter.SolanaAdapter()
46
47
  });
48
+ } else {
49
+ var standard = (0, import_walletStandard.getStandardWallets)().find(import_SolanaAdapter.isStandardSolanaWallet);
50
+ if (standard) {
51
+ var provider = (0, import_SolanaAdapter.standardSolanaProvider)(standard);
52
+ out.push({
53
+ id: `wallet:solana:${standard.name.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
54
+ name: standard.name,
55
+ ecosystem: "solana",
56
+ adapter: new import_SolanaAdapter.SolanaAdapter(function () {
57
+ return provider;
58
+ }),
59
+ ...(standard.icon ? {
60
+ icon: standard.icon
61
+ } : {})
62
+ });
63
+ }
47
64
  }
48
65
  var suiWallets = (0, import_SuiAdapter.discoverSuiWallets)();
49
66
  if (suiWallets.length) {
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","discover_exports","__export","discoverWallets","module","exports","import_SolanaAdapter","require","import_SuiAdapter","import_BitcoinAdapter","_ref","_w_phantom","_w_okxwallet","_w_phantom1","window","w","out","sol","phantom","solana","push","id","isPhantom","name","ecosystem","adapter","SolanaAdapter","suiWallets","discoverSuiWallets","length","SuiAdapter","unisat","okxwallet","bitcoin","_w_okxwallet1","_w_okxwallet2"],"sources":["../../../../src/connectkit/adapters/discover.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,gBAAA;AAAAC,QAAA,CAAAD,gBAAA;EAAAE,eAAA,EAAAA,CAAA,KAAAA;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAT,YAA8B,CAAAK,gBAAA;AAC9B,IAAAK,oBAA+C,GAAAC,OAAA;AAC/C,IAAAC,iBAAA,GAAAD,OAA+B;AAqBxB,IAAAE,qBAAS,GAAiCF,OAAA;AAC/C,SAAIJ,eAAkBA,CAAA;EACtB,IAAAO,IAAM;EAMN,IAAAC,UAA4B,EAAAC,YAAA,EAAAC,WAAA;EAE5B,WAAMC,MAAQ,gBAAmB,EAAE;EACnC,IAAIC,CAAA,GAAAD,MAAK;EACP,IAAAE,GAAI,KAAK;EAAA,IACPC,GAAA,GAAI,CAAAP,IAAI,IAAAC,UAAY,GAAAI,CAAA,CAAAG,OAAA,UAA0B,IAAAP,UAAA,uBAAAA,UAAA,CAAAQ,MAAA,cAAAT,IAAA,cAAAA,IAAA,GAAAK,CAAA,CAAAI,MAAA;EAAA,IAC9CF,GAAA;IAAkCD,GAClC,CAAAI,IAAA;MACAC,EAAA,EAAAJ,GAAA,CAAAK,SAAa,mDAAc;MAC5BC,IAAA,EAAAN,GAAA,CAAAK,SAAA;MACHE,SAAA;MAEAC,OAAM,MAAAnB,oBAAa,CAAAoB,aAAA;IACnB,EAAI;EACF;EAAS,IACPC,UAAI,OAAAnB,iBAAA,CAAAoB,kBAAA;EAAA,IACJD,UAAM,CAAAE,MAAW,EAAC;IAAUb,GAC5B,CAAAI,IAAA;MACAC,EAAA,cAAa;MACdE,IAAA,EAAAI,UAAA,IAAAJ,IAAA;MACHC,SAAA;MAEIC,OAAE,MAAUjB,iBAAa,CAAAsB,UAAa;IACxC;EAKA;EACA,IAAAf,CAAA,CAAIgB,MAAK,KAAM,CAAAnB,YAAM,GAAAG,CAAW,CAAAiB,SAAA,MAAW,IAAS,IAAIpB,YAAA,uBAAAA,YAAkB,CAAAqB,OAAA,OAAApB,WAAA,GAAAE,CAAA,CAAAG,OAAA,cAAAL,WAAA,uBAAAA,WAAA,CAAAoB,OAAA;IAC5E,IAAAC,aAAA,EAAAC,aAAA;IAEA,IAAAd,EAAO,GAAAN,CAAA,CAAAgB,MAAA,+BAAAG,aAAA,GAAAnB,CAAA,CAAAiB,SAAA,cAAAE,aAAA,uBAAAA,aAAA,CAAAD,OAAA;IACT,IAAAV,IAAA,GAAAR,CAAA,CAAAgB,MAAA,gBAAAI,aAAA,GAAApB,CAAA,CAAAiB,SAAA,cAAAG,aAAA,uBAAAA,aAAA,CAAAF,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","discover_exports","__export","discoverWallets","module","exports","import_walletStandard","require","import_SolanaAdapter","import_SuiAdapter","import_BitcoinAdapter","_ref","_w_phantom","_w_okxwallet","_w_phantom1","window","w","out","sol","phantom","solana","push","id","isPhantom","name","ecosystem","adapter","SolanaAdapter","standard","getStandardWallets","find","isStandardSolanaWallet","provider","standardSolanaProvider","toLowerCase","replace","icon","suiWallets","discoverSuiWallets","length","SuiAdapter"],"sources":["../../../../src/connectkit/adapters/discover.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,gBAAA;AAAAC,QAAA,CAAAD,gBAAA;EAAAE,eAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAmC,CAAAK,gBAAA;AAEnC,IAAAK,qBAAA,GAA8EC,OAAA;AAC9E,IAAAC,oBAA+C,GAAAD,OAAA;AAC/C,IAAAE,iBAAA,GAAAF,OAA+B;AAyBxB,IAAAG,qBAAS,GAAiCH,OAAA;AAC/C,SAAIJ,eAAkBA,CAAA;EACtB,IAAAQ,IAAM;EAMN,IAAAC,UAA4B,EAAAC,YAAA,EAAAC,WAAA;EAE5B,WAAMC,MAAQ,gBAAmB,EAAE;EACnC,IAAIC,CAAA,GAAAD,MAAK;EACP,IAAAE,GAAI,KAAK;EAAA,IACPC,GAAA,GAAI,CAAAP,IAAI,IAAAC,UAAY,GAAAI,CAAA,CAAAG,OAAA,UAA0B,IAAAP,UAAA,uBAAAA,UAAA,CAAAQ,MAAA,cAAAT,IAAA,cAAAA,IAAA,GAAAK,CAAA,CAAAI,MAAA;EAAA,IAC9CF,GAAA;IAAkCD,GAClC,CAAAI,IAAA;MACAC,EAAA,EAAAJ,GAAA,CAAAK,SAAa,mDAAc;MAC5BC,IAAA,EAAAN,GAAA,CAAAK,SAAA;MACHE,SAAO;MACLC,OAAM,MAAAlB,oBAAW,CAAAmB,aAAA;IACjB;EACE;IACA,IAAAC,QAAS,OAAAtB,qBAAA,CAAAuB,kBAAA,IAAAC,IAAA,CAAAtB,oBAAA,CAAAuB,sBAAA;IAAA,IACPH,QAAI;MAAwE,IAC5EI,QAAM,KAAS,EAAAxB,oBAAA,CAAAyB,sBAAA,EAAAL,QAAA;MAAAX,GACf,CAAAI,IAAA;QACAC,EAAA,mBAAaM,QAAA,CAAAJ,IAAA,CAAAU,WAAA,EAAc,CAAAC,OAAM,cAAQ;QACzCX,IAAI,EAAAI,QAAS,CAAAJ,IAAO;QACrBC,SAAA;QACHC,OAAA,MAAAlB,oBAAA,CAAAmB,aAAA;UACF,OAAAK,QAAA;QAEM;QACF,IAAAJ,QAAW,CAAAQ,IAAA,GAAQ;UACjBA,IAAK,EAAAR,QAAA,CAAAQ;QACP,IAAI;MACJ;IAA4B;EACjB;EACa,IACzBC,UAAA,OAAA5B,iBAAA,CAAA6B,kBAAA;EACH,IAAAD,UAAA,CAAAE,MAAA;IAEAtB,GAAI,CAAEI,IAAA;MACJC,EAAA,EAAM,YAAO;MAKbE,IAAM,EAAAa,UAAS,IAAAb,IAAS,gBAAa;MACrCC,SAAW,OAAI;MACjBC,OAAA,MAAAjB,iBAAA,CAAA+B,UAAA;IAEA;EACF","ignoreList":[]}
@@ -32,6 +32,9 @@ function getWalletConnectors(entries = (0, import_discover.discoverWallets)()) {
32
32
  id: e.id,
33
33
  name: e.name,
34
34
  ecosystem: e.ecosystem,
35
- adapter: e.adapter
35
+ adapter: e.adapter,
36
+ ...(e.icon ? {
37
+ icon: e.icon
38
+ } : {})
36
39
  }));
37
40
  }
@@ -36,7 +36,10 @@ function getWalletConnectors() {
36
36
  id: e.id,
37
37
  name: e.name,
38
38
  ecosystem: e.ecosystem,
39
- adapter: e.adapter
39
+ adapter: e.adapter,
40
+ ...(e.icon ? {
41
+ icon: e.icon
42
+ } : {})
40
43
  });
41
44
  });
42
45
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","getWalletConnectors_exports","__export","getWalletConnectors","module","exports","import_discover","require","import_walletAdapterConnector","entries","arguments","length","discoverWallets","map","e","walletAdapterConnector","id","name","ecosystem","adapter"],"sources":["../../../../src/connectkit/connectors/getWalletConnectors.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,2BAAA;AAAAC,QAAA,CAAAD,2BAAA;EAAAE,mBAAA,EAAAA,CAAA,KAAAA;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAT,YAAkD,CAAAK,2BAAA;AAClD,IAAAK,eAAA,GAAAC,OAAA,iCAAuC;AAShC,IAAAC,6BACL,GAAAD,OAAyB;AAEzB,SAAOJ,mBAAQA,CAAA;EAAA,IAAKM,OAAA,GAClBC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAuB,UAAAJ,eAAA,CAAAM,eAAA;EAAA,OACrBH,OAAM,CAAAI,GAAA,WAAAC,CAAA;IAAA,OACN,CAAM,GAAEN,6BAAA,CAAAO,sBAAA;MACRC,EAAA,EAAAF,CAAA,CAAAE,EAAA;MACAC,IAAA,EAAAH,CAAA,CAAAG,IAAW;MACZC,SAAA,EAAAJ,CAAA,CAAAI,SAAA;MACHC,OAAA,EAAAL,CAAA,CAAAK;IACF","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","getWalletConnectors_exports","__export","getWalletConnectors","module","exports","import_discover","require","import_walletAdapterConnector","entries","arguments","length","discoverWallets","map","e","walletAdapterConnector","id","name","ecosystem","adapter","icon"],"sources":["../../../../src/connectkit/connectors/getWalletConnectors.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,2BAAA;AAAAC,QAAA,CAAAD,2BAAA;EAAAE,mBAAA,EAAAA,CAAA,KAAAA;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAT,YAAkD,CAAAK,2BAAA;AAClD,IAAAK,eAAA,GAAAC,OAAA,iCAAuC;AAShC,IAAAC,6BACL,GAAAD,OAAyB;AAEzB,SAAOJ,mBAAQA,CAAA;EAAA,IAAKM,OAAA,GAClBC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAuB,UAAAJ,eAAA,CAAAM,eAAA;EAAA,OACrBH,OAAM,CAAAI,GAAA,WAAAC,CAAA;IAAA,OACN,CAAM,GAAEN,6BAAA,CAAAO,sBAAA;MACRC,EAAA,EAAAF,CAAA,CAAAE,EAAA;MACAC,IAAA,EAAAH,CAAA,CAAAG,IAAW;MACXC,SAAM,EAAAJ,CAAO,CAAAI,SAAU;MACxBC,OAAA,EAAAL,CAAA,CAAAK,OAAA;MACH,IAAAL,CAAA,CAAAM,IAAA;QACFA,IAAA,EAAAN,CAAA,CAAAM","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import { SolanaSignMessage, StandardConnect } from "../../clients/walletStandard.mjs";
1
2
  import { buildWalletMessage } from "../../message/index.mjs";
2
3
  const BASE58_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
3
4
  function base58encode(bytes) {
@@ -27,13 +28,85 @@ function getInjectedProvider() {
27
28
  }
28
29
  return provider;
29
30
  }
31
+ const isSolanaAccount = account => account.chains.some(chain => chain.startsWith("solana:"));
32
+ function isStandardSolanaWallet(wallet) {
33
+ return !!wallet.features[StandardConnect] && !!wallet.features[SolanaSignMessage] && wallet.chains.some(chain => chain.startsWith("solana:"));
34
+ }
35
+ function standardSolanaProvider(wallet) {
36
+ const connectFeature = wallet.features[StandardConnect];
37
+ const signFeature = wallet.features[SolanaSignMessage];
38
+ const events = wallet.features["standard:events"];
39
+ const disconnectFeature = wallet.features["standard:disconnect"];
40
+ const key = account2 => ({
41
+ toString: () => account2.address
42
+ });
43
+ const pick = accounts => accounts.find(isSolanaAccount) ?? null;
44
+ const unsubscribes = /* @__PURE__ */new Map();
45
+ let account = null;
46
+ return {
47
+ get publicKey() {
48
+ return account ? key(account) : null;
49
+ },
50
+ async connect(options) {
51
+ const {
52
+ accounts
53
+ } = await connectFeature.connect(options?.onlyIfTrusted ? {
54
+ silent: true
55
+ } : void 0);
56
+ account = pick(accounts);
57
+ if (!account) {
58
+ throw Object.assign(new Error(`${wallet.name} shared no Solana account.`), {
59
+ code: 4001
60
+ });
61
+ }
62
+ return {
63
+ publicKey: key(account)
64
+ };
65
+ },
66
+ async disconnect() {
67
+ account = null;
68
+ await disconnectFeature?.disconnect();
69
+ },
70
+ async signMessage(message) {
71
+ if (!account) throw new Error("connect a Solana wallet first");
72
+ const [signed] = await signFeature.signMessage({
73
+ account,
74
+ message
75
+ });
76
+ return {
77
+ signature: signed.signature
78
+ };
79
+ },
80
+ on(event, listener) {
81
+ if (!events) return;
82
+ const unsubscribe = events.on("change", ({
83
+ accounts
84
+ }) => {
85
+ if (!accounts) return;
86
+ account = pick(accounts);
87
+ if (event === "accountChanged" && account) listener(key(account));
88
+ if (event === "disconnect" && !account) listener(null);
89
+ });
90
+ unsubscribes.set(listener, unsubscribe);
91
+ },
92
+ off(_event, listener) {
93
+ unsubscribes.get(listener)?.();
94
+ unsubscribes.delete(listener);
95
+ }
96
+ };
97
+ }
30
98
  class SolanaAdapter {
31
99
  chain = "solana";
32
100
  address = null;
33
101
  networkId = "mainnet-beta";
34
102
  isConnected = false;
103
+ /** Drives the injected wallet unless given another provider, such as `standardSolanaProvider(wallet)`. */
104
+ provider;
105
+ constructor(provider = getInjectedProvider) {
106
+ this.provider = provider;
107
+ }
35
108
  async connect() {
36
- const provider = getInjectedProvider();
109
+ const provider = this.provider();
37
110
  const {
38
111
  publicKey
39
112
  } = await provider.connect();
@@ -46,7 +119,7 @@ class SolanaAdapter {
46
119
  * any other failure, and when no wallet is injected yet.
47
120
  */
48
121
  async restore() {
49
- const provider = getInjectedProvider();
122
+ const provider = this.provider();
50
123
  try {
51
124
  const {
52
125
  publicKey
@@ -67,7 +140,7 @@ class SolanaAdapter {
67
140
  * page must connect again; the adapter treats it as a disconnect.
68
141
  */
69
142
  subscribe(listener) {
70
- const provider = getInjectedProvider();
143
+ const provider = this.provider();
71
144
  const onAccount = publicKey => {
72
145
  this.address = publicKey ? publicKey.toString() : null;
73
146
  this.isConnected = this.address !== null;
@@ -88,7 +161,7 @@ class SolanaAdapter {
88
161
  }
89
162
  async disconnect() {
90
163
  try {
91
- await getInjectedProvider().disconnect();
164
+ await this.provider().disconnect();
92
165
  } catch {}
93
166
  this.address = null;
94
167
  this.isConnected = false;
@@ -103,12 +176,12 @@ class SolanaAdapter {
103
176
  }
104
177
  /** Sign the UTF-8 message bytes; returns the base58 ed25519 signature. */
105
178
  async signMessage(message) {
106
- const provider = getInjectedProvider();
179
+ const provider = this.provider();
107
180
  const {
108
181
  signature
109
182
  } = await provider.signMessage(new TextEncoder().encode(message), "utf8");
110
183
  return base58encode(signature);
111
184
  }
112
185
  }
113
- export { SolanaAdapter };
186
+ export { SolanaAdapter, isStandardSolanaWallet, standardSolanaProvider };
114
187
  //# sourceMappingURL=SolanaAdapter.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["buildWalletMessage","BASE58_ALPHABET","base58encode","bytes","digits","i","length","carry","j","push","str","getInjectedProvider","w","window","provider","phantom","solana","Error","SolanaAdapter","chain","address","networkId","isConnected","connect","publicKey","toString","restore","onlyIfTrusted","error","code","subscribe","listener","onAccount","onDisconnect","on","off","removeListener","bind","disconnect","buildMessage","opts","signMessage","message","signature","TextEncoder","encode"],"sources":["../../../../src/connectkit/adapters/SolanaAdapter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["SolanaSignMessage","StandardConnect","buildWalletMessage","BASE58_ALPHABET","base58encode","bytes","digits","i","length","carry","j","push","str","getInjectedProvider","w","window","provider","phantom","solana","Error","isSolanaAccount","account","chains","some","chain","startsWith","isStandardSolanaWallet","wallet","features","standardSolanaProvider","connectFeature","signFeature","events","disconnectFeature","key","toString","account2","address","pick","accounts","find","unsubscribes","Map","publicKey","connect","options","onlyIfTrusted","silent","Object","assign","name","code","disconnect","signMessage","message","signed","signature","on","event","listener","unsubscribe","set","off","_event","get","delete","SolanaAdapter","networkId","isConnected","constructor","restore","error","subscribe","onAccount","onDisconnect","removeListener","bind","buildMessage","opts","TextEncoder","encode"],"sources":["../../../../src/connectkit/adapters/SolanaAdapter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}