@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.
- package/dist/cjs/connectkit/adapters/SolanaAdapter.cjs +81 -6
- package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js +94 -6
- package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/discover.cjs +15 -0
- package/dist/cjs/connectkit/adapters/discover.native.js +17 -0
- package/dist/cjs/connectkit/adapters/discover.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/getWalletConnectors.cjs +4 -1
- package/dist/cjs/connectkit/connectors/getWalletConnectors.native.js +4 -1
- package/dist/cjs/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
- package/dist/esm/connectkit/adapters/SolanaAdapter.mjs +79 -6
- package/dist/esm/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
- package/dist/esm/connectkit/adapters/SolanaAdapter.native.js +92 -6
- package/dist/esm/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
- package/dist/esm/connectkit/adapters/discover.mjs +16 -1
- package/dist/esm/connectkit/adapters/discover.mjs.map +1 -1
- package/dist/esm/connectkit/adapters/discover.native.js +18 -1
- package/dist/esm/connectkit/adapters/discover.native.js.map +1 -1
- package/dist/esm/connectkit/connectors/getWalletConnectors.mjs +4 -1
- package/dist/esm/connectkit/connectors/getWalletConnectors.mjs.map +1 -1
- package/dist/esm/connectkit/connectors/getWalletConnectors.native.js +4 -1
- package/dist/esm/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
- package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs +79 -6
- package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
- package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js +94 -6
- package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
- package/dist/jsx/connectkit/adapters/discover.mjs +16 -1
- package/dist/jsx/connectkit/adapters/discover.mjs.map +1 -1
- package/dist/jsx/connectkit/adapters/discover.native.js +17 -0
- package/dist/jsx/connectkit/adapters/discover.native.js.map +1 -1
- package/dist/jsx/connectkit/connectors/getWalletConnectors.mjs +4 -1
- package/dist/jsx/connectkit/connectors/getWalletConnectors.mjs.map +1 -1
- package/dist/jsx/connectkit/connectors/getWalletConnectors.native.js +4 -1
- package/dist/jsx/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
- package/dist/keycloak/login.iife.js +251 -251
- package/package.json +7 -7
- package/src/connectkit/adapters/SolanaAdapter.ts +102 -6
- package/src/connectkit/adapters/discover.ts +19 -2
- package/src/connectkit/connectors/getWalletConnectors.ts +1 -0
- package/src/keycloak/KeycloakWalletLogin.solana.spec.tsx +158 -0
- package/types/connectkit/adapters/SolanaAdapter.d.ts +37 -0
- package/types/connectkit/adapters/SolanaAdapter.d.ts.map +1 -1
- package/types/connectkit/adapters/discover.d.ts +5 -1
- package/types/connectkit/adapters/discover.d.ts.map +1 -1
- 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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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","
|
|
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":"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","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","
|
|
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":[]}
|
|
@@ -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;
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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","
|
|
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":"AAaA,SACEA,iBAAA,EACAC,eAAA,QAKK;AACP,SAASC,kBAAA,QAA0B;AAGnC,MAAMC,eAAA,GAAkB;AAGxB,SAASC,aAAaC,KAAA,EAA2B;EAC/C,MAAMC,MAAA,GAAmB,CAAC,CAAC;EAC3B,SAASC,CAAA,GAAI,GAAGA,CAAA,GAAIF,KAAA,CAAMG,MAAA,EAAQD,CAAA,IAAK;IACrC,IAAIE,KAAA,GAAQJ,KAAA,CAAME,CAAC;IACnB,SAASG,CAAA,GAAI,GAAGA,CAAA,GAAIJ,MAAA,CAAOE,MAAA,EAAQE,CAAA,IAAK;MACtCD,KAAA,IAASH,MAAA,CAAOI,CAAC,KAAK;MACtBJ,MAAA,CAAOI,CAAC,IAAID,KAAA,GAAQ;MACpBA,KAAA,GAASA,KAAA,GAAQ,KAAM;IACzB;IACA,OAAOA,KAAA,EAAO;MACZH,MAAA,CAAOK,IAAA,CAAKF,KAAA,GAAQ,EAAE;MACtBA,KAAA,GAASA,KAAA,GAAQ,KAAM;IACzB;EACF;EACA,IAAIG,GAAA,GAAM;EACV,SAASL,CAAA,GAAI,GAAGA,CAAA,GAAIF,KAAA,CAAMG,MAAA,IAAUH,KAAA,CAAME,CAAC,MAAM,GAAGA,CAAA,IAAKK,GAAA,IAAO;EAChE,SAASL,CAAA,GAAID,MAAA,CAAOE,MAAA,GAAS,GAAGD,CAAA,IAAK,GAAGA,CAAA,IAAKK,GAAA,IAAOT,eAAA,CAAgBG,MAAA,CAAOC,CAAC,CAAC;EAC7E,OAAOK,GAAA;AACT;AAeA,SAASC,oBAAA,EAAsC;EAC7C,MAAMC,CAAA,GAAIC,MAAA;EAIV,MAAMC,QAAA,GAAWF,CAAA,CAAEG,OAAA,EAASC,MAAA,IAAUJ,CAAA,CAAEI,MAAA;EACxC,IAAI,CAACF,QAAA,EAAU;IACb,MAAM,IAAIG,KAAA,CACR,sGACF;EACF;EACA,OAAOH,QAAA;AACT;AAaA,MAAMI,eAAA,GAAmBC,OAAA,IACvBA,OAAA,CAAQC,MAAA,CAAOC,IAAA,CAAMC,KAAA,IAAUA,KAAA,CAAMC,UAAA,CAAW,SAAS,CAAC;AAGrD,SAASC,uBAAuBC,MAAA,EAAiC;EACtE,OACE,CAAC,CAACA,MAAA,CAAOC,QAAA,CAAS3B,eAAe,KACjC,CAAC,CAAC0B,MAAA,CAAOC,QAAA,CAAS5B,iBAAiB,KACnC2B,MAAA,CAAOL,MAAA,CAAOC,IAAA,CAAMC,KAAA,IAAUA,KAAA,CAAMC,UAAA,CAAW,SAAS,CAAC;AAE7D;AAQO,SAASI,uBAAuBF,MAAA,EAAwC;EAC7E,MAAMG,cAAA,GAAiBH,MAAA,CAAOC,QAAA,CAAS3B,eAAe;EACtD,MAAM8B,WAAA,GAAcJ,MAAA,CAAOC,QAAA,CAAS5B,iBAAiB;EACrD,MAAMgC,MAAA,GAASL,MAAA,CAAOC,QAAA,CAAS,iBAAiB;EAChD,MAAMK,iBAAA,GAAoBN,MAAA,CAAOC,QAAA,CAAS,qBAAqB;EAG/D,MAAMM,GAAA,GAAOb,QAAA,KAAoC;IAAEc,QAAA,EAAUA,CAAA,KAAMC,QAAA,CAAQC;EAAQ;EACnF,MAAMC,IAAA,GAAQC,QAAA,IACZA,QAAA,CAASC,IAAA,CAAKpB,eAAe,KAAK;EACpC,MAAMqB,YAAA,GAAe,mBAAIC,GAAA,CAAgC;EACzD,IAAIrB,OAAA,GAAwC;EAC5C,OAAO;IACL,IAAIsB,UAAA,EAAY;MACd,OAAOtB,OAAA,GAAUa,GAAA,CAAIb,OAAO,IAAI;IAClC;IACA,MAAMuB,QAAQC,OAAA,EAAS;MACrB,MAAM;QAAEN;MAAS,IAAI,MAAMT,cAAA,CAAec,OAAA,CACxCC,OAAA,EAASC,aAAA,GAAgB;QAAEC,MAAA,EAAQ;MAAK,IAAI,MAC9C;MACA1B,OAAA,GAAUiB,IAAA,CAAKC,QAAQ;MACvB,IAAI,CAAClB,OAAA,EAAS;QACZ,MAAM2B,MAAA,CAAOC,MAAA,CAAO,IAAI9B,KAAA,CAAM,GAAGQ,MAAA,CAAOuB,IAAI,4BAA4B,GAAG;UAAEC,IAAA,EAAM;QAAK,CAAC;MAC3F;MACA,OAAO;QAAER,SAAA,EAAWT,GAAA,CAAIb,OAAO;MAAE;IACnC;IACA,MAAM+B,WAAA,EAAa;MACjB/B,OAAA,GAAU;MACV,MAAMY,iBAAA,EAAmBmB,UAAA,CAAW;IACtC;IACA,MAAMC,YAAYC,OAAA,EAAS;MACzB,IAAI,CAACjC,OAAA,EAAS,MAAM,IAAIF,KAAA,CAAM,+BAA+B;MAC7D,MAAM,CAACoC,MAAM,IAAI,MAAMxB,WAAA,CAAYsB,WAAA,CAAY;QAAEhC,OAAA;QAASiC;MAAQ,CAAC;MACnE,OAAO;QAAEE,SAAA,EAAWD,MAAA,CAAOC;MAAU;IACvC;IACAC,GAAGC,KAAA,EAAOC,QAAA,EAAU;MAClB,IAAI,CAAC3B,MAAA,EAAQ;MACb,MAAM4B,WAAA,GAAc5B,MAAA,CAAOyB,EAAA,CAAG,UAAU,CAAC;QAAElB;MAAS,MAAM;QACxD,IAAI,CAACA,QAAA,EAAU;QACflB,OAAA,GAAUiB,IAAA,CAAKC,QAAQ;QACvB,IAAImB,KAAA,KAAU,oBAAoBrC,OAAA,EAASsC,QAAA,CAASzB,GAAA,CAAIb,OAAO,CAAC;QAChE,IAAIqC,KAAA,KAAU,gBAAgB,CAACrC,OAAA,EAASsC,QAAA,CAAS,IAAI;MACvD,CAAC;MACDlB,YAAA,CAAaoB,GAAA,CAAIF,QAAA,EAAUC,WAAW;IACxC;IACAE,IAAIC,MAAA,EAAQJ,QAAA,EAAU;MACpBlB,YAAA,CAAauB,GAAA,CAAIL,QAAQ,IAAI;MAC7BlB,YAAA,CAAawB,MAAA,CAAON,QAAQ;IAC9B;EACF;AACF;AAEO,MAAMO,aAAA,CAAuC;EACzC1C,KAAA,GAAQ;EACjBa,OAAA,GAAgC;EAChC8B,SAAA,GAA2B;EAC3BC,WAAA,GAAc;EAAA;EAGGpD,QAAA;EAEjBqD,YAAYrD,QAAA,GAAiCH,mBAAA,EAAqB;IAChE,KAAKG,QAAA,GAAWA,QAAA;EAClB;EAEA,MAAM4B,QAAA,EAAyB;IAC7B,MAAM5B,QAAA,GAAW,KAAKA,QAAA,CAAS;IAC/B,MAAM;MAAE2B;IAAU,IAAI,MAAM3B,QAAA,CAAS4B,OAAA,CAAQ;IAC7C,KAAKP,OAAA,GAAUM,SAAA,CAAUR,QAAA,CAAS;IAClC,KAAKiC,WAAA,GAAc;EACrB;EAAA;AAAA;AAAA;AAAA;AAAA;EAOA,MAAME,QAAA,EAA4B;IAChC,MAAMtD,QAAA,GAAW,KAAKA,QAAA,CAAS;IAC/B,IAAI;MACF,MAAM;QAAE2B;MAAU,IAAI,MAAM3B,QAAA,CAAS4B,OAAA,CAAQ;QAAEE,aAAA,EAAe;MAAK,CAAC;MACpE,KAAKT,OAAA,GAAUM,SAAA,CAAUR,QAAA,CAAS;MAClC,KAAKiC,WAAA,GAAc;MACnB,OAAO;IACT,SAASG,KAAA,EAAO;MACd,IAAKA,KAAA,EAAqCpB,IAAA,KAAS,MAAM,OAAO;MAChE,MAAMoB,KAAA;IACR;EACF;EAAA;AAAA;AAAA;AAAA;AAAA;EAOAC,UAAUb,QAAA,EAAkC;IAC1C,MAAM3C,QAAA,GAAW,KAAKA,QAAA,CAAS;IAC/B,MAAMyD,SAAA,GAA6B9B,SAAA,IAAc;MAC/C,KAAKN,OAAA,GAAUM,SAAA,GAAYA,SAAA,CAAUR,QAAA,CAAS,IAAI;MAClD,KAAKiC,WAAA,GAAc,KAAK/B,OAAA,KAAY;MACpCsB,QAAA,CAAS;IACX;IACA,MAAMe,YAAA,GAA+BA,CAAA,KAAM;MACzC,KAAKrC,OAAA,GAAU;MACf,KAAK+B,WAAA,GAAc;MACnBT,QAAA,CAAS;IACX;IACA3C,QAAA,CAASyC,EAAA,GAAK,kBAAkBgB,SAAS;IACzCzD,QAAA,CAASyC,EAAA,GAAK,cAAciB,YAAY;IACxC,OAAO,MAAM;MACX,MAAMZ,GAAA,IAAO9C,QAAA,CAAS8C,GAAA,IAAO9C,QAAA,CAAS2D,cAAA,GAAiBC,IAAA,CAAK5D,QAAQ;MACpE8C,GAAA,GAAM,kBAAkBW,SAAS;MACjCX,GAAA,GAAM,cAAcY,YAAY;IAClC;EACF;EAEA,MAAMtB,WAAA,EAA4B;IAChC,IAAI;MACF,MAAM,KAAKpC,QAAA,CAAS,EAAEoC,UAAA,CAAW;IACnC,QAAQ,CAER;IACA,KAAKf,OAAA,GAAU;IACf,KAAK+B,WAAA,GAAc;EACrB;EAAA;EAGA,MAAMS,aAAaC,IAAA,EAA6C;IAC9D,IAAI,CAAC,KAAKzC,OAAA,EAAS,MAAM,IAAIlB,KAAA,CAAM,+BAA+B;IAClE,OAAOjB,kBAAA,CAAmB,OAAO;MAC/B,GAAG4E,IAAA;MACHzC,OAAA,EAAS,KAAKA;IAChB,CAAC;EACH;EAAA;EAGA,MAAMgB,YAAYC,OAAA,EAAkC;IAClD,MAAMtC,QAAA,GAAW,KAAKA,QAAA,CAAS;IAC/B,MAAM;MAAEwC;IAAU,IAAI,MAAMxC,QAAA,CAASqC,WAAA,CAAY,IAAI0B,WAAA,CAAY,EAAEC,MAAA,CAAO1B,OAAO,GAAG,MAAM;IAC1F,OAAOlD,YAAA,CAAaoD,SAAS;EAC/B;AACF","ignoreList":[]}
|