@imtbl/sdk 1.77.7-alpha.1 → 1.77.7
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/{blockchain_data-Dg9Q9V5S.js → blockchain_data-B8XMnSWf.js} +2 -2
- package/dist/blockchain_data.js +3 -3
- package/dist/browser/checkout/{AddTokensWidget-TbB4PmLW.js → AddTokensWidget-BAbeB6QF.js} +408 -5
- package/dist/browser/checkout/{BridgeWidget-BhrCocw2.js → BridgeWidget-CrLjoZj2.js} +8 -7
- package/dist/browser/checkout/{CommerceWidget-Be5DHzdC.js → CommerceWidget-CJXKumJj.js} +16 -15
- package/dist/browser/checkout/{FeesBreakdown-Ck9YzdSC.js → FeesBreakdown-BypWN9Iy.js} +1 -1
- package/dist/browser/checkout/{HandoverContent-DB23bXer.js → HandoverContent-DQ1dvn2V.js} +1 -1
- package/dist/browser/checkout/{OnRampWidget-CqVk3g3X.js → OnRampWidget-JJO1UCrW.js} +3 -3
- package/dist/browser/checkout/{SaleWidget-BN4NOhbW.js → SaleWidget-Bpmzfc7A.js} +13 -12
- package/dist/browser/checkout/{SpendingCapHero-CPvvFrji.js → SpendingCapHero-Br5Uv8YR.js} +1 -1
- package/dist/browser/checkout/{SwapWidget-CwFYyKSt.js → SwapWidget-BmfIQSUe.js} +8 -7
- package/dist/browser/checkout/{TokenImage-BKsKixKT.js → TokenImage-z4OoDdYE.js} +1 -1
- package/dist/browser/checkout/{TopUpView-B4EZHPvY.js → TopUpView-B4eXJlqS.js} +2 -1
- package/dist/browser/checkout/{WalletApproveHero--5umxYJp.js → WalletApproveHero-83IoWlwV.js} +3 -3
- package/dist/browser/checkout/{WalletWidget-DVqX_Zms.js → WalletWidget-ComOLNY_.js} +3 -3
- package/dist/browser/checkout/{auto-track-B82Gtc5w.js → auto-track-B1yl_Cb9.js} +1 -1
- package/dist/browser/checkout/{index-BsW6upSH.js → index-B3rZfPee.js} +1 -1
- package/dist/browser/checkout/{index-CwvzJ6GW.js → index-Bud6ZDGR.js} +1 -1
- package/dist/browser/checkout/{index-CE6PQBKk.js → index-CxRI6mbM.js} +1 -1
- package/dist/browser/checkout/{index-C0AbsZnL.js → index-D5flYG_V.js} +1 -1
- package/dist/browser/checkout/{index-AFLAGIsQ.js → index-DPJLapbR.js} +1 -1
- package/dist/browser/checkout/{index-Ba4jcykl.js → index-DURgDDlD.js} +1 -1
- package/dist/browser/checkout/{index-Smb16jHM.js → index-DWFmOHWm.js} +1 -1
- package/dist/browser/checkout/{index-uoFT0va2.js → index-QnoQrLJ7.js} +626 -1680
- package/dist/browser/checkout/index-aJ1AhJ6L.js +394 -0
- package/dist/browser/checkout/{index-Bkd29y5M.js → index-hJJjTrqc.js} +2 -2
- package/dist/browser/checkout/{index.umd-DHRFESK1.js → index.umd-CO9CmHyp.js} +1 -1
- package/dist/browser/checkout/sdk.js +4 -4
- package/dist/browser/checkout/{useInterval-DoDljSUa.js → useInterval-Cs241Eva.js} +1 -1
- package/dist/browser/checkout/widgets-esm.js +1 -1
- package/dist/browser/checkout/widgets.js +646 -907
- package/dist/{checkout-CzqSs99h.js → checkout-BEnRmmWy.js} +5 -5
- package/dist/checkout.js +5 -5
- package/dist/{config-BJw9K8Po.js → config-j-wtV9bL.js} +1 -1
- package/dist/config.js +1 -1
- package/dist/{index-BxzTAKIm.js → index-BHMSlzV7.js} +4 -4
- package/dist/{index-CV8VqwDA.js → index-D3ERw9s5.js} +1 -1
- package/dist/{index-Bb-CtrNx.js → index-DaGRx7tS.js} +1 -1
- package/dist/{index-B2PvtsjM.js → index-DyUG4OFL.js} +3 -3
- package/dist/{index-DBVlwCPH.js → index-QwdUj2PO.js} +1 -1
- package/dist/{index-evZUxrpM.js → index-knWuA9k4.js} +1 -1
- package/dist/index.browser.js +4 -4
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs +7 -7
- package/dist/index.js +14 -14
- package/dist/{minting_backend-Dy__LL73.js → minting_backend-mtmfZp09.js} +3 -3
- package/dist/minting_backend.js +5 -5
- package/dist/{orderbook-BS6_rEkr.js → orderbook-DoIjVZXk.js} +1 -1
- package/dist/orderbook.js +2 -2
- package/dist/{passport-CZQMKlmP.js → passport-BcbwvHFF.js} +3 -3
- package/dist/passport.js +4 -4
- package/dist/version.json +1 -1
- package/dist/{webhook-DXOqOK9I.js → webhook-qIYejhx3.js} +1 -1
- package/dist/webhook.js +2 -2
- package/dist/{x-x_2w6MwN.js → x-JXuh6vIe.js} +3 -3
- package/dist/x.js +4 -4
- package/package.json +1 -1
|
@@ -132969,7 +132969,7 @@
|
|
|
132969
132969
|
},
|
|
132970
132970
|
walletSelection: {
|
|
132971
132971
|
from: {
|
|
132972
|
-
label: "
|
|
132972
|
+
label: "Send from",
|
|
132973
132973
|
caption: "Choose a wallet to bridge or swap from"
|
|
132974
132974
|
},
|
|
132975
132975
|
to: {
|
|
@@ -133173,7 +133173,7 @@
|
|
|
133173
133173
|
fees: {
|
|
133174
133174
|
fee: "Fee",
|
|
133175
133175
|
balance: "Balance",
|
|
133176
|
-
fiatPricePrefix: "
|
|
133176
|
+
fiatPricePrefix: "≈ USD",
|
|
133177
133177
|
zeroFees: "Zero fees",
|
|
133178
133178
|
includedFees: "Fees"
|
|
133179
133179
|
},
|
|
@@ -248176,93 +248176,21 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248176
248176
|
}
|
|
248177
248177
|
}
|
|
248178
248178
|
|
|
248179
|
-
// Unique ID creation requires a high quality random # generator. In the browser we therefore
|
|
248180
|
-
// require the crypto API and do not support built-in fallback to lower quality random number
|
|
248181
|
-
// generators (like Math.random()).
|
|
248182
|
-
var getRandomValues;
|
|
248183
|
-
var rnds8 = new Uint8Array(16);
|
|
248184
|
-
function rng() {
|
|
248185
|
-
// lazy load so that environments that need to polyfill have a chance to do so
|
|
248186
|
-
if (!getRandomValues) {
|
|
248187
|
-
// getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also,
|
|
248188
|
-
// find the complete implementation of crypto (msCrypto) on IE11.
|
|
248189
|
-
getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);
|
|
248190
|
-
|
|
248191
|
-
if (!getRandomValues) {
|
|
248192
|
-
throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
|
|
248193
|
-
}
|
|
248194
|
-
}
|
|
248195
|
-
|
|
248196
|
-
return getRandomValues(rnds8);
|
|
248197
|
-
}
|
|
248198
|
-
|
|
248199
|
-
var REGEX = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
|
|
248200
|
-
|
|
248201
|
-
function validate(uuid) {
|
|
248202
|
-
return typeof uuid === 'string' && REGEX.test(uuid);
|
|
248203
|
-
}
|
|
248204
|
-
|
|
248205
|
-
/**
|
|
248206
|
-
* Convert array of 16 byte values to UUID string format of the form:
|
|
248207
|
-
* XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
248208
|
-
*/
|
|
248209
|
-
|
|
248210
|
-
var byteToHex = [];
|
|
248211
|
-
|
|
248212
|
-
for (var i$5 = 0; i$5 < 256; ++i$5) {
|
|
248213
|
-
byteToHex.push((i$5 + 0x100).toString(16).substr(1));
|
|
248214
|
-
}
|
|
248215
|
-
|
|
248216
|
-
function stringify$1(arr) {
|
|
248217
|
-
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
248218
|
-
// Note: Be careful editing this code! It's been tuned for performance
|
|
248219
|
-
// and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
|
|
248220
|
-
var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one
|
|
248221
|
-
// of the following:
|
|
248222
|
-
// - One or more input array values don't map to a hex octet (leading to
|
|
248223
|
-
// "undefined" in the uuid)
|
|
248224
|
-
// - Invalid input values for the RFC `version` or `variant` fields
|
|
248225
|
-
|
|
248226
|
-
if (!validate(uuid)) {
|
|
248227
|
-
throw TypeError('Stringified UUID is invalid');
|
|
248228
|
-
}
|
|
248229
|
-
|
|
248230
|
-
return uuid;
|
|
248231
|
-
}
|
|
248232
|
-
|
|
248233
|
-
function v4(options, buf, offset) {
|
|
248234
|
-
options = options || {};
|
|
248235
|
-
var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
|
248236
|
-
|
|
248237
|
-
rnds[6] = rnds[6] & 0x0f | 0x40;
|
|
248238
|
-
rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
|
|
248239
|
-
|
|
248240
|
-
return stringify$1(rnds);
|
|
248241
|
-
}
|
|
248242
|
-
|
|
248243
248179
|
const initialPurchaseState = {
|
|
248244
|
-
id: '',
|
|
248245
248180
|
squid: {
|
|
248246
248181
|
squid: null,
|
|
248247
248182
|
chains: null,
|
|
248248
248183
|
tokens: null,
|
|
248249
248184
|
},
|
|
248250
248185
|
items: [],
|
|
248251
|
-
selectedToken: undefined,
|
|
248252
|
-
chains: null,
|
|
248253
|
-
selectedRouteData: undefined,
|
|
248254
248186
|
quote: null,
|
|
248255
248187
|
};
|
|
248256
248188
|
var PurchaseActions;
|
|
248257
248189
|
(function (PurchaseActions) {
|
|
248258
|
-
PurchaseActions["SET_ID"] = "SET_ID";
|
|
248259
248190
|
PurchaseActions["SET_SQUID"] = "SET_SQUID";
|
|
248260
248191
|
PurchaseActions["SET_SQUID_CHAINS"] = "SET_SQUID_CHAINS";
|
|
248261
248192
|
PurchaseActions["SET_SQUID_TOKENS"] = "SET_SQUID_TOKENS";
|
|
248262
248193
|
PurchaseActions["SET_ITEMS"] = "SET_ITEMS";
|
|
248263
|
-
PurchaseActions["SET_SELECTED_TOKEN"] = "SET_SELECTED_TOKEN";
|
|
248264
|
-
PurchaseActions["SET_CHAINS"] = "SET_CHAINS";
|
|
248265
|
-
PurchaseActions["SET_SELECTED_ROUTE_DATA"] = "SET_SELECTED_ROUTE_DATA";
|
|
248266
248194
|
PurchaseActions["SET_QUOTE"] = "SET_QUOTE";
|
|
248267
248195
|
})(PurchaseActions || (PurchaseActions = {}));
|
|
248268
248196
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
@@ -248273,11 +248201,6 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248273
248201
|
PurchaseContext.displayName = 'PurchaseContext';
|
|
248274
248202
|
const purchaseReducer = (state, action) => {
|
|
248275
248203
|
switch (action.payload.type) {
|
|
248276
|
-
case PurchaseActions.SET_ID:
|
|
248277
|
-
return {
|
|
248278
|
-
...state,
|
|
248279
|
-
id: action.payload.id,
|
|
248280
|
-
};
|
|
248281
248204
|
case PurchaseActions.SET_SQUID:
|
|
248282
248205
|
return {
|
|
248283
248206
|
...state,
|
|
@@ -248307,21 +248230,6 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248307
248230
|
...state,
|
|
248308
248231
|
items: action.payload.items,
|
|
248309
248232
|
};
|
|
248310
|
-
case PurchaseActions.SET_SELECTED_TOKEN:
|
|
248311
|
-
return {
|
|
248312
|
-
...state,
|
|
248313
|
-
selectedToken: action.payload.selectedToken,
|
|
248314
|
-
};
|
|
248315
|
-
case PurchaseActions.SET_CHAINS:
|
|
248316
|
-
return {
|
|
248317
|
-
...state,
|
|
248318
|
-
chains: action.payload.chains,
|
|
248319
|
-
};
|
|
248320
|
-
case PurchaseActions.SET_SELECTED_ROUTE_DATA:
|
|
248321
|
-
return {
|
|
248322
|
-
...state,
|
|
248323
|
-
selectedRouteData: action.payload.selectedRouteData,
|
|
248324
|
-
};
|
|
248325
248233
|
case PurchaseActions.SET_QUOTE:
|
|
248326
248234
|
return {
|
|
248327
248235
|
...state,
|
|
@@ -248339,440 +248247,6 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248339
248247
|
PurchaseWidgetViews["GEO_BLOCK_ERROR"] = "GEO_BLOCK_ERROR";
|
|
248340
248248
|
})(PurchaseWidgetViews || (PurchaseWidgetViews = {}));
|
|
248341
248249
|
|
|
248342
|
-
const initialAddTokensState = {
|
|
248343
|
-
id: '',
|
|
248344
|
-
allowedTokens: null,
|
|
248345
|
-
squid: null,
|
|
248346
|
-
chains: null,
|
|
248347
|
-
balances: null,
|
|
248348
|
-
tokens: null,
|
|
248349
|
-
routes: [],
|
|
248350
|
-
selectedRouteData: undefined,
|
|
248351
|
-
selectedToken: undefined,
|
|
248352
|
-
selectedAmount: '',
|
|
248353
|
-
isSwapAvailable: undefined,
|
|
248354
|
-
experiments: undefined,
|
|
248355
|
-
};
|
|
248356
|
-
var AddTokensActions;
|
|
248357
|
-
(function (AddTokensActions) {
|
|
248358
|
-
AddTokensActions["SET_ID"] = "SET_ID";
|
|
248359
|
-
AddTokensActions["SET_ALLOWED_TOKENS"] = "SET_ALLOWED_TOKENS";
|
|
248360
|
-
AddTokensActions["SET_SQUID"] = "SET_SQUID";
|
|
248361
|
-
AddTokensActions["SET_CHAINS"] = "SET_CHAINS";
|
|
248362
|
-
AddTokensActions["SET_BALANCES"] = "SET_BALANCES";
|
|
248363
|
-
AddTokensActions["SET_TOKENS"] = "SET_TOKENS";
|
|
248364
|
-
AddTokensActions["SET_ROUTES"] = "SET_ROUTES";
|
|
248365
|
-
AddTokensActions["SET_SELECTED_ROUTE_DATA"] = "SET_SELECTED_ROUTE_DATA";
|
|
248366
|
-
AddTokensActions["SET_SELECTED_TOKEN"] = "SET_SELECTED_TOKEN";
|
|
248367
|
-
AddTokensActions["SET_SELECTED_AMOUNT"] = "SET_SELECTED_AMOUNT";
|
|
248368
|
-
AddTokensActions["SET_IS_SWAP_AVAILABLE"] = "SET_IS_SWAP_AVAILABLE";
|
|
248369
|
-
AddTokensActions["SET_EXPERIMENTS"] = "SET_EXPERIMENTS";
|
|
248370
|
-
})(AddTokensActions || (AddTokensActions = {}));
|
|
248371
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
248372
|
-
const AddTokensContext = reactExports.createContext({
|
|
248373
|
-
addTokensState: initialAddTokensState,
|
|
248374
|
-
addTokensDispatch: () => { },
|
|
248375
|
-
});
|
|
248376
|
-
AddTokensContext.displayName = 'AddTokensContext';
|
|
248377
|
-
const addTokensReducer = (state, action) => {
|
|
248378
|
-
switch (action.payload.type) {
|
|
248379
|
-
case AddTokensActions.SET_ID:
|
|
248380
|
-
return {
|
|
248381
|
-
...state,
|
|
248382
|
-
id: action.payload.id,
|
|
248383
|
-
};
|
|
248384
|
-
case AddTokensActions.SET_ALLOWED_TOKENS:
|
|
248385
|
-
return {
|
|
248386
|
-
...state,
|
|
248387
|
-
allowedTokens: action.payload.allowedTokens,
|
|
248388
|
-
};
|
|
248389
|
-
case AddTokensActions.SET_SQUID:
|
|
248390
|
-
return {
|
|
248391
|
-
...state,
|
|
248392
|
-
squid: action.payload.squid,
|
|
248393
|
-
};
|
|
248394
|
-
case AddTokensActions.SET_CHAINS:
|
|
248395
|
-
return {
|
|
248396
|
-
...state,
|
|
248397
|
-
chains: action.payload.chains,
|
|
248398
|
-
};
|
|
248399
|
-
case AddTokensActions.SET_BALANCES:
|
|
248400
|
-
return {
|
|
248401
|
-
...state,
|
|
248402
|
-
balances: action.payload.balances,
|
|
248403
|
-
};
|
|
248404
|
-
case AddTokensActions.SET_TOKENS:
|
|
248405
|
-
return {
|
|
248406
|
-
...state,
|
|
248407
|
-
tokens: action.payload.tokens,
|
|
248408
|
-
};
|
|
248409
|
-
case AddTokensActions.SET_ROUTES:
|
|
248410
|
-
return {
|
|
248411
|
-
...state,
|
|
248412
|
-
routes: action.payload.routes,
|
|
248413
|
-
};
|
|
248414
|
-
case AddTokensActions.SET_SELECTED_ROUTE_DATA:
|
|
248415
|
-
return {
|
|
248416
|
-
...state,
|
|
248417
|
-
selectedRouteData: action.payload.selectedRouteData,
|
|
248418
|
-
};
|
|
248419
|
-
case AddTokensActions.SET_SELECTED_TOKEN:
|
|
248420
|
-
return {
|
|
248421
|
-
...state,
|
|
248422
|
-
selectedToken: action.payload.selectedToken,
|
|
248423
|
-
};
|
|
248424
|
-
case AddTokensActions.SET_SELECTED_AMOUNT:
|
|
248425
|
-
return {
|
|
248426
|
-
...state,
|
|
248427
|
-
selectedAmount: action.payload.selectedAmount,
|
|
248428
|
-
};
|
|
248429
|
-
case AddTokensActions.SET_IS_SWAP_AVAILABLE:
|
|
248430
|
-
return {
|
|
248431
|
-
...state,
|
|
248432
|
-
isSwapAvailable: action.payload.isSwapAvailable,
|
|
248433
|
-
};
|
|
248434
|
-
case AddTokensActions.SET_EXPERIMENTS:
|
|
248435
|
-
return {
|
|
248436
|
-
...state,
|
|
248437
|
-
experiments: action.payload.experiments,
|
|
248438
|
-
};
|
|
248439
|
-
default:
|
|
248440
|
-
return state;
|
|
248441
|
-
}
|
|
248442
|
-
};
|
|
248443
|
-
|
|
248444
|
-
var FiatOptionType;
|
|
248445
|
-
(function (FiatOptionType) {
|
|
248446
|
-
FiatOptionType["CREDIT"] = "credit";
|
|
248447
|
-
FiatOptionType["DEBIT"] = "debit";
|
|
248448
|
-
})(FiatOptionType || (FiatOptionType = {}));
|
|
248449
|
-
var AddTokensErrorTypes;
|
|
248450
|
-
(function (AddTokensErrorTypes) {
|
|
248451
|
-
AddTokensErrorTypes["DEFAULT"] = "DEFAULT_ERROR";
|
|
248452
|
-
AddTokensErrorTypes["INVALID_PARAMETERS"] = "INVALID_PARAMETERS";
|
|
248453
|
-
AddTokensErrorTypes["SERVICE_BREAKDOWN"] = "SERVICE_BREAKDOWN";
|
|
248454
|
-
AddTokensErrorTypes["TRANSACTION_FAILED"] = "TRANSACTION_FAILED";
|
|
248455
|
-
AddTokensErrorTypes["UNRECOGNISED_CHAIN"] = "UNRECOGNISED_CHAIN";
|
|
248456
|
-
AddTokensErrorTypes["PROVIDER_ERROR"] = "PROVIDER_ERROR";
|
|
248457
|
-
AddTokensErrorTypes["WALLET_FAILED"] = "WALLET_FAILED";
|
|
248458
|
-
AddTokensErrorTypes["WALLET_REJECTED"] = "WALLET_REJECTED";
|
|
248459
|
-
AddTokensErrorTypes["WALLET_REJECTED_NO_FUNDS"] = "WALLET_REJECTED_NO_FUNDS";
|
|
248460
|
-
AddTokensErrorTypes["WALLET_POPUP_BLOCKED"] = "WALLET_POPUP_BLOCKED";
|
|
248461
|
-
AddTokensErrorTypes["ENVIRONMENT_ERROR"] = "ENVIRONMENT_ERROR";
|
|
248462
|
-
AddTokensErrorTypes["ROUTE_ERROR"] = "ROUTE_ERROR";
|
|
248463
|
-
})(AddTokensErrorTypes || (AddTokensErrorTypes = {}));
|
|
248464
|
-
var AddTokensExperiments;
|
|
248465
|
-
(function (AddTokensExperiments) {
|
|
248466
|
-
AddTokensExperiments["PRESELECTED_TOKEN"] = "addTokensPreselectedToken";
|
|
248467
|
-
})(AddTokensExperiments || (AddTokensExperiments = {}));
|
|
248468
|
-
|
|
248469
|
-
/**
|
|
248470
|
-
* Formats a number to a string with a maximum number of decimals
|
|
248471
|
-
* removing trailing zeros
|
|
248472
|
-
*/
|
|
248473
|
-
const getFormattedAmounts = (value, maxDecimals = DEFAULT_TOKEN_FORMATTING_DECIMALS) => {
|
|
248474
|
-
const amount = typeof value === 'number' ? value : parseFloat(value);
|
|
248475
|
-
if (Number.isNaN(amount)) {
|
|
248476
|
-
return '-.--';
|
|
248477
|
-
}
|
|
248478
|
-
if (amount > 0 && amount < 1) {
|
|
248479
|
-
return tokenValueFormat(value, maxDecimals).replace(/\.?0+$/, '');
|
|
248480
|
-
}
|
|
248481
|
-
return tokenValueFormat(amount, maxDecimals);
|
|
248482
|
-
};
|
|
248483
|
-
/**
|
|
248484
|
-
* Converts a crypto amount to a formatted string
|
|
248485
|
-
*/
|
|
248486
|
-
function getFormattedNumber(value, decimals, maxDecimals = 5) {
|
|
248487
|
-
const amount = String(value);
|
|
248488
|
-
let formattedValue = '';
|
|
248489
|
-
try {
|
|
248490
|
-
if (Number.isNaN(amount) || !decimals) {
|
|
248491
|
-
throw new Error('Invalid amount or decimals');
|
|
248492
|
-
}
|
|
248493
|
-
formattedValue = formatUnits(BigNumber$1.from(amount), decimals)
|
|
248494
|
-
.toString();
|
|
248495
|
-
}
|
|
248496
|
-
catch {
|
|
248497
|
-
return '-.--';
|
|
248498
|
-
}
|
|
248499
|
-
return getFormattedAmounts(formattedValue, maxDecimals);
|
|
248500
|
-
}
|
|
248501
|
-
|
|
248502
|
-
const emptyRouteBalance = {
|
|
248503
|
-
routeBalance: getFormattedAmounts(''),
|
|
248504
|
-
routeBalanceUsd: getFormattedAmounts(''),
|
|
248505
|
-
fromAmount: getFormattedAmounts(''),
|
|
248506
|
-
fromAmountUsd: getFormattedAmounts(''),
|
|
248507
|
-
};
|
|
248508
|
-
function getRouteAndTokenBalances(routeData) {
|
|
248509
|
-
if (!routeData) {
|
|
248510
|
-
return emptyRouteBalance;
|
|
248511
|
-
}
|
|
248512
|
-
const usdPrice = routeData?.route.route.estimate.fromToken.usdPrice;
|
|
248513
|
-
if (!usdPrice) {
|
|
248514
|
-
return emptyRouteBalance;
|
|
248515
|
-
}
|
|
248516
|
-
const { balance } = routeData.amountData;
|
|
248517
|
-
const routeBalance = getFormattedNumber(balance.balance, balance?.decimals, balance?.decimals);
|
|
248518
|
-
const routeBalanceUsd = (parseFloat(routeBalance) * usdPrice).toString();
|
|
248519
|
-
const fromAmount = getFormattedNumber(routeData.route.route.estimate.fromAmount, routeData.route.route.estimate.fromToken.decimals);
|
|
248520
|
-
const fromAmountUsd = getFormattedAmounts(routeData.route.route.estimate.fromAmountUSD ?? '');
|
|
248521
|
-
return {
|
|
248522
|
-
fromAmount,
|
|
248523
|
-
fromAmountUsd,
|
|
248524
|
-
routeBalance: getFormattedAmounts(routeBalance),
|
|
248525
|
-
routeBalanceUsd: getFormattedAmounts(routeBalanceUsd),
|
|
248526
|
-
};
|
|
248527
|
-
}
|
|
248528
|
-
|
|
248529
|
-
/**
|
|
248530
|
-
* Get the total fees for a route
|
|
248531
|
-
*/
|
|
248532
|
-
function getTotalRouteFees(route) {
|
|
248533
|
-
const [fees, feesUsd] = route?.route.estimate.feeCosts.reduce(([acc, accUsd], fee) => [
|
|
248534
|
-
acc + parseFloat(fee.amount),
|
|
248535
|
-
accUsd + parseFloat(fee.amountUsd),
|
|
248536
|
-
], [0, 0]) ?? [0, 0];
|
|
248537
|
-
const [gasFees, gasFeesUsd] = route?.route.estimate.gasCosts.reduce(([acc, accUsd], fee) => [
|
|
248538
|
-
acc + parseFloat(fee.amount),
|
|
248539
|
-
accUsd + parseFloat(fee.amountUsd),
|
|
248540
|
-
], [0, 0]) ?? [0, 0];
|
|
248541
|
-
const totalFees = fees + gasFees;
|
|
248542
|
-
const totalFeesUsd = feesUsd + gasFeesUsd;
|
|
248543
|
-
return {
|
|
248544
|
-
fees,
|
|
248545
|
-
feesUsd,
|
|
248546
|
-
gasFees,
|
|
248547
|
-
gasFeesUsd,
|
|
248548
|
-
totalFees,
|
|
248549
|
-
totalFeesUsd,
|
|
248550
|
-
};
|
|
248551
|
-
}
|
|
248552
|
-
|
|
248553
|
-
function getDurationFormatted(estimatedRouteDuration, minutesText, minuteText, secondText) {
|
|
248554
|
-
const seconds = estimatedRouteDuration;
|
|
248555
|
-
if (seconds >= 60) {
|
|
248556
|
-
const minutes = Math.round(seconds / 60);
|
|
248557
|
-
return minutes === 1 ? `1 ${minuteText}` : `${minutes} ${minutesText}`;
|
|
248558
|
-
}
|
|
248559
|
-
return `${seconds.toFixed(0)}${secondText}`;
|
|
248560
|
-
}
|
|
248561
|
-
|
|
248562
|
-
function RouteOption({ routeData, onClick, chains, disabled = false, isFastest = false, size = 'small', rc = jsx$1("span", {}), selected = false, }) {
|
|
248563
|
-
const { t } = useTranslation();
|
|
248564
|
-
const { fromToken } = routeData.amountData;
|
|
248565
|
-
const { estimate } = routeData.route.route;
|
|
248566
|
-
const chain = chains?.find((c) => c.id === fromToken.chainId);
|
|
248567
|
-
const estimatedDurationFormatted = getDurationFormatted(estimate.estimatedRouteDuration, t('views.ADD_TOKENS.routeSelection.minutesText'), t('views.ADD_TOKENS.routeSelection.minuteText'), t('views.ADD_TOKENS.routeSelection.secondsText'));
|
|
248568
|
-
const { totalFeesUsd } = reactExports.useMemo(() => getTotalRouteFees(routeData.route), [routeData]);
|
|
248569
|
-
const { routeBalanceUsd, fromAmount, fromAmountUsd } = reactExports.useMemo(() => getRouteAndTokenBalances(routeData), [routeData]);
|
|
248570
|
-
const handleClick = () => {
|
|
248571
|
-
onClick(routeData);
|
|
248572
|
-
};
|
|
248573
|
-
const menuItemProps = {
|
|
248574
|
-
selected,
|
|
248575
|
-
disabled,
|
|
248576
|
-
emphasized: true,
|
|
248577
|
-
rc,
|
|
248578
|
-
size,
|
|
248579
|
-
onClick: disabled ? undefined : handleClick,
|
|
248580
|
-
};
|
|
248581
|
-
return (jsxs(MenuItem, { ...menuItemProps, children: [jsx$1(MenuItem.Label, { children: fromToken.name }), chain && (jsxs(Sticker, { position: { x: 'right', y: 'bottom' }, children: [jsx$1(Sticker.FramedImage, { use: jsx$1("img", { src: chain.iconUrl, alt: chain.name }), size: "xSmall" }), jsx$1(MenuItem.FramedImage, { circularFrame: true, use: jsx$1("img", { src: fromToken.iconUrl, alt: fromToken.name }) })] })), jsxs(MenuItem.Caption, { children: [`${t('views.ADD_TOKENS.fees.balance')} ${t('views.ADD_TOKENS.fees.fiatPricePrefix')} $${routeBalanceUsd}`, routeData.isInsufficientGas && (jsxs(Fragment$1, { children: [jsx$1("br", {}), jsx$1("span", { style: { color: '#FF637F' }, children: t('views.ADD_TOKENS.noGasRouteMessage', {
|
|
248582
|
-
token: routeData.route.route.estimate.gasCosts[0].token.symbol,
|
|
248583
|
-
}) })] }))] }), jsx$1(MenuItem.PriceDisplay, { price: fromAmount, children: jsx$1(MenuItem.PriceDisplay.Caption, { children: `${t('views.ADD_TOKENS.fees.fiatPricePrefix')} $${fromAmountUsd}` }) }), jsxs(MenuItem.BottomSlot, { children: [jsx$1(MenuItem.BottomSlot.Divider, {}), jsxs(Stack, { rc: jsx$1("span", {}), direction: "row", justifyContent: "space-between", sx: {
|
|
248584
|
-
w: '100%',
|
|
248585
|
-
}, children: [jsxs(Body, { sx: {
|
|
248586
|
-
...hFlex,
|
|
248587
|
-
...centerFlexChildren,
|
|
248588
|
-
gap: 'base.spacing.x1',
|
|
248589
|
-
c: 'base.color.text.body.secondary',
|
|
248590
|
-
}, size: "xSmall", children: [jsx$1(Icon, { icon: "Countdown", sx: {
|
|
248591
|
-
w: 'base.icon.size.200',
|
|
248592
|
-
fill: 'base.color.text.body.secondary',
|
|
248593
|
-
}, variant: "bold" }), estimatedDurationFormatted] }), jsxs(Body, { size: "xSmall", sx: { ...hFlex, ...centerFlexChildren }, children: [isFastest && (jsx$1(Badge, { badgeContent: t('views.ADD_TOKENS.routeSelection.fastestBadge'), variant: "emphasis", sx: { mr: 'base.spacing.x2' } })), `${t('views.ADD_TOKENS.fees.fee')} ${t('views.ADD_TOKENS.fees.fiatPricePrefix')}
|
|
248594
|
-
$${getFormattedAmounts(totalFeesUsd)}`] })] })] })] }));
|
|
248595
|
-
}
|
|
248596
|
-
|
|
248597
|
-
function FiatOption({ type, onClick, disabled = false, size = 'small', rc = jsx$1("span", {}), }) {
|
|
248598
|
-
const { t } = useTranslation();
|
|
248599
|
-
const icon = {
|
|
248600
|
-
[FiatOptionType.DEBIT]: 'BankCard',
|
|
248601
|
-
[FiatOptionType.CREDIT]: 'Craft',
|
|
248602
|
-
};
|
|
248603
|
-
const handleClick = () => {
|
|
248604
|
-
onClick?.(type);
|
|
248605
|
-
};
|
|
248606
|
-
const menuItemProps = {
|
|
248607
|
-
disabled,
|
|
248608
|
-
emphasized: true,
|
|
248609
|
-
onClick: disabled ? undefined : handleClick,
|
|
248610
|
-
size,
|
|
248611
|
-
rc,
|
|
248612
|
-
};
|
|
248613
|
-
return (jsxs(MenuItem, { ...menuItemProps, children: [jsx$1(MenuItem.FramedIcon, { icon: icon[type], variant: "bold", emphasized: false }), jsx$1(MenuItem.Label, { children: t(`views.ADD_TOKENS.drawer.options.${type}.heading`) }), jsx$1(MenuItem.Caption, { children: t(`views.ADD_TOKENS.drawer.options.${type}.${disabled ? 'disabledCaption' : 'caption'}`) }), !disabled && jsx$1(MenuItem.IntentIcon, {})] }));
|
|
248614
|
-
}
|
|
248615
|
-
|
|
248616
|
-
const defaultFiatOptions = [
|
|
248617
|
-
FiatOptionType.DEBIT,
|
|
248618
|
-
FiatOptionType.CREDIT,
|
|
248619
|
-
];
|
|
248620
|
-
function RouteOptions({ checkout, routes, chains, onCardClick, onRouteClick, size, showOnrampOption, insufficientBalance, selectedIndex, }) {
|
|
248621
|
-
const { t } = useTranslation();
|
|
248622
|
-
// @NOTE: early exit with loading related UI, when the
|
|
248623
|
-
// routes are not yet available
|
|
248624
|
-
if (!routes?.length && !insufficientBalance) {
|
|
248625
|
-
return (jsxs(Stack, { sx: { pt: 'base.spacing.x3' }, alignItems: "stretch", gap: "base.spacing.x1", children: [jsx$1(MenuItem, { shimmer: "withBottomSlot", size: "small", emphasized: true }), jsx$1(MenuItem, { shimmer: "withBottomSlot", size: "small", emphasized: true }), jsxs(Body, { sx: { textAlign: 'center', mt: 'base.spacing.x6' }, size: "small", children: [t('views.ADD_TOKENS.drawer.options.loadingText1'), jsx$1("br", {}), t('views.ADD_TOKENS.drawer.options.loadingText2')] }), jsx$1(FramedVideo, { mimeType: "video/mp4", videoUrl: getRemoteVideo(checkout.config.environment, '/loading_bubble-small.mp4'), sx: { alignSelf: 'center', mt: 'base.spacing.x2' }, size: "large", circularFrame: true })] }));
|
|
248626
|
-
}
|
|
248627
|
-
const noRoutes = !(!insufficientBalance || routes?.length);
|
|
248628
|
-
return (jsxs(Stack, { sx: { py: 'base.spacing.x3' }, alignItems: "stretch", gap: "base.spacing.x1", testId: "options-list", justifyContent: "center", rc: jsx$1(motion.div, { variants: listVariants, initial: "hidden", animate: "show" }), children: [routes?.map((routeData, index) => (jsx$1(RouteOption, { size: size, routeData: routeData, chains: chains, onClick: () => onRouteClick(routeData, index), isFastest: index === 0, selected: index === selectedIndex, rc: jsx$1(motion.div, { variants: listItemVariants }) }, `route-option-${routeData.amountData.fromToken.chainId}-${routeData.amountData.fromToken.address}`))), noRoutes && (jsxs(Banner, { children: [jsx$1(Banner.Icon, { icon: "InformationCircle" }), jsx$1(Banner.Title, { children: t('views.ADD_TOKENS.drawer.options.noRoutes.heading') }), jsx$1(Banner.Caption, { children: t('views.ADD_TOKENS.drawer.options.noRoutes.caption') })] })), showOnrampOption && (jsxs(Fragment$1, { children: [jsx$1(Divider, { size: "xSmall", sx: { my: 'base.spacing.x2' }, children: t('views.ADD_TOKENS.drawer.options.moreOptionsDividerText') }), defaultFiatOptions.map((type, idx) => (jsx$1(FiatOption, { type: type, size: size, onClick: onCardClick, rc: jsx$1(motion.div, { custom: idx, variants: listItemVariants }) }, `fiat-option-${type}`)))] }))] }));
|
|
248629
|
-
}
|
|
248630
|
-
|
|
248631
|
-
function RouteOptionsDrawer({ checkout, routes, visible, onClose, onRouteClick, onCardClick, showOnrampOption,
|
|
248632
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
248633
|
-
showSwapOption,
|
|
248634
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
248635
|
-
showBridgeOption, insufficientBalance, }) {
|
|
248636
|
-
const { t } = useTranslation();
|
|
248637
|
-
const { track } = useAnalytics();
|
|
248638
|
-
const { addTokensState: { id, chains }, } = reactExports.useContext(AddTokensContext);
|
|
248639
|
-
const { providersState: { fromProviderInfo, fromAddress }, } = useProvidersContext();
|
|
248640
|
-
const selectedRouteIndex = reactExports.useRef(0);
|
|
248641
|
-
const handleOnRouteClick = (route, index) => {
|
|
248642
|
-
selectedRouteIndex.current = index;
|
|
248643
|
-
onRouteClick(route);
|
|
248644
|
-
};
|
|
248645
|
-
reactExports.useEffect(() => {
|
|
248646
|
-
if (!visible) {
|
|
248647
|
-
return;
|
|
248648
|
-
}
|
|
248649
|
-
track({
|
|
248650
|
-
userJourney: UserJourney.ADD_TOKENS,
|
|
248651
|
-
screen: 'InputScreen',
|
|
248652
|
-
control: 'RoutesMenu',
|
|
248653
|
-
controlType: 'MenuItem',
|
|
248654
|
-
action: 'Opened',
|
|
248655
|
-
extras: {
|
|
248656
|
-
contextId: id,
|
|
248657
|
-
showOnrampOption: Boolean(showOnrampOption),
|
|
248658
|
-
showSwapOption: Boolean(showSwapOption),
|
|
248659
|
-
insufficientBalance: Boolean(insufficientBalance),
|
|
248660
|
-
routesAvailable: routes?.length ?? 0,
|
|
248661
|
-
},
|
|
248662
|
-
});
|
|
248663
|
-
}, [visible]);
|
|
248664
|
-
return (jsx$1(Drawer, { size: "full", visible: visible, showHeaderBar: false, onCloseDrawer: onClose, children: jsxs(Drawer.Content, { rc: jsx$1(motion.div, { variants: listVariants, initial: "hidden", animate: "show" }), sx: {
|
|
248665
|
-
pt: 'base.spacing.x3',
|
|
248666
|
-
px: 'base.spacing.x3',
|
|
248667
|
-
}, children: [jsxs(MenuItem, { size: "xSmall", children: [jsx$1(MenuItem.FramedImage, { padded: true, emphasized: true, use: (jsx$1("img", { src: fromProviderInfo?.icon, alt: fromProviderInfo?.name })), sx: { mx: 'base.spacing.x2' } }), jsx$1(MenuItem.Label, { children: t('views.ADD_TOKENS.drawer.options.heading') }), jsxs(MenuItem.Caption, { children: [fromProviderInfo?.name, ' • ', jsx$1(EllipsizedText, { text: fromAddress ?? '', sx: { c: 'inherit', fontSize: 'inherit' } })] }), jsx$1(MenuItem.StatefulButtCon, { icon: "ChevronExpand", onClick: onClose })] }), jsx$1(RouteOptions, { size: "small", checkout: checkout, routes: routes, chains: chains, onCardClick: onCardClick, onRouteClick: handleOnRouteClick, showOnrampOption: showOnrampOption, insufficientBalance: insufficientBalance, selectedIndex: selectedRouteIndex.current })] }) }));
|
|
248668
|
-
}
|
|
248669
|
-
|
|
248670
|
-
function SquidFooter() {
|
|
248671
|
-
const { t } = useTranslation();
|
|
248672
|
-
return (jsx$1(Body, { size: "xSmall", sx: {
|
|
248673
|
-
textAlign: 'center',
|
|
248674
|
-
color: 'base.color.text.body.secondary',
|
|
248675
|
-
}, children: jsx$1(Trans, { i18nKey: t('views.ADD_TOKENS.footer.body'), components: {
|
|
248676
|
-
squidLink: jsx$1(Link, { size: "xSmall", rc: jsx$1("a", { target: "_blank", href: " https://app.squidrouter.com", rel: "noreferrer" }) }),
|
|
248677
|
-
} }) }));
|
|
248678
|
-
}
|
|
248679
|
-
|
|
248680
|
-
function PurchaseConnectWalletDrawer({ heading, visible, onClose, onConnect, onError, providerType, walletOptions, bottomSlot, menuItemSize = 'small', disabledOptions = [], shouldIdentifyUser = true, }) {
|
|
248681
|
-
const { providersState: { checkout }, providersDispatch, } = useProvidersContext();
|
|
248682
|
-
const { identify, track, user } = useAnalytics();
|
|
248683
|
-
const prevWalletChangeEvent = reactExports.useRef();
|
|
248684
|
-
const [showUnableToConnectDrawer, setShowUnableToConnectDrawer] = reactExports.useState(false);
|
|
248685
|
-
const setProviderInContext = async (provider, providerInfo) => {
|
|
248686
|
-
const address = await provider.getSigner().getAddress();
|
|
248687
|
-
providersDispatch({
|
|
248688
|
-
payload: {
|
|
248689
|
-
type: ProvidersContextActions.SET_PROVIDER,
|
|
248690
|
-
fromAddress: address,
|
|
248691
|
-
fromProvider: provider,
|
|
248692
|
-
fromProviderInfo: providerInfo,
|
|
248693
|
-
},
|
|
248694
|
-
});
|
|
248695
|
-
providersDispatch({
|
|
248696
|
-
payload: {
|
|
248697
|
-
type: ProvidersContextActions.SET_PROVIDER,
|
|
248698
|
-
toAddress: address,
|
|
248699
|
-
toProvider: provider,
|
|
248700
|
-
toProviderInfo: providerInfo,
|
|
248701
|
-
},
|
|
248702
|
-
});
|
|
248703
|
-
return address;
|
|
248704
|
-
};
|
|
248705
|
-
const handleWalletConnection = async (event) => {
|
|
248706
|
-
const { providerDetail } = event;
|
|
248707
|
-
const { info } = providerDetail;
|
|
248708
|
-
// Trigger analytics connect wallet, menu item, with wallet details
|
|
248709
|
-
track({
|
|
248710
|
-
userJourney: UserJourney.CONNECT,
|
|
248711
|
-
screen: 'ConnectWallet',
|
|
248712
|
-
control: removeSpace(info.name),
|
|
248713
|
-
controlType: 'MenuItem',
|
|
248714
|
-
extras: {
|
|
248715
|
-
providerType,
|
|
248716
|
-
wallet: getProviderSlugFromRdns(info.rdns),
|
|
248717
|
-
walletRdns: info.rdns,
|
|
248718
|
-
},
|
|
248719
|
-
});
|
|
248720
|
-
if (info.rdns === WalletProviderRdns.PASSPORT) {
|
|
248721
|
-
const { isConnected } = await checkout.checkIsWalletConnected({
|
|
248722
|
-
provider: new Web3Provider(providerDetail.provider),
|
|
248723
|
-
});
|
|
248724
|
-
if (isConnected) {
|
|
248725
|
-
await checkout.passport?.logout();
|
|
248726
|
-
}
|
|
248727
|
-
}
|
|
248728
|
-
let address;
|
|
248729
|
-
try {
|
|
248730
|
-
const { provider } = await connectEIP6963Provider(providerDetail, checkout, true);
|
|
248731
|
-
// Identify connected wallet, retaining current anonymousId
|
|
248732
|
-
if (shouldIdentifyUser) {
|
|
248733
|
-
const userData = user ? await user() : undefined;
|
|
248734
|
-
const anonymousId = userData?.anonymousId();
|
|
248735
|
-
await identifyUser(identify, provider, { anonymousId });
|
|
248736
|
-
}
|
|
248737
|
-
// Store selected provider as fromProvider in context
|
|
248738
|
-
address = await setProviderInContext(provider, providerDetail.info);
|
|
248739
|
-
// Notify successful connection
|
|
248740
|
-
onConnect?.(provider, providerDetail.info);
|
|
248741
|
-
}
|
|
248742
|
-
catch (error) {
|
|
248743
|
-
let errorType = error.message;
|
|
248744
|
-
switch (error.message) {
|
|
248745
|
-
case ConnectEIP6963ProviderError.CONNECT_ERROR:
|
|
248746
|
-
setShowUnableToConnectDrawer(true);
|
|
248747
|
-
break;
|
|
248748
|
-
default:
|
|
248749
|
-
errorType = ConnectEIP6963ProviderError.CONNECT_ERROR;
|
|
248750
|
-
}
|
|
248751
|
-
// Notify failure to connect
|
|
248752
|
-
onError?.(errorType);
|
|
248753
|
-
return;
|
|
248754
|
-
}
|
|
248755
|
-
onClose(address);
|
|
248756
|
-
};
|
|
248757
|
-
const handleOnWalletChangeEvent = async (event) => {
|
|
248758
|
-
// Keep prev wallet change event
|
|
248759
|
-
prevWalletChangeEvent.current = event;
|
|
248760
|
-
handleWalletConnection(event);
|
|
248761
|
-
};
|
|
248762
|
-
return (jsxs(Fragment$1, { children: [jsx$1(WalletDrawer, { testId: "select-from-wallet-drawer", showWalletConnect: true, showDrawer: visible, drawerText: { heading }, walletOptions: walletOptions, disabledOptions: disabledOptions, menuItemSize: menuItemSize, setShowDrawer: (show) => {
|
|
248763
|
-
if (show === false)
|
|
248764
|
-
onClose();
|
|
248765
|
-
}, onWalletChange: handleOnWalletChangeEvent, bottomSlot: bottomSlot }), jsx$1(UnableToConnectDrawer, { visible: showUnableToConnectDrawer, checkout: checkout, onCloseDrawer: () => setShowUnableToConnectDrawer(false), onTryAgain: () => setShowUnableToConnectDrawer(false) })] }));
|
|
248766
|
-
}
|
|
248767
|
-
|
|
248768
|
-
function PurchaseDeliverToWalletDrawer({ visible, onClose, onConnect, walletOptions, }) {
|
|
248769
|
-
const handleOnConnect = (provider, providerInfo) => {
|
|
248770
|
-
onConnect?.('to', provider, providerInfo);
|
|
248771
|
-
};
|
|
248772
|
-
const { t } = useTranslation();
|
|
248773
|
-
return (jsx$1(PurchaseConnectWalletDrawer, { heading: t('drawers.wallet.deliverToHeading'), visible: visible, onClose: onClose, providerType: "to", walletOptions: walletOptions, onConnect: handleOnConnect }));
|
|
248774
|
-
}
|
|
248775
|
-
|
|
248776
248250
|
var FiatSymbols;
|
|
248777
248251
|
(function (FiatSymbols) {
|
|
248778
248252
|
FiatSymbols["USD"] = "usd";
|
|
@@ -248822,7 +248296,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248822
248296
|
}
|
|
248823
248297
|
};
|
|
248824
248298
|
|
|
248825
|
-
function PurchaseItemHero({ items }) {
|
|
248299
|
+
function PurchaseItemHero({ items, totalQty }) {
|
|
248826
248300
|
if (items.length === 0) {
|
|
248827
248301
|
return null;
|
|
248828
248302
|
}
|
|
@@ -248831,7 +248305,6 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248831
248305
|
const [detailsLoading, setDetailsLoading] = reactExports.useState(true);
|
|
248832
248306
|
const [fiatPrice, setFiatPrice] = reactExports.useState(undefined);
|
|
248833
248307
|
const item = items[0];
|
|
248834
|
-
const totalQty = items?.reduce((sum, purchaseItem) => sum + purchaseItem.qty, 0) || 0;
|
|
248835
248308
|
reactExports.useEffect(() => {
|
|
248836
248309
|
if (!quote?.totalCurrencyAmount || !conversions)
|
|
248837
248310
|
return;
|
|
@@ -248850,103 +248323,9 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248850
248323
|
} })), jsx$1(Body, { size: "large", children: item.name }), detailsLoading ? (jsxs(Fragment$1, { children: [jsx$1(Heading, { size: "small", shimmer: 1 }), jsx$1(Body, { size: "xSmall", shimmer: 1 })] })) : (jsxs(Fragment$1, { children: [fiatPrice && (jsxs(Heading, { size: "small", children: ["USD $", fiatPrice] })), quote?.totalCurrencyAmount && (jsxs(Body, { size: "xSmall", children: [quote.currency.name, ' ', quote.totalCurrencyAmount] }))] }))] }));
|
|
248851
248324
|
}
|
|
248852
248325
|
|
|
248853
|
-
function PurchasePayWithWalletDrawer({ visible, onClose, onConnect, onPayWithCard, walletOptions, insufficientBalance, showOnRampOption = true, }) {
|
|
248854
|
-
const { t } = useTranslation();
|
|
248855
|
-
const { providersState: { fromProviderInfo } } = useProvidersContext();
|
|
248856
|
-
const disabledOptions = reactExports.useMemo(() => {
|
|
248857
|
-
if (insufficientBalance && fromProviderInfo) {
|
|
248858
|
-
return [{
|
|
248859
|
-
label: t('drawers.wallet.insufficientFunds'),
|
|
248860
|
-
rdns: fromProviderInfo.rdns,
|
|
248861
|
-
}];
|
|
248862
|
-
}
|
|
248863
|
-
return [];
|
|
248864
|
-
}, [t, insufficientBalance, fromProviderInfo]);
|
|
248865
|
-
const handleOnConnect = (provider, providerInfo) => {
|
|
248866
|
-
onConnect('from', provider, providerInfo);
|
|
248867
|
-
};
|
|
248868
|
-
const payWithCardItem = reactExports.useMemo(() => {
|
|
248869
|
-
if (!showOnRampOption)
|
|
248870
|
-
return null;
|
|
248871
|
-
return (jsxs(MenuItem, { size: "small", emphasized: true, onClick: () => {
|
|
248872
|
-
onClose();
|
|
248873
|
-
onPayWithCard?.();
|
|
248874
|
-
}, children: [jsx$1(MenuItem.FramedIcon, { icon: "BankCard", variant: "bold", emphasized: false }), jsx$1(MenuItem.Label, { children: t('drawers.wallet.payWithCard') })] }));
|
|
248875
|
-
}, [onClose, onPayWithCard]);
|
|
248876
|
-
return (jsx$1(PurchaseConnectWalletDrawer, { heading: insufficientBalance
|
|
248877
|
-
? t('drawers.wallet.payWithHeadingInsufficientBalance')
|
|
248878
|
-
: t('drawers.wallet.payWithHeading'), visible: visible, onClose: onClose, providerType: "from", walletOptions: walletOptions, disabledOptions: disabledOptions, bottomSlot: payWithCardItem, onConnect: handleOnConnect, shouldIdentifyUser: false }));
|
|
248879
|
-
}
|
|
248880
|
-
|
|
248881
|
-
function PurchaseSelectedRouteOption({ checkout, routeData, chains, loading = false, insufficientBalance = false, showOnrampOption = false, onClick, }) {
|
|
248882
|
-
const { t } = useTranslation();
|
|
248883
|
-
const { fromToken } = routeData?.amountData ?? {};
|
|
248884
|
-
const chain = chains?.find((c) => c.id === fromToken?.chainId);
|
|
248885
|
-
const { routeBalanceUsd } = reactExports.useMemo(() => getRouteAndTokenBalances(routeData), [routeData]);
|
|
248886
|
-
const insufficientBalancePayWithCard = insufficientBalance && showOnrampOption;
|
|
248887
|
-
const handleOnClick = reactExports.useCallback((event) => {
|
|
248888
|
-
event.stopPropagation();
|
|
248889
|
-
if (!loading && !routeData && !insufficientBalancePayWithCard)
|
|
248890
|
-
return false;
|
|
248891
|
-
onClick?.(event);
|
|
248892
|
-
return true;
|
|
248893
|
-
}, [onClick, loading, routeData]);
|
|
248894
|
-
if (!routeData && loading) {
|
|
248895
|
-
return (jsxs(MenuItem, { size: "small", emphasized: true, sx: {
|
|
248896
|
-
cursor: 'pointer',
|
|
248897
|
-
py: 'base.spacing.x4',
|
|
248898
|
-
}, onClick: handleOnClick, children: [jsx$1(MenuItem.FramedVideo, { videoUrl: getRemoteVideo(checkout.config.environment, '/loading_bubble-small.mp4'), padded: true, mimeType: "video/mp4", circularFrame: true }), jsx$1(MenuItem.Caption, { children: t('views.PURCHASE.routeSelection.loadingText') })] }));
|
|
248899
|
-
}
|
|
248900
|
-
if ((!routeData && !loading) || insufficientBalance) {
|
|
248901
|
-
let icon = 'Sparkle';
|
|
248902
|
-
let copy = '';
|
|
248903
|
-
if (insufficientBalance) {
|
|
248904
|
-
icon = 'InformationCircle';
|
|
248905
|
-
copy = t('views.PURCHASE.routeSelection.noRoute');
|
|
248906
|
-
}
|
|
248907
|
-
if (insufficientBalancePayWithCard) {
|
|
248908
|
-
icon = 'BankCard';
|
|
248909
|
-
copy = t('views.PURCHASE.routeSelection.payWithCard');
|
|
248910
|
-
}
|
|
248911
|
-
return (jsxs(MenuItem, { size: "small", emphasized: true, sx: {
|
|
248912
|
-
cursor: 'pointer',
|
|
248913
|
-
py: 'base.spacing.x4',
|
|
248914
|
-
}, onClick: handleOnClick, children: [jsx$1(MenuItem.FramedIcon, { icon: icon, variant: "bold", circularFrame: true, emphasized: false }), jsx$1(MenuItem.Caption, { children: copy })] }));
|
|
248915
|
-
}
|
|
248916
|
-
return (jsxs(MenuItem, { size: "small", emphasized: true, sx: {
|
|
248917
|
-
cursor: 'pointer',
|
|
248918
|
-
py: 'base.spacing.x4',
|
|
248919
|
-
}, onClick: handleOnClick, children: [chain && (jsxs(Sticker, { position: { x: 'rightInside', y: 'bottomInside' }, children: [jsx$1(Sticker.FramedImage, { use: jsx$1("img", { src: chain.iconUrl, alt: chain.name }), size: "xSmall" }), jsx$1(MenuItem.FramedImage, { circularFrame: true, sx: { w: '48px', h: '48px' }, use: jsx$1("img", { src: fromToken?.iconUrl, alt: fromToken?.name }) })] })), jsxs(MenuItem.Label, { children: [t('views.PURCHASE.walletSelection.from.label'), ' ', fromToken?.name] }), jsxs(MenuItem.Caption, { children: [`${t('views.PURCHASE.fees.balance')} ${t('views.PURCHASE.fees.fiatPricePrefix')}${routeBalanceUsd}`, routeData?.isInsufficientGas && (jsxs(Fragment$1, { children: [jsx$1("br", {}), jsx$1("span", { style: { color: '#FF637F' }, children: t('views.PURCHASE.noGasRouteMessage', {
|
|
248920
|
-
token: routeData.route.route.estimate.gasCosts[0].token.symbol,
|
|
248921
|
-
}) })] }))] })] }));
|
|
248922
|
-
}
|
|
248923
|
-
|
|
248924
|
-
const disabledStyles$1 = {
|
|
248925
|
-
cursor: 'not-allowed',
|
|
248926
|
-
bg: 'base.color.translucent.inverse.800',
|
|
248927
|
-
};
|
|
248928
|
-
function PurchaseSelectedWallet({ label, caption, children, onClick, providerInfo, disabled, sx, size, }) {
|
|
248929
|
-
const selected = !!children && providerInfo?.rdns;
|
|
248930
|
-
const getMenuItemImage = () => {
|
|
248931
|
-
const menuItemImage = !providerInfo?.icon ? (jsx$1(MenuItem.FramedIcon, { icon: "Wallet", variant: "bold", emphasized: false })) : (jsx$1(MenuItem.FramedImage, { padded: true, sx: { mx: selected ? 'base.spacing.x2' : undefined }, use: jsx$1("img", { src: providerInfo.icon, alt: providerInfo.name }) }));
|
|
248932
|
-
return menuItemImage;
|
|
248933
|
-
};
|
|
248934
|
-
return (jsxs(MenuItem, { size: size, disabled: disabled, emphasized: !disabled, onClick: disabled ? undefined : onClick, sx: {
|
|
248935
|
-
py: selected ? 'base.spacing.x1' : undefined,
|
|
248936
|
-
...(disabled ? disabledStyles$1 : {}),
|
|
248937
|
-
...sx,
|
|
248938
|
-
}, children: [getMenuItemImage(), jsx$1(MenuItem.Label, { children: label }), providerInfo?.name ? (jsxs(MenuItem.Caption, { children: [providerInfo?.name, ' • ', jsx$1(EllipsizedText, { text: providerInfo.address ?? '', sx: { c: 'inherit', fontSize: 'inherit' } })] })) : (jsx$1(MenuItem.Caption, { children: caption })), children && (jsx$1(MenuItem.BottomSlot, { children: children }))] }));
|
|
248939
|
-
}
|
|
248940
|
-
|
|
248941
248326
|
function Purchase$1({ checkout, environmentId, onCloseButtonClick, showBackButton, onBackButtonClick, }) {
|
|
248942
|
-
const
|
|
248943
|
-
const [showDeliverToWalletDrawer, setShowDeliverToWalletDrawer] = reactExports.useState(false);
|
|
248944
|
-
const [showOptionsDrawer, setShowOptionsDrawer] = reactExports.useState(false);
|
|
248945
|
-
const { purchaseState: { items, selectedToken, chains, quote, }, } = reactExports.useContext(PurchaseContext);
|
|
248946
|
-
const { providers } = useInjectedProviders({ checkout });
|
|
248947
|
-
const { providersState: { fromProviderInfo, toProviderInfo, fromAddress, toAddress, lockedToProvider, }, } = useProvidersContext();
|
|
248327
|
+
const { purchaseState: { items, quote } } = reactExports.useContext(PurchaseContext);
|
|
248948
248328
|
const { cryptoFiatDispatch } = reactExports.useContext(CryptoFiatContext);
|
|
248949
|
-
const { t } = useTranslation();
|
|
248950
248329
|
reactExports.useEffect(() => {
|
|
248951
248330
|
// eslint-disable-next-line no-console
|
|
248952
248331
|
console.log({
|
|
@@ -248972,53 +248351,19 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248972
248351
|
});
|
|
248973
248352
|
}, [quote]);
|
|
248974
248353
|
const shouldShowBackButton = showBackButton && onBackButtonClick;
|
|
248975
|
-
const
|
|
248976
|
-
|
|
248977
|
-
if (detail.info.rdns === WalletProviderRdns.PASSPORT) {
|
|
248978
|
-
return {
|
|
248979
|
-
...detail,
|
|
248980
|
-
info: {
|
|
248981
|
-
...detail.info,
|
|
248982
|
-
name: getProviderSlugFromRdns(detail.info.rdns).replace(/^\w/, (c) => c.toUpperCase()),
|
|
248983
|
-
},
|
|
248984
|
-
};
|
|
248985
|
-
}
|
|
248986
|
-
return detail;
|
|
248987
|
-
}), [providers]);
|
|
248988
|
-
const handleDeliverToWalletClose = () => {
|
|
248989
|
-
setShowDeliverToWalletDrawer(false);
|
|
248990
|
-
};
|
|
248991
|
-
const handleRouteClick = () => {
|
|
248992
|
-
setShowOptionsDrawer(false);
|
|
248993
|
-
setShowPayWithWalletDrawer(false);
|
|
248994
|
-
setShowDeliverToWalletDrawer(false);
|
|
248995
|
-
};
|
|
248996
|
-
const readyToPay = !!selectedToken && !!fromAddress && !!toAddress;
|
|
248997
|
-
return (jsxs(SimpleLayout, { containerSx: { bg: 'transparent' }, header: (jsxs(Stack, { direction: "row", sx: {
|
|
248354
|
+
const totalQty = items?.reduce((sum, item) => sum + item.qty, 0) || 0;
|
|
248355
|
+
return (jsx$1(SimpleLayout, { containerSx: { bg: 'transparent' }, header: (jsxs(Stack, { direction: "row", sx: {
|
|
248998
248356
|
pos: 'absolute',
|
|
248999
248357
|
w: '100%',
|
|
249000
248358
|
top: '0',
|
|
249001
248359
|
pt: 'base.spacing.x4',
|
|
249002
248360
|
px: 'base.spacing.x5',
|
|
249003
|
-
}, justifyContent: "flex-start", children: [shouldShowBackButton && (jsx$1(ButtCon, { testId: "backButton", icon: "ArrowBackward", variant: "tertiary", size: "small", onClick: onBackButtonClick })), jsx$1(ButtCon, { variant: "tertiary", size: "small", icon: "Close", onClick: onCloseButtonClick, sx: { ml: 'auto' } })] })), children:
|
|
249004
|
-
|
|
249005
|
-
|
|
249006
|
-
|
|
249007
|
-
|
|
249008
|
-
|
|
249009
|
-
alignSelf: 'stretch',
|
|
249010
|
-
p: 'base.spacing.x3',
|
|
249011
|
-
pb: 'base.spacing.x5',
|
|
249012
|
-
bg: 'base.color.neutral.800',
|
|
249013
|
-
bradtl: 'base.borderRadius.x8',
|
|
249014
|
-
bradtr: 'base.borderRadius.x8',
|
|
249015
|
-
}, gap: "base.spacing.x4", children: [jsxs(Stack, { gap: "base.spacing.x3", children: [!fromProviderInfo && (jsx$1(PurchaseSelectedWallet, { label: t('views.PURCHASE.walletSelection.from.label'), size: "small", onClick: (event) => {
|
|
249016
|
-
event.stopPropagation();
|
|
249017
|
-
setShowPayWithWalletDrawer(true);
|
|
249018
|
-
} })), fromAddress && (jsx$1(PurchaseSelectedRouteOption, { checkout: checkout, routeData: undefined, chains: chains, onClick: () => setShowOptionsDrawer(true), insufficientBalance: false, showOnrampOption: true })), jsx$1(PurchaseSelectedWallet, { label: t('views.PURCHASE.walletSelection.to.label'), size: toProviderInfo ? 'xSmall' : 'small', providerInfo: {
|
|
249019
|
-
...toProviderInfo,
|
|
249020
|
-
address: toAddress,
|
|
249021
|
-
}, onClick: () => setShowDeliverToWalletDrawer(true), disabled: lockedToProvider })] }), jsx$1(RouteOptionsDrawer, { checkout: checkout, routes: [], visible: showOptionsDrawer, onClose: () => setShowOptionsDrawer(false), onCardClick: () => undefined, onRouteClick: handleRouteClick }), jsx$1(Button, { testId: "add-tokens-button", size: "large", variant: readyToPay ? 'primary' : 'secondary', disabled: !readyToPay, onClick: () => undefined, sx: { opacity: readyToPay ? 1 : 0.5 }, children: "Pay" }), jsx$1(SquidFooter, {})] })] }), jsx$1(PurchasePayWithWalletDrawer, { visible: showPayWithWalletDrawer, walletOptions: walletOptions, onClose: () => setShowPayWithWalletDrawer(false), onPayWithCard: () => undefined, onConnect: () => undefined }), jsx$1(PurchaseDeliverToWalletDrawer, { visible: showDeliverToWalletDrawer, walletOptions: walletOptions, onClose: handleDeliverToWalletClose, onConnect: () => undefined })] }));
|
|
248361
|
+
}, justifyContent: "flex-start", children: [shouldShowBackButton && (jsx$1(ButtCon, { testId: "backButton", icon: "ArrowBackward", variant: "tertiary", size: "small", onClick: onBackButtonClick })), jsx$1(ButtCon, { variant: "tertiary", size: "small", icon: "Close", onClick: onCloseButtonClick, sx: { ml: 'auto' } })] })), children: jsx$1(Stack, { alignItems: "center", sx: { flex: 1 }, children: jsx$1(Stack, { testId: "topSection", sx: {
|
|
248362
|
+
flex: 1,
|
|
248363
|
+
px: 'base.spacing.x2',
|
|
248364
|
+
w: '100%',
|
|
248365
|
+
pt: 'base.spacing.x1',
|
|
248366
|
+
}, justifyContent: "center", alignItems: "center", children: jsx$1(PurchaseItemHero, { items: items, totalQty: totalQty }) }) }) }));
|
|
249022
248367
|
}
|
|
249023
248368
|
|
|
249024
248369
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -249036,179 +248381,11 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
249036
248381
|
eventTarget.dispatchEvent(closeWidgetEvent);
|
|
249037
248382
|
}
|
|
249038
248383
|
|
|
249039
|
-
|
|
249040
|
-
* Class representing the configuration for the CryptoFiatModule.
|
|
249041
|
-
*/
|
|
249042
|
-
class CryptoFiatConfiguration {
|
|
249043
|
-
baseConfig;
|
|
249044
|
-
/**
|
|
249045
|
-
* Creates an instance of CryptoFiatConfiguration.
|
|
249046
|
-
*/
|
|
249047
|
-
constructor({ baseConfig }) {
|
|
249048
|
-
this.baseConfig = baseConfig;
|
|
249049
|
-
}
|
|
249050
|
-
}
|
|
249051
|
-
|
|
249052
|
-
const CHECKOUT_API_BASE_URL = {
|
|
249053
|
-
[Environment$1.SANDBOX]: 'https://checkout-api.sandbox.immutable.com',
|
|
249054
|
-
[Environment$1.PRODUCTION]: 'https://checkout-api.immutable.com',
|
|
249055
|
-
};
|
|
249056
|
-
const DEFAULT_FIAT_SYMBOL = 'usd';
|
|
249057
|
-
/**
|
|
249058
|
-
* CryptoFiat module class
|
|
249059
|
-
*/
|
|
249060
|
-
class CryptoFiat {
|
|
249061
|
-
coinsCache;
|
|
249062
|
-
overridesCache;
|
|
249063
|
-
config;
|
|
249064
|
-
/**
|
|
249065
|
-
* Creates an instance of CryptoFiat.
|
|
249066
|
-
* @param {CryptoFiatConfiguration} config - configuration parameters for the module
|
|
249067
|
-
*/
|
|
249068
|
-
constructor(config) {
|
|
249069
|
-
this.coinsCache = null;
|
|
249070
|
-
this.overridesCache = null;
|
|
249071
|
-
this.config = config.baseConfig;
|
|
249072
|
-
}
|
|
249073
|
-
urlWithPath(path) {
|
|
249074
|
-
return CHECKOUT_API_BASE_URL[this.config.environment] + path;
|
|
249075
|
-
}
|
|
249076
|
-
// Given that we could have multiple coins with the same symbol
|
|
249077
|
-
// and we do not have the contract address we are forcing the
|
|
249078
|
-
// conversion because we are using coingecko under the hood.
|
|
249079
|
-
async fetchOverrides() {
|
|
249080
|
-
if (this.overridesCache !== null)
|
|
249081
|
-
return;
|
|
249082
|
-
const url = this.urlWithPath('/v1/fiat/coins/overrides');
|
|
249083
|
-
const response = await axios$3.get(url);
|
|
249084
|
-
if (response.status !== 200) {
|
|
249085
|
-
throw new Error(`Error fetching coins overrides: ${response.status} ${response.statusText}`);
|
|
249086
|
-
}
|
|
249087
|
-
this.overridesCache = new Map(Object.entries(response.data));
|
|
249088
|
-
}
|
|
249089
|
-
async fetchCoins() {
|
|
249090
|
-
if (this.coinsCache !== null)
|
|
249091
|
-
return;
|
|
249092
|
-
await this.fetchOverrides();
|
|
249093
|
-
const url = this.urlWithPath('/v1/fiat/coins/all');
|
|
249094
|
-
const response = await axios$3.get(url);
|
|
249095
|
-
if (response.status !== 200) {
|
|
249096
|
-
throw new Error(`Error fetching coins list: ${response.status} ${response.statusText}`);
|
|
249097
|
-
}
|
|
249098
|
-
const { data } = response;
|
|
249099
|
-
this.coinsCache = new Map();
|
|
249100
|
-
for (const coin of data) {
|
|
249101
|
-
const override = this.overridesCache.get(coin.symbol.toLowerCase());
|
|
249102
|
-
this.coinsCache.set(coin.symbol.toLowerCase(), override || coin.id.toLowerCase());
|
|
249103
|
-
}
|
|
249104
|
-
}
|
|
249105
|
-
/**
|
|
249106
|
-
* Converts tokens with fiat currencies.
|
|
249107
|
-
* @param {CryptoFiatConvertParams} - object containing the token symbols to get a conversion
|
|
249108
|
-
* for and the optional fiat symbols to convert to.
|
|
249109
|
-
* @returns {Promise<CryptoFiatConvertReturn>} - promise to return the map that associates
|
|
249110
|
-
* token symbol to its conversion value object
|
|
249111
|
-
* with fiat currencies.
|
|
249112
|
-
*/
|
|
249113
|
-
async convert({ tokenSymbols, fiatSymbols = [], }) {
|
|
249114
|
-
if (!tokenSymbols || tokenSymbols.length === 0) {
|
|
249115
|
-
throw new Error('Error missing token symbols to convert');
|
|
249116
|
-
}
|
|
249117
|
-
const currencies = fiatSymbols.filter((fiatSymbol) => fiatSymbol !== '');
|
|
249118
|
-
if (currencies.length === 0)
|
|
249119
|
-
currencies.push(DEFAULT_FIAT_SYMBOL);
|
|
249120
|
-
await this.fetchCoins();
|
|
249121
|
-
const idsParam = tokenSymbols
|
|
249122
|
-
.map((tokenSymbol) => this.coinsCache.get(tokenSymbol.toLowerCase()))
|
|
249123
|
-
.filter((tokenSymbol) => tokenSymbol !== '' && tokenSymbol !== undefined)
|
|
249124
|
-
.join(',');
|
|
249125
|
-
const currenciesParam = currencies
|
|
249126
|
-
.join(',')
|
|
249127
|
-
.toLowerCase();
|
|
249128
|
-
const url = this.urlWithPath(`/v1/fiat/conversion?ids=${idsParam}¤cies=${currenciesParam}`);
|
|
249129
|
-
const response = await axios$3.get(url);
|
|
249130
|
-
if (response.status !== 200) {
|
|
249131
|
-
throw new Error(`Error fetching prices: ${response.status} ${response.statusText}`);
|
|
249132
|
-
}
|
|
249133
|
-
const { data } = response;
|
|
249134
|
-
const result = {};
|
|
249135
|
-
for (const symbol of tokenSymbols) {
|
|
249136
|
-
const symbolKey = symbol.toLowerCase();
|
|
249137
|
-
const coinId = this.coinsCache.get(symbolKey);
|
|
249138
|
-
result[symbolKey] = {};
|
|
249139
|
-
if (coinId)
|
|
249140
|
-
result[symbolKey] = data[coinId] || {};
|
|
249141
|
-
}
|
|
249142
|
-
return result;
|
|
249143
|
-
}
|
|
249144
|
-
}
|
|
249145
|
-
|
|
249146
|
-
const updateConversions = (cryptoToFiatResult, fiatSymbol) => {
|
|
249147
|
-
const conversionMap = new Map();
|
|
249148
|
-
// TODO: Consider using Object.keys(cryptoToFiatResult) instead of for...in
|
|
249149
|
-
// for...in includes properties from the prototype chain
|
|
249150
|
-
// eslint-disable-next-line no-restricted-syntax, guard-for-in
|
|
249151
|
-
for (const tokenSymbol in cryptoToFiatResult) {
|
|
249152
|
-
const conversion = cryptoToFiatResult[tokenSymbol];
|
|
249153
|
-
const usdAmount = conversion[fiatSymbol];
|
|
249154
|
-
if (usdAmount !== undefined) {
|
|
249155
|
-
conversionMap.set(tokenSymbol, usdAmount);
|
|
249156
|
-
}
|
|
249157
|
-
}
|
|
249158
|
-
return conversionMap;
|
|
249159
|
-
};
|
|
249160
|
-
const getCryptoToFiatConversion = async (cryptoFiat, fiatSymbol, tokenSymbols) => {
|
|
249161
|
-
try {
|
|
249162
|
-
if (tokenSymbols.length === 0)
|
|
249163
|
-
return new Map();
|
|
249164
|
-
const cryptoToFiatResult = await cryptoFiat.convert({
|
|
249165
|
-
tokenSymbols,
|
|
249166
|
-
fiatSymbols: [fiatSymbol],
|
|
249167
|
-
});
|
|
249168
|
-
return updateConversions(cryptoToFiatResult, fiatSymbol);
|
|
249169
|
-
}
|
|
249170
|
-
catch (err) {
|
|
249171
|
-
return new Map();
|
|
249172
|
-
}
|
|
249173
|
-
};
|
|
248384
|
+
var dist$5 = {};
|
|
249174
248385
|
|
|
249175
|
-
|
|
249176
|
-
function CryptoFiatProvider({ environment, children }) {
|
|
249177
|
-
const [cryptoFiatState, cryptoFiatDispatch] = reactExports.useReducer(cryptoFiatReducer, initialCryptoFiatState);
|
|
249178
|
-
const { cryptoFiat, fiatSymbol, tokenSymbols } = cryptoFiatState;
|
|
249179
|
-
reactExports.useEffect(() => {
|
|
249180
|
-
cryptoFiatDispatch({
|
|
249181
|
-
payload: {
|
|
249182
|
-
type: CryptoFiatActions.SET_CRYPTO_FIAT,
|
|
249183
|
-
cryptoFiat: new CryptoFiat(new CryptoFiatConfiguration({
|
|
249184
|
-
baseConfig: {
|
|
249185
|
-
environment,
|
|
249186
|
-
},
|
|
249187
|
-
})),
|
|
249188
|
-
},
|
|
249189
|
-
});
|
|
249190
|
-
}, []);
|
|
249191
|
-
reactExports.useEffect(() => {
|
|
249192
|
-
if (!cryptoFiat || !fiatSymbol)
|
|
249193
|
-
return;
|
|
249194
|
-
(async () => {
|
|
249195
|
-
const conversions = await getCryptoToFiatConversion(cryptoFiat, fiatSymbol, [...new Set([...tokenSymbols, ...DEFAULT_TOKEN_SYMBOLS])]);
|
|
249196
|
-
cryptoFiatDispatch({
|
|
249197
|
-
payload: {
|
|
249198
|
-
type: CryptoFiatActions.SET_CONVERSIONS,
|
|
249199
|
-
conversions,
|
|
249200
|
-
},
|
|
249201
|
-
});
|
|
249202
|
-
})();
|
|
249203
|
-
}, [cryptoFiat, tokenSymbols, fiatSymbol]);
|
|
249204
|
-
return (
|
|
249205
|
-
// TODO: The object passed as the value prop to the Context provider changes every render.
|
|
249206
|
-
// To fix this consider wrapping it in a useMemo hook.
|
|
249207
|
-
// eslint-disable-next-line react/jsx-no-constructed-context-values
|
|
249208
|
-
jsx$1(CryptoFiatContext.Provider, { value: { cryptoFiatState, cryptoFiatDispatch }, children: children }));
|
|
249209
|
-
}
|
|
248386
|
+
var types$8 = {};
|
|
249210
248387
|
|
|
249211
|
-
var dist$
|
|
248388
|
+
var dist$4 = {};
|
|
249212
248389
|
|
|
249213
248390
|
var chains = {};
|
|
249214
248391
|
|
|
@@ -249846,29 +249023,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
249846
249023
|
__exportStar(rfq, exports);
|
|
249847
249024
|
__exportStar(gas, exports);
|
|
249848
249025
|
|
|
249849
|
-
} (dist$
|
|
249850
|
-
|
|
249851
|
-
const fetchChains = (squid) => {
|
|
249852
|
-
const { chains } = squid;
|
|
249853
|
-
return chains
|
|
249854
|
-
.filter((chain) => chain.chainType === dist$5.ChainType.EVM)
|
|
249855
|
-
.map((chain) => ({
|
|
249856
|
-
id: chain.chainId.toString(),
|
|
249857
|
-
name: chain.networkName,
|
|
249858
|
-
iconUrl: chain.chainIconURI,
|
|
249859
|
-
type: chain.chainType,
|
|
249860
|
-
nativeCurrency: {
|
|
249861
|
-
name: chain.nativeCurrency.name,
|
|
249862
|
-
symbol: chain.nativeCurrency.symbol,
|
|
249863
|
-
decimals: chain.nativeCurrency.decimals,
|
|
249864
|
-
iconUrl: chain.nativeCurrency.icon,
|
|
249865
|
-
},
|
|
249866
|
-
}));
|
|
249867
|
-
};
|
|
249868
|
-
|
|
249869
|
-
var dist$4 = {};
|
|
249870
|
-
|
|
249871
|
-
var types$8 = {};
|
|
249026
|
+
} (dist$4));
|
|
249872
249027
|
|
|
249873
249028
|
var cosmos$2 = {};
|
|
249874
249029
|
|
|
@@ -249902,7 +249057,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
249902
249057
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
249903
249058
|
};
|
|
249904
249059
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
249905
|
-
__exportStar(dist$
|
|
249060
|
+
__exportStar(dist$4, exports);
|
|
249906
249061
|
__exportStar(cosmos$2, exports);
|
|
249907
249062
|
__exportStar(ethers$2, exports);
|
|
249908
249063
|
__exportStar(http$2, exports);
|
|
@@ -332444,9 +331599,9 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
332444
331599
|
var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;
|
|
332445
331600
|
|
|
332446
331601
|
var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
332447
|
-
for (var i$
|
|
332448
|
-
lookup[i$
|
|
332449
|
-
revLookup[code.charCodeAt(i$
|
|
331602
|
+
for (var i$5 = 0, len = code.length; i$5 < len; ++i$5) {
|
|
331603
|
+
lookup[i$5] = code[i$5];
|
|
331604
|
+
revLookup[code.charCodeAt(i$5)] = i$5;
|
|
332450
331605
|
}
|
|
332451
331606
|
|
|
332452
331607
|
// Support decoding URL-safe base64 strings, as Node.js does.
|
|
@@ -416508,7 +415663,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
416508
415663
|
|
|
416509
415664
|
Object.defineProperty(cosmos, "__esModule", { value: true });
|
|
416510
415665
|
cosmos.getCosmosChainsForChainIds = void 0;
|
|
416511
|
-
const squid_types_1 = dist$
|
|
415666
|
+
const squid_types_1 = dist$4;
|
|
416512
415667
|
function getCosmosChainsForChainIds({ chainIds, chains, }) {
|
|
416513
415668
|
return chains.filter(c => c.chainType === squid_types_1.ChainType.COSMOS &&
|
|
416514
415669
|
// if chainIds is not provided, return all cosmos chains
|
|
@@ -416578,8 +415733,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
416578
415733
|
var __importDefault$3 = (commonjsGlobal$2 && commonjsGlobal$2.__importDefault) || function (mod) {
|
|
416579
415734
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
416580
415735
|
};
|
|
416581
|
-
Object.defineProperty(dist$
|
|
416582
|
-
var Squid_1 = dist$
|
|
415736
|
+
Object.defineProperty(dist$5, "__esModule", { value: true });
|
|
415737
|
+
var Squid_1 = dist$5.Squid = void 0;
|
|
416583
415738
|
/* eslint-disable no-case-declarations */
|
|
416584
415739
|
const types_1 = types$8;
|
|
416585
415740
|
const HttpAdapter_1 = __importDefault$3(HttpAdapter$1);
|
|
@@ -416839,7 +415994,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
416839
415994
|
}
|
|
416840
415995
|
}
|
|
416841
415996
|
}
|
|
416842
|
-
Squid_1 = dist$
|
|
415997
|
+
Squid_1 = dist$5.Squid = Squid;
|
|
416843
415998
|
|
|
416844
415999
|
const SQUID_SDK_BASE_URL = 'https://apiplus.squidrouter.com';
|
|
416845
416000
|
const SQUID_NATIVE_TOKEN = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
|
|
@@ -416941,6 +416096,24 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
416941
416096
|
return tokens;
|
|
416942
416097
|
};
|
|
416943
416098
|
|
|
416099
|
+
const fetchChains = (squid) => {
|
|
416100
|
+
const { chains } = squid;
|
|
416101
|
+
return chains
|
|
416102
|
+
.filter((chain) => chain.chainType === dist$4.ChainType.EVM)
|
|
416103
|
+
.map((chain) => ({
|
|
416104
|
+
id: chain.chainId.toString(),
|
|
416105
|
+
name: chain.networkName,
|
|
416106
|
+
iconUrl: chain.chainIconURI,
|
|
416107
|
+
type: chain.chainType,
|
|
416108
|
+
nativeCurrency: {
|
|
416109
|
+
name: chain.nativeCurrency.name,
|
|
416110
|
+
symbol: chain.nativeCurrency.symbol,
|
|
416111
|
+
decimals: chain.nativeCurrency.decimals,
|
|
416112
|
+
iconUrl: chain.nativeCurrency.icon,
|
|
416113
|
+
},
|
|
416114
|
+
}));
|
|
416115
|
+
};
|
|
416116
|
+
|
|
416944
416117
|
var SaleErrorTypes$1;
|
|
416945
416118
|
(function (SaleErrorTypes) {
|
|
416946
416119
|
SaleErrorTypes["DEFAULT"] = "DEFAULT_ERROR";
|
|
@@ -417075,6 +416248,178 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
417075
416248
|
};
|
|
417076
416249
|
};
|
|
417077
416250
|
|
|
416251
|
+
/**
|
|
416252
|
+
* Class representing the configuration for the CryptoFiatModule.
|
|
416253
|
+
*/
|
|
416254
|
+
class CryptoFiatConfiguration {
|
|
416255
|
+
baseConfig;
|
|
416256
|
+
/**
|
|
416257
|
+
* Creates an instance of CryptoFiatConfiguration.
|
|
416258
|
+
*/
|
|
416259
|
+
constructor({ baseConfig }) {
|
|
416260
|
+
this.baseConfig = baseConfig;
|
|
416261
|
+
}
|
|
416262
|
+
}
|
|
416263
|
+
|
|
416264
|
+
const CHECKOUT_API_BASE_URL = {
|
|
416265
|
+
[Environment$1.SANDBOX]: 'https://checkout-api.sandbox.immutable.com',
|
|
416266
|
+
[Environment$1.PRODUCTION]: 'https://checkout-api.immutable.com',
|
|
416267
|
+
};
|
|
416268
|
+
const DEFAULT_FIAT_SYMBOL = 'usd';
|
|
416269
|
+
/**
|
|
416270
|
+
* CryptoFiat module class
|
|
416271
|
+
*/
|
|
416272
|
+
class CryptoFiat {
|
|
416273
|
+
coinsCache;
|
|
416274
|
+
overridesCache;
|
|
416275
|
+
config;
|
|
416276
|
+
/**
|
|
416277
|
+
* Creates an instance of CryptoFiat.
|
|
416278
|
+
* @param {CryptoFiatConfiguration} config - configuration parameters for the module
|
|
416279
|
+
*/
|
|
416280
|
+
constructor(config) {
|
|
416281
|
+
this.coinsCache = null;
|
|
416282
|
+
this.overridesCache = null;
|
|
416283
|
+
this.config = config.baseConfig;
|
|
416284
|
+
}
|
|
416285
|
+
urlWithPath(path) {
|
|
416286
|
+
return CHECKOUT_API_BASE_URL[this.config.environment] + path;
|
|
416287
|
+
}
|
|
416288
|
+
// Given that we could have multiple coins with the same symbol
|
|
416289
|
+
// and we do not have the contract address we are forcing the
|
|
416290
|
+
// conversion because we are using coingecko under the hood.
|
|
416291
|
+
async fetchOverrides() {
|
|
416292
|
+
if (this.overridesCache !== null)
|
|
416293
|
+
return;
|
|
416294
|
+
const url = this.urlWithPath('/v1/fiat/coins/overrides');
|
|
416295
|
+
const response = await axios$3.get(url);
|
|
416296
|
+
if (response.status !== 200) {
|
|
416297
|
+
throw new Error(`Error fetching coins overrides: ${response.status} ${response.statusText}`);
|
|
416298
|
+
}
|
|
416299
|
+
this.overridesCache = new Map(Object.entries(response.data));
|
|
416300
|
+
}
|
|
416301
|
+
async fetchCoins() {
|
|
416302
|
+
if (this.coinsCache !== null)
|
|
416303
|
+
return;
|
|
416304
|
+
await this.fetchOverrides();
|
|
416305
|
+
const url = this.urlWithPath('/v1/fiat/coins/all');
|
|
416306
|
+
const response = await axios$3.get(url);
|
|
416307
|
+
if (response.status !== 200) {
|
|
416308
|
+
throw new Error(`Error fetching coins list: ${response.status} ${response.statusText}`);
|
|
416309
|
+
}
|
|
416310
|
+
const { data } = response;
|
|
416311
|
+
this.coinsCache = new Map();
|
|
416312
|
+
for (const coin of data) {
|
|
416313
|
+
const override = this.overridesCache.get(coin.symbol.toLowerCase());
|
|
416314
|
+
this.coinsCache.set(coin.symbol.toLowerCase(), override || coin.id.toLowerCase());
|
|
416315
|
+
}
|
|
416316
|
+
}
|
|
416317
|
+
/**
|
|
416318
|
+
* Converts tokens with fiat currencies.
|
|
416319
|
+
* @param {CryptoFiatConvertParams} - object containing the token symbols to get a conversion
|
|
416320
|
+
* for and the optional fiat symbols to convert to.
|
|
416321
|
+
* @returns {Promise<CryptoFiatConvertReturn>} - promise to return the map that associates
|
|
416322
|
+
* token symbol to its conversion value object
|
|
416323
|
+
* with fiat currencies.
|
|
416324
|
+
*/
|
|
416325
|
+
async convert({ tokenSymbols, fiatSymbols = [], }) {
|
|
416326
|
+
if (!tokenSymbols || tokenSymbols.length === 0) {
|
|
416327
|
+
throw new Error('Error missing token symbols to convert');
|
|
416328
|
+
}
|
|
416329
|
+
const currencies = fiatSymbols.filter((fiatSymbol) => fiatSymbol !== '');
|
|
416330
|
+
if (currencies.length === 0)
|
|
416331
|
+
currencies.push(DEFAULT_FIAT_SYMBOL);
|
|
416332
|
+
await this.fetchCoins();
|
|
416333
|
+
const idsParam = tokenSymbols
|
|
416334
|
+
.map((tokenSymbol) => this.coinsCache.get(tokenSymbol.toLowerCase()))
|
|
416335
|
+
.filter((tokenSymbol) => tokenSymbol !== '' && tokenSymbol !== undefined)
|
|
416336
|
+
.join(',');
|
|
416337
|
+
const currenciesParam = currencies
|
|
416338
|
+
.join(',')
|
|
416339
|
+
.toLowerCase();
|
|
416340
|
+
const url = this.urlWithPath(`/v1/fiat/conversion?ids=${idsParam}¤cies=${currenciesParam}`);
|
|
416341
|
+
const response = await axios$3.get(url);
|
|
416342
|
+
if (response.status !== 200) {
|
|
416343
|
+
throw new Error(`Error fetching prices: ${response.status} ${response.statusText}`);
|
|
416344
|
+
}
|
|
416345
|
+
const { data } = response;
|
|
416346
|
+
const result = {};
|
|
416347
|
+
for (const symbol of tokenSymbols) {
|
|
416348
|
+
const symbolKey = symbol.toLowerCase();
|
|
416349
|
+
const coinId = this.coinsCache.get(symbolKey);
|
|
416350
|
+
result[symbolKey] = {};
|
|
416351
|
+
if (coinId)
|
|
416352
|
+
result[symbolKey] = data[coinId] || {};
|
|
416353
|
+
}
|
|
416354
|
+
return result;
|
|
416355
|
+
}
|
|
416356
|
+
}
|
|
416357
|
+
|
|
416358
|
+
const updateConversions = (cryptoToFiatResult, fiatSymbol) => {
|
|
416359
|
+
const conversionMap = new Map();
|
|
416360
|
+
// TODO: Consider using Object.keys(cryptoToFiatResult) instead of for...in
|
|
416361
|
+
// for...in includes properties from the prototype chain
|
|
416362
|
+
// eslint-disable-next-line no-restricted-syntax, guard-for-in
|
|
416363
|
+
for (const tokenSymbol in cryptoToFiatResult) {
|
|
416364
|
+
const conversion = cryptoToFiatResult[tokenSymbol];
|
|
416365
|
+
const usdAmount = conversion[fiatSymbol];
|
|
416366
|
+
if (usdAmount !== undefined) {
|
|
416367
|
+
conversionMap.set(tokenSymbol, usdAmount);
|
|
416368
|
+
}
|
|
416369
|
+
}
|
|
416370
|
+
return conversionMap;
|
|
416371
|
+
};
|
|
416372
|
+
const getCryptoToFiatConversion = async (cryptoFiat, fiatSymbol, tokenSymbols) => {
|
|
416373
|
+
try {
|
|
416374
|
+
if (tokenSymbols.length === 0)
|
|
416375
|
+
return new Map();
|
|
416376
|
+
const cryptoToFiatResult = await cryptoFiat.convert({
|
|
416377
|
+
tokenSymbols,
|
|
416378
|
+
fiatSymbols: [fiatSymbol],
|
|
416379
|
+
});
|
|
416380
|
+
return updateConversions(cryptoToFiatResult, fiatSymbol);
|
|
416381
|
+
}
|
|
416382
|
+
catch (err) {
|
|
416383
|
+
return new Map();
|
|
416384
|
+
}
|
|
416385
|
+
};
|
|
416386
|
+
|
|
416387
|
+
const DEFAULT_TOKEN_SYMBOLS = ['ETH', 'IMX'];
|
|
416388
|
+
function CryptoFiatProvider({ environment, children }) {
|
|
416389
|
+
const [cryptoFiatState, cryptoFiatDispatch] = reactExports.useReducer(cryptoFiatReducer, initialCryptoFiatState);
|
|
416390
|
+
const { cryptoFiat, fiatSymbol, tokenSymbols } = cryptoFiatState;
|
|
416391
|
+
reactExports.useEffect(() => {
|
|
416392
|
+
cryptoFiatDispatch({
|
|
416393
|
+
payload: {
|
|
416394
|
+
type: CryptoFiatActions.SET_CRYPTO_FIAT,
|
|
416395
|
+
cryptoFiat: new CryptoFiat(new CryptoFiatConfiguration({
|
|
416396
|
+
baseConfig: {
|
|
416397
|
+
environment,
|
|
416398
|
+
},
|
|
416399
|
+
})),
|
|
416400
|
+
},
|
|
416401
|
+
});
|
|
416402
|
+
}, []);
|
|
416403
|
+
reactExports.useEffect(() => {
|
|
416404
|
+
if (!cryptoFiat || !fiatSymbol)
|
|
416405
|
+
return;
|
|
416406
|
+
(async () => {
|
|
416407
|
+
const conversions = await getCryptoToFiatConversion(cryptoFiat, fiatSymbol, [...new Set([...tokenSymbols, ...DEFAULT_TOKEN_SYMBOLS])]);
|
|
416408
|
+
cryptoFiatDispatch({
|
|
416409
|
+
payload: {
|
|
416410
|
+
type: CryptoFiatActions.SET_CONVERSIONS,
|
|
416411
|
+
conversions,
|
|
416412
|
+
},
|
|
416413
|
+
});
|
|
416414
|
+
})();
|
|
416415
|
+
}, [cryptoFiat, tokenSymbols, fiatSymbol]);
|
|
416416
|
+
return (
|
|
416417
|
+
// TODO: The object passed as the value prop to the Context provider changes every render.
|
|
416418
|
+
// To fix this consider wrapping it in a useMemo hook.
|
|
416419
|
+
// eslint-disable-next-line react/jsx-no-constructed-context-values
|
|
416420
|
+
jsx$1(CryptoFiatContext.Provider, { value: { cryptoFiatState, cryptoFiatDispatch }, children: children }));
|
|
416421
|
+
}
|
|
416422
|
+
|
|
417078
416423
|
function PurchaseWidget({ config, environmentId, items, showBackButton, }) {
|
|
417079
416424
|
const { base: { colorMode } } = useTheme();
|
|
417080
416425
|
const [viewState, viewDispatch] = reactExports.useReducer(viewReducer, {
|
|
@@ -417082,7 +416427,6 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
417082
416427
|
view: { type: PurchaseWidgetViews.PURCHASE },
|
|
417083
416428
|
history: [{ type: PurchaseWidgetViews.PURCHASE }],
|
|
417084
416429
|
});
|
|
417085
|
-
const { providersState: { checkout, toAddress }, } = useProvidersContext();
|
|
417086
416430
|
const viewReducerValues = reactExports.useMemo(() => ({
|
|
417087
416431
|
viewState,
|
|
417088
416432
|
viewDispatch,
|
|
@@ -417093,61 +416437,54 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
417093
416437
|
purchaseDispatch,
|
|
417094
416438
|
}), [purchaseState, purchaseReducer]);
|
|
417095
416439
|
const { eventTargetState: { eventTarget }, } = reactExports.useContext(EventTargetContext);
|
|
417096
|
-
const {
|
|
416440
|
+
const { providersState: { checkout, toAddress, }, } = useProvidersContext();
|
|
416441
|
+
const { squid: { squid } } = purchaseState;
|
|
417097
416442
|
const squidSdk = useSquid(checkout);
|
|
417098
416443
|
const tokensResponse = useTokens(checkout);
|
|
417099
|
-
const { fetchOrderQuote } = useQuoteOrder$1({
|
|
417100
|
-
environment: checkout.config.environment,
|
|
417101
|
-
environmentId,
|
|
417102
|
-
});
|
|
417103
416444
|
reactExports.useEffect(() => {
|
|
417104
|
-
if (!
|
|
417105
|
-
return;
|
|
417106
|
-
purchaseDispatch({
|
|
417107
|
-
payload: {
|
|
417108
|
-
type: PurchaseActions.SET_SQUID_TOKENS,
|
|
417109
|
-
tokens: tokensResponse,
|
|
417110
|
-
},
|
|
417111
|
-
});
|
|
417112
|
-
}, [tokensResponse]);
|
|
417113
|
-
reactExports.useEffect(() => {
|
|
417114
|
-
if (!items)
|
|
416445
|
+
if (!squidSdk)
|
|
417115
416446
|
return;
|
|
417116
416447
|
purchaseDispatch({
|
|
417117
416448
|
payload: {
|
|
417118
|
-
type: PurchaseActions.
|
|
417119
|
-
|
|
416449
|
+
type: PurchaseActions.SET_SQUID,
|
|
416450
|
+
squid: squidSdk,
|
|
417120
416451
|
},
|
|
417121
416452
|
});
|
|
417122
|
-
}, [
|
|
416453
|
+
}, [squidSdk]);
|
|
417123
416454
|
reactExports.useEffect(() => {
|
|
417124
|
-
if (!
|
|
416455
|
+
if (!tokensResponse)
|
|
417125
416456
|
return;
|
|
417126
416457
|
purchaseDispatch({
|
|
417127
416458
|
payload: {
|
|
417128
|
-
type: PurchaseActions.
|
|
417129
|
-
|
|
416459
|
+
type: PurchaseActions.SET_SQUID_TOKENS,
|
|
416460
|
+
tokens: tokensResponse,
|
|
417130
416461
|
},
|
|
417131
416462
|
});
|
|
417132
|
-
}, [
|
|
416463
|
+
}, [tokensResponse]);
|
|
417133
416464
|
reactExports.useEffect(() => {
|
|
417134
|
-
if (!squid
|
|
416465
|
+
if (!squid)
|
|
417135
416466
|
return;
|
|
417136
416467
|
purchaseDispatch({
|
|
417137
416468
|
payload: {
|
|
417138
|
-
type: PurchaseActions.
|
|
417139
|
-
chains: fetchChains(squid
|
|
416469
|
+
type: PurchaseActions.SET_SQUID_CHAINS,
|
|
416470
|
+
chains: fetchChains(squid),
|
|
417140
416471
|
},
|
|
417141
416472
|
});
|
|
417142
416473
|
}, [squid]);
|
|
417143
416474
|
reactExports.useEffect(() => {
|
|
416475
|
+
if (!items)
|
|
416476
|
+
return;
|
|
417144
416477
|
purchaseDispatch({
|
|
417145
416478
|
payload: {
|
|
417146
|
-
type: PurchaseActions.
|
|
417147
|
-
|
|
416479
|
+
type: PurchaseActions.SET_ITEMS,
|
|
416480
|
+
items,
|
|
417148
416481
|
},
|
|
417149
416482
|
});
|
|
417150
|
-
}, []);
|
|
416483
|
+
}, [items]);
|
|
416484
|
+
const { fetchOrderQuote } = useQuoteOrder$1({
|
|
416485
|
+
environment: checkout.config.environment,
|
|
416486
|
+
environmentId,
|
|
416487
|
+
});
|
|
417151
416488
|
reactExports.useEffect(() => {
|
|
417152
416489
|
if (!items || items.length === 0)
|
|
417153
416490
|
return;
|
|
@@ -417338,7 +416675,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
417338
416675
|
* Copyright 2019 Google LLC
|
|
417339
416676
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
417340
416677
|
*/
|
|
417341
|
-
const t$3=window,e$5=t$3.ShadowRoot&&(void 0===t$3.ShadyCSS||t$3.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$3=Symbol(),n$5=new WeakMap;let o$5 = class o{constructor(t,e,n){if(this._$cssResult$=!0,n!==s$3)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e;}get styleSheet(){let t=this.o;const s=this.t;if(e$5&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=n$5.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&n$5.set(s,t));}return t}toString(){return this.cssText}};const r$3=t=>new o$5("string"==typeof t?t:t+"",void 0,s$3),i$
|
|
416678
|
+
const t$3=window,e$5=t$3.ShadowRoot&&(void 0===t$3.ShadyCSS||t$3.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$3=Symbol(),n$5=new WeakMap;let o$5 = class o{constructor(t,e,n){if(this._$cssResult$=!0,n!==s$3)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e;}get styleSheet(){let t=this.o;const s=this.t;if(e$5&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=n$5.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&n$5.set(s,t));}return t}toString(){return this.cssText}};const r$3=t=>new o$5("string"==typeof t?t:t+"",void 0,s$3),i$4=(t,...e)=>{const n=1===t.length?t[0]:e.reduce(((e,s,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[n+1]),t[0]);return new o$5(n,t,s$3)},S$2=(s,n)=>{e$5?s.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((e=>{const n=document.createElement("style"),o=t$3.litNonce;void 0!==o&&n.setAttribute("nonce",o),n.textContent=e.cssText,s.appendChild(n);}));},c$2=e$5?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$3(e)})(t):t;
|
|
417342
416679
|
|
|
417343
416680
|
/**
|
|
417344
416681
|
* @license
|
|
@@ -417351,7 +416688,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
417351
416688
|
* Copyright 2017 Google LLC
|
|
417352
416689
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
417353
416690
|
*/
|
|
417354
|
-
var t$2;const i$
|
|
416691
|
+
var t$2;const i$3=window,s$1=i$3.trustedTypes,e$3=s$1?s$1.createPolicy("lit-html",{createHTML:t=>t}):void 0,o$3="$lit$",n$3=`lit$${(Math.random()+"").slice(9)}$`,l$2="?"+n$3,h$1=`<${l$2}>`,r$1=document,u=()=>r$1.createComment(""),d=t=>null===t||"object"!=typeof t&&"function"!=typeof t,c$1=Array.isArray,v$1=t=>c$1(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]),a="[ \t\n\f\r]",f=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,_$1=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\s"'>=/]+)(${a}*=${a}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),g=/'/g,$=/"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T$1=Symbol.for("lit-noChange"),A$1=Symbol.for("lit-nothing"),E=new WeakMap,C=r$1.createTreeWalker(r$1,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==e$3?e$3.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?"<svg>":"",u=f;for(let i=0;i<s;i++){const s=t[i];let d,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?"!--"===c[1]?u=_$1:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(l=RegExp("</"+c[2],"g")),u=p):void 0!==c[3]&&(u=p):u===p?">"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:'"'===c[3]?$:g):u===$||u===g?u=p:u===_$1||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith("/>")?" ":"";r+=u===f?s+h$1:v>=0?(e.push(d),s.slice(0,v)+o$3+s.slice(v)+n$3+w):s+n$3+(-2===v?(e.push(void 0),i):w);}return [P(t,r+(t[s]||"<?>")+(2===i?"</svg>":"")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes);}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o$3)||i.startsWith(n$3)){const s=f[d++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o$3).split(n$3),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:"."===i[1]?H:"?"===i[1]?L$1:"@"===i[1]?z:k});}else v.push({type:6,index:r});}for(const i of t)h.removeAttribute(i);}if(y.test(h.tagName)){const t=h.textContent.split(n$3),i=t.length-1;if(i>0){h.textContent=s$1?s$1.emptyScript:"";for(let s=0;s<i;s++)h.append(t[s],u()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],u());}}}else if(8===h.nodeType)if(h.data===l$2)v.push({type:2,index:r});else {let t=-1;for(;-1!==(t=h.data.indexOf(n$3,t+1));)v.push({type:7,index:r}),t+=n$3.length-1;}r++;}}static createElement(t,i){const s=r$1.createElement("template");return s.innerHTML=t,s}}function S$1(t,i,s=t,e){var o,n,l,h;if(i===T$1)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const u=d(i)?void 0:i._$litDirective$;return (null==r?void 0:r.constructor)!==u&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===u?r=void 0:(r=new u(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=S$1(t,r._$AS(t,i.values),r,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r$1).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,u=e[0];for(;void 0!==u;){if(l===u.index){let i;2===u.type?i=new R(n,n.nextSibling,this,t):1===u.type?i=new u.ctor(n,u.name,u.strings,this,t):6===u.type&&(i=new Z$1(n,this,t)),this._$AV.push(i),u=e[++h];}l!==(null==u?void 0:u.index)&&(n=C.nextNode(),l++);}return C.currentNode=r$1,o}v(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}}class R{constructor(t,i,s,e){var o;this.type=2,this._$AH=A$1,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cp=null===(o=null==e?void 0:e.isConnected)||void 0===o||o;}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S$1(this,t,i),d(t)?t===A$1||null==t||""===t?(this._$AH!==A$1&&this._$AR(),this._$AH=A$1):t!==this._$AH&&t!==T$1&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):v$1(t)?this.T(t):this._(t);}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t));}_(t){this._$AH!==A$1&&d(this._$AH)?this._$AA.nextSibling.data=t:this.$(r$1.createTextNode(t)),this._$AH=t;}g(t){var i;const{values:s,_$litType$:e}=t,o="number"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=N.createElement(P(e.h,e.h[0]),this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.v(s);else {const t=new M(o,this),i=t.u(this.options);t.v(s),this.$(i),this._$AH=t;}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new N(t)),i}T(t){c$1(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new R(this.k(u()),this.k(u()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){var i;void 0===this._$AM&&(this._$Cp=t,null===(i=this._$AP)||void 0===i||i.call(this,t));}}class k{constructor(t,i,s,e,o){this.type=1,this._$AH=A$1,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A$1;}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=S$1(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T$1,n&&(this._$AH=t);else {const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=S$1(this,e[s+l],i,l),h===T$1&&(h=this._$AH[l]),n||(n=!d(h)||h!==this._$AH[l]),h===A$1?t=A$1:t!==A$1&&(t+=(null!=h?h:"")+o[l+1]),this._$AH[l]=h;}n&&!e&&this.j(t);}j(t){t===A$1?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"");}}class H extends k{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===A$1?void 0:t;}}const I=s$1?s$1.emptyScript:"";let L$1 = class L extends k{constructor(){super(...arguments),this.type=4;}j(t){t&&t!==A$1?this.element.setAttribute(this.name,I):this.element.removeAttribute(this.name);}};class z extends k{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5;}_$AI(t,i=this){var s;if((t=null!==(s=S$1(this,t,i,0))&&void 0!==s?s:A$1)===T$1)return;const e=this._$AH,o=t===A$1&&e!==A$1||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A$1&&(e===A$1||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){var i,s;"function"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t);}}let Z$1 = class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){S$1(this,t);}};const B$1=i$3.litHtmlPolyfillSupport;null==B$1||B$1(N,R),(null!==(t$2=i$3.litHtmlVersions)&&void 0!==t$2?t$2:i$3.litHtmlVersions=[]).push("2.8.0");const D$1=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new R(i.insertBefore(u(),t),t,void 0,null!=s?s:{});}return l._$AI(t),l};
|
|
417355
416692
|
|
|
417356
416693
|
/**
|
|
417357
416694
|
* @license
|
|
@@ -417371,7 +416708,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
417371
416708
|
* Copyright 2017 Google LLC
|
|
417372
416709
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
417373
416710
|
*/
|
|
417374
|
-
const i$
|
|
416711
|
+
const i$2=(i,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(n){n.createProperty(e.key,i);}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this));},finisher(n){n.createProperty(e.key,i);}},e$1=(i,e,n)=>{e.constructor.createProperty(n,i);};function n$1(n){return (t,o)=>void 0!==o?e$1(n,t,o):i$2(n,t)}
|
|
417375
416712
|
|
|
417376
416713
|
/**
|
|
417377
416714
|
* @license
|
|
@@ -417390,13 +416727,13 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
417390
416727
|
* Copyright 2017 Google LLC
|
|
417391
416728
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
417392
416729
|
*/
|
|
417393
|
-
const t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i;}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}
|
|
416730
|
+
const t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});let i$1 = class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i;}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};
|
|
417394
416731
|
|
|
417395
416732
|
/**
|
|
417396
416733
|
* @license
|
|
417397
416734
|
* Copyright 2018 Google LLC
|
|
417398
416735
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
417399
|
-
*/const o$1=e(class extends i{constructor(t$1){var i;if(super(t$1),t$1.type!==t.ATTRIBUTE||"class"!==t$1.name||(null===(i=t$1.strings)||void 0===i?void 0:i.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter((i=>t[i])).join(" ")+" "}update(i,[s]){var r,o;if(void 0===this.it){this.it=new Set,void 0!==i.strings&&(this.nt=new Set(i.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in s)s[t]&&!(null===(r=this.nt)||void 0===r?void 0:r.has(t))&&this.it.add(t);return this.render(s)}const e=i.element.classList;this.it.forEach((t=>{t in s||(e.remove(t),this.it.delete(t));}));for(const t in s){const i=!!s[t];i===this.it.has(t)||(null===(o=this.nt)||void 0===o?void 0:o.has(t))||(i?(e.add(t),this.it.add(t)):(e.remove(t),this.it.delete(t)));}return T$1}});
|
|
416736
|
+
*/const o$1=e(class extends i$1{constructor(t$1){var i;if(super(t$1),t$1.type!==t.ATTRIBUTE||"class"!==t$1.name||(null===(i=t$1.strings)||void 0===i?void 0:i.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter((i=>t[i])).join(" ")+" "}update(i,[s]){var r,o;if(void 0===this.it){this.it=new Set,void 0!==i.strings&&(this.nt=new Set(i.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in s)s[t]&&!(null===(r=this.nt)||void 0===r?void 0:r.has(t))&&this.it.add(t);return this.render(s)}const e=i.element.classList;this.it.forEach((t=>{t in s||(e.remove(t),this.it.delete(t));}));for(const t in s){const i=!!s[t];i===this.it.has(t)||(null===(o=this.nt)||void 0===o?void 0:o.has(t))||(i?(e.add(t),this.it.add(t)):(e.remove(t),this.it.delete(t)));}return T$1}});
|
|
417400
416737
|
|
|
417401
416738
|
function addUniqueItem(array, item) {
|
|
417402
416739
|
array.indexOf(item) === -1 && array.push(item);
|
|
@@ -421235,7 +420572,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
421235
420572
|
return SvgRenderer.render(data, opts)
|
|
421236
420573
|
});
|
|
421237
420574
|
|
|
421238
|
-
var et=Object.defineProperty,Be=Object.getOwnPropertySymbols,tt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,Ue=(e,o,r)=>o in e?et(e,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[o]=r,ve=(e,o)=>{for(var r in o||(o={}))tt.call(o,r)&&Ue(e,r,o[r]);if(Be)for(var r of Be(o))ot.call(o,r)&&Ue(e,r,o[r]);return e};function rt(){var e;const o=(e=ne$3.state.themeMode)!=null?e:"dark",r={light:{foreground:{1:"rgb(20,20,20)",2:"rgb(121,134,134)",3:"rgb(158,169,169)"},background:{1:"rgb(255,255,255)",2:"rgb(241,243,243)",3:"rgb(228,231,231)"},overlay:"rgba(0,0,0,0.1)"},dark:{foreground:{1:"rgb(228,231,231)",2:"rgb(148,158,158)",3:"rgb(110,119,119)"},background:{1:"rgb(20,20,20)",2:"rgb(39,42,42)",3:"rgb(59,64,64)"},overlay:"rgba(255,255,255,0.1)"}}[o];return {"--wcm-color-fg-1":r.foreground[1],"--wcm-color-fg-2":r.foreground[2],"--wcm-color-fg-3":r.foreground[3],"--wcm-color-bg-1":r.background[1],"--wcm-color-bg-2":r.background[2],"--wcm-color-bg-3":r.background[3],"--wcm-color-overlay":r.overlay}}function He(){return {"--wcm-accent-color":"#3396FF","--wcm-accent-fill-color":"#FFFFFF","--wcm-z-index":"89","--wcm-background-color":"#3396FF","--wcm-background-border-radius":"8px","--wcm-container-border-radius":"30px","--wcm-wallet-icon-border-radius":"15px","--wcm-wallet-icon-large-border-radius":"30px","--wcm-wallet-icon-small-border-radius":"7px","--wcm-input-border-radius":"28px","--wcm-button-border-radius":"10px","--wcm-notification-border-radius":"36px","--wcm-secondary-button-border-radius":"28px","--wcm-icon-button-border-radius":"50%","--wcm-button-hover-highlight-border-radius":"10px","--wcm-text-big-bold-size":"20px","--wcm-text-big-bold-weight":"600","--wcm-text-big-bold-line-height":"24px","--wcm-text-big-bold-letter-spacing":"-0.03em","--wcm-text-big-bold-text-transform":"none","--wcm-text-xsmall-bold-size":"10px","--wcm-text-xsmall-bold-weight":"700","--wcm-text-xsmall-bold-line-height":"12px","--wcm-text-xsmall-bold-letter-spacing":"0.02em","--wcm-text-xsmall-bold-text-transform":"uppercase","--wcm-text-xsmall-regular-size":"12px","--wcm-text-xsmall-regular-weight":"600","--wcm-text-xsmall-regular-line-height":"14px","--wcm-text-xsmall-regular-letter-spacing":"-0.03em","--wcm-text-xsmall-regular-text-transform":"none","--wcm-text-small-thin-size":"14px","--wcm-text-small-thin-weight":"500","--wcm-text-small-thin-line-height":"16px","--wcm-text-small-thin-letter-spacing":"-0.03em","--wcm-text-small-thin-text-transform":"none","--wcm-text-small-regular-size":"14px","--wcm-text-small-regular-weight":"600","--wcm-text-small-regular-line-height":"16px","--wcm-text-small-regular-letter-spacing":"-0.03em","--wcm-text-small-regular-text-transform":"none","--wcm-text-medium-regular-size":"16px","--wcm-text-medium-regular-weight":"600","--wcm-text-medium-regular-line-height":"20px","--wcm-text-medium-regular-letter-spacing":"-0.03em","--wcm-text-medium-regular-text-transform":"none","--wcm-font-family":"-apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, Ubuntu, 'Helvetica Neue', sans-serif","--wcm-font-feature-settings":"'tnum' on, 'lnum' on, 'case' on","--wcm-success-color":"rgb(38,181,98)","--wcm-error-color":"rgb(242, 90, 103)","--wcm-overlay-background-color":"rgba(0, 0, 0, 0.3)","--wcm-overlay-backdrop-filter":"none"}}const h={getPreset(e){return He()[e]},setTheme(){const e=document.querySelector(":root"),{themeVariables:o}=ne$3.state;if(e){const r=ve(ve(ve({},rt()),He()),o);Object.entries(r).forEach(([a,t])=>e.style.setProperty(a,t));}},globalCss:i$3`*,::after,::before{margin:0;padding:0;box-sizing:border-box;font-style:normal;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;backface-visibility:hidden}button{cursor:pointer;display:flex;justify-content:center;align-items:center;position:relative;border:none;background-color:transparent;transition:all .2s ease}@media (hover:hover) and (pointer:fine){button:active{transition:all .1s ease;transform:scale(.93)}}button::after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;transition:background-color,.2s ease}button:disabled{cursor:not-allowed}button svg,button wcm-text{position:relative;z-index:1}input{border:none;outline:0;appearance:none}img{display:block}::selection{color:var(--wcm-accent-fill-color);background:var(--wcm-accent-color)}`},at=i$3`button{border-radius:var(--wcm-secondary-button-border-radius);height:28px;padding:0 10px;background-color:var(--wcm-accent-color)}button path{fill:var(--wcm-accent-fill-color)}button::after{border-radius:inherit;border:1px solid var(--wcm-color-overlay)}button:disabled::after{background-color:transparent}.wcm-icon-left svg{margin-right:5px}.wcm-icon-right svg{margin-left:5px}button:active::after{background-color:var(--wcm-color-overlay)}.wcm-ghost,.wcm-ghost:active::after,.wcm-outline{background-color:transparent}.wcm-ghost:active{opacity:.5}@media(hover:hover){button:hover::after{background-color:var(--wcm-color-overlay)}.wcm-ghost:hover::after{background-color:transparent}.wcm-ghost:hover{opacity:.5}}button:disabled{background-color:var(--wcm-color-bg-3);pointer-events:none}.wcm-ghost::after{border-color:transparent}.wcm-ghost path{fill:var(--wcm-color-fg-2)}.wcm-outline path{fill:var(--wcm-accent-color)}.wcm-outline:disabled{background-color:transparent;opacity:.5}`;var lt=Object.defineProperty,it=Object.getOwnPropertyDescriptor,F=(e,o,r,a)=>{for(var t=a>1?void 0:a?it(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&<(o,r,t),t};let T=class extends s{constructor(){super(...arguments),this.disabled=!1,this.iconLeft=void 0,this.iconRight=void 0,this.onClick=()=>null,this.variant="default";}render(){const e={"wcm-icon-left":this.iconLeft!==void 0,"wcm-icon-right":this.iconRight!==void 0,"wcm-ghost":this.variant==="ghost","wcm-outline":this.variant==="outline"};let o="inverse";return this.variant==="ghost"&&(o="secondary"),this.variant==="outline"&&(o="accent"),x`<button class="${o$1(e)}" ?disabled="${this.disabled}" @click="${this.onClick}">${this.iconLeft}<wcm-text variant="small-regular" color="${o}"><slot></slot></wcm-text>${this.iconRight}</button>`}};T.styles=[h.globalCss,at],F([n$1({type:Boolean})],T.prototype,"disabled",2),F([n$1()],T.prototype,"iconLeft",2),F([n$1()],T.prototype,"iconRight",2),F([n$1()],T.prototype,"onClick",2),F([n$1()],T.prototype,"variant",2),T=F([e$2("wcm-button")],T);const nt=i$3`:host{display:inline-block}button{padding:0 15px 1px;height:40px;border-radius:var(--wcm-button-border-radius);color:var(--wcm-accent-fill-color);background-color:var(--wcm-accent-color)}button::after{content:'';top:0;bottom:0;left:0;right:0;position:absolute;background-color:transparent;border-radius:inherit;transition:background-color .2s ease;border:1px solid var(--wcm-color-overlay)}button:active::after{background-color:var(--wcm-color-overlay)}button:disabled{padding-bottom:0;background-color:var(--wcm-color-bg-3);color:var(--wcm-color-fg-3)}.wcm-secondary{color:var(--wcm-accent-color);background-color:transparent}.wcm-secondary::after{display:none}@media(hover:hover){button:hover::after{background-color:var(--wcm-color-overlay)}}`;var ct=Object.defineProperty,st=Object.getOwnPropertyDescriptor,ue=(e,o,r,a)=>{for(var t=a>1?void 0:a?st(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ct(o,r,t),t};let ee=class extends s{constructor(){super(...arguments),this.disabled=!1,this.variant="primary";}render(){const e={"wcm-secondary":this.variant==="secondary"};return x`<button ?disabled="${this.disabled}" class="${o$1(e)}"><slot></slot></button>`}};ee.styles=[h.globalCss,nt],ue([n$1({type:Boolean})],ee.prototype,"disabled",2),ue([n$1()],ee.prototype,"variant",2),ee=ue([e$2("wcm-button-big")],ee);const dt=i$3`:host{background-color:var(--wcm-color-bg-2);border-top:1px solid var(--wcm-color-bg-3)}div{padding:10px 20px;display:inherit;flex-direction:inherit;align-items:inherit;width:inherit;justify-content:inherit}`;var wt=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let be=class extends s{render(){return x`<div><slot></slot></div>`}};be.styles=[h.globalCss,dt],be=wt([e$2("wcm-info-footer")],be);const v={CROSS_ICON:b`<svg width="12" height="12" viewBox="0 0 12 12"><path d="M9.94 11A.75.75 0 1 0 11 9.94L7.414 6.353a.5.5 0 0 1 0-.708L11 2.061A.75.75 0 1 0 9.94 1L6.353 4.586a.5.5 0 0 1-.708 0L2.061 1A.75.75 0 0 0 1 2.06l3.586 3.586a.5.5 0 0 1 0 .708L1 9.939A.75.75 0 1 0 2.06 11l3.586-3.586a.5.5 0 0 1 .708 0L9.939 11Z" fill="#fff"/></svg>`,WALLET_CONNECT_LOGO:b`<svg width="178" height="29" viewBox="0 0 178 29" id="wcm-wc-logo"><path d="M10.683 7.926c5.284-5.17 13.85-5.17 19.134 0l.636.623a.652.652 0 0 1 0 .936l-2.176 2.129a.343.343 0 0 1-.478 0l-.875-.857c-3.686-3.607-9.662-3.607-13.348 0l-.937.918a.343.343 0 0 1-.479 0l-2.175-2.13a.652.652 0 0 1 0-.936l.698-.683Zm23.633 4.403 1.935 1.895a.652.652 0 0 1 0 .936l-8.73 8.543a.687.687 0 0 1-.956 0L20.37 17.64a.172.172 0 0 0-.239 0l-6.195 6.063a.687.687 0 0 1-.957 0l-8.73-8.543a.652.652 0 0 1 0-.936l1.936-1.895a.687.687 0 0 1 .957 0l6.196 6.064a.172.172 0 0 0 .239 0l6.195-6.064a.687.687 0 0 1 .957 0l6.196 6.064a.172.172 0 0 0 .24 0l6.195-6.064a.687.687 0 0 1 .956 0ZM48.093 20.948l2.338-9.355c.139-.515.258-1.07.416-1.942.12.872.258 1.427.357 1.942l2.022 9.355h4.181l3.528-13.874h-3.21l-1.943 8.523a24.825 24.825 0 0 0-.456 2.457c-.158-.931-.317-1.625-.495-2.438l-1.883-8.542h-4.201l-2.042 8.542a41.204 41.204 0 0 0-.475 2.438 41.208 41.208 0 0 0-.476-2.438l-1.903-8.542h-3.349l3.508 13.874h4.083ZM63.33 21.304c1.585 0 2.596-.654 3.11-1.605-.059.297-.078.595-.078.892v.357h2.655V15.22c0-2.735-1.248-4.32-4.3-4.32-2.636 0-4.36 1.466-4.52 3.487h2.914c.1-.891.734-1.426 1.705-1.426.911 0 1.407.515 1.407 1.11 0 .435-.258.693-1.03.792l-1.388.159c-2.061.257-3.825 1.01-3.825 3.19 0 1.982 1.645 3.092 3.35 3.092Zm.891-2.041c-.773 0-1.348-.436-1.348-1.19 0-.733.655-1.09 1.645-1.268l.674-.119c.575-.118.892-.218 1.09-.396v.912c0 1.228-.892 2.06-2.06 2.06ZM70.398 7.074v13.874h2.874V7.074h-2.874ZM74.934 7.074v13.874h2.874V7.074h-2.874ZM84.08 21.304c2.735 0 4.5-1.546 4.697-3.567h-2.893c-.139.892-.892 1.387-1.804 1.387-1.228 0-2.12-.99-2.14-2.358h6.897v-.555c0-3.21-1.764-5.312-4.816-5.312-2.933 0-4.994 2.062-4.994 5.173 0 3.37 2.12 5.232 5.053 5.232Zm-2.16-6.421c.119-1.11.932-1.922 2.081-1.922 1.11 0 1.883.772 1.903 1.922H81.92ZM94.92 21.146c.633 0 1.248-.1 1.525-.179v-2.18c-.218.04-.475.06-.693.06-1.05 0-1.427-.595-1.427-1.566v-3.805h2.338v-2.24h-2.338V7.788H91.47v3.448H89.37v2.24h2.1v4.201c0 2.3 1.15 3.469 3.45 3.469ZM104.62 21.304c3.924 0 6.302-2.299 6.599-5.608h-3.111c-.238 1.803-1.506 3.032-3.369 3.032-2.2 0-3.746-1.784-3.746-4.796 0-2.953 1.605-4.638 3.805-4.638 1.883 0 2.953 1.15 3.171 2.834h3.191c-.317-3.448-2.854-5.41-6.342-5.41-3.984 0-7.036 2.695-7.036 7.214 0 4.677 2.676 7.372 6.838 7.372ZM117.449 21.304c2.993 0 5.114-1.882 5.114-5.172 0-3.23-2.121-5.233-5.114-5.233-2.972 0-5.093 2.002-5.093 5.233 0 3.29 2.101 5.172 5.093 5.172Zm0-2.22c-1.327 0-2.18-1.09-2.18-2.952 0-1.903.892-2.973 2.18-2.973 1.308 0 2.2 1.07 2.2 2.973 0 1.862-.872 2.953-2.2 2.953ZM126.569 20.948v-5.689c0-1.208.753-2.1 1.823-2.1 1.011 0 1.606.773 1.606 2.06v5.729h2.873v-6.144c0-2.339-1.229-3.905-3.428-3.905-1.526 0-2.458.734-2.953 1.606a5.31 5.31 0 0 0 .079-.892v-.377h-2.874v9.712h2.874ZM137.464 20.948v-5.689c0-1.208.753-2.1 1.823-2.1 1.011 0 1.606.773 1.606 2.06v5.729h2.873v-6.144c0-2.339-1.228-3.905-3.428-3.905-1.526 0-2.458.734-2.953 1.606a5.31 5.31 0 0 0 .079-.892v-.377h-2.874v9.712h2.874ZM149.949 21.304c2.735 0 4.499-1.546 4.697-3.567h-2.893c-.139.892-.892 1.387-1.804 1.387-1.228 0-2.12-.99-2.14-2.358h6.897v-.555c0-3.21-1.764-5.312-4.816-5.312-2.933 0-4.994 2.062-4.994 5.173 0 3.37 2.12 5.232 5.053 5.232Zm-2.16-6.421c.119-1.11.932-1.922 2.081-1.922 1.11 0 1.883.772 1.903 1.922h-3.984ZM160.876 21.304c3.013 0 4.658-1.645 4.975-4.201h-2.874c-.099 1.07-.713 1.982-2.001 1.982-1.309 0-2.2-1.21-2.2-2.993 0-1.942 1.03-2.933 2.259-2.933 1.209 0 1.803.872 1.883 1.882h2.873c-.218-2.358-1.823-4.142-4.776-4.142-2.874 0-5.153 1.903-5.153 5.193 0 3.25 1.923 5.212 5.014 5.212ZM172.067 21.146c.634 0 1.248-.1 1.526-.179v-2.18c-.218.04-.476.06-.694.06-1.05 0-1.427-.595-1.427-1.566v-3.805h2.339v-2.24h-2.339V7.788h-2.854v3.448h-2.1v2.24h2.1v4.201c0 2.3 1.15 3.469 3.449 3.469Z" fill="#fff"/></svg>`,WALLET_CONNECT_ICON:b`<svg width="28" height="20" viewBox="0 0 28 20"><g clip-path="url(#a)"><path d="M7.386 6.482c3.653-3.576 9.575-3.576 13.228 0l.44.43a.451.451 0 0 1 0 .648L19.55 9.033a.237.237 0 0 1-.33 0l-.606-.592c-2.548-2.496-6.68-2.496-9.228 0l-.648.634a.237.237 0 0 1-.33 0L6.902 7.602a.451.451 0 0 1 0-.647l.483-.473Zm16.338 3.046 1.339 1.31a.451.451 0 0 1 0 .648l-6.035 5.909a.475.475 0 0 1-.662 0L14.083 13.2a.119.119 0 0 0-.166 0l-4.283 4.194a.475.475 0 0 1-.662 0l-6.035-5.91a.451.451 0 0 1 0-.647l1.338-1.31a.475.475 0 0 1 .662 0l4.283 4.194c.046.044.12.044.166 0l4.283-4.194a.475.475 0 0 1 .662 0l4.283 4.194c.046.044.12.044.166 0l4.283-4.194a.475.475 0 0 1 .662 0Z" fill="#000000"/></g><defs><clipPath id="a"><path fill="#ffffff" d="M0 0h28v20H0z"/></clipPath></defs></svg>`,WALLET_CONNECT_ICON_COLORED:b`<svg width="96" height="96" fill="none"><path fill="#fff" d="M25.322 33.597c12.525-12.263 32.83-12.263 45.355 0l1.507 1.476a1.547 1.547 0 0 1 0 2.22l-5.156 5.048a.814.814 0 0 1-1.134 0l-2.074-2.03c-8.737-8.555-22.903-8.555-31.64 0l-2.222 2.175a.814.814 0 0 1-1.134 0l-5.156-5.049a1.547 1.547 0 0 1 0-2.22l1.654-1.62Zm56.019 10.44 4.589 4.494a1.547 1.547 0 0 1 0 2.22l-20.693 20.26a1.628 1.628 0 0 1-2.267 0L48.283 56.632a.407.407 0 0 0-.567 0L33.03 71.012a1.628 1.628 0 0 1-2.268 0L10.07 50.75a1.547 1.547 0 0 1 0-2.22l4.59-4.494a1.628 1.628 0 0 1 2.267 0l14.687 14.38c.156.153.41.153.567 0l14.685-14.38a1.628 1.628 0 0 1 2.268 0l14.687 14.38c.156.153.41.153.567 0l14.686-14.38a1.628 1.628 0 0 1 2.268 0Z"/><path stroke="#000" d="M25.672 33.954c12.33-12.072 32.325-12.072 44.655 0l1.508 1.476a1.047 1.047 0 0 1 0 1.506l-5.157 5.048a.314.314 0 0 1-.434 0l-2.074-2.03c-8.932-8.746-23.409-8.746-32.34 0l-2.222 2.174a.314.314 0 0 1-.434 0l-5.157-5.048a1.047 1.047 0 0 1 0-1.506l1.655-1.62Zm55.319 10.44 4.59 4.494a1.047 1.047 0 0 1 0 1.506l-20.694 20.26a1.128 1.128 0 0 1-1.568 0l-14.686-14.38a.907.907 0 0 0-1.267 0L32.68 70.655a1.128 1.128 0 0 1-1.568 0L10.42 50.394a1.047 1.047 0 0 1 0-1.506l4.59-4.493a1.128 1.128 0 0 1 1.567 0l14.687 14.379a.907.907 0 0 0 1.266 0l-.35-.357.35.357 14.686-14.38a1.128 1.128 0 0 1 1.568 0l14.687 14.38a.907.907 0 0 0 1.267 0l14.686-14.38a1.128 1.128 0 0 1 1.568 0Z"/></svg>`,BACK_ICON:b`<svg width="10" height="18" viewBox="0 0 10 18"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.735.179a.75.75 0 0 1 .087 1.057L2.92 8.192a1.25 1.25 0 0 0 0 1.617l5.902 6.956a.75.75 0 1 1-1.144.97L1.776 10.78a2.75 2.75 0 0 1 0-3.559L7.678.265A.75.75 0 0 1 8.735.18Z" fill="#fff"/></svg>`,COPY_ICON:b`<svg width="24" height="24" fill="none"><path fill="#fff" fill-rule="evenodd" d="M7.01 7.01c.03-1.545.138-2.5.535-3.28A5 5 0 0 1 9.73 1.545C10.8 1 12.2 1 15 1c2.8 0 4.2 0 5.27.545a5 5 0 0 1 2.185 2.185C23 4.8 23 6.2 23 9c0 2.8 0 4.2-.545 5.27a5 5 0 0 1-2.185 2.185c-.78.397-1.735.505-3.28.534l-.001.01c-.03 1.54-.138 2.493-.534 3.27a5 5 0 0 1-2.185 2.186C13.2 23 11.8 23 9 23c-2.8 0-4.2 0-5.27-.545a5 5 0 0 1-2.185-2.185C1 19.2 1 17.8 1 15c0-2.8 0-4.2.545-5.27A5 5 0 0 1 3.73 7.545C4.508 7.149 5.46 7.04 7 7.01h.01ZM15 15.5c-1.425 0-2.403-.001-3.162-.063-.74-.06-1.139-.172-1.427-.319a3.5 3.5 0 0 1-1.53-1.529c-.146-.288-.257-.686-.318-1.427C8.501 11.403 8.5 10.425 8.5 9c0-1.425.001-2.403.063-3.162.06-.74.172-1.139.318-1.427a3.5 3.5 0 0 1 1.53-1.53c.288-.146.686-.257 1.427-.318.759-.062 1.737-.063 3.162-.063 1.425 0 2.403.001 3.162.063.74.06 1.139.172 1.427.318a3.5 3.5 0 0 1 1.53 1.53c.146.288.257.686.318 1.427.062.759.063 1.737.063 3.162 0 1.425-.001 2.403-.063 3.162-.06.74-.172 1.139-.319 1.427a3.5 3.5 0 0 1-1.529 1.53c-.288.146-.686.257-1.427.318-.759.062-1.737.063-3.162.063ZM7 8.511c-.444.009-.825.025-1.162.052-.74.06-1.139.172-1.427.318a3.5 3.5 0 0 0-1.53 1.53c-.146.288-.257.686-.318 1.427-.062.759-.063 1.737-.063 3.162 0 1.425.001 2.403.063 3.162.06.74.172 1.139.318 1.427a3.5 3.5 0 0 0 1.53 1.53c.288.146.686.257 1.427.318.759.062 1.737.063 3.162.063 1.425 0 2.403-.001 3.162-.063.74-.06 1.139-.172 1.427-.319a3.5 3.5 0 0 0 1.53-1.53c.146-.287.257-.685.318-1.426.027-.337.043-.718.052-1.162H15c-2.8 0-4.2 0-5.27-.545a5 5 0 0 1-2.185-2.185C7 13.2 7 11.8 7 9v-.489Z" clip-rule="evenodd"/></svg>`,RETRY_ICON:b`<svg width="15" height="16" viewBox="0 0 15 16"><path d="M6.464 2.03A.75.75 0 0 0 5.403.97L2.08 4.293a1 1 0 0 0 0 1.414L5.403 9.03a.75.75 0 0 0 1.06-1.06L4.672 6.177a.25.25 0 0 1 .177-.427h2.085a4 4 0 1 1-3.93 4.746c-.077-.407-.405-.746-.82-.746-.414 0-.755.338-.7.748a5.501 5.501 0 1 0 5.45-6.248H4.848a.25.25 0 0 1-.177-.427L6.464 2.03Z" fill="#fff"/></svg>`,DESKTOP_ICON:b`<svg width="16" height="16" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 5.98c0-1.85 0-2.775.394-3.466a3 3 0 0 1 1.12-1.12C2.204 1 3.13 1 4.98 1h6.04c1.85 0 2.775 0 3.466.394a3 3 0 0 1 1.12 1.12C16 3.204 16 4.13 16 5.98v1.04c0 1.85 0 2.775-.394 3.466a3 3 0 0 1-1.12 1.12C13.796 12 12.87 12 11.02 12H4.98c-1.85 0-2.775 0-3.466-.394a3 3 0 0 1-1.12-1.12C0 9.796 0 8.87 0 7.02V5.98ZM4.98 2.5h6.04c.953 0 1.568.001 2.034.043.446.04.608.108.69.154a1.5 1.5 0 0 1 .559.56c.046.08.114.243.154.69.042.465.043 1.08.043 2.033v1.04c0 .952-.001 1.568-.043 2.034-.04.446-.108.608-.154.69a1.499 1.499 0 0 1-.56.559c-.08.046-.243.114-.69.154-.466.042-1.08.043-2.033.043H4.98c-.952 0-1.568-.001-2.034-.043-.446-.04-.608-.108-.69-.154a1.5 1.5 0 0 1-.559-.56c-.046-.08-.114-.243-.154-.69-.042-.465-.043-1.08-.043-2.033V5.98c0-.952.001-1.568.043-2.034.04-.446.108-.608.154-.69a1.5 1.5 0 0 1 .56-.559c.08-.046.243-.114.69-.154.465-.042 1.08-.043 2.033-.043Z" fill="#fff"/><path d="M4 14.25a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Z" fill="#fff"/></svg>`,MOBILE_ICON:b`<svg width="16" height="16" viewBox="0 0 16 16"><path d="M6.75 5a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M3 4.98c0-1.85 0-2.775.394-3.466a3 3 0 0 1 1.12-1.12C5.204 0 6.136 0 8 0s2.795 0 3.486.394a3 3 0 0 1 1.12 1.12C13 2.204 13 3.13 13 4.98v6.04c0 1.85 0 2.775-.394 3.466a3 3 0 0 1-1.12 1.12C10.796 16 9.864 16 8 16s-2.795 0-3.486-.394a3 3 0 0 1-1.12-1.12C3 13.796 3 12.87 3 11.02V4.98Zm8.5 0v6.04c0 .953-.001 1.568-.043 2.034-.04.446-.108.608-.154.69a1.499 1.499 0 0 1-.56.559c-.08.045-.242.113-.693.154-.47.042-1.091.043-2.05.043-.959 0-1.58-.001-2.05-.043-.45-.04-.613-.109-.693-.154a1.5 1.5 0 0 1-.56-.56c-.046-.08-.114-.243-.154-.69-.042-.466-.043-1.08-.043-2.033V4.98c0-.952.001-1.568.043-2.034.04-.446.108-.608.154-.69a1.5 1.5 0 0 1 .56-.559c.08-.045.243-.113.693-.154C6.42 1.501 7.041 1.5 8 1.5c.959 0 1.58.001 2.05.043.45.04.613.109.693.154a1.5 1.5 0 0 1 .56.56c.046.08.114.243.154.69.042.465.043 1.08.043 2.033Z" fill="#fff"/></svg>`,ARROW_DOWN_ICON:b`<svg width="14" height="14" viewBox="0 0 14 14"><path d="M2.28 7.47a.75.75 0 0 0-1.06 1.06l5.25 5.25a.75.75 0 0 0 1.06 0l5.25-5.25a.75.75 0 0 0-1.06-1.06l-3.544 3.543a.25.25 0 0 1-.426-.177V.75a.75.75 0 0 0-1.5 0v10.086a.25.25 0 0 1-.427.176L2.28 7.47Z" fill="#fff"/></svg>`,ARROW_UP_RIGHT_ICON:b`<svg width="15" height="14" fill="none"><path d="M4.5 1.75A.75.75 0 0 1 5.25 1H12a1.5 1.5 0 0 1 1.5 1.5v6.75a.75.75 0 0 1-1.5 0V4.164a.25.25 0 0 0-.427-.176L4.061 11.5A.75.75 0 0 1 3 10.44l7.513-7.513a.25.25 0 0 0-.177-.427H5.25a.75.75 0 0 1-.75-.75Z" fill="#fff"/></svg>`,ARROW_RIGHT_ICON:b`<svg width="6" height="14" viewBox="0 0 6 14"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.181 1.099a.75.75 0 0 1 1.024.279l2.433 4.258a2.75 2.75 0 0 1 0 2.729l-2.433 4.257a.75.75 0 1 1-1.303-.744L4.335 7.62a1.25 1.25 0 0 0 0-1.24L1.902 2.122a.75.75 0 0 1 .28-1.023Z" fill="#fff"/></svg>`,QRCODE_ICON:b`<svg width="25" height="24" viewBox="0 0 25 24"><path d="M23.748 9a.748.748 0 0 0 .748-.752c-.018-2.596-.128-4.07-.784-5.22a6 6 0 0 0-2.24-2.24c-1.15-.656-2.624-.766-5.22-.784a.748.748 0 0 0-.752.748c0 .414.335.749.748.752 1.015.007 1.82.028 2.494.088.995.09 1.561.256 1.988.5.7.398 1.28.978 1.679 1.678.243.427.41.993.498 1.988.061.675.082 1.479.09 2.493a.753.753 0 0 0 .75.749ZM3.527.788C4.677.132 6.152.022 8.747.004A.748.748 0 0 1 9.5.752a.753.753 0 0 1-.749.752c-1.014.007-1.818.028-2.493.088-.995.09-1.561.256-1.988.5-.7.398-1.28.978-1.679 1.678-.243.427-.41.993-.499 1.988-.06.675-.081 1.479-.088 2.493A.753.753 0 0 1 1.252 9a.748.748 0 0 1-.748-.752c.018-2.596.128-4.07.784-5.22a6 6 0 0 1 2.24-2.24ZM1.252 15a.748.748 0 0 0-.748.752c.018 2.596.128 4.07.784 5.22a6 6 0 0 0 2.24 2.24c1.15.656 2.624.766 5.22.784a.748.748 0 0 0 .752-.748.753.753 0 0 0-.749-.752c-1.014-.007-1.818-.028-2.493-.089-.995-.089-1.561-.255-1.988-.498a4.5 4.5 0 0 1-1.679-1.68c-.243-.426-.41-.992-.499-1.987-.06-.675-.081-1.479-.088-2.493A.753.753 0 0 0 1.252 15ZM22.996 15.749a.753.753 0 0 1 .752-.749c.415 0 .751.338.748.752-.018 2.596-.128 4.07-.784 5.22a6 6 0 0 1-2.24 2.24c-1.15.656-2.624.766-5.22.784a.748.748 0 0 1-.752-.748c0-.414.335-.749.748-.752 1.015-.007 1.82-.028 2.494-.089.995-.089 1.561-.255 1.988-.498a4.5 4.5 0 0 0 1.679-1.68c.243-.426.41-.992.498-1.987.061-.675.082-1.479.09-2.493Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M7 4a2.5 2.5 0 0 0-2.5 2.5v2A2.5 2.5 0 0 0 7 11h2a2.5 2.5 0 0 0 2.5-2.5v-2A2.5 2.5 0 0 0 9 4H7Zm2 1.5H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1ZM13.5 6.5A2.5 2.5 0 0 1 16 4h2a2.5 2.5 0 0 1 2.5 2.5v2A2.5 2.5 0 0 1 18 11h-2a2.5 2.5 0 0 1-2.5-2.5v-2Zm2.5-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1ZM7 13a2.5 2.5 0 0 0-2.5 2.5v2A2.5 2.5 0 0 0 7 20h2a2.5 2.5 0 0 0 2.5-2.5v-2A2.5 2.5 0 0 0 9 13H7Zm2 1.5H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1Z" fill="#fff"/><path d="M13.5 15.5c0-.465 0-.697.038-.89a2 2 0 0 1 1.572-1.572C15.303 13 15.535 13 16 13v2.5h-2.5ZM18 13c.465 0 .697 0 .89.038a2 2 0 0 1 1.572 1.572c.038.193.038.425.038.89H18V13ZM18 17.5h2.5c0 .465 0 .697-.038.89a2 2 0 0 1-1.572 1.572C18.697 20 18.465 20 18 20v-2.5ZM13.5 17.5H16V20c-.465 0-.697 0-.89-.038a2 2 0 0 1-1.572-1.572c-.038-.193-.038-.425-.038-.89Z" fill="#fff"/></svg>`,SCAN_ICON:b`<svg width="16" height="16" fill="none"><path fill="#fff" d="M10 15.216c0 .422.347.763.768.74 1.202-.064 2.025-.222 2.71-.613a5.001 5.001 0 0 0 1.865-1.866c.39-.684.549-1.507.613-2.709a.735.735 0 0 0-.74-.768.768.768 0 0 0-.76.732c-.009.157-.02.306-.032.447-.073.812-.206 1.244-.384 1.555-.31.545-.761.996-1.306 1.306-.311.178-.743.311-1.555.384-.141.013-.29.023-.447.032a.768.768 0 0 0-.732.76ZM10 .784c0 .407.325.737.732.76.157.009.306.02.447.032.812.073 1.244.206 1.555.384a3.5 3.5 0 0 1 1.306 1.306c.178.311.311.743.384 1.555.013.142.023.29.032.447a.768.768 0 0 0 .76.732.734.734 0 0 0 .74-.768c-.064-1.202-.222-2.025-.613-2.71A5 5 0 0 0 13.477.658c-.684-.39-1.507-.549-2.709-.613a.735.735 0 0 0-.768.74ZM5.232.044A.735.735 0 0 1 6 .784a.768.768 0 0 1-.732.76c-.157.009-.305.02-.447.032-.812.073-1.244.206-1.555.384A3.5 3.5 0 0 0 1.96 3.266c-.178.311-.311.743-.384 1.555-.013.142-.023.29-.032.447A.768.768 0 0 1 .784 6a.735.735 0 0 1-.74-.768c.064-1.202.222-2.025.613-2.71A5 5 0 0 1 2.523.658C3.207.267 4.03.108 5.233.044ZM5.268 14.456a.768.768 0 0 1 .732.76.734.734 0 0 1-.768.74c-1.202-.064-2.025-.222-2.71-.613a5 5 0 0 1-1.865-1.866c-.39-.684-.549-1.507-.613-2.709A.735.735 0 0 1 .784 10c.407 0 .737.325.76.732.009.157.02.306.032.447.073.812.206 1.244.384 1.555a3.5 3.5 0 0 0 1.306 1.306c.311.178.743.311 1.555.384.142.013.29.023.447.032Z"/></svg>`,CHECKMARK_ICON:b`<svg width="13" height="12" viewBox="0 0 13 12"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.155.132a.75.75 0 0 1 .232 1.035L5.821 11.535a1 1 0 0 1-1.626.09L.665 7.21a.75.75 0 1 1 1.17-.937L4.71 9.867a.25.25 0 0 0 .406-.023L11.12.364a.75.75 0 0 1 1.035-.232Z" fill="#fff"/></svg>`,SEARCH_ICON:b`<svg width="20" height="21"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.432 13.992c-.354-.353-.91-.382-1.35-.146a5.5 5.5 0 1 1 2.265-2.265c-.237.441-.208.997.145 1.35l3.296 3.296a.75.75 0 1 1-1.06 1.061l-3.296-3.296Zm.06-5a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z" fill="#949E9E"/></svg>`,WALLET_PLACEHOLDER:b`<svg width="60" height="60" fill="none" viewBox="0 0 60 60"><g clip-path="url(#q)"><path id="wallet-placeholder-fill" fill="#fff" d="M0 24.9c0-9.251 0-13.877 1.97-17.332a15 15 0 0 1 5.598-5.597C11.023 0 15.648 0 24.9 0h10.2c9.252 0 13.877 0 17.332 1.97a15 15 0 0 1 5.597 5.598C60 11.023 60 15.648 60 24.9v10.2c0 9.252 0 13.877-1.97 17.332a15.001 15.001 0 0 1-5.598 5.597C48.977 60 44.352 60 35.1 60H24.9c-9.251 0-13.877 0-17.332-1.97a15 15 0 0 1-5.597-5.598C0 48.977 0 44.352 0 35.1V24.9Z"/><path id="wallet-placeholder-dash" stroke="#000" stroke-dasharray="4 4" stroke-width="1.5" d="M.04 41.708a231.598 231.598 0 0 1-.039-4.403l.75-.001L.75 35.1v-2.55H0v-5.1h.75V24.9l.001-2.204h-.75c.003-1.617.011-3.077.039-4.404l.75.016c.034-1.65.099-3.08.218-4.343l-.746-.07c.158-1.678.412-3.083.82-4.316l.713.236c.224-.679.497-1.296.827-1.875a14.25 14.25 0 0 1 1.05-1.585L3.076 5.9A15 15 0 0 1 5.9 3.076l.455.596a14.25 14.25 0 0 1 1.585-1.05c.579-.33 1.196-.603 1.875-.827l-.236-.712C10.812.674 12.217.42 13.895.262l.07.746C15.23.89 16.66.824 18.308.79l-.016-.75C19.62.012 21.08.004 22.695.001l.001.75L24.9.75h2.55V0h5.1v.75h2.55l2.204.001v-.75c1.617.003 3.077.011 4.404.039l-.016.75c1.65.034 3.08.099 4.343.218l.07-.746c1.678.158 3.083.412 4.316.82l-.236.713c.679.224 1.296.497 1.875.827a14.24 14.24 0 0 1 1.585 1.05l.455-.596A14.999 14.999 0 0 1 56.924 5.9l-.596.455c.384.502.735 1.032 1.05 1.585.33.579.602 1.196.827 1.875l.712-.236c.409 1.233.663 2.638.822 4.316l-.747.07c.119 1.264.184 2.694.218 4.343l.75-.016c.028 1.327.036 2.787.039 4.403l-.75.001.001 2.204v2.55H60v5.1h-.75v2.55l-.001 2.204h.75a231.431 231.431 0 0 1-.039 4.404l-.75-.016c-.034 1.65-.099 3.08-.218 4.343l.747.07c-.159 1.678-.413 3.083-.822 4.316l-.712-.236a10.255 10.255 0 0 1-.827 1.875 14.242 14.242 0 0 1-1.05 1.585l.596.455a14.997 14.997 0 0 1-2.824 2.824l-.455-.596c-.502.384-1.032.735-1.585 1.05-.579.33-1.196.602-1.875.827l.236.712c-1.233.409-2.638.663-4.316.822l-.07-.747c-1.264.119-2.694.184-4.343.218l.016.75c-1.327.028-2.787.036-4.403.039l-.001-.75-2.204.001h-2.55V60h-5.1v-.75H24.9l-2.204-.001v.75a231.431 231.431 0 0 1-4.404-.039l.016-.75c-1.65-.034-3.08-.099-4.343-.218l-.07.747c-1.678-.159-3.083-.413-4.316-.822l.236-.712a10.258 10.258 0 0 1-1.875-.827 14.252 14.252 0 0 1-1.585-1.05l-.455.596A14.999 14.999 0 0 1 3.076 54.1l.596-.455a14.24 14.24 0 0 1-1.05-1.585 10.259 10.259 0 0 1-.827-1.875l-.712.236C.674 49.188.42 47.783.262 46.105l.746-.07C.89 44.77.824 43.34.79 41.692l-.75.016Z"/><path fill="#fff" fill-rule="evenodd" d="M35.643 32.145c-.297-.743-.445-1.114-.401-1.275a.42.42 0 0 1 .182-.27c.134-.1.463-.1 1.123-.1.742 0 1.499.046 2.236-.05a6 6 0 0 0 5.166-5.166c.051-.39.051-.855.051-1.784 0-.928 0-1.393-.051-1.783a6 6 0 0 0-5.166-5.165c-.39-.052-.854-.052-1.783-.052h-7.72c-4.934 0-7.401 0-9.244 1.051a8 8 0 0 0-2.985 2.986C16.057 22.28 16.003 24.58 16 29 15.998 31.075 16 33.15 16 35.224A7.778 7.778 0 0 0 23.778 43H28.5c1.394 0 2.09 0 2.67-.116a6 6 0 0 0 4.715-4.714c.115-.58.115-1.301.115-2.744 0-1.31 0-1.964-.114-2.49a4.998 4.998 0 0 0-.243-.792Z" clip-rule="evenodd"/><path fill="#9EA9A9" fill-rule="evenodd" d="M37 18h-7.72c-2.494 0-4.266.002-5.647.126-1.361.122-2.197.354-2.854.728a6.5 6.5 0 0 0-2.425 2.426c-.375.657-.607 1.492-.729 2.853-.11 1.233-.123 2.777-.125 4.867 0 .7 0 1.05.097 1.181.096.13.182.181.343.2.163.02.518-.18 1.229-.581a6.195 6.195 0 0 1 3.053-.8H37c.977 0 1.32-.003 1.587-.038a4.5 4.5 0 0 0 3.874-3.874c.036-.268.039-.611.039-1.588 0-.976-.003-1.319-.038-1.587a4.5 4.5 0 0 0-3.875-3.874C38.32 18.004 37.977 18 37 18Zm-7.364 12.5h-7.414a4.722 4.722 0 0 0-4.722 4.723 6.278 6.278 0 0 0 6.278 6.278H28.5c1.466 0 1.98-.008 2.378-.087a4.5 4.5 0 0 0 3.535-3.536c.08-.397.087-.933.087-2.451 0-1.391-.009-1.843-.08-2.17a3.5 3.5 0 0 0-2.676-2.676c-.328-.072-.762-.08-2.108-.08Z" clip-rule="evenodd"/></g><defs><clipPath id="q"><path fill="#fff" d="M0 0h60v60H0z"/></clipPath></defs></svg>`,GLOBE_ICON:b`<svg width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="#fff" fill-rule="evenodd" d="M15.5 8a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0Zm-2.113.75c.301 0 .535.264.47.558a6.01 6.01 0 0 1-2.867 3.896c-.203.116-.42-.103-.334-.32.409-1.018.691-2.274.797-3.657a.512.512 0 0 1 .507-.477h1.427Zm.47-2.058c.065.294-.169.558-.47.558H11.96a.512.512 0 0 1-.507-.477c-.106-1.383-.389-2.638-.797-3.656-.087-.217.13-.437.333-.32a6.01 6.01 0 0 1 2.868 3.895Zm-4.402.558c.286 0 .515-.24.49-.525-.121-1.361-.429-2.534-.83-3.393-.279-.6-.549-.93-.753-1.112a.535.535 0 0 0-.724 0c-.204.182-.474.513-.754 1.112-.4.859-.708 2.032-.828 3.393a.486.486 0 0 0 .49.525h2.909Zm-5.415 0c.267 0 .486-.21.507-.477.106-1.383.389-2.638.797-3.656.087-.217-.13-.437-.333-.32a6.01 6.01 0 0 0-2.868 3.895c-.065.294.169.558.47.558H4.04ZM2.143 9.308c-.065-.294.169-.558.47-.558H4.04c.267 0 .486.21.507.477.106 1.383.389 2.639.797 3.657.087.217-.13.436-.333.32a6.01 6.01 0 0 1-2.868-3.896Zm3.913-.033a.486.486 0 0 1 .49-.525h2.909c.286 0 .515.24.49.525-.121 1.361-.428 2.535-.83 3.394-.279.6-.549.93-.753 1.112a.535.535 0 0 1-.724 0c-.204-.182-.474-.513-.754-1.112-.4-.859-.708-2.033-.828-3.394Z" clip-rule="evenodd"/></svg>`},pt=i$3`.wcm-toolbar-placeholder{top:0;bottom:0;left:0;right:0;width:100%;position:absolute;display:block;pointer-events:none;height:100px;border-radius:calc(var(--wcm-background-border-radius) * .9);background-color:var(--wcm-background-color);background-position:center;background-size:cover}.wcm-toolbar{height:38px;display:flex;position:relative;margin:5px 15px 5px 5px;justify-content:space-between;align-items:center}.wcm-toolbar img,.wcm-toolbar svg{height:28px;object-position:left center;object-fit:contain}#wcm-wc-logo path{fill:var(--wcm-accent-fill-color)}button{width:28px;height:28px;border-radius:var(--wcm-icon-button-border-radius);border:0;display:flex;justify-content:center;align-items:center;cursor:pointer;background-color:var(--wcm-color-bg-1);box-shadow:0 0 0 1px var(--wcm-color-overlay)}button:active{background-color:var(--wcm-color-bg-2)}button svg{display:block;object-position:center}button path{fill:var(--wcm-color-fg-1)}.wcm-toolbar div{display:flex}@media(hover:hover){button:hover{background-color:var(--wcm-color-bg-2)}}`;var ut=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let fe=class extends s{render(){return x`<div class="wcm-toolbar-placeholder"></div><div class="wcm-toolbar">${v.WALLET_CONNECT_LOGO} <button @click="${se$3.close}">${v.CROSS_ICON}</button></div>`}};fe.styles=[h.globalCss,pt],fe=ut([e$2("wcm-modal-backcard")],fe);const bt=i$3`main{padding:20px;padding-top:0;width:100%}`;var yt=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let xe=class extends s{render(){return x`<main><slot></slot></main>`}};xe.styles=[h.globalCss,bt],xe=yt([e$2("wcm-modal-content")],xe);const $t=i$3`footer{padding:10px;display:flex;flex-direction:column;align-items:inherit;justify-content:inherit;border-top:1px solid var(--wcm-color-bg-2)}`;var Ot=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let ye=class extends s{render(){return x`<footer><slot></slot></footer>`}};ye.styles=[h.globalCss,$t],ye=Ot([e$2("wcm-modal-footer")],ye);const Wt=i$3`header{display:flex;justify-content:center;align-items:center;padding:20px;position:relative}.wcm-border{border-bottom:1px solid var(--wcm-color-bg-2);margin-bottom:20px}header button{padding:15px 20px}header button:active{opacity:.5}@media(hover:hover){header button:hover{opacity:.5}}.wcm-back-btn{position:absolute;left:0}.wcm-action-btn{position:absolute;right:0}path{fill:var(--wcm-accent-color)}`;var It=Object.defineProperty,Et=Object.getOwnPropertyDescriptor,te=(e,o,r,a)=>{for(var t=a>1?void 0:a?Et(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&It(o,r,t),t};let S=class extends s{constructor(){super(...arguments),this.title="",this.onAction=void 0,this.actionIcon=void 0,this.border=!1;}backBtnTemplate(){return x`<button class="wcm-back-btn" @click="${T$4.goBack}">${v.BACK_ICON}</button>`}actionBtnTemplate(){return x`<button class="wcm-action-btn" @click="${this.onAction}">${this.actionIcon}</button>`}render(){const e={"wcm-border":this.border},o=T$4.state.history.length>1,r=this.title?x`<wcm-text variant="big-bold">${this.title}</wcm-text>`:x`<slot></slot>`;return x`<header class="${o$1(e)}">${o?this.backBtnTemplate():null} ${r} ${this.onAction?this.actionBtnTemplate():null}</header>`}};S.styles=[h.globalCss,Wt],te([n$1()],S.prototype,"title",2),te([n$1()],S.prototype,"onAction",2),te([n$1()],S.prototype,"actionIcon",2),te([n$1({type:Boolean})],S.prototype,"border",2),S=te([e$2("wcm-modal-header")],S);const c={MOBILE_BREAKPOINT:600,WCM_RECENT_WALLET_DATA:"WCM_RECENT_WALLET_DATA",EXPLORER_WALLET_URL:"https://explorer.walletconnect.com/?type=wallet",getShadowRootElement(e,o){const r=e.renderRoot.querySelector(o);if(!r)throw new Error(`${o} not found`);return r},getWalletIcon({id:e,image_id:o}){const{walletImages:r}=y$7.state;return r!=null&&r[e]?r[e]:o?te$5.getWalletImageUrl(o):""},getWalletName(e,o=!1){return o&&e.length>8?`${e.substring(0,8)}..`:e},isMobileAnimation(){return window.innerWidth<=c.MOBILE_BREAKPOINT},async preloadImage(e){const o=new Promise((r,a)=>{const t=new Image;t.onload=r,t.onerror=a,t.crossOrigin="anonymous",t.src=e;});return Promise.race([o,a$6.wait(3e3)])},getErrorMessage(e){return e instanceof Error?e.message:"Unknown Error"},debounce(e,o=500){let r;return (...a)=>{function t(){e(...a);}r&&clearTimeout(r),r=setTimeout(t,o);}},handleMobileLinking(e){const{walletConnectUri:o}=p$a.state,{mobile:r,name:a}=e,t=r?.native,l=r?.universal;c.setRecentWallet(e);function i(s){let $="";t?$=a$6.formatUniversalUrl(t,s,a):l&&($=a$6.formatNativeUrl(l,s,a)),a$6.openHref($,"_self");}o&&i(o);},handleAndroidLinking(){const{walletConnectUri:e}=p$a.state;e&&(a$6.setWalletConnectAndroidDeepLink(e),a$6.openHref(e,"_self"));},async handleUriCopy(){const{walletConnectUri:e}=p$a.state;if(e)try{await navigator.clipboard.writeText(e),oe$5.openToast("Link copied","success");}catch{oe$5.openToast("Failed to copy","error");}},getCustomImageUrls(){const{walletImages:e}=y$7.state,o=Object.values(e??{});return Object.values(o)},truncate(e,o=8){return e.length<=o?e:`${e.substring(0,4)}...${e.substring(e.length-4)}`},setRecentWallet(e){try{localStorage.setItem(c.WCM_RECENT_WALLET_DATA,JSON.stringify(e));}catch{console.info("Unable to set recent wallet");}},getRecentWallet(){try{const e=localStorage.getItem(c.WCM_RECENT_WALLET_DATA);return e?JSON.parse(e):void 0}catch{console.info("Unable to get recent wallet");}},caseSafeIncludes(e,o){return e.toUpperCase().includes(o.toUpperCase())},openWalletExplorerUrl(){a$6.openHref(c.EXPLORER_WALLET_URL,"_blank");},getCachedRouterWalletPlatforms(){const{desktop:e,mobile:o}=a$6.getWalletRouterData(),r=Boolean(e?.native),a=Boolean(e?.universal),t=Boolean(o?.native)||Boolean(o?.universal);return {isDesktop:r,isMobile:t,isWeb:a}},goToConnectingView(e){T$4.setData({Wallet:e});const o=a$6.isMobile(),{isDesktop:r,isWeb:a,isMobile:t}=c.getCachedRouterWalletPlatforms();o?t?T$4.push("MobileConnecting"):a?T$4.push("WebConnecting"):T$4.push("InstallWallet"):r?T$4.push("DesktopConnecting"):a?T$4.push("WebConnecting"):t?T$4.push("MobileQrcodeConnecting"):T$4.push("InstallWallet");}},Mt=i$3`.wcm-router{overflow:hidden;will-change:transform}.wcm-content{display:flex;flex-direction:column}`;var Lt=Object.defineProperty,Rt=Object.getOwnPropertyDescriptor,$e=(e,o,r,a)=>{for(var t=a>1?void 0:a?Rt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Lt(o,r,t),t};let oe=class extends s{constructor(){super(),this.view=T$4.state.view,this.prevView=T$4.state.view,this.unsubscribe=void 0,this.oldHeight="0px",this.resizeObserver=void 0,this.unsubscribe=T$4.subscribe(e=>{this.view!==e.view&&this.onChangeRoute();});}firstUpdated(){this.resizeObserver=new ResizeObserver(([e])=>{const o=`${e.contentRect.height}px`;this.oldHeight!=="0px"&&animate(this.routerEl,{height:[this.oldHeight,o]},{duration:.2}),this.oldHeight=o;}),this.resizeObserver.observe(this.contentEl);}disconnectedCallback(){var e,o;(e=this.unsubscribe)==null||e.call(this),(o=this.resizeObserver)==null||o.disconnect();}get routerEl(){return c.getShadowRootElement(this,".wcm-router")}get contentEl(){return c.getShadowRootElement(this,".wcm-content")}viewTemplate(){switch(this.view){case"ConnectWallet":return x`<wcm-connect-wallet-view></wcm-connect-wallet-view>`;case"DesktopConnecting":return x`<wcm-desktop-connecting-view></wcm-desktop-connecting-view>`;case"MobileConnecting":return x`<wcm-mobile-connecting-view></wcm-mobile-connecting-view>`;case"WebConnecting":return x`<wcm-web-connecting-view></wcm-web-connecting-view>`;case"MobileQrcodeConnecting":return x`<wcm-mobile-qr-connecting-view></wcm-mobile-qr-connecting-view>`;case"WalletExplorer":return x`<wcm-wallet-explorer-view></wcm-wallet-explorer-view>`;case"Qrcode":return x`<wcm-qrcode-view></wcm-qrcode-view>`;case"InstallWallet":return x`<wcm-install-wallet-view></wcm-install-wallet-view>`;default:return x`<div>Not Found</div>`}}async onChangeRoute(){await animate(this.routerEl,{opacity:[1,0],scale:[1,1.02]},{duration:.15,delay:.1}).finished,this.view=T$4.state.view,animate(this.routerEl,{opacity:[0,1],scale:[.99,1]},{duration:.37,delay:.05});}render(){return x`<div class="wcm-router"><div class="wcm-content">${this.viewTemplate()}</div></div>`}};oe.styles=[h.globalCss,Mt],$e([t$1()],oe.prototype,"view",2),$e([t$1()],oe.prototype,"prevView",2),oe=$e([e$2("wcm-modal-router")],oe);const At=i$3`div{height:36px;width:max-content;display:flex;justify-content:center;align-items:center;padding:9px 15px 11px;position:absolute;top:12px;box-shadow:0 6px 14px -6px rgba(10,16,31,.3),0 10px 32px -4px rgba(10,16,31,.15);z-index:2;left:50%;transform:translateX(-50%);pointer-events:none;backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border-radius:var(--wcm-notification-border-radius);border:1px solid var(--wcm-color-overlay);background-color:var(--wcm-color-overlay)}svg{margin-right:5px}@-moz-document url-prefix(){div{background-color:var(--wcm-color-bg-3)}}.wcm-success path{fill:var(--wcm-accent-color)}.wcm-error path{fill:var(--wcm-error-color)}`;var Pt=Object.defineProperty,Tt=Object.getOwnPropertyDescriptor,ze=(e,o,r,a)=>{for(var t=a>1?void 0:a?Tt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Pt(o,r,t),t};let ne=class extends s{constructor(){super(),this.open=!1,this.unsubscribe=void 0,this.timeout=void 0,this.unsubscribe=oe$5.subscribe(e=>{e.open?(this.open=!0,this.timeout=setTimeout(()=>oe$5.closeToast(),2200)):(this.open=!1,clearTimeout(this.timeout));});}disconnectedCallback(){var e;(e=this.unsubscribe)==null||e.call(this),clearTimeout(this.timeout),oe$5.closeToast();}render(){const{message:e,variant:o}=oe$5.state,r={"wcm-success":o==="success","wcm-error":o==="error"};return this.open?x`<div class="${o$1(r)}">${o==="success"?v.CHECKMARK_ICON:null} ${o==="error"?v.CROSS_ICON:null}<wcm-text variant="small-regular">${e}</wcm-text></div>`:null}};ne.styles=[h.globalCss,At],ze([t$1()],ne.prototype,"open",2),ne=ze([e$2("wcm-modal-toast")],ne);const jt=.1,Ve=2.5,A=7;function Ce(e,o,r){return e===o?!1:(e-o<0?o-e:e-o)<=r+jt}function _t(e,o){const r=Array.prototype.slice.call(browser.create(e,{errorCorrectionLevel:o}).modules.data,0),a=Math.sqrt(r.length);return r.reduce((t,l,i)=>(i%a===0?t.push([l]):t[t.length-1].push(l))&&t,[])}const Dt={generate(e,o,r){const a="#141414",t="#ffffff",l=[],i=_t(e,"Q"),s=o/i.length,$=[{x:0,y:0},{x:1,y:0},{x:0,y:1}];$.forEach(({x:y,y:u})=>{const O=(i.length-A)*s*y,b$1=(i.length-A)*s*u,E=.45;for(let M=0;M<$.length;M+=1){const V=s*(A-M*2);l.push(b`<rect fill="${M%2===0?a:t}" height="${V}" rx="${V*E}" ry="${V*E}" width="${V}" x="${O+s*M}" y="${b$1+s*M}">`);}});const f=Math.floor((r+25)/s),Ne=i.length/2-f/2,Ze=i.length/2+f/2-1,Se=[];i.forEach((y,u)=>{y.forEach((O,b)=>{if(i[u][b]&&!(u<A&&b<A||u>i.length-(A+1)&&b<A||u<A&&b>i.length-(A+1))&&!(u>Ne&&u<Ze&&b>Ne&&b<Ze)){const E=u*s+s/2,M=b*s+s/2;Se.push([E,M]);}});});const J={};return Se.forEach(([y,u])=>{J[y]?J[y].push(u):J[y]=[u];}),Object.entries(J).map(([y,u])=>{const O=u.filter(b=>u.every(E=>!Ce(b,E,s)));return [Number(y),O]}).forEach(([y,u])=>{u.forEach(O=>{l.push(b`<circle cx="${y}" cy="${O}" fill="${a}" r="${s/Ve}">`);});}),Object.entries(J).filter(([y,u])=>u.length>1).map(([y,u])=>{const O=u.filter(b=>u.some(E=>Ce(b,E,s)));return [Number(y),O]}).map(([y,u])=>{u.sort((b,E)=>b<E?-1:1);const O=[];for(const b of u){const E=O.find(M=>M.some(V=>Ce(b,V,s)));E?E.push(b):O.push([b]);}return [y,O.map(b=>[b[0],b[b.length-1]])]}).forEach(([y,u])=>{u.forEach(([O,b$1])=>{l.push(b`<line x1="${y}" x2="${y}" y1="${O}" y2="${b$1}" stroke="${a}" stroke-width="${s/(Ve/2)}" stroke-linecap="round">`);});}),l}},Nt=i$3`@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}div{position:relative;user-select:none;display:block;overflow:hidden;aspect-ratio:1/1;animation:fadeIn ease .2s}.wcm-dark{background-color:#fff;border-radius:var(--wcm-container-border-radius);padding:18px;box-shadow:0 2px 5px #000}svg:first-child,wcm-wallet-image{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%)}wcm-wallet-image{transform:translateY(-50%) translateX(-50%)}wcm-wallet-image{width:25%;height:25%;border-radius:var(--wcm-wallet-icon-border-radius)}svg:first-child{transform:translateY(-50%) translateX(-50%) scale(.9)}svg:first-child path:first-child{fill:var(--wcm-accent-color)}svg:first-child path:last-child{stroke:var(--wcm-color-overlay)}`;var Zt=Object.defineProperty,St=Object.getOwnPropertyDescriptor,q=(e,o,r,a)=>{for(var t=a>1?void 0:a?St(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Zt(o,r,t),t};let j=class extends s{constructor(){super(...arguments),this.uri="",this.size=0,this.imageId=void 0,this.walletId=void 0,this.imageUrl=void 0;}svgTemplate(){const e=ne$3.state.themeMode==="light"?this.size:this.size-36;return b`<svg height="${e}" width="${e}">${Dt.generate(this.uri,e,e/4)}</svg>`}render(){const e={"wcm-dark":ne$3.state.themeMode==="dark"};return x`<div style="${`width: ${this.size}px`}" class="${o$1(e)}">${this.walletId||this.imageUrl?x`<wcm-wallet-image walletId="${l(this.walletId)}" imageId="${l(this.imageId)}" imageUrl="${l(this.imageUrl)}"></wcm-wallet-image>`:v.WALLET_CONNECT_ICON_COLORED} ${this.svgTemplate()}</div>`}};j.styles=[h.globalCss,Nt],q([n$1()],j.prototype,"uri",2),q([n$1({type:Number})],j.prototype,"size",2),q([n$1()],j.prototype,"imageId",2),q([n$1()],j.prototype,"walletId",2),q([n$1()],j.prototype,"imageUrl",2),j=q([e$2("wcm-qrcode")],j);const Bt=i$3`:host{position:relative;height:28px;width:80%}input{width:100%;height:100%;line-height:28px!important;border-radius:var(--wcm-input-border-radius);font-style:normal;font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,Ubuntu,'Helvetica Neue',sans-serif;font-feature-settings:'case' on;font-weight:500;font-size:16px;letter-spacing:-.03em;padding:0 10px 0 34px;transition:.2s all ease;color:var(--wcm-color-fg-1);background-color:var(--wcm-color-bg-3);box-shadow:inset 0 0 0 1px var(--wcm-color-overlay);caret-color:var(--wcm-accent-color)}input::placeholder{color:var(--wcm-color-fg-2)}svg{left:10px;top:4px;pointer-events:none;position:absolute;width:20px;height:20px}input:focus-within{box-shadow:inset 0 0 0 1px var(--wcm-accent-color)}path{fill:var(--wcm-color-fg-2)}`;var Ut=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,Fe=(e,o,r,a)=>{for(var t=a>1?void 0:a?Ht(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Ut(o,r,t),t};let ce=class extends s{constructor(){super(...arguments),this.onChange=()=>null;}render(){return x`<input type="text" @input="${this.onChange}" placeholder="Search wallets"> ${v.SEARCH_ICON}`}};ce.styles=[h.globalCss,Bt],Fe([n$1()],ce.prototype,"onChange",2),ce=Fe([e$2("wcm-search-input")],ce);const zt=i$3`@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}svg{animation:rotate 2s linear infinite;display:flex;justify-content:center;align-items:center}svg circle{stroke-linecap:round;animation:dash 1.5s ease infinite;stroke:var(--wcm-accent-color)}`;var qt=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let ke=class extends s{render(){return x`<svg viewBox="0 0 50 50" width="24" height="24"><circle cx="25" cy="25" r="20" fill="none" stroke-width="4" stroke="#fff"/></svg>`}};ke.styles=[h.globalCss,zt],ke=qt([e$2("wcm-spinner")],ke);const Qt=i$3`span{font-style:normal;font-family:var(--wcm-font-family);font-feature-settings:var(--wcm-font-feature-settings)}.wcm-xsmall-bold{font-family:var(--wcm-text-xsmall-bold-font-family);font-weight:var(--wcm-text-xsmall-bold-weight);font-size:var(--wcm-text-xsmall-bold-size);line-height:var(--wcm-text-xsmall-bold-line-height);letter-spacing:var(--wcm-text-xsmall-bold-letter-spacing);text-transform:var(--wcm-text-xsmall-bold-text-transform)}.wcm-xsmall-regular{font-family:var(--wcm-text-xsmall-regular-font-family);font-weight:var(--wcm-text-xsmall-regular-weight);font-size:var(--wcm-text-xsmall-regular-size);line-height:var(--wcm-text-xsmall-regular-line-height);letter-spacing:var(--wcm-text-xsmall-regular-letter-spacing);text-transform:var(--wcm-text-xsmall-regular-text-transform)}.wcm-small-thin{font-family:var(--wcm-text-small-thin-font-family);font-weight:var(--wcm-text-small-thin-weight);font-size:var(--wcm-text-small-thin-size);line-height:var(--wcm-text-small-thin-line-height);letter-spacing:var(--wcm-text-small-thin-letter-spacing);text-transform:var(--wcm-text-small-thin-text-transform)}.wcm-small-regular{font-family:var(--wcm-text-small-regular-font-family);font-weight:var(--wcm-text-small-regular-weight);font-size:var(--wcm-text-small-regular-size);line-height:var(--wcm-text-small-regular-line-height);letter-spacing:var(--wcm-text-small-regular-letter-spacing);text-transform:var(--wcm-text-small-regular-text-transform)}.wcm-medium-regular{font-family:var(--wcm-text-medium-regular-font-family);font-weight:var(--wcm-text-medium-regular-weight);font-size:var(--wcm-text-medium-regular-size);line-height:var(--wcm-text-medium-regular-line-height);letter-spacing:var(--wcm-text-medium-regular-letter-spacing);text-transform:var(--wcm-text-medium-regular-text-transform)}.wcm-big-bold{font-family:var(--wcm-text-big-bold-font-family);font-weight:var(--wcm-text-big-bold-weight);font-size:var(--wcm-text-big-bold-size);line-height:var(--wcm-text-big-bold-line-height);letter-spacing:var(--wcm-text-big-bold-letter-spacing);text-transform:var(--wcm-text-big-bold-text-transform)}:host(*){color:var(--wcm-color-fg-1)}.wcm-color-primary{color:var(--wcm-color-fg-1)}.wcm-color-secondary{color:var(--wcm-color-fg-2)}.wcm-color-tertiary{color:var(--wcm-color-fg-3)}.wcm-color-inverse{color:var(--wcm-accent-fill-color)}.wcm-color-accnt{color:var(--wcm-accent-color)}.wcm-color-error{color:var(--wcm-error-color)}`;var Kt=Object.defineProperty,Yt=Object.getOwnPropertyDescriptor,Oe=(e,o,r,a)=>{for(var t=a>1?void 0:a?Yt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Kt(o,r,t),t};let re=class extends s{constructor(){super(...arguments),this.variant="medium-regular",this.color="primary";}render(){const e={"wcm-big-bold":this.variant==="big-bold","wcm-medium-regular":this.variant==="medium-regular","wcm-small-regular":this.variant==="small-regular","wcm-small-thin":this.variant==="small-thin","wcm-xsmall-regular":this.variant==="xsmall-regular","wcm-xsmall-bold":this.variant==="xsmall-bold","wcm-color-primary":this.color==="primary","wcm-color-secondary":this.color==="secondary","wcm-color-tertiary":this.color==="tertiary","wcm-color-inverse":this.color==="inverse","wcm-color-accnt":this.color==="accent","wcm-color-error":this.color==="error"};return x`<span><slot class="${o$1(e)}"></slot></span>`}};re.styles=[h.globalCss,Qt],Oe([n$1()],re.prototype,"variant",2),Oe([n$1()],re.prototype,"color",2),re=Oe([e$2("wcm-text")],re);const Gt=i$3`button{width:100%;height:100%;border-radius:var(--wcm-button-hover-highlight-border-radius);display:flex;align-items:flex-start}button:active{background-color:var(--wcm-color-overlay)}@media(hover:hover){button:hover{background-color:var(--wcm-color-overlay)}}button>div{width:80px;padding:5px 0;display:flex;flex-direction:column;align-items:center}wcm-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}wcm-wallet-image{height:60px;width:60px;transition:all .2s ease;border-radius:var(--wcm-wallet-icon-border-radius);margin-bottom:5px}.wcm-sublabel{margin-top:2px}`;var Xt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,_=(e,o,r,a)=>{for(var t=a>1?void 0:a?Jt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Xt(o,r,t),t};let L=class extends s{constructor(){super(...arguments),this.onClick=()=>null,this.name="",this.walletId="",this.label=void 0,this.imageId=void 0,this.installed=!1,this.recent=!1;}sublabelTemplate(){return this.recent?x`<wcm-text class="wcm-sublabel" variant="xsmall-bold" color="tertiary">RECENT</wcm-text>`:this.installed?x`<wcm-text class="wcm-sublabel" variant="xsmall-bold" color="tertiary">INSTALLED</wcm-text>`:null}handleClick(){R$6.click({name:"WALLET_BUTTON",walletId:this.walletId}),this.onClick();}render(){var e;return x`<button @click="${this.handleClick.bind(this)}"><div><wcm-wallet-image walletId="${this.walletId}" imageId="${l(this.imageId)}"></wcm-wallet-image><wcm-text variant="xsmall-regular">${(e=this.label)!=null?e:c.getWalletName(this.name,!0)}</wcm-text>${this.sublabelTemplate()}</div></button>`}};L.styles=[h.globalCss,Gt],_([n$1()],L.prototype,"onClick",2),_([n$1()],L.prototype,"name",2),_([n$1()],L.prototype,"walletId",2),_([n$1()],L.prototype,"label",2),_([n$1()],L.prototype,"imageId",2),_([n$1({type:Boolean})],L.prototype,"installed",2),_([n$1({type:Boolean})],L.prototype,"recent",2),L=_([e$2("wcm-wallet-button")],L);const eo=i$3`:host{display:block}div{overflow:hidden;position:relative;border-radius:inherit;width:100%;height:100%;background-color:var(--wcm-color-overlay)}svg{position:relative;width:100%;height:100%}div::after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid var(--wcm-color-overlay)}div img{width:100%;height:100%;object-fit:cover;object-position:center}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var to=Object.defineProperty,oo=Object.getOwnPropertyDescriptor,se=(e,o,r,a)=>{for(var t=a>1?void 0:a?oo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&to(o,r,t),t};let Q=class extends s{constructor(){super(...arguments),this.walletId="",this.imageId=void 0,this.imageUrl=void 0;}render(){var e;const o=(e=this.imageUrl)!=null&&e.length?this.imageUrl:c.getWalletIcon({id:this.walletId,image_id:this.imageId});return x`${o.length?x`<div><img crossorigin="anonymous" src="${o}" alt="${this.id}"></div>`:v.WALLET_PLACEHOLDER}`}};Q.styles=[h.globalCss,eo],se([n$1()],Q.prototype,"walletId",2),se([n$1()],Q.prototype,"imageId",2),se([n$1()],Q.prototype,"imageUrl",2),Q=se([e$2("wcm-wallet-image")],Q);var ro=Object.defineProperty,ao=Object.getOwnPropertyDescriptor,qe=(e,o,r,a)=>{for(var t=a>1?void 0:a?ao(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ro(o,r,t),t};let We=class extends s{constructor(){super(),this.preload=!0,this.preloadData();}async loadImages(e){try{e!=null&&e.length&&await Promise.all(e.map(async o=>c.preloadImage(o)));}catch{console.info("Unsuccessful attempt at preloading some images",e);}}async preloadListings(){if(y$7.state.enableExplorer){await te$5.getRecomendedWallets(),p$a.setIsDataLoaded(!0);const{recomendedWallets:e}=te$5.state,o=e.map(r=>c.getWalletIcon(r));await this.loadImages(o);}else p$a.setIsDataLoaded(!0);}async preloadCustomImages(){const e=c.getCustomImageUrls();await this.loadImages(e);}async preloadData(){try{this.preload&&(this.preload=!1,await Promise.all([this.preloadListings(),this.preloadCustomImages()]));}catch(e){console.error(e),oe$5.openToast("Failed preloading","error");}}};qe([t$1()],We.prototype,"preload",2),We=qe([e$2("wcm-explorer-context")],We);var no=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Qe=class extends s{constructor(){super(),this.unsubscribeTheme=void 0,h.setTheme(),this.unsubscribeTheme=ne$3.subscribe(h.setTheme);}disconnectedCallback(){var e;(e=this.unsubscribeTheme)==null||e.call(this);}};Qe=no([e$2("wcm-theme-context")],Qe);const co=i$3`@keyframes scroll{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(calc(-70px * 9),0,0)}}.wcm-slider{position:relative;overflow-x:hidden;padding:10px 0;margin:0 -20px;width:calc(100% + 40px)}.wcm-track{display:flex;width:calc(70px * 18);animation:scroll 20s linear infinite;opacity:.7}.wcm-track svg{margin:0 5px}wcm-wallet-image{width:60px;height:60px;margin:0 5px;border-radius:var(--wcm-wallet-icon-border-radius)}.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between}.wcm-title{display:flex;align-items:center;margin-bottom:10px}.wcm-title svg{margin-right:6px}.wcm-title path{fill:var(--wcm-accent-color)}wcm-modal-footer .wcm-title{padding:0 10px}wcm-button-big{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);filter:drop-shadow(0 0 17px var(--wcm-color-bg-1))}wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-info-footer wcm-text{text-align:center;margin-bottom:15px}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var ho=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Ie=class extends s{onGoToQrcode(){T$4.push("Qrcode");}render(){const{recomendedWallets:e}=te$5.state,o=[...e,...e],r=a$6.RECOMMENDED_WALLET_AMOUNT*2;return x`<wcm-modal-header title="Connect your wallet" .onAction="${this.onGoToQrcode}" .actionIcon="${v.QRCODE_ICON}"></wcm-modal-header><wcm-modal-content><div class="wcm-title">${v.MOBILE_ICON}<wcm-text variant="small-regular" color="accent">WalletConnect</wcm-text></div><div class="wcm-slider"><div class="wcm-track">${[...Array(r)].map((a,t)=>{const l=o[t%o.length];return l?x`<wcm-wallet-image walletId="${l.id}" imageId="${l.image_id}"></wcm-wallet-image>`:v.WALLET_PLACEHOLDER})}</div><wcm-button-big @click="${c.handleAndroidLinking}"><wcm-text variant="medium-regular" color="inverse">Select Wallet</wcm-text></wcm-button-big></div></wcm-modal-content><wcm-info-footer><wcm-text color="secondary" variant="small-thin">Choose WalletConnect to see supported apps on your device</wcm-text></wcm-info-footer>`}};Ie.styles=[h.globalCss,co],Ie=ho([e$2("wcm-android-wallet-selection")],Ie);const wo=i$3`@keyframes loading{to{stroke-dashoffset:0}}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(1px,0,0)}30%,50%,70%{transform:translate3d(-2px,0,0)}40%,60%{transform:translate3d(2px,0,0)}}:host{display:flex;flex-direction:column;align-items:center}div{position:relative;width:110px;height:110px;display:flex;justify-content:center;align-items:center;margin:40px 0 20px 0;transform:translate3d(0,0,0)}svg{position:absolute;width:110px;height:110px;fill:none;stroke:transparent;stroke-linecap:round;stroke-width:2px;top:0;left:0}use{stroke:var(--wcm-accent-color);animation:loading 1s linear infinite}wcm-wallet-image{border-radius:var(--wcm-wallet-icon-large-border-radius);width:90px;height:90px}wcm-text{margin-bottom:40px}.wcm-error svg{stroke:var(--wcm-error-color)}.wcm-error use{display:none}.wcm-error{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}.wcm-stale svg,.wcm-stale use{display:none}`;var po=Object.defineProperty,go=Object.getOwnPropertyDescriptor,K=(e,o,r,a)=>{for(var t=a>1?void 0:a?go(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&po(o,r,t),t};let D=class extends s{constructor(){super(...arguments),this.walletId=void 0,this.imageId=void 0,this.isError=!1,this.isStale=!1,this.label="";}svgLoaderTemplate(){var e,o;const r=(o=(e=ne$3.state.themeVariables)==null?void 0:e["--wcm-wallet-icon-large-border-radius"])!=null?o:h.getPreset("--wcm-wallet-icon-large-border-radius");let a=0;r.includes("%")?a=88/100*parseInt(r,10):a=parseInt(r,10),a*=1.17;const t=317-a*1.57,l=425-a*1.8;return x`<svg viewBox="0 0 110 110" width="110" height="110"><rect id="wcm-loader" x="2" y="2" width="106" height="106" rx="${a}"/><use xlink:href="#wcm-loader" stroke-dasharray="106 ${t}" stroke-dashoffset="${l}"></use></svg>`}render(){const e={"wcm-error":this.isError,"wcm-stale":this.isStale};return x`<div class="${o$1(e)}">${this.svgLoaderTemplate()}<wcm-wallet-image walletId="${l(this.walletId)}" imageId="${l(this.imageId)}"></wcm-wallet-image></div><wcm-text variant="medium-regular" color="${this.isError?"error":"primary"}">${this.isError?"Connection declined":this.label}</wcm-text>`}};D.styles=[h.globalCss,wo],K([n$1()],D.prototype,"walletId",2),K([n$1()],D.prototype,"imageId",2),K([n$1({type:Boolean})],D.prototype,"isError",2),K([n$1({type:Boolean})],D.prototype,"isStale",2),K([n$1()],D.prototype,"label",2),D=K([e$2("wcm-connector-waiting")],D);const G={manualWallets(){var e,o;const{mobileWallets:r,desktopWallets:a}=y$7.state,t=(e=G.recentWallet())==null?void 0:e.id,l=a$6.isMobile()?r:a,i=l?.filter(s=>t!==s.id);return (o=a$6.isMobile()?i?.map(({id:s,name:$,links:f})=>({id:s,name:$,mobile:f,links:f})):i?.map(({id:s,name:$,links:f})=>({id:s,name:$,desktop:f,links:f})))!=null?o:[]},recentWallet(){return c.getRecentWallet()},recomendedWallets(e=!1){var o;const r=e||(o=G.recentWallet())==null?void 0:o.id,{recomendedWallets:a}=te$5.state;return a.filter(t=>r!==t.id)}},Z={onConnecting(e){c.goToConnectingView(e);},manualWalletsTemplate(){return G.manualWallets().map(e=>x`<wcm-wallet-button walletId="${e.id}" name="${e.name}" .onClick="${()=>this.onConnecting(e)}"></wcm-wallet-button>`)},recomendedWalletsTemplate(e=!1){return G.recomendedWallets(e).map(o=>x`<wcm-wallet-button name="${o.name}" walletId="${o.id}" imageId="${o.image_id}" .onClick="${()=>this.onConnecting(o)}"></wcm-wallet-button>`)},recentWalletTemplate(){const e=G.recentWallet();if(e)return x`<wcm-wallet-button name="${e.name}" walletId="${e.id}" imageId="${l(e.image_id)}" .recent="${!0}" .onClick="${()=>this.onConnecting(e)}"></wcm-wallet-button>`}},vo=i$3`.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between}.wcm-desktop-title,.wcm-mobile-title{display:flex;align-items:center}.wcm-mobile-title{justify-content:space-between;margin-bottom:20px;margin-top:-10px}.wcm-desktop-title{margin-bottom:10px;padding:0 10px}.wcm-subtitle{display:flex;align-items:center}.wcm-subtitle:last-child path{fill:var(--wcm-color-fg-3)}.wcm-desktop-title svg,.wcm-mobile-title svg{margin-right:6px}.wcm-desktop-title path,.wcm-mobile-title path{fill:var(--wcm-accent-color)}`;var fo=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Ee=class extends s{render(){const{explorerExcludedWalletIds:e,enableExplorer:o}=y$7.state,r=e!=="ALL"&&o,a=Z.manualWalletsTemplate(),t=Z.recomendedWalletsTemplate();let l=[Z.recentWalletTemplate(),...a,...t];l=l.filter(Boolean);const i=l.length>4||r;let s=[];i?s=l.slice(0,3):s=l;const $=Boolean(s.length);return x`<wcm-modal-header .border="${!0}" title="Connect your wallet" .onAction="${c.handleUriCopy}" .actionIcon="${v.COPY_ICON}"></wcm-modal-header><wcm-modal-content><div class="wcm-mobile-title"><div class="wcm-subtitle">${v.MOBILE_ICON}<wcm-text variant="small-regular" color="accent">Mobile</wcm-text></div><div class="wcm-subtitle">${v.SCAN_ICON}<wcm-text variant="small-regular" color="secondary">Scan with your wallet</wcm-text></div></div><wcm-walletconnect-qr></wcm-walletconnect-qr></wcm-modal-content>${$?x`<wcm-modal-footer><div class="wcm-desktop-title">${v.DESKTOP_ICON}<wcm-text variant="small-regular" color="accent">Desktop</wcm-text></div><div class="wcm-grid">${s} ${i?x`<wcm-view-all-wallets-button></wcm-view-all-wallets-button>`:null}</div></wcm-modal-footer>`:null}`}};Ee.styles=[h.globalCss,vo],Ee=fo([e$2("wcm-desktop-wallet-selection")],Ee);const xo=i$3`div{background-color:var(--wcm-color-bg-2);padding:10px 20px 15px 20px;border-top:1px solid var(--wcm-color-bg-3);text-align:center}a{color:var(--wcm-accent-color);text-decoration:none;transition:opacity .2s ease-in-out;display:inline}a:active{opacity:.8}@media(hover:hover){a:hover{opacity:.8}}`;var Co=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Me=class extends s{render(){const{termsOfServiceUrl:e,privacyPolicyUrl:o}=y$7.state;return e??o?x`<div><wcm-text variant="small-regular" color="secondary">By connecting your wallet to this app, you agree to the app's ${e?x`<a href="${e}" target="_blank" rel="noopener noreferrer">Terms of Service</a>`:null} ${e&&o?"and":null} ${o?x`<a href="${o}" target="_blank" rel="noopener noreferrer">Privacy Policy</a>`:null}</wcm-text></div>`:null}};Me.styles=[h.globalCss,xo],Me=Co([e$2("wcm-legal-notice")],Me);const ko=i$3`div{display:grid;grid-template-columns:repeat(4,80px);margin:0 -10px;justify-content:space-between;row-gap:10px}`;var Io=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Le=class extends s{onQrcode(){T$4.push("Qrcode");}render(){const{explorerExcludedWalletIds:e,enableExplorer:o}=y$7.state,r=e!=="ALL"&&o,a=Z.manualWalletsTemplate(),t=Z.recomendedWalletsTemplate();let l=[Z.recentWalletTemplate(),...a,...t];l=l.filter(Boolean);const i=l.length>8||r;let s=[];i?s=l.slice(0,7):s=l;const $=Boolean(s.length);return x`<wcm-modal-header title="Connect your wallet" .onAction="${this.onQrcode}" .actionIcon="${v.QRCODE_ICON}"></wcm-modal-header>${$?x`<wcm-modal-content><div>${s} ${i?x`<wcm-view-all-wallets-button></wcm-view-all-wallets-button>`:null}</div></wcm-modal-content>`:null}`}};Le.styles=[h.globalCss,ko],Le=Io([e$2("wcm-mobile-wallet-selection")],Le);const Eo=i$3`:host{all:initial}.wcm-overlay{top:0;bottom:0;left:0;right:0;position:fixed;z-index:var(--wcm-z-index);overflow:hidden;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;background-color:var(--wcm-overlay-background-color);backdrop-filter:var(--wcm-overlay-backdrop-filter)}@media(max-height:720px) and (orientation:landscape){.wcm-overlay{overflow:scroll;align-items:flex-start;padding:20px 0}}.wcm-active{pointer-events:auto}.wcm-container{position:relative;max-width:360px;width:100%;outline:0;border-radius:var(--wcm-background-border-radius) var(--wcm-background-border-radius) var(--wcm-container-border-radius) var(--wcm-container-border-radius);border:1px solid var(--wcm-color-overlay);overflow:hidden}.wcm-card{width:100%;position:relative;border-radius:var(--wcm-container-border-radius);overflow:hidden;box-shadow:0 6px 14px -6px rgba(10,16,31,.12),0 10px 32px -4px rgba(10,16,31,.1),0 0 0 1px var(--wcm-color-overlay);background-color:var(--wcm-color-bg-1);color:var(--wcm-color-fg-1)}@media(max-width:600px){.wcm-container{max-width:440px;border-radius:var(--wcm-background-border-radius) var(--wcm-background-border-radius) 0 0}.wcm-card{border-radius:var(--wcm-container-border-radius) var(--wcm-container-border-radius) 0 0}.wcm-overlay{align-items:flex-end}}@media(max-width:440px){.wcm-container{border:0}}`;var Mo=Object.defineProperty,Lo=Object.getOwnPropertyDescriptor,Re=(e,o,r,a)=>{for(var t=a>1?void 0:a?Lo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Mo(o,r,t),t};let ae=class extends s{constructor(){super(),this.open=!1,this.active=!1,this.unsubscribeModal=void 0,this.abortController=void 0,this.unsubscribeModal=se$3.subscribe(e=>{e.open?this.onOpenModalEvent():this.onCloseModalEvent();});}disconnectedCallback(){var e;(e=this.unsubscribeModal)==null||e.call(this);}get overlayEl(){return c.getShadowRootElement(this,".wcm-overlay")}get containerEl(){return c.getShadowRootElement(this,".wcm-container")}toggleBodyScroll(e){if(document.querySelector("body"))if(e){const o=document.getElementById("wcm-styles");o?.remove();}else document.head.insertAdjacentHTML("beforeend",'<style id="wcm-styles">html,body{touch-action:none;overflow:hidden;overscroll-behavior:contain;}</style>');}onCloseModal(e){e.target===e.currentTarget&&se$3.close();}onOpenModalEvent(){this.toggleBodyScroll(!1),this.addKeyboardEvents(),this.open=!0,setTimeout(async()=>{const e=c.isMobileAnimation()?{y:["50vh","0vh"]}:{scale:[.98,1]},o=.1,r=.2;await Promise.all([animate(this.overlayEl,{opacity:[0,1]},{delay:o,duration:r}).finished,animate(this.containerEl,e,{delay:o,duration:r}).finished]),this.active=!0;},0);}async onCloseModalEvent(){this.toggleBodyScroll(!0),this.removeKeyboardEvents();const e=c.isMobileAnimation()?{y:["0vh","50vh"]}:{scale:[1,.98]},o=.2;await Promise.all([animate(this.overlayEl,{opacity:[1,0]},{duration:o}).finished,animate(this.containerEl,e,{duration:o}).finished]),this.containerEl.removeAttribute("style"),this.active=!1,this.open=!1;}addKeyboardEvents(){this.abortController=new AbortController,window.addEventListener("keydown",e=>{var o;e.key==="Escape"?se$3.close():e.key==="Tab"&&((o=e.target)!=null&&o.tagName.includes("wcm-")||this.containerEl.focus());},this.abortController),this.containerEl.focus();}removeKeyboardEvents(){var e;(e=this.abortController)==null||e.abort(),this.abortController=void 0;}render(){const e={"wcm-overlay":!0,"wcm-active":this.active};return x`<wcm-explorer-context></wcm-explorer-context><wcm-theme-context></wcm-theme-context><div id="wcm-modal" class="${o$1(e)}" @click="${this.onCloseModal}" role="alertdialog" aria-modal="true"><div class="wcm-container" tabindex="0">${this.open?x`<wcm-modal-backcard></wcm-modal-backcard><div class="wcm-card"><wcm-modal-router></wcm-modal-router><wcm-modal-toast></wcm-modal-toast></div>`:null}</div></div>`}};ae.styles=[h.globalCss,Eo],Re([t$1()],ae.prototype,"open",2),Re([t$1()],ae.prototype,"active",2),ae=Re([e$2("wcm-modal")],ae);const Ro=i$3`div{display:flex;margin-top:15px}slot{display:inline-block;margin:0 5px}wcm-button{margin:0 5px}`;var Ao=Object.defineProperty,Po=Object.getOwnPropertyDescriptor,le=(e,o,r,a)=>{for(var t=a>1?void 0:a?Po(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Ao(o,r,t),t};let B=class extends s{constructor(){super(...arguments),this.isMobile=!1,this.isDesktop=!1,this.isWeb=!1,this.isRetry=!1;}onMobile(){a$6.isMobile()?T$4.replace("MobileConnecting"):T$4.replace("MobileQrcodeConnecting");}onDesktop(){T$4.replace("DesktopConnecting");}onWeb(){T$4.replace("WebConnecting");}render(){return x`<div>${this.isRetry?x`<slot></slot>`:null} ${this.isMobile?x`<wcm-button .onClick="${this.onMobile}" .iconLeft="${v.MOBILE_ICON}" variant="outline">Mobile</wcm-button>`:null} ${this.isDesktop?x`<wcm-button .onClick="${this.onDesktop}" .iconLeft="${v.DESKTOP_ICON}" variant="outline">Desktop</wcm-button>`:null} ${this.isWeb?x`<wcm-button .onClick="${this.onWeb}" .iconLeft="${v.GLOBE_ICON}" variant="outline">Web</wcm-button>`:null}</div>`}};B.styles=[h.globalCss,Ro],le([n$1({type:Boolean})],B.prototype,"isMobile",2),le([n$1({type:Boolean})],B.prototype,"isDesktop",2),le([n$1({type:Boolean})],B.prototype,"isWeb",2),le([n$1({type:Boolean})],B.prototype,"isRetry",2),B=le([e$2("wcm-platform-selection")],B);const To=i$3`button{display:flex;flex-direction:column;padding:5px 10px;border-radius:var(--wcm-button-hover-highlight-border-radius);height:100%;justify-content:flex-start}.wcm-icons{width:60px;height:60px;display:flex;flex-wrap:wrap;padding:7px;border-radius:var(--wcm-wallet-icon-border-radius);justify-content:space-between;align-items:center;margin-bottom:5px;background-color:var(--wcm-color-bg-2);box-shadow:inset 0 0 0 1px var(--wcm-color-overlay)}button:active{background-color:var(--wcm-color-overlay)}@media(hover:hover){button:hover{background-color:var(--wcm-color-overlay)}}.wcm-icons img{width:21px;height:21px;object-fit:cover;object-position:center;border-radius:calc(var(--wcm-wallet-icon-border-radius)/ 2);border:1px solid var(--wcm-color-overlay)}.wcm-icons svg{width:21px;height:21px}.wcm-icons img:nth-child(1),.wcm-icons img:nth-child(2),.wcm-icons svg:nth-child(1),.wcm-icons svg:nth-child(2){margin-bottom:4px}wcm-text{width:100%;text-align:center}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var Do=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Ae=class extends s{onClick(){T$4.push("WalletExplorer");}render(){const{recomendedWallets:e}=te$5.state,o=G.manualWallets(),r=[...e,...o].reverse().slice(0,4);return x`<button @click="${this.onClick}"><div class="wcm-icons">${r.map(a=>{const t=c.getWalletIcon(a);if(t)return x`<img crossorigin="anonymous" src="${t}">`;const l=c.getWalletIcon({id:a.id});return l?x`<img crossorigin="anonymous" src="${l}">`:v.WALLET_PLACEHOLDER})} ${[...Array(4-r.length)].map(()=>v.WALLET_PLACEHOLDER)}</div><wcm-text variant="xsmall-regular">View All</wcm-text></button>`}};Ae.styles=[h.globalCss,To],Ae=Do([e$2("wcm-view-all-wallets-button")],Ae);const No=i$3`.wcm-qr-container{width:100%;display:flex;justify-content:center;align-items:center;aspect-ratio:1/1}`;var Zo=Object.defineProperty,So=Object.getOwnPropertyDescriptor,de=(e,o,r,a)=>{for(var t=a>1?void 0:a?So(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Zo(o,r,t),t};let Y=class extends s{constructor(){super(),this.walletId="",this.imageId="",this.uri="",setTimeout(()=>{const{walletConnectUri:e}=p$a.state;this.uri=e;},0);}get overlayEl(){return c.getShadowRootElement(this,".wcm-qr-container")}render(){return x`<div class="wcm-qr-container">${this.uri?x`<wcm-qrcode size="${this.overlayEl.offsetWidth}" uri="${this.uri}" walletId="${l(this.walletId)}" imageId="${l(this.imageId)}"></wcm-qrcode>`:x`<wcm-spinner></wcm-spinner>`}</div>`}};Y.styles=[h.globalCss,No],de([n$1()],Y.prototype,"walletId",2),de([n$1()],Y.prototype,"imageId",2),de([t$1()],Y.prototype,"uri",2),Y=de([e$2("wcm-walletconnect-qr")],Y);var Ho=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Pe=class extends s{viewTemplate(){return a$6.isAndroid()?x`<wcm-android-wallet-selection></wcm-android-wallet-selection>`:a$6.isMobile()?x`<wcm-mobile-wallet-selection></wcm-mobile-wallet-selection>`:x`<wcm-desktop-wallet-selection></wcm-desktop-wallet-selection>`}render(){return x`${this.viewTemplate()}<wcm-legal-notice></wcm-legal-notice>`}};Pe.styles=[h.globalCss],Pe=Ho([e$2("wcm-connect-wallet-view")],Pe);const zo=i$3`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var Vo=Object.defineProperty,Fo=Object.getOwnPropertyDescriptor,Ke=(e,o,r,a)=>{for(var t=a>1?void 0:a?Fo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Vo(o,r,t),t};let me=class extends s{constructor(){super(),this.isError=!1,this.openDesktopApp();}onFormatAndRedirect(e){const{desktop:o,name:r}=a$6.getWalletRouterData(),a=o?.native;if(a){const t=a$6.formatNativeUrl(a,e,r);a$6.openHref(t,"_self");}}openDesktopApp(){const{walletConnectUri:e}=p$a.state,o=a$6.getWalletRouterData();c.setRecentWallet(o),e&&this.onFormatAndRedirect(e);}render(){const{name:e,id:o,image_id:r}=a$6.getWalletRouterData(),{isMobile:a,isWeb:t}=c.getCachedRouterWalletPlatforms();return x`<wcm-modal-header title="${e}" .onAction="${c.handleUriCopy}" .actionIcon="${v.COPY_ICON}"></wcm-modal-header><wcm-modal-content><wcm-connector-waiting walletId="${o}" imageId="${l(r)}" label="${`Continue in ${e}...`}" .isError="${this.isError}"></wcm-connector-waiting></wcm-modal-content><wcm-info-footer><wcm-text color="secondary" variant="small-thin">${`Connection can continue loading if ${e} is not installed on your device`}</wcm-text><wcm-platform-selection .isMobile="${a}" .isWeb="${t}" .isRetry="${!0}"><wcm-button .onClick="${this.openDesktopApp.bind(this)}" .iconRight="${v.RETRY_ICON}">Retry</wcm-button></wcm-platform-selection></wcm-info-footer>`}};me.styles=[h.globalCss,zo],Ke([t$1()],me.prototype,"isError",2),me=Ke([e$2("wcm-desktop-connecting-view")],me);const qo=i$3`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}wcm-button{margin-top:15px}`;var Yo=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Te=class extends s{onInstall(e){e&&a$6.openHref(e,"_blank");}render(){const{name:e,id:o,image_id:r,homepage:a}=a$6.getWalletRouterData();return x`<wcm-modal-header title="${e}"></wcm-modal-header><wcm-modal-content><wcm-connector-waiting walletId="${o}" imageId="${l(r)}" label="Not Detected" .isStale="${!0}"></wcm-connector-waiting></wcm-modal-content><wcm-info-footer><wcm-text color="secondary" variant="small-thin">${`Download ${e} to continue. If multiple browser extensions are installed, disable non ${e} ones and try again`}</wcm-text><wcm-button .onClick="${()=>this.onInstall(a)}" .iconLeft="${v.ARROW_DOWN_ICON}">Download</wcm-button></wcm-info-footer>`}};Te.styles=[h.globalCss,qo],Te=Yo([e$2("wcm-install-wallet-view")],Te);const Go=i$3`wcm-wallet-image{border-radius:var(--wcm-wallet-icon-large-border-radius);width:96px;height:96px;margin-bottom:20px}wcm-info-footer{display:flex;width:100%}.wcm-app-store{justify-content:space-between}.wcm-app-store wcm-wallet-image{margin-right:10px;margin-bottom:0;width:28px;height:28px;border-radius:var(--wcm-wallet-icon-small-border-radius)}.wcm-app-store div{display:flex;align-items:center}.wcm-app-store wcm-button{margin-right:-10px}.wcm-note{flex-direction:column;align-items:center;padding:5px 0}.wcm-note wcm-text{text-align:center}wcm-platform-selection{margin-top:-15px}.wcm-note wcm-text{margin-top:15px}.wcm-note wcm-text span{color:var(--wcm-accent-color)}`;var Xo=Object.defineProperty,Jo=Object.getOwnPropertyDescriptor,Ye=(e,o,r,a)=>{for(var t=a>1?void 0:a?Jo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Xo(o,r,t),t};let he=class extends s{constructor(){super(),this.isError=!1,this.openMobileApp();}onFormatAndRedirect(e,o=!1){const{mobile:r,name:a}=a$6.getWalletRouterData(),t=r?.native,l=r?.universal;if(t&&!o){const i=a$6.formatNativeUrl(t,e,a);a$6.openHref(i,"_self");}else if(l){const i=a$6.formatUniversalUrl(l,e,a);a$6.openHref(i,"_self");}}openMobileApp(e=!1){const{walletConnectUri:o}=p$a.state,r=a$6.getWalletRouterData();c.setRecentWallet(r),o&&this.onFormatAndRedirect(o,e);}onGoToAppStore(e){e&&a$6.openHref(e,"_blank");}render(){const{name:e,id:o,image_id:r,app:a,mobile:t}=a$6.getWalletRouterData(),{isWeb:l$1}=c.getCachedRouterWalletPlatforms(),i=a?.ios,s=t?.universal;return x`<wcm-modal-header title="${e}"></wcm-modal-header><wcm-modal-content><wcm-connector-waiting walletId="${o}" imageId="${l(r)}" label="Tap 'Open' to continue…" .isError="${this.isError}"></wcm-connector-waiting></wcm-modal-content><wcm-info-footer class="wcm-note"><wcm-platform-selection .isWeb="${l$1}" .isRetry="${!0}"><wcm-button .onClick="${()=>this.openMobileApp(!1)}" .iconRight="${v.RETRY_ICON}">Retry</wcm-button></wcm-platform-selection>${s?x`<wcm-text color="secondary" variant="small-thin">Still doesn't work? <span tabindex="0" @click="${()=>this.openMobileApp(!0)}">Try this alternate link</span></wcm-text>`:null}</wcm-info-footer><wcm-info-footer class="wcm-app-store"><div><wcm-wallet-image walletId="${o}" imageId="${l(r)}"></wcm-wallet-image><wcm-text>${`Get ${e}`}</wcm-text></div><wcm-button .iconRight="${v.ARROW_RIGHT_ICON}" .onClick="${()=>this.onGoToAppStore(i)}" variant="ghost">App Store</wcm-button></wcm-info-footer>`}};he.styles=[h.globalCss,Go],Ye([t$1()],he.prototype,"isError",2),he=Ye([e$2("wcm-mobile-connecting-view")],he);const er=i$3`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var rr=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let je=class extends s{render(){const{name:e,id:o,image_id:r}=a$6.getWalletRouterData(),{isDesktop:a,isWeb:t}=c.getCachedRouterWalletPlatforms();return x`<wcm-modal-header title="${e}" .onAction="${c.handleUriCopy}" .actionIcon="${v.COPY_ICON}"></wcm-modal-header><wcm-modal-content><wcm-walletconnect-qr walletId="${o}" imageId="${l(r)}"></wcm-walletconnect-qr></wcm-modal-content><wcm-info-footer><wcm-text color="secondary" variant="small-thin">${`Scan this QR Code with your phone's camera or inside ${e} app`}</wcm-text><wcm-platform-selection .isDesktop="${a}" .isWeb="${t}"></wcm-platform-selection></wcm-info-footer>`}};je.styles=[h.globalCss,er],je=rr([e$2("wcm-mobile-qr-connecting-view")],je);var ir=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let _e=class extends s{render(){return x`<wcm-modal-header title="Scan the code" .onAction="${c.handleUriCopy}" .actionIcon="${v.COPY_ICON}"></wcm-modal-header><wcm-modal-content><wcm-walletconnect-qr></wcm-walletconnect-qr></wcm-modal-content>`}};_e.styles=[h.globalCss],_e=ir([e$2("wcm-qrcode-view")],_e);const nr=i$3`wcm-modal-content{height:clamp(200px,60vh,600px);display:block;overflow:scroll;scrollbar-width:none;position:relative;margin-top:1px}.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between;margin:-15px -10px;padding-top:20px}wcm-modal-content::after,wcm-modal-content::before{content:'';position:fixed;pointer-events:none;z-index:1;width:100%;height:20px;opacity:1}wcm-modal-content::before{box-shadow:0 -1px 0 0 var(--wcm-color-bg-1);background:linear-gradient(var(--wcm-color-bg-1),rgba(255,255,255,0))}wcm-modal-content::after{box-shadow:0 1px 0 0 var(--wcm-color-bg-1);background:linear-gradient(rgba(255,255,255,0),var(--wcm-color-bg-1));top:calc(100% - 20px)}wcm-modal-content::-webkit-scrollbar{display:none}.wcm-placeholder-block{display:flex;justify-content:center;align-items:center;height:100px;overflow:hidden}.wcm-empty,.wcm-loading{display:flex}.wcm-loading .wcm-placeholder-block{height:100%}.wcm-end-reached .wcm-placeholder-block{height:0;opacity:0}.wcm-empty .wcm-placeholder-block{opacity:1;height:100%}wcm-wallet-button{margin:calc((100% - 60px)/ 3) 0}`;var cr=Object.defineProperty,sr=Object.getOwnPropertyDescriptor,ie=(e,o,r,a)=>{for(var t=a>1?void 0:a?sr(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&cr(o,r,t),t};const De=40;let U=class extends s{constructor(){super(...arguments),this.loading=!te$5.state.wallets.listings.length,this.firstFetch=!te$5.state.wallets.listings.length,this.search="",this.endReached=!1,this.intersectionObserver=void 0,this.searchDebounce=c.debounce(e=>{e.length>=1?(this.firstFetch=!0,this.endReached=!1,this.search=e,te$5.resetSearch(),this.fetchWallets()):this.search&&(this.search="",this.endReached=this.isLastPage(),te$5.resetSearch());});}firstUpdated(){this.createPaginationObserver();}disconnectedCallback(){var e;(e=this.intersectionObserver)==null||e.disconnect();}get placeholderEl(){return c.getShadowRootElement(this,".wcm-placeholder-block")}createPaginationObserver(){this.intersectionObserver=new IntersectionObserver(([e])=>{e.isIntersecting&&!(this.search&&this.firstFetch)&&this.fetchWallets();}),this.intersectionObserver.observe(this.placeholderEl);}isLastPage(){const{wallets:e,search:o}=te$5.state,{listings:r,total:a}=this.search?o:e;return a<=De||r.length>=a}async fetchWallets(){var e;const{wallets:o,search:r}=te$5.state,{listings:a,total:t,page:l}=this.search?r:o;if(!this.endReached&&(this.firstFetch||t>De&&a.length<t))try{this.loading=!0;const i=(e=p$a.state.chains)==null?void 0:e.join(","),{listings:s}=await te$5.getWallets({page:this.firstFetch?1:l+1,entries:De,search:this.search,version:2,chains:i}),$=s.map(f=>c.getWalletIcon(f));await Promise.all([...$.map(async f=>c.preloadImage(f)),a$6.wait(300)]),this.endReached=this.isLastPage();}catch(i){console.error(i),oe$5.openToast(c.getErrorMessage(i),"error");}finally{this.loading=!1,this.firstFetch=!1;}}onConnect(e){a$6.isAndroid()?c.handleMobileLinking(e):c.goToConnectingView(e);}onSearchChange(e){const{value:o}=e.target;this.searchDebounce(o);}render(){const{wallets:e,search:o}=te$5.state,{listings:r}=this.search?o:e,a=this.loading&&!r.length,t=this.search.length>=3;let l=Z.manualWalletsTemplate(),i=Z.recomendedWalletsTemplate(!0);t&&(l=l.filter(({values:f})=>c.caseSafeIncludes(f[0],this.search)),i=i.filter(({values:f})=>c.caseSafeIncludes(f[0],this.search)));const s=!this.loading&&!r.length&&!i.length,$={"wcm-loading":a,"wcm-end-reached":this.endReached||!this.loading,"wcm-empty":s};return x`<wcm-modal-header><wcm-search-input .onChange="${this.onSearchChange.bind(this)}"></wcm-search-input></wcm-modal-header><wcm-modal-content class="${o$1($)}"><div class="wcm-grid">${a?null:l} ${a?null:i} ${a?null:r.map(f=>x`${f?x`<wcm-wallet-button imageId="${f.image_id}" name="${f.name}" walletId="${f.id}" .onClick="${()=>this.onConnect(f)}"></wcm-wallet-button>`:null}`)}</div><div class="wcm-placeholder-block">${s?x`<wcm-text variant="big-bold" color="secondary">No results found</wcm-text>`:null} ${!s&&this.loading?x`<wcm-spinner></wcm-spinner>`:null}</div></wcm-modal-content>`}};U.styles=[h.globalCss,nr],ie([t$1()],U.prototype,"loading",2),ie([t$1()],U.prototype,"firstFetch",2),ie([t$1()],U.prototype,"search",2),ie([t$1()],U.prototype,"endReached",2),U=ie([e$2("wcm-wallet-explorer-view")],U);const dr=i$3`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var mr=Object.defineProperty,hr=Object.getOwnPropertyDescriptor,Ge=(e,o,r,a)=>{for(var t=a>1?void 0:a?hr(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&mr(o,r,t),t};let we=class extends s{constructor(){super(),this.isError=!1,this.openWebWallet();}onFormatAndRedirect(e){const{desktop:o,name:r}=a$6.getWalletRouterData(),a=o?.universal;if(a){const t=a$6.formatUniversalUrl(a,e,r);a$6.openHref(t,"_blank");}}openWebWallet(){const{walletConnectUri:e}=p$a.state,o=a$6.getWalletRouterData();c.setRecentWallet(o),e&&this.onFormatAndRedirect(e);}render(){const{name:e,id:o,image_id:r}=a$6.getWalletRouterData(),{isMobile:a,isDesktop:t}=c.getCachedRouterWalletPlatforms(),l$1=a$6.isMobile();return x`<wcm-modal-header title="${e}" .onAction="${c.handleUriCopy}" .actionIcon="${v.COPY_ICON}"></wcm-modal-header><wcm-modal-content><wcm-connector-waiting walletId="${o}" imageId="${l(r)}" label="${`Continue in ${e}...`}" .isError="${this.isError}"></wcm-connector-waiting></wcm-modal-content><wcm-info-footer><wcm-text color="secondary" variant="small-thin">${`${e} web app has opened in a new tab. Go there, accept the connection, and come back`}</wcm-text><wcm-platform-selection .isMobile="${a}" .isDesktop="${l$1?!1:t}" .isRetry="${!0}"><wcm-button .onClick="${this.openWebWallet.bind(this)}" .iconRight="${v.RETRY_ICON}">Retry</wcm-button></wcm-platform-selection></wcm-info-footer>`}};we.styles=[h.globalCss,dr],Ge([t$1()],we.prototype,"isError",2),we=Ge([e$2("wcm-web-connecting-view")],we);
|
|
420575
|
+
var et=Object.defineProperty,Be=Object.getOwnPropertySymbols,tt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,Ue=(e,o,r)=>o in e?et(e,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[o]=r,ve=(e,o)=>{for(var r in o||(o={}))tt.call(o,r)&&Ue(e,r,o[r]);if(Be)for(var r of Be(o))ot.call(o,r)&&Ue(e,r,o[r]);return e};function rt(){var e;const o=(e=ne$3.state.themeMode)!=null?e:"dark",r={light:{foreground:{1:"rgb(20,20,20)",2:"rgb(121,134,134)",3:"rgb(158,169,169)"},background:{1:"rgb(255,255,255)",2:"rgb(241,243,243)",3:"rgb(228,231,231)"},overlay:"rgba(0,0,0,0.1)"},dark:{foreground:{1:"rgb(228,231,231)",2:"rgb(148,158,158)",3:"rgb(110,119,119)"},background:{1:"rgb(20,20,20)",2:"rgb(39,42,42)",3:"rgb(59,64,64)"},overlay:"rgba(255,255,255,0.1)"}}[o];return {"--wcm-color-fg-1":r.foreground[1],"--wcm-color-fg-2":r.foreground[2],"--wcm-color-fg-3":r.foreground[3],"--wcm-color-bg-1":r.background[1],"--wcm-color-bg-2":r.background[2],"--wcm-color-bg-3":r.background[3],"--wcm-color-overlay":r.overlay}}function He(){return {"--wcm-accent-color":"#3396FF","--wcm-accent-fill-color":"#FFFFFF","--wcm-z-index":"89","--wcm-background-color":"#3396FF","--wcm-background-border-radius":"8px","--wcm-container-border-radius":"30px","--wcm-wallet-icon-border-radius":"15px","--wcm-wallet-icon-large-border-radius":"30px","--wcm-wallet-icon-small-border-radius":"7px","--wcm-input-border-radius":"28px","--wcm-button-border-radius":"10px","--wcm-notification-border-radius":"36px","--wcm-secondary-button-border-radius":"28px","--wcm-icon-button-border-radius":"50%","--wcm-button-hover-highlight-border-radius":"10px","--wcm-text-big-bold-size":"20px","--wcm-text-big-bold-weight":"600","--wcm-text-big-bold-line-height":"24px","--wcm-text-big-bold-letter-spacing":"-0.03em","--wcm-text-big-bold-text-transform":"none","--wcm-text-xsmall-bold-size":"10px","--wcm-text-xsmall-bold-weight":"700","--wcm-text-xsmall-bold-line-height":"12px","--wcm-text-xsmall-bold-letter-spacing":"0.02em","--wcm-text-xsmall-bold-text-transform":"uppercase","--wcm-text-xsmall-regular-size":"12px","--wcm-text-xsmall-regular-weight":"600","--wcm-text-xsmall-regular-line-height":"14px","--wcm-text-xsmall-regular-letter-spacing":"-0.03em","--wcm-text-xsmall-regular-text-transform":"none","--wcm-text-small-thin-size":"14px","--wcm-text-small-thin-weight":"500","--wcm-text-small-thin-line-height":"16px","--wcm-text-small-thin-letter-spacing":"-0.03em","--wcm-text-small-thin-text-transform":"none","--wcm-text-small-regular-size":"14px","--wcm-text-small-regular-weight":"600","--wcm-text-small-regular-line-height":"16px","--wcm-text-small-regular-letter-spacing":"-0.03em","--wcm-text-small-regular-text-transform":"none","--wcm-text-medium-regular-size":"16px","--wcm-text-medium-regular-weight":"600","--wcm-text-medium-regular-line-height":"20px","--wcm-text-medium-regular-letter-spacing":"-0.03em","--wcm-text-medium-regular-text-transform":"none","--wcm-font-family":"-apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, Ubuntu, 'Helvetica Neue', sans-serif","--wcm-font-feature-settings":"'tnum' on, 'lnum' on, 'case' on","--wcm-success-color":"rgb(38,181,98)","--wcm-error-color":"rgb(242, 90, 103)","--wcm-overlay-background-color":"rgba(0, 0, 0, 0.3)","--wcm-overlay-backdrop-filter":"none"}}const h={getPreset(e){return He()[e]},setTheme(){const e=document.querySelector(":root"),{themeVariables:o}=ne$3.state;if(e){const r=ve(ve(ve({},rt()),He()),o);Object.entries(r).forEach(([a,t])=>e.style.setProperty(a,t));}},globalCss:i$4`*,::after,::before{margin:0;padding:0;box-sizing:border-box;font-style:normal;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;backface-visibility:hidden}button{cursor:pointer;display:flex;justify-content:center;align-items:center;position:relative;border:none;background-color:transparent;transition:all .2s ease}@media (hover:hover) and (pointer:fine){button:active{transition:all .1s ease;transform:scale(.93)}}button::after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;transition:background-color,.2s ease}button:disabled{cursor:not-allowed}button svg,button wcm-text{position:relative;z-index:1}input{border:none;outline:0;appearance:none}img{display:block}::selection{color:var(--wcm-accent-fill-color);background:var(--wcm-accent-color)}`},at=i$4`button{border-radius:var(--wcm-secondary-button-border-radius);height:28px;padding:0 10px;background-color:var(--wcm-accent-color)}button path{fill:var(--wcm-accent-fill-color)}button::after{border-radius:inherit;border:1px solid var(--wcm-color-overlay)}button:disabled::after{background-color:transparent}.wcm-icon-left svg{margin-right:5px}.wcm-icon-right svg{margin-left:5px}button:active::after{background-color:var(--wcm-color-overlay)}.wcm-ghost,.wcm-ghost:active::after,.wcm-outline{background-color:transparent}.wcm-ghost:active{opacity:.5}@media(hover:hover){button:hover::after{background-color:var(--wcm-color-overlay)}.wcm-ghost:hover::after{background-color:transparent}.wcm-ghost:hover{opacity:.5}}button:disabled{background-color:var(--wcm-color-bg-3);pointer-events:none}.wcm-ghost::after{border-color:transparent}.wcm-ghost path{fill:var(--wcm-color-fg-2)}.wcm-outline path{fill:var(--wcm-accent-color)}.wcm-outline:disabled{background-color:transparent;opacity:.5}`;var lt=Object.defineProperty,it=Object.getOwnPropertyDescriptor,F=(e,o,r,a)=>{for(var t=a>1?void 0:a?it(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&<(o,r,t),t};let T=class extends s{constructor(){super(...arguments),this.disabled=!1,this.iconLeft=void 0,this.iconRight=void 0,this.onClick=()=>null,this.variant="default";}render(){const e={"wcm-icon-left":this.iconLeft!==void 0,"wcm-icon-right":this.iconRight!==void 0,"wcm-ghost":this.variant==="ghost","wcm-outline":this.variant==="outline"};let o="inverse";return this.variant==="ghost"&&(o="secondary"),this.variant==="outline"&&(o="accent"),x`<button class="${o$1(e)}" ?disabled="${this.disabled}" @click="${this.onClick}">${this.iconLeft}<wcm-text variant="small-regular" color="${o}"><slot></slot></wcm-text>${this.iconRight}</button>`}};T.styles=[h.globalCss,at],F([n$1({type:Boolean})],T.prototype,"disabled",2),F([n$1()],T.prototype,"iconLeft",2),F([n$1()],T.prototype,"iconRight",2),F([n$1()],T.prototype,"onClick",2),F([n$1()],T.prototype,"variant",2),T=F([e$2("wcm-button")],T);const nt=i$4`:host{display:inline-block}button{padding:0 15px 1px;height:40px;border-radius:var(--wcm-button-border-radius);color:var(--wcm-accent-fill-color);background-color:var(--wcm-accent-color)}button::after{content:'';top:0;bottom:0;left:0;right:0;position:absolute;background-color:transparent;border-radius:inherit;transition:background-color .2s ease;border:1px solid var(--wcm-color-overlay)}button:active::after{background-color:var(--wcm-color-overlay)}button:disabled{padding-bottom:0;background-color:var(--wcm-color-bg-3);color:var(--wcm-color-fg-3)}.wcm-secondary{color:var(--wcm-accent-color);background-color:transparent}.wcm-secondary::after{display:none}@media(hover:hover){button:hover::after{background-color:var(--wcm-color-overlay)}}`;var ct=Object.defineProperty,st=Object.getOwnPropertyDescriptor,ue=(e,o,r,a)=>{for(var t=a>1?void 0:a?st(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ct(o,r,t),t};let ee=class extends s{constructor(){super(...arguments),this.disabled=!1,this.variant="primary";}render(){const e={"wcm-secondary":this.variant==="secondary"};return x`<button ?disabled="${this.disabled}" class="${o$1(e)}"><slot></slot></button>`}};ee.styles=[h.globalCss,nt],ue([n$1({type:Boolean})],ee.prototype,"disabled",2),ue([n$1()],ee.prototype,"variant",2),ee=ue([e$2("wcm-button-big")],ee);const dt=i$4`:host{background-color:var(--wcm-color-bg-2);border-top:1px solid var(--wcm-color-bg-3)}div{padding:10px 20px;display:inherit;flex-direction:inherit;align-items:inherit;width:inherit;justify-content:inherit}`;var wt=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let be=class extends s{render(){return x`<div><slot></slot></div>`}};be.styles=[h.globalCss,dt],be=wt([e$2("wcm-info-footer")],be);const v={CROSS_ICON:b`<svg width="12" height="12" viewBox="0 0 12 12"><path d="M9.94 11A.75.75 0 1 0 11 9.94L7.414 6.353a.5.5 0 0 1 0-.708L11 2.061A.75.75 0 1 0 9.94 1L6.353 4.586a.5.5 0 0 1-.708 0L2.061 1A.75.75 0 0 0 1 2.06l3.586 3.586a.5.5 0 0 1 0 .708L1 9.939A.75.75 0 1 0 2.06 11l3.586-3.586a.5.5 0 0 1 .708 0L9.939 11Z" fill="#fff"/></svg>`,WALLET_CONNECT_LOGO:b`<svg width="178" height="29" viewBox="0 0 178 29" id="wcm-wc-logo"><path d="M10.683 7.926c5.284-5.17 13.85-5.17 19.134 0l.636.623a.652.652 0 0 1 0 .936l-2.176 2.129a.343.343 0 0 1-.478 0l-.875-.857c-3.686-3.607-9.662-3.607-13.348 0l-.937.918a.343.343 0 0 1-.479 0l-2.175-2.13a.652.652 0 0 1 0-.936l.698-.683Zm23.633 4.403 1.935 1.895a.652.652 0 0 1 0 .936l-8.73 8.543a.687.687 0 0 1-.956 0L20.37 17.64a.172.172 0 0 0-.239 0l-6.195 6.063a.687.687 0 0 1-.957 0l-8.73-8.543a.652.652 0 0 1 0-.936l1.936-1.895a.687.687 0 0 1 .957 0l6.196 6.064a.172.172 0 0 0 .239 0l6.195-6.064a.687.687 0 0 1 .957 0l6.196 6.064a.172.172 0 0 0 .24 0l6.195-6.064a.687.687 0 0 1 .956 0ZM48.093 20.948l2.338-9.355c.139-.515.258-1.07.416-1.942.12.872.258 1.427.357 1.942l2.022 9.355h4.181l3.528-13.874h-3.21l-1.943 8.523a24.825 24.825 0 0 0-.456 2.457c-.158-.931-.317-1.625-.495-2.438l-1.883-8.542h-4.201l-2.042 8.542a41.204 41.204 0 0 0-.475 2.438 41.208 41.208 0 0 0-.476-2.438l-1.903-8.542h-3.349l3.508 13.874h4.083ZM63.33 21.304c1.585 0 2.596-.654 3.11-1.605-.059.297-.078.595-.078.892v.357h2.655V15.22c0-2.735-1.248-4.32-4.3-4.32-2.636 0-4.36 1.466-4.52 3.487h2.914c.1-.891.734-1.426 1.705-1.426.911 0 1.407.515 1.407 1.11 0 .435-.258.693-1.03.792l-1.388.159c-2.061.257-3.825 1.01-3.825 3.19 0 1.982 1.645 3.092 3.35 3.092Zm.891-2.041c-.773 0-1.348-.436-1.348-1.19 0-.733.655-1.09 1.645-1.268l.674-.119c.575-.118.892-.218 1.09-.396v.912c0 1.228-.892 2.06-2.06 2.06ZM70.398 7.074v13.874h2.874V7.074h-2.874ZM74.934 7.074v13.874h2.874V7.074h-2.874ZM84.08 21.304c2.735 0 4.5-1.546 4.697-3.567h-2.893c-.139.892-.892 1.387-1.804 1.387-1.228 0-2.12-.99-2.14-2.358h6.897v-.555c0-3.21-1.764-5.312-4.816-5.312-2.933 0-4.994 2.062-4.994 5.173 0 3.37 2.12 5.232 5.053 5.232Zm-2.16-6.421c.119-1.11.932-1.922 2.081-1.922 1.11 0 1.883.772 1.903 1.922H81.92ZM94.92 21.146c.633 0 1.248-.1 1.525-.179v-2.18c-.218.04-.475.06-.693.06-1.05 0-1.427-.595-1.427-1.566v-3.805h2.338v-2.24h-2.338V7.788H91.47v3.448H89.37v2.24h2.1v4.201c0 2.3 1.15 3.469 3.45 3.469ZM104.62 21.304c3.924 0 6.302-2.299 6.599-5.608h-3.111c-.238 1.803-1.506 3.032-3.369 3.032-2.2 0-3.746-1.784-3.746-4.796 0-2.953 1.605-4.638 3.805-4.638 1.883 0 2.953 1.15 3.171 2.834h3.191c-.317-3.448-2.854-5.41-6.342-5.41-3.984 0-7.036 2.695-7.036 7.214 0 4.677 2.676 7.372 6.838 7.372ZM117.449 21.304c2.993 0 5.114-1.882 5.114-5.172 0-3.23-2.121-5.233-5.114-5.233-2.972 0-5.093 2.002-5.093 5.233 0 3.29 2.101 5.172 5.093 5.172Zm0-2.22c-1.327 0-2.18-1.09-2.18-2.952 0-1.903.892-2.973 2.18-2.973 1.308 0 2.2 1.07 2.2 2.973 0 1.862-.872 2.953-2.2 2.953ZM126.569 20.948v-5.689c0-1.208.753-2.1 1.823-2.1 1.011 0 1.606.773 1.606 2.06v5.729h2.873v-6.144c0-2.339-1.229-3.905-3.428-3.905-1.526 0-2.458.734-2.953 1.606a5.31 5.31 0 0 0 .079-.892v-.377h-2.874v9.712h2.874ZM137.464 20.948v-5.689c0-1.208.753-2.1 1.823-2.1 1.011 0 1.606.773 1.606 2.06v5.729h2.873v-6.144c0-2.339-1.228-3.905-3.428-3.905-1.526 0-2.458.734-2.953 1.606a5.31 5.31 0 0 0 .079-.892v-.377h-2.874v9.712h2.874ZM149.949 21.304c2.735 0 4.499-1.546 4.697-3.567h-2.893c-.139.892-.892 1.387-1.804 1.387-1.228 0-2.12-.99-2.14-2.358h6.897v-.555c0-3.21-1.764-5.312-4.816-5.312-2.933 0-4.994 2.062-4.994 5.173 0 3.37 2.12 5.232 5.053 5.232Zm-2.16-6.421c.119-1.11.932-1.922 2.081-1.922 1.11 0 1.883.772 1.903 1.922h-3.984ZM160.876 21.304c3.013 0 4.658-1.645 4.975-4.201h-2.874c-.099 1.07-.713 1.982-2.001 1.982-1.309 0-2.2-1.21-2.2-2.993 0-1.942 1.03-2.933 2.259-2.933 1.209 0 1.803.872 1.883 1.882h2.873c-.218-2.358-1.823-4.142-4.776-4.142-2.874 0-5.153 1.903-5.153 5.193 0 3.25 1.923 5.212 5.014 5.212ZM172.067 21.146c.634 0 1.248-.1 1.526-.179v-2.18c-.218.04-.476.06-.694.06-1.05 0-1.427-.595-1.427-1.566v-3.805h2.339v-2.24h-2.339V7.788h-2.854v3.448h-2.1v2.24h2.1v4.201c0 2.3 1.15 3.469 3.449 3.469Z" fill="#fff"/></svg>`,WALLET_CONNECT_ICON:b`<svg width="28" height="20" viewBox="0 0 28 20"><g clip-path="url(#a)"><path d="M7.386 6.482c3.653-3.576 9.575-3.576 13.228 0l.44.43a.451.451 0 0 1 0 .648L19.55 9.033a.237.237 0 0 1-.33 0l-.606-.592c-2.548-2.496-6.68-2.496-9.228 0l-.648.634a.237.237 0 0 1-.33 0L6.902 7.602a.451.451 0 0 1 0-.647l.483-.473Zm16.338 3.046 1.339 1.31a.451.451 0 0 1 0 .648l-6.035 5.909a.475.475 0 0 1-.662 0L14.083 13.2a.119.119 0 0 0-.166 0l-4.283 4.194a.475.475 0 0 1-.662 0l-6.035-5.91a.451.451 0 0 1 0-.647l1.338-1.31a.475.475 0 0 1 .662 0l4.283 4.194c.046.044.12.044.166 0l4.283-4.194a.475.475 0 0 1 .662 0l4.283 4.194c.046.044.12.044.166 0l4.283-4.194a.475.475 0 0 1 .662 0Z" fill="#000000"/></g><defs><clipPath id="a"><path fill="#ffffff" d="M0 0h28v20H0z"/></clipPath></defs></svg>`,WALLET_CONNECT_ICON_COLORED:b`<svg width="96" height="96" fill="none"><path fill="#fff" d="M25.322 33.597c12.525-12.263 32.83-12.263 45.355 0l1.507 1.476a1.547 1.547 0 0 1 0 2.22l-5.156 5.048a.814.814 0 0 1-1.134 0l-2.074-2.03c-8.737-8.555-22.903-8.555-31.64 0l-2.222 2.175a.814.814 0 0 1-1.134 0l-5.156-5.049a1.547 1.547 0 0 1 0-2.22l1.654-1.62Zm56.019 10.44 4.589 4.494a1.547 1.547 0 0 1 0 2.22l-20.693 20.26a1.628 1.628 0 0 1-2.267 0L48.283 56.632a.407.407 0 0 0-.567 0L33.03 71.012a1.628 1.628 0 0 1-2.268 0L10.07 50.75a1.547 1.547 0 0 1 0-2.22l4.59-4.494a1.628 1.628 0 0 1 2.267 0l14.687 14.38c.156.153.41.153.567 0l14.685-14.38a1.628 1.628 0 0 1 2.268 0l14.687 14.38c.156.153.41.153.567 0l14.686-14.38a1.628 1.628 0 0 1 2.268 0Z"/><path stroke="#000" d="M25.672 33.954c12.33-12.072 32.325-12.072 44.655 0l1.508 1.476a1.047 1.047 0 0 1 0 1.506l-5.157 5.048a.314.314 0 0 1-.434 0l-2.074-2.03c-8.932-8.746-23.409-8.746-32.34 0l-2.222 2.174a.314.314 0 0 1-.434 0l-5.157-5.048a1.047 1.047 0 0 1 0-1.506l1.655-1.62Zm55.319 10.44 4.59 4.494a1.047 1.047 0 0 1 0 1.506l-20.694 20.26a1.128 1.128 0 0 1-1.568 0l-14.686-14.38a.907.907 0 0 0-1.267 0L32.68 70.655a1.128 1.128 0 0 1-1.568 0L10.42 50.394a1.047 1.047 0 0 1 0-1.506l4.59-4.493a1.128 1.128 0 0 1 1.567 0l14.687 14.379a.907.907 0 0 0 1.266 0l-.35-.357.35.357 14.686-14.38a1.128 1.128 0 0 1 1.568 0l14.687 14.38a.907.907 0 0 0 1.267 0l14.686-14.38a1.128 1.128 0 0 1 1.568 0Z"/></svg>`,BACK_ICON:b`<svg width="10" height="18" viewBox="0 0 10 18"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.735.179a.75.75 0 0 1 .087 1.057L2.92 8.192a1.25 1.25 0 0 0 0 1.617l5.902 6.956a.75.75 0 1 1-1.144.97L1.776 10.78a2.75 2.75 0 0 1 0-3.559L7.678.265A.75.75 0 0 1 8.735.18Z" fill="#fff"/></svg>`,COPY_ICON:b`<svg width="24" height="24" fill="none"><path fill="#fff" fill-rule="evenodd" d="M7.01 7.01c.03-1.545.138-2.5.535-3.28A5 5 0 0 1 9.73 1.545C10.8 1 12.2 1 15 1c2.8 0 4.2 0 5.27.545a5 5 0 0 1 2.185 2.185C23 4.8 23 6.2 23 9c0 2.8 0 4.2-.545 5.27a5 5 0 0 1-2.185 2.185c-.78.397-1.735.505-3.28.534l-.001.01c-.03 1.54-.138 2.493-.534 3.27a5 5 0 0 1-2.185 2.186C13.2 23 11.8 23 9 23c-2.8 0-4.2 0-5.27-.545a5 5 0 0 1-2.185-2.185C1 19.2 1 17.8 1 15c0-2.8 0-4.2.545-5.27A5 5 0 0 1 3.73 7.545C4.508 7.149 5.46 7.04 7 7.01h.01ZM15 15.5c-1.425 0-2.403-.001-3.162-.063-.74-.06-1.139-.172-1.427-.319a3.5 3.5 0 0 1-1.53-1.529c-.146-.288-.257-.686-.318-1.427C8.501 11.403 8.5 10.425 8.5 9c0-1.425.001-2.403.063-3.162.06-.74.172-1.139.318-1.427a3.5 3.5 0 0 1 1.53-1.53c.288-.146.686-.257 1.427-.318.759-.062 1.737-.063 3.162-.063 1.425 0 2.403.001 3.162.063.74.06 1.139.172 1.427.318a3.5 3.5 0 0 1 1.53 1.53c.146.288.257.686.318 1.427.062.759.063 1.737.063 3.162 0 1.425-.001 2.403-.063 3.162-.06.74-.172 1.139-.319 1.427a3.5 3.5 0 0 1-1.529 1.53c-.288.146-.686.257-1.427.318-.759.062-1.737.063-3.162.063ZM7 8.511c-.444.009-.825.025-1.162.052-.74.06-1.139.172-1.427.318a3.5 3.5 0 0 0-1.53 1.53c-.146.288-.257.686-.318 1.427-.062.759-.063 1.737-.063 3.162 0 1.425.001 2.403.063 3.162.06.74.172 1.139.318 1.427a3.5 3.5 0 0 0 1.53 1.53c.288.146.686.257 1.427.318.759.062 1.737.063 3.162.063 1.425 0 2.403-.001 3.162-.063.74-.06 1.139-.172 1.427-.319a3.5 3.5 0 0 0 1.53-1.53c.146-.287.257-.685.318-1.426.027-.337.043-.718.052-1.162H15c-2.8 0-4.2 0-5.27-.545a5 5 0 0 1-2.185-2.185C7 13.2 7 11.8 7 9v-.489Z" clip-rule="evenodd"/></svg>`,RETRY_ICON:b`<svg width="15" height="16" viewBox="0 0 15 16"><path d="M6.464 2.03A.75.75 0 0 0 5.403.97L2.08 4.293a1 1 0 0 0 0 1.414L5.403 9.03a.75.75 0 0 0 1.06-1.06L4.672 6.177a.25.25 0 0 1 .177-.427h2.085a4 4 0 1 1-3.93 4.746c-.077-.407-.405-.746-.82-.746-.414 0-.755.338-.7.748a5.501 5.501 0 1 0 5.45-6.248H4.848a.25.25 0 0 1-.177-.427L6.464 2.03Z" fill="#fff"/></svg>`,DESKTOP_ICON:b`<svg width="16" height="16" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 5.98c0-1.85 0-2.775.394-3.466a3 3 0 0 1 1.12-1.12C2.204 1 3.13 1 4.98 1h6.04c1.85 0 2.775 0 3.466.394a3 3 0 0 1 1.12 1.12C16 3.204 16 4.13 16 5.98v1.04c0 1.85 0 2.775-.394 3.466a3 3 0 0 1-1.12 1.12C13.796 12 12.87 12 11.02 12H4.98c-1.85 0-2.775 0-3.466-.394a3 3 0 0 1-1.12-1.12C0 9.796 0 8.87 0 7.02V5.98ZM4.98 2.5h6.04c.953 0 1.568.001 2.034.043.446.04.608.108.69.154a1.5 1.5 0 0 1 .559.56c.046.08.114.243.154.69.042.465.043 1.08.043 2.033v1.04c0 .952-.001 1.568-.043 2.034-.04.446-.108.608-.154.69a1.499 1.499 0 0 1-.56.559c-.08.046-.243.114-.69.154-.466.042-1.08.043-2.033.043H4.98c-.952 0-1.568-.001-2.034-.043-.446-.04-.608-.108-.69-.154a1.5 1.5 0 0 1-.559-.56c-.046-.08-.114-.243-.154-.69-.042-.465-.043-1.08-.043-2.033V5.98c0-.952.001-1.568.043-2.034.04-.446.108-.608.154-.69a1.5 1.5 0 0 1 .56-.559c.08-.046.243-.114.69-.154.465-.042 1.08-.043 2.033-.043Z" fill="#fff"/><path d="M4 14.25a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Z" fill="#fff"/></svg>`,MOBILE_ICON:b`<svg width="16" height="16" viewBox="0 0 16 16"><path d="M6.75 5a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M3 4.98c0-1.85 0-2.775.394-3.466a3 3 0 0 1 1.12-1.12C5.204 0 6.136 0 8 0s2.795 0 3.486.394a3 3 0 0 1 1.12 1.12C13 2.204 13 3.13 13 4.98v6.04c0 1.85 0 2.775-.394 3.466a3 3 0 0 1-1.12 1.12C10.796 16 9.864 16 8 16s-2.795 0-3.486-.394a3 3 0 0 1-1.12-1.12C3 13.796 3 12.87 3 11.02V4.98Zm8.5 0v6.04c0 .953-.001 1.568-.043 2.034-.04.446-.108.608-.154.69a1.499 1.499 0 0 1-.56.559c-.08.045-.242.113-.693.154-.47.042-1.091.043-2.05.043-.959 0-1.58-.001-2.05-.043-.45-.04-.613-.109-.693-.154a1.5 1.5 0 0 1-.56-.56c-.046-.08-.114-.243-.154-.69-.042-.466-.043-1.08-.043-2.033V4.98c0-.952.001-1.568.043-2.034.04-.446.108-.608.154-.69a1.5 1.5 0 0 1 .56-.559c.08-.045.243-.113.693-.154C6.42 1.501 7.041 1.5 8 1.5c.959 0 1.58.001 2.05.043.45.04.613.109.693.154a1.5 1.5 0 0 1 .56.56c.046.08.114.243.154.69.042.465.043 1.08.043 2.033Z" fill="#fff"/></svg>`,ARROW_DOWN_ICON:b`<svg width="14" height="14" viewBox="0 0 14 14"><path d="M2.28 7.47a.75.75 0 0 0-1.06 1.06l5.25 5.25a.75.75 0 0 0 1.06 0l5.25-5.25a.75.75 0 0 0-1.06-1.06l-3.544 3.543a.25.25 0 0 1-.426-.177V.75a.75.75 0 0 0-1.5 0v10.086a.25.25 0 0 1-.427.176L2.28 7.47Z" fill="#fff"/></svg>`,ARROW_UP_RIGHT_ICON:b`<svg width="15" height="14" fill="none"><path d="M4.5 1.75A.75.75 0 0 1 5.25 1H12a1.5 1.5 0 0 1 1.5 1.5v6.75a.75.75 0 0 1-1.5 0V4.164a.25.25 0 0 0-.427-.176L4.061 11.5A.75.75 0 0 1 3 10.44l7.513-7.513a.25.25 0 0 0-.177-.427H5.25a.75.75 0 0 1-.75-.75Z" fill="#fff"/></svg>`,ARROW_RIGHT_ICON:b`<svg width="6" height="14" viewBox="0 0 6 14"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.181 1.099a.75.75 0 0 1 1.024.279l2.433 4.258a2.75 2.75 0 0 1 0 2.729l-2.433 4.257a.75.75 0 1 1-1.303-.744L4.335 7.62a1.25 1.25 0 0 0 0-1.24L1.902 2.122a.75.75 0 0 1 .28-1.023Z" fill="#fff"/></svg>`,QRCODE_ICON:b`<svg width="25" height="24" viewBox="0 0 25 24"><path d="M23.748 9a.748.748 0 0 0 .748-.752c-.018-2.596-.128-4.07-.784-5.22a6 6 0 0 0-2.24-2.24c-1.15-.656-2.624-.766-5.22-.784a.748.748 0 0 0-.752.748c0 .414.335.749.748.752 1.015.007 1.82.028 2.494.088.995.09 1.561.256 1.988.5.7.398 1.28.978 1.679 1.678.243.427.41.993.498 1.988.061.675.082 1.479.09 2.493a.753.753 0 0 0 .75.749ZM3.527.788C4.677.132 6.152.022 8.747.004A.748.748 0 0 1 9.5.752a.753.753 0 0 1-.749.752c-1.014.007-1.818.028-2.493.088-.995.09-1.561.256-1.988.5-.7.398-1.28.978-1.679 1.678-.243.427-.41.993-.499 1.988-.06.675-.081 1.479-.088 2.493A.753.753 0 0 1 1.252 9a.748.748 0 0 1-.748-.752c.018-2.596.128-4.07.784-5.22a6 6 0 0 1 2.24-2.24ZM1.252 15a.748.748 0 0 0-.748.752c.018 2.596.128 4.07.784 5.22a6 6 0 0 0 2.24 2.24c1.15.656 2.624.766 5.22.784a.748.748 0 0 0 .752-.748.753.753 0 0 0-.749-.752c-1.014-.007-1.818-.028-2.493-.089-.995-.089-1.561-.255-1.988-.498a4.5 4.5 0 0 1-1.679-1.68c-.243-.426-.41-.992-.499-1.987-.06-.675-.081-1.479-.088-2.493A.753.753 0 0 0 1.252 15ZM22.996 15.749a.753.753 0 0 1 .752-.749c.415 0 .751.338.748.752-.018 2.596-.128 4.07-.784 5.22a6 6 0 0 1-2.24 2.24c-1.15.656-2.624.766-5.22.784a.748.748 0 0 1-.752-.748c0-.414.335-.749.748-.752 1.015-.007 1.82-.028 2.494-.089.995-.089 1.561-.255 1.988-.498a4.5 4.5 0 0 0 1.679-1.68c.243-.426.41-.992.498-1.987.061-.675.082-1.479.09-2.493Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M7 4a2.5 2.5 0 0 0-2.5 2.5v2A2.5 2.5 0 0 0 7 11h2a2.5 2.5 0 0 0 2.5-2.5v-2A2.5 2.5 0 0 0 9 4H7Zm2 1.5H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1ZM13.5 6.5A2.5 2.5 0 0 1 16 4h2a2.5 2.5 0 0 1 2.5 2.5v2A2.5 2.5 0 0 1 18 11h-2a2.5 2.5 0 0 1-2.5-2.5v-2Zm2.5-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1ZM7 13a2.5 2.5 0 0 0-2.5 2.5v2A2.5 2.5 0 0 0 7 20h2a2.5 2.5 0 0 0 2.5-2.5v-2A2.5 2.5 0 0 0 9 13H7Zm2 1.5H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1Z" fill="#fff"/><path d="M13.5 15.5c0-.465 0-.697.038-.89a2 2 0 0 1 1.572-1.572C15.303 13 15.535 13 16 13v2.5h-2.5ZM18 13c.465 0 .697 0 .89.038a2 2 0 0 1 1.572 1.572c.038.193.038.425.038.89H18V13ZM18 17.5h2.5c0 .465 0 .697-.038.89a2 2 0 0 1-1.572 1.572C18.697 20 18.465 20 18 20v-2.5ZM13.5 17.5H16V20c-.465 0-.697 0-.89-.038a2 2 0 0 1-1.572-1.572c-.038-.193-.038-.425-.038-.89Z" fill="#fff"/></svg>`,SCAN_ICON:b`<svg width="16" height="16" fill="none"><path fill="#fff" d="M10 15.216c0 .422.347.763.768.74 1.202-.064 2.025-.222 2.71-.613a5.001 5.001 0 0 0 1.865-1.866c.39-.684.549-1.507.613-2.709a.735.735 0 0 0-.74-.768.768.768 0 0 0-.76.732c-.009.157-.02.306-.032.447-.073.812-.206 1.244-.384 1.555-.31.545-.761.996-1.306 1.306-.311.178-.743.311-1.555.384-.141.013-.29.023-.447.032a.768.768 0 0 0-.732.76ZM10 .784c0 .407.325.737.732.76.157.009.306.02.447.032.812.073 1.244.206 1.555.384a3.5 3.5 0 0 1 1.306 1.306c.178.311.311.743.384 1.555.013.142.023.29.032.447a.768.768 0 0 0 .76.732.734.734 0 0 0 .74-.768c-.064-1.202-.222-2.025-.613-2.71A5 5 0 0 0 13.477.658c-.684-.39-1.507-.549-2.709-.613a.735.735 0 0 0-.768.74ZM5.232.044A.735.735 0 0 1 6 .784a.768.768 0 0 1-.732.76c-.157.009-.305.02-.447.032-.812.073-1.244.206-1.555.384A3.5 3.5 0 0 0 1.96 3.266c-.178.311-.311.743-.384 1.555-.013.142-.023.29-.032.447A.768.768 0 0 1 .784 6a.735.735 0 0 1-.74-.768c.064-1.202.222-2.025.613-2.71A5 5 0 0 1 2.523.658C3.207.267 4.03.108 5.233.044ZM5.268 14.456a.768.768 0 0 1 .732.76.734.734 0 0 1-.768.74c-1.202-.064-2.025-.222-2.71-.613a5 5 0 0 1-1.865-1.866c-.39-.684-.549-1.507-.613-2.709A.735.735 0 0 1 .784 10c.407 0 .737.325.76.732.009.157.02.306.032.447.073.812.206 1.244.384 1.555a3.5 3.5 0 0 0 1.306 1.306c.311.178.743.311 1.555.384.142.013.29.023.447.032Z"/></svg>`,CHECKMARK_ICON:b`<svg width="13" height="12" viewBox="0 0 13 12"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.155.132a.75.75 0 0 1 .232 1.035L5.821 11.535a1 1 0 0 1-1.626.09L.665 7.21a.75.75 0 1 1 1.17-.937L4.71 9.867a.25.25 0 0 0 .406-.023L11.12.364a.75.75 0 0 1 1.035-.232Z" fill="#fff"/></svg>`,SEARCH_ICON:b`<svg width="20" height="21"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.432 13.992c-.354-.353-.91-.382-1.35-.146a5.5 5.5 0 1 1 2.265-2.265c-.237.441-.208.997.145 1.35l3.296 3.296a.75.75 0 1 1-1.06 1.061l-3.296-3.296Zm.06-5a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z" fill="#949E9E"/></svg>`,WALLET_PLACEHOLDER:b`<svg width="60" height="60" fill="none" viewBox="0 0 60 60"><g clip-path="url(#q)"><path id="wallet-placeholder-fill" fill="#fff" d="M0 24.9c0-9.251 0-13.877 1.97-17.332a15 15 0 0 1 5.598-5.597C11.023 0 15.648 0 24.9 0h10.2c9.252 0 13.877 0 17.332 1.97a15 15 0 0 1 5.597 5.598C60 11.023 60 15.648 60 24.9v10.2c0 9.252 0 13.877-1.97 17.332a15.001 15.001 0 0 1-5.598 5.597C48.977 60 44.352 60 35.1 60H24.9c-9.251 0-13.877 0-17.332-1.97a15 15 0 0 1-5.597-5.598C0 48.977 0 44.352 0 35.1V24.9Z"/><path id="wallet-placeholder-dash" stroke="#000" stroke-dasharray="4 4" stroke-width="1.5" d="M.04 41.708a231.598 231.598 0 0 1-.039-4.403l.75-.001L.75 35.1v-2.55H0v-5.1h.75V24.9l.001-2.204h-.75c.003-1.617.011-3.077.039-4.404l.75.016c.034-1.65.099-3.08.218-4.343l-.746-.07c.158-1.678.412-3.083.82-4.316l.713.236c.224-.679.497-1.296.827-1.875a14.25 14.25 0 0 1 1.05-1.585L3.076 5.9A15 15 0 0 1 5.9 3.076l.455.596a14.25 14.25 0 0 1 1.585-1.05c.579-.33 1.196-.603 1.875-.827l-.236-.712C10.812.674 12.217.42 13.895.262l.07.746C15.23.89 16.66.824 18.308.79l-.016-.75C19.62.012 21.08.004 22.695.001l.001.75L24.9.75h2.55V0h5.1v.75h2.55l2.204.001v-.75c1.617.003 3.077.011 4.404.039l-.016.75c1.65.034 3.08.099 4.343.218l.07-.746c1.678.158 3.083.412 4.316.82l-.236.713c.679.224 1.296.497 1.875.827a14.24 14.24 0 0 1 1.585 1.05l.455-.596A14.999 14.999 0 0 1 56.924 5.9l-.596.455c.384.502.735 1.032 1.05 1.585.33.579.602 1.196.827 1.875l.712-.236c.409 1.233.663 2.638.822 4.316l-.747.07c.119 1.264.184 2.694.218 4.343l.75-.016c.028 1.327.036 2.787.039 4.403l-.75.001.001 2.204v2.55H60v5.1h-.75v2.55l-.001 2.204h.75a231.431 231.431 0 0 1-.039 4.404l-.75-.016c-.034 1.65-.099 3.08-.218 4.343l.747.07c-.159 1.678-.413 3.083-.822 4.316l-.712-.236a10.255 10.255 0 0 1-.827 1.875 14.242 14.242 0 0 1-1.05 1.585l.596.455a14.997 14.997 0 0 1-2.824 2.824l-.455-.596c-.502.384-1.032.735-1.585 1.05-.579.33-1.196.602-1.875.827l.236.712c-1.233.409-2.638.663-4.316.822l-.07-.747c-1.264.119-2.694.184-4.343.218l.016.75c-1.327.028-2.787.036-4.403.039l-.001-.75-2.204.001h-2.55V60h-5.1v-.75H24.9l-2.204-.001v.75a231.431 231.431 0 0 1-4.404-.039l.016-.75c-1.65-.034-3.08-.099-4.343-.218l-.07.747c-1.678-.159-3.083-.413-4.316-.822l.236-.712a10.258 10.258 0 0 1-1.875-.827 14.252 14.252 0 0 1-1.585-1.05l-.455.596A14.999 14.999 0 0 1 3.076 54.1l.596-.455a14.24 14.24 0 0 1-1.05-1.585 10.259 10.259 0 0 1-.827-1.875l-.712.236C.674 49.188.42 47.783.262 46.105l.746-.07C.89 44.77.824 43.34.79 41.692l-.75.016Z"/><path fill="#fff" fill-rule="evenodd" d="M35.643 32.145c-.297-.743-.445-1.114-.401-1.275a.42.42 0 0 1 .182-.27c.134-.1.463-.1 1.123-.1.742 0 1.499.046 2.236-.05a6 6 0 0 0 5.166-5.166c.051-.39.051-.855.051-1.784 0-.928 0-1.393-.051-1.783a6 6 0 0 0-5.166-5.165c-.39-.052-.854-.052-1.783-.052h-7.72c-4.934 0-7.401 0-9.244 1.051a8 8 0 0 0-2.985 2.986C16.057 22.28 16.003 24.58 16 29 15.998 31.075 16 33.15 16 35.224A7.778 7.778 0 0 0 23.778 43H28.5c1.394 0 2.09 0 2.67-.116a6 6 0 0 0 4.715-4.714c.115-.58.115-1.301.115-2.744 0-1.31 0-1.964-.114-2.49a4.998 4.998 0 0 0-.243-.792Z" clip-rule="evenodd"/><path fill="#9EA9A9" fill-rule="evenodd" d="M37 18h-7.72c-2.494 0-4.266.002-5.647.126-1.361.122-2.197.354-2.854.728a6.5 6.5 0 0 0-2.425 2.426c-.375.657-.607 1.492-.729 2.853-.11 1.233-.123 2.777-.125 4.867 0 .7 0 1.05.097 1.181.096.13.182.181.343.2.163.02.518-.18 1.229-.581a6.195 6.195 0 0 1 3.053-.8H37c.977 0 1.32-.003 1.587-.038a4.5 4.5 0 0 0 3.874-3.874c.036-.268.039-.611.039-1.588 0-.976-.003-1.319-.038-1.587a4.5 4.5 0 0 0-3.875-3.874C38.32 18.004 37.977 18 37 18Zm-7.364 12.5h-7.414a4.722 4.722 0 0 0-4.722 4.723 6.278 6.278 0 0 0 6.278 6.278H28.5c1.466 0 1.98-.008 2.378-.087a4.5 4.5 0 0 0 3.535-3.536c.08-.397.087-.933.087-2.451 0-1.391-.009-1.843-.08-2.17a3.5 3.5 0 0 0-2.676-2.676c-.328-.072-.762-.08-2.108-.08Z" clip-rule="evenodd"/></g><defs><clipPath id="q"><path fill="#fff" d="M0 0h60v60H0z"/></clipPath></defs></svg>`,GLOBE_ICON:b`<svg width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="#fff" fill-rule="evenodd" d="M15.5 8a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0Zm-2.113.75c.301 0 .535.264.47.558a6.01 6.01 0 0 1-2.867 3.896c-.203.116-.42-.103-.334-.32.409-1.018.691-2.274.797-3.657a.512.512 0 0 1 .507-.477h1.427Zm.47-2.058c.065.294-.169.558-.47.558H11.96a.512.512 0 0 1-.507-.477c-.106-1.383-.389-2.638-.797-3.656-.087-.217.13-.437.333-.32a6.01 6.01 0 0 1 2.868 3.895Zm-4.402.558c.286 0 .515-.24.49-.525-.121-1.361-.429-2.534-.83-3.393-.279-.6-.549-.93-.753-1.112a.535.535 0 0 0-.724 0c-.204.182-.474.513-.754 1.112-.4.859-.708 2.032-.828 3.393a.486.486 0 0 0 .49.525h2.909Zm-5.415 0c.267 0 .486-.21.507-.477.106-1.383.389-2.638.797-3.656.087-.217-.13-.437-.333-.32a6.01 6.01 0 0 0-2.868 3.895c-.065.294.169.558.47.558H4.04ZM2.143 9.308c-.065-.294.169-.558.47-.558H4.04c.267 0 .486.21.507.477.106 1.383.389 2.639.797 3.657.087.217-.13.436-.333.32a6.01 6.01 0 0 1-2.868-3.896Zm3.913-.033a.486.486 0 0 1 .49-.525h2.909c.286 0 .515.24.49.525-.121 1.361-.428 2.535-.83 3.394-.279.6-.549.93-.753 1.112a.535.535 0 0 1-.724 0c-.204-.182-.474-.513-.754-1.112-.4-.859-.708-2.033-.828-3.394Z" clip-rule="evenodd"/></svg>`},pt=i$4`.wcm-toolbar-placeholder{top:0;bottom:0;left:0;right:0;width:100%;position:absolute;display:block;pointer-events:none;height:100px;border-radius:calc(var(--wcm-background-border-radius) * .9);background-color:var(--wcm-background-color);background-position:center;background-size:cover}.wcm-toolbar{height:38px;display:flex;position:relative;margin:5px 15px 5px 5px;justify-content:space-between;align-items:center}.wcm-toolbar img,.wcm-toolbar svg{height:28px;object-position:left center;object-fit:contain}#wcm-wc-logo path{fill:var(--wcm-accent-fill-color)}button{width:28px;height:28px;border-radius:var(--wcm-icon-button-border-radius);border:0;display:flex;justify-content:center;align-items:center;cursor:pointer;background-color:var(--wcm-color-bg-1);box-shadow:0 0 0 1px var(--wcm-color-overlay)}button:active{background-color:var(--wcm-color-bg-2)}button svg{display:block;object-position:center}button path{fill:var(--wcm-color-fg-1)}.wcm-toolbar div{display:flex}@media(hover:hover){button:hover{background-color:var(--wcm-color-bg-2)}}`;var ut=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let fe=class extends s{render(){return x`<div class="wcm-toolbar-placeholder"></div><div class="wcm-toolbar">${v.WALLET_CONNECT_LOGO} <button @click="${se$3.close}">${v.CROSS_ICON}</button></div>`}};fe.styles=[h.globalCss,pt],fe=ut([e$2("wcm-modal-backcard")],fe);const bt=i$4`main{padding:20px;padding-top:0;width:100%}`;var yt=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let xe=class extends s{render(){return x`<main><slot></slot></main>`}};xe.styles=[h.globalCss,bt],xe=yt([e$2("wcm-modal-content")],xe);const $t=i$4`footer{padding:10px;display:flex;flex-direction:column;align-items:inherit;justify-content:inherit;border-top:1px solid var(--wcm-color-bg-2)}`;var Ot=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let ye=class extends s{render(){return x`<footer><slot></slot></footer>`}};ye.styles=[h.globalCss,$t],ye=Ot([e$2("wcm-modal-footer")],ye);const Wt=i$4`header{display:flex;justify-content:center;align-items:center;padding:20px;position:relative}.wcm-border{border-bottom:1px solid var(--wcm-color-bg-2);margin-bottom:20px}header button{padding:15px 20px}header button:active{opacity:.5}@media(hover:hover){header button:hover{opacity:.5}}.wcm-back-btn{position:absolute;left:0}.wcm-action-btn{position:absolute;right:0}path{fill:var(--wcm-accent-color)}`;var It=Object.defineProperty,Et=Object.getOwnPropertyDescriptor,te=(e,o,r,a)=>{for(var t=a>1?void 0:a?Et(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&It(o,r,t),t};let S=class extends s{constructor(){super(...arguments),this.title="",this.onAction=void 0,this.actionIcon=void 0,this.border=!1;}backBtnTemplate(){return x`<button class="wcm-back-btn" @click="${T$4.goBack}">${v.BACK_ICON}</button>`}actionBtnTemplate(){return x`<button class="wcm-action-btn" @click="${this.onAction}">${this.actionIcon}</button>`}render(){const e={"wcm-border":this.border},o=T$4.state.history.length>1,r=this.title?x`<wcm-text variant="big-bold">${this.title}</wcm-text>`:x`<slot></slot>`;return x`<header class="${o$1(e)}">${o?this.backBtnTemplate():null} ${r} ${this.onAction?this.actionBtnTemplate():null}</header>`}};S.styles=[h.globalCss,Wt],te([n$1()],S.prototype,"title",2),te([n$1()],S.prototype,"onAction",2),te([n$1()],S.prototype,"actionIcon",2),te([n$1({type:Boolean})],S.prototype,"border",2),S=te([e$2("wcm-modal-header")],S);const c={MOBILE_BREAKPOINT:600,WCM_RECENT_WALLET_DATA:"WCM_RECENT_WALLET_DATA",EXPLORER_WALLET_URL:"https://explorer.walletconnect.com/?type=wallet",getShadowRootElement(e,o){const r=e.renderRoot.querySelector(o);if(!r)throw new Error(`${o} not found`);return r},getWalletIcon({id:e,image_id:o}){const{walletImages:r}=y$7.state;return r!=null&&r[e]?r[e]:o?te$5.getWalletImageUrl(o):""},getWalletName(e,o=!1){return o&&e.length>8?`${e.substring(0,8)}..`:e},isMobileAnimation(){return window.innerWidth<=c.MOBILE_BREAKPOINT},async preloadImage(e){const o=new Promise((r,a)=>{const t=new Image;t.onload=r,t.onerror=a,t.crossOrigin="anonymous",t.src=e;});return Promise.race([o,a$6.wait(3e3)])},getErrorMessage(e){return e instanceof Error?e.message:"Unknown Error"},debounce(e,o=500){let r;return (...a)=>{function t(){e(...a);}r&&clearTimeout(r),r=setTimeout(t,o);}},handleMobileLinking(e){const{walletConnectUri:o}=p$a.state,{mobile:r,name:a}=e,t=r?.native,l=r?.universal;c.setRecentWallet(e);function i(s){let $="";t?$=a$6.formatUniversalUrl(t,s,a):l&&($=a$6.formatNativeUrl(l,s,a)),a$6.openHref($,"_self");}o&&i(o);},handleAndroidLinking(){const{walletConnectUri:e}=p$a.state;e&&(a$6.setWalletConnectAndroidDeepLink(e),a$6.openHref(e,"_self"));},async handleUriCopy(){const{walletConnectUri:e}=p$a.state;if(e)try{await navigator.clipboard.writeText(e),oe$5.openToast("Link copied","success");}catch{oe$5.openToast("Failed to copy","error");}},getCustomImageUrls(){const{walletImages:e}=y$7.state,o=Object.values(e??{});return Object.values(o)},truncate(e,o=8){return e.length<=o?e:`${e.substring(0,4)}...${e.substring(e.length-4)}`},setRecentWallet(e){try{localStorage.setItem(c.WCM_RECENT_WALLET_DATA,JSON.stringify(e));}catch{console.info("Unable to set recent wallet");}},getRecentWallet(){try{const e=localStorage.getItem(c.WCM_RECENT_WALLET_DATA);return e?JSON.parse(e):void 0}catch{console.info("Unable to get recent wallet");}},caseSafeIncludes(e,o){return e.toUpperCase().includes(o.toUpperCase())},openWalletExplorerUrl(){a$6.openHref(c.EXPLORER_WALLET_URL,"_blank");},getCachedRouterWalletPlatforms(){const{desktop:e,mobile:o}=a$6.getWalletRouterData(),r=Boolean(e?.native),a=Boolean(e?.universal),t=Boolean(o?.native)||Boolean(o?.universal);return {isDesktop:r,isMobile:t,isWeb:a}},goToConnectingView(e){T$4.setData({Wallet:e});const o=a$6.isMobile(),{isDesktop:r,isWeb:a,isMobile:t}=c.getCachedRouterWalletPlatforms();o?t?T$4.push("MobileConnecting"):a?T$4.push("WebConnecting"):T$4.push("InstallWallet"):r?T$4.push("DesktopConnecting"):a?T$4.push("WebConnecting"):t?T$4.push("MobileQrcodeConnecting"):T$4.push("InstallWallet");}},Mt=i$4`.wcm-router{overflow:hidden;will-change:transform}.wcm-content{display:flex;flex-direction:column}`;var Lt=Object.defineProperty,Rt=Object.getOwnPropertyDescriptor,$e=(e,o,r,a)=>{for(var t=a>1?void 0:a?Rt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Lt(o,r,t),t};let oe=class extends s{constructor(){super(),this.view=T$4.state.view,this.prevView=T$4.state.view,this.unsubscribe=void 0,this.oldHeight="0px",this.resizeObserver=void 0,this.unsubscribe=T$4.subscribe(e=>{this.view!==e.view&&this.onChangeRoute();});}firstUpdated(){this.resizeObserver=new ResizeObserver(([e])=>{const o=`${e.contentRect.height}px`;this.oldHeight!=="0px"&&animate(this.routerEl,{height:[this.oldHeight,o]},{duration:.2}),this.oldHeight=o;}),this.resizeObserver.observe(this.contentEl);}disconnectedCallback(){var e,o;(e=this.unsubscribe)==null||e.call(this),(o=this.resizeObserver)==null||o.disconnect();}get routerEl(){return c.getShadowRootElement(this,".wcm-router")}get contentEl(){return c.getShadowRootElement(this,".wcm-content")}viewTemplate(){switch(this.view){case"ConnectWallet":return x`<wcm-connect-wallet-view></wcm-connect-wallet-view>`;case"DesktopConnecting":return x`<wcm-desktop-connecting-view></wcm-desktop-connecting-view>`;case"MobileConnecting":return x`<wcm-mobile-connecting-view></wcm-mobile-connecting-view>`;case"WebConnecting":return x`<wcm-web-connecting-view></wcm-web-connecting-view>`;case"MobileQrcodeConnecting":return x`<wcm-mobile-qr-connecting-view></wcm-mobile-qr-connecting-view>`;case"WalletExplorer":return x`<wcm-wallet-explorer-view></wcm-wallet-explorer-view>`;case"Qrcode":return x`<wcm-qrcode-view></wcm-qrcode-view>`;case"InstallWallet":return x`<wcm-install-wallet-view></wcm-install-wallet-view>`;default:return x`<div>Not Found</div>`}}async onChangeRoute(){await animate(this.routerEl,{opacity:[1,0],scale:[1,1.02]},{duration:.15,delay:.1}).finished,this.view=T$4.state.view,animate(this.routerEl,{opacity:[0,1],scale:[.99,1]},{duration:.37,delay:.05});}render(){return x`<div class="wcm-router"><div class="wcm-content">${this.viewTemplate()}</div></div>`}};oe.styles=[h.globalCss,Mt],$e([t$1()],oe.prototype,"view",2),$e([t$1()],oe.prototype,"prevView",2),oe=$e([e$2("wcm-modal-router")],oe);const At=i$4`div{height:36px;width:max-content;display:flex;justify-content:center;align-items:center;padding:9px 15px 11px;position:absolute;top:12px;box-shadow:0 6px 14px -6px rgba(10,16,31,.3),0 10px 32px -4px rgba(10,16,31,.15);z-index:2;left:50%;transform:translateX(-50%);pointer-events:none;backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border-radius:var(--wcm-notification-border-radius);border:1px solid var(--wcm-color-overlay);background-color:var(--wcm-color-overlay)}svg{margin-right:5px}@-moz-document url-prefix(){div{background-color:var(--wcm-color-bg-3)}}.wcm-success path{fill:var(--wcm-accent-color)}.wcm-error path{fill:var(--wcm-error-color)}`;var Pt=Object.defineProperty,Tt=Object.getOwnPropertyDescriptor,ze=(e,o,r,a)=>{for(var t=a>1?void 0:a?Tt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Pt(o,r,t),t};let ne=class extends s{constructor(){super(),this.open=!1,this.unsubscribe=void 0,this.timeout=void 0,this.unsubscribe=oe$5.subscribe(e=>{e.open?(this.open=!0,this.timeout=setTimeout(()=>oe$5.closeToast(),2200)):(this.open=!1,clearTimeout(this.timeout));});}disconnectedCallback(){var e;(e=this.unsubscribe)==null||e.call(this),clearTimeout(this.timeout),oe$5.closeToast();}render(){const{message:e,variant:o}=oe$5.state,r={"wcm-success":o==="success","wcm-error":o==="error"};return this.open?x`<div class="${o$1(r)}">${o==="success"?v.CHECKMARK_ICON:null} ${o==="error"?v.CROSS_ICON:null}<wcm-text variant="small-regular">${e}</wcm-text></div>`:null}};ne.styles=[h.globalCss,At],ze([t$1()],ne.prototype,"open",2),ne=ze([e$2("wcm-modal-toast")],ne);const jt=.1,Ve=2.5,A=7;function Ce(e,o,r){return e===o?!1:(e-o<0?o-e:e-o)<=r+jt}function _t(e,o){const r=Array.prototype.slice.call(browser.create(e,{errorCorrectionLevel:o}).modules.data,0),a=Math.sqrt(r.length);return r.reduce((t,l,i)=>(i%a===0?t.push([l]):t[t.length-1].push(l))&&t,[])}const Dt={generate(e,o,r){const a="#141414",t="#ffffff",l=[],i=_t(e,"Q"),s=o/i.length,$=[{x:0,y:0},{x:1,y:0},{x:0,y:1}];$.forEach(({x:y,y:u})=>{const O=(i.length-A)*s*y,b$1=(i.length-A)*s*u,E=.45;for(let M=0;M<$.length;M+=1){const V=s*(A-M*2);l.push(b`<rect fill="${M%2===0?a:t}" height="${V}" rx="${V*E}" ry="${V*E}" width="${V}" x="${O+s*M}" y="${b$1+s*M}">`);}});const f=Math.floor((r+25)/s),Ne=i.length/2-f/2,Ze=i.length/2+f/2-1,Se=[];i.forEach((y,u)=>{y.forEach((O,b)=>{if(i[u][b]&&!(u<A&&b<A||u>i.length-(A+1)&&b<A||u<A&&b>i.length-(A+1))&&!(u>Ne&&u<Ze&&b>Ne&&b<Ze)){const E=u*s+s/2,M=b*s+s/2;Se.push([E,M]);}});});const J={};return Se.forEach(([y,u])=>{J[y]?J[y].push(u):J[y]=[u];}),Object.entries(J).map(([y,u])=>{const O=u.filter(b=>u.every(E=>!Ce(b,E,s)));return [Number(y),O]}).forEach(([y,u])=>{u.forEach(O=>{l.push(b`<circle cx="${y}" cy="${O}" fill="${a}" r="${s/Ve}">`);});}),Object.entries(J).filter(([y,u])=>u.length>1).map(([y,u])=>{const O=u.filter(b=>u.some(E=>Ce(b,E,s)));return [Number(y),O]}).map(([y,u])=>{u.sort((b,E)=>b<E?-1:1);const O=[];for(const b of u){const E=O.find(M=>M.some(V=>Ce(b,V,s)));E?E.push(b):O.push([b]);}return [y,O.map(b=>[b[0],b[b.length-1]])]}).forEach(([y,u])=>{u.forEach(([O,b$1])=>{l.push(b`<line x1="${y}" x2="${y}" y1="${O}" y2="${b$1}" stroke="${a}" stroke-width="${s/(Ve/2)}" stroke-linecap="round">`);});}),l}},Nt=i$4`@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}div{position:relative;user-select:none;display:block;overflow:hidden;aspect-ratio:1/1;animation:fadeIn ease .2s}.wcm-dark{background-color:#fff;border-radius:var(--wcm-container-border-radius);padding:18px;box-shadow:0 2px 5px #000}svg:first-child,wcm-wallet-image{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%)}wcm-wallet-image{transform:translateY(-50%) translateX(-50%)}wcm-wallet-image{width:25%;height:25%;border-radius:var(--wcm-wallet-icon-border-radius)}svg:first-child{transform:translateY(-50%) translateX(-50%) scale(.9)}svg:first-child path:first-child{fill:var(--wcm-accent-color)}svg:first-child path:last-child{stroke:var(--wcm-color-overlay)}`;var Zt=Object.defineProperty,St=Object.getOwnPropertyDescriptor,q=(e,o,r,a)=>{for(var t=a>1?void 0:a?St(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Zt(o,r,t),t};let j=class extends s{constructor(){super(...arguments),this.uri="",this.size=0,this.imageId=void 0,this.walletId=void 0,this.imageUrl=void 0;}svgTemplate(){const e=ne$3.state.themeMode==="light"?this.size:this.size-36;return b`<svg height="${e}" width="${e}">${Dt.generate(this.uri,e,e/4)}</svg>`}render(){const e={"wcm-dark":ne$3.state.themeMode==="dark"};return x`<div style="${`width: ${this.size}px`}" class="${o$1(e)}">${this.walletId||this.imageUrl?x`<wcm-wallet-image walletId="${l(this.walletId)}" imageId="${l(this.imageId)}" imageUrl="${l(this.imageUrl)}"></wcm-wallet-image>`:v.WALLET_CONNECT_ICON_COLORED} ${this.svgTemplate()}</div>`}};j.styles=[h.globalCss,Nt],q([n$1()],j.prototype,"uri",2),q([n$1({type:Number})],j.prototype,"size",2),q([n$1()],j.prototype,"imageId",2),q([n$1()],j.prototype,"walletId",2),q([n$1()],j.prototype,"imageUrl",2),j=q([e$2("wcm-qrcode")],j);const Bt=i$4`:host{position:relative;height:28px;width:80%}input{width:100%;height:100%;line-height:28px!important;border-radius:var(--wcm-input-border-radius);font-style:normal;font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,Ubuntu,'Helvetica Neue',sans-serif;font-feature-settings:'case' on;font-weight:500;font-size:16px;letter-spacing:-.03em;padding:0 10px 0 34px;transition:.2s all ease;color:var(--wcm-color-fg-1);background-color:var(--wcm-color-bg-3);box-shadow:inset 0 0 0 1px var(--wcm-color-overlay);caret-color:var(--wcm-accent-color)}input::placeholder{color:var(--wcm-color-fg-2)}svg{left:10px;top:4px;pointer-events:none;position:absolute;width:20px;height:20px}input:focus-within{box-shadow:inset 0 0 0 1px var(--wcm-accent-color)}path{fill:var(--wcm-color-fg-2)}`;var Ut=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,Fe=(e,o,r,a)=>{for(var t=a>1?void 0:a?Ht(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Ut(o,r,t),t};let ce=class extends s{constructor(){super(...arguments),this.onChange=()=>null;}render(){return x`<input type="text" @input="${this.onChange}" placeholder="Search wallets"> ${v.SEARCH_ICON}`}};ce.styles=[h.globalCss,Bt],Fe([n$1()],ce.prototype,"onChange",2),ce=Fe([e$2("wcm-search-input")],ce);const zt=i$4`@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}svg{animation:rotate 2s linear infinite;display:flex;justify-content:center;align-items:center}svg circle{stroke-linecap:round;animation:dash 1.5s ease infinite;stroke:var(--wcm-accent-color)}`;var qt=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let ke=class extends s{render(){return x`<svg viewBox="0 0 50 50" width="24" height="24"><circle cx="25" cy="25" r="20" fill="none" stroke-width="4" stroke="#fff"/></svg>`}};ke.styles=[h.globalCss,zt],ke=qt([e$2("wcm-spinner")],ke);const Qt=i$4`span{font-style:normal;font-family:var(--wcm-font-family);font-feature-settings:var(--wcm-font-feature-settings)}.wcm-xsmall-bold{font-family:var(--wcm-text-xsmall-bold-font-family);font-weight:var(--wcm-text-xsmall-bold-weight);font-size:var(--wcm-text-xsmall-bold-size);line-height:var(--wcm-text-xsmall-bold-line-height);letter-spacing:var(--wcm-text-xsmall-bold-letter-spacing);text-transform:var(--wcm-text-xsmall-bold-text-transform)}.wcm-xsmall-regular{font-family:var(--wcm-text-xsmall-regular-font-family);font-weight:var(--wcm-text-xsmall-regular-weight);font-size:var(--wcm-text-xsmall-regular-size);line-height:var(--wcm-text-xsmall-regular-line-height);letter-spacing:var(--wcm-text-xsmall-regular-letter-spacing);text-transform:var(--wcm-text-xsmall-regular-text-transform)}.wcm-small-thin{font-family:var(--wcm-text-small-thin-font-family);font-weight:var(--wcm-text-small-thin-weight);font-size:var(--wcm-text-small-thin-size);line-height:var(--wcm-text-small-thin-line-height);letter-spacing:var(--wcm-text-small-thin-letter-spacing);text-transform:var(--wcm-text-small-thin-text-transform)}.wcm-small-regular{font-family:var(--wcm-text-small-regular-font-family);font-weight:var(--wcm-text-small-regular-weight);font-size:var(--wcm-text-small-regular-size);line-height:var(--wcm-text-small-regular-line-height);letter-spacing:var(--wcm-text-small-regular-letter-spacing);text-transform:var(--wcm-text-small-regular-text-transform)}.wcm-medium-regular{font-family:var(--wcm-text-medium-regular-font-family);font-weight:var(--wcm-text-medium-regular-weight);font-size:var(--wcm-text-medium-regular-size);line-height:var(--wcm-text-medium-regular-line-height);letter-spacing:var(--wcm-text-medium-regular-letter-spacing);text-transform:var(--wcm-text-medium-regular-text-transform)}.wcm-big-bold{font-family:var(--wcm-text-big-bold-font-family);font-weight:var(--wcm-text-big-bold-weight);font-size:var(--wcm-text-big-bold-size);line-height:var(--wcm-text-big-bold-line-height);letter-spacing:var(--wcm-text-big-bold-letter-spacing);text-transform:var(--wcm-text-big-bold-text-transform)}:host(*){color:var(--wcm-color-fg-1)}.wcm-color-primary{color:var(--wcm-color-fg-1)}.wcm-color-secondary{color:var(--wcm-color-fg-2)}.wcm-color-tertiary{color:var(--wcm-color-fg-3)}.wcm-color-inverse{color:var(--wcm-accent-fill-color)}.wcm-color-accnt{color:var(--wcm-accent-color)}.wcm-color-error{color:var(--wcm-error-color)}`;var Kt=Object.defineProperty,Yt=Object.getOwnPropertyDescriptor,Oe=(e,o,r,a)=>{for(var t=a>1?void 0:a?Yt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Kt(o,r,t),t};let re=class extends s{constructor(){super(...arguments),this.variant="medium-regular",this.color="primary";}render(){const e={"wcm-big-bold":this.variant==="big-bold","wcm-medium-regular":this.variant==="medium-regular","wcm-small-regular":this.variant==="small-regular","wcm-small-thin":this.variant==="small-thin","wcm-xsmall-regular":this.variant==="xsmall-regular","wcm-xsmall-bold":this.variant==="xsmall-bold","wcm-color-primary":this.color==="primary","wcm-color-secondary":this.color==="secondary","wcm-color-tertiary":this.color==="tertiary","wcm-color-inverse":this.color==="inverse","wcm-color-accnt":this.color==="accent","wcm-color-error":this.color==="error"};return x`<span><slot class="${o$1(e)}"></slot></span>`}};re.styles=[h.globalCss,Qt],Oe([n$1()],re.prototype,"variant",2),Oe([n$1()],re.prototype,"color",2),re=Oe([e$2("wcm-text")],re);const Gt=i$4`button{width:100%;height:100%;border-radius:var(--wcm-button-hover-highlight-border-radius);display:flex;align-items:flex-start}button:active{background-color:var(--wcm-color-overlay)}@media(hover:hover){button:hover{background-color:var(--wcm-color-overlay)}}button>div{width:80px;padding:5px 0;display:flex;flex-direction:column;align-items:center}wcm-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}wcm-wallet-image{height:60px;width:60px;transition:all .2s ease;border-radius:var(--wcm-wallet-icon-border-radius);margin-bottom:5px}.wcm-sublabel{margin-top:2px}`;var Xt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,_=(e,o,r,a)=>{for(var t=a>1?void 0:a?Jt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Xt(o,r,t),t};let L=class extends s{constructor(){super(...arguments),this.onClick=()=>null,this.name="",this.walletId="",this.label=void 0,this.imageId=void 0,this.installed=!1,this.recent=!1;}sublabelTemplate(){return this.recent?x`<wcm-text class="wcm-sublabel" variant="xsmall-bold" color="tertiary">RECENT</wcm-text>`:this.installed?x`<wcm-text class="wcm-sublabel" variant="xsmall-bold" color="tertiary">INSTALLED</wcm-text>`:null}handleClick(){R$6.click({name:"WALLET_BUTTON",walletId:this.walletId}),this.onClick();}render(){var e;return x`<button @click="${this.handleClick.bind(this)}"><div><wcm-wallet-image walletId="${this.walletId}" imageId="${l(this.imageId)}"></wcm-wallet-image><wcm-text variant="xsmall-regular">${(e=this.label)!=null?e:c.getWalletName(this.name,!0)}</wcm-text>${this.sublabelTemplate()}</div></button>`}};L.styles=[h.globalCss,Gt],_([n$1()],L.prototype,"onClick",2),_([n$1()],L.prototype,"name",2),_([n$1()],L.prototype,"walletId",2),_([n$1()],L.prototype,"label",2),_([n$1()],L.prototype,"imageId",2),_([n$1({type:Boolean})],L.prototype,"installed",2),_([n$1({type:Boolean})],L.prototype,"recent",2),L=_([e$2("wcm-wallet-button")],L);const eo=i$4`:host{display:block}div{overflow:hidden;position:relative;border-radius:inherit;width:100%;height:100%;background-color:var(--wcm-color-overlay)}svg{position:relative;width:100%;height:100%}div::after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid var(--wcm-color-overlay)}div img{width:100%;height:100%;object-fit:cover;object-position:center}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var to=Object.defineProperty,oo=Object.getOwnPropertyDescriptor,se=(e,o,r,a)=>{for(var t=a>1?void 0:a?oo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&to(o,r,t),t};let Q=class extends s{constructor(){super(...arguments),this.walletId="",this.imageId=void 0,this.imageUrl=void 0;}render(){var e;const o=(e=this.imageUrl)!=null&&e.length?this.imageUrl:c.getWalletIcon({id:this.walletId,image_id:this.imageId});return x`${o.length?x`<div><img crossorigin="anonymous" src="${o}" alt="${this.id}"></div>`:v.WALLET_PLACEHOLDER}`}};Q.styles=[h.globalCss,eo],se([n$1()],Q.prototype,"walletId",2),se([n$1()],Q.prototype,"imageId",2),se([n$1()],Q.prototype,"imageUrl",2),Q=se([e$2("wcm-wallet-image")],Q);var ro=Object.defineProperty,ao=Object.getOwnPropertyDescriptor,qe=(e,o,r,a)=>{for(var t=a>1?void 0:a?ao(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ro(o,r,t),t};let We=class extends s{constructor(){super(),this.preload=!0,this.preloadData();}async loadImages(e){try{e!=null&&e.length&&await Promise.all(e.map(async o=>c.preloadImage(o)));}catch{console.info("Unsuccessful attempt at preloading some images",e);}}async preloadListings(){if(y$7.state.enableExplorer){await te$5.getRecomendedWallets(),p$a.setIsDataLoaded(!0);const{recomendedWallets:e}=te$5.state,o=e.map(r=>c.getWalletIcon(r));await this.loadImages(o);}else p$a.setIsDataLoaded(!0);}async preloadCustomImages(){const e=c.getCustomImageUrls();await this.loadImages(e);}async preloadData(){try{this.preload&&(this.preload=!1,await Promise.all([this.preloadListings(),this.preloadCustomImages()]));}catch(e){console.error(e),oe$5.openToast("Failed preloading","error");}}};qe([t$1()],We.prototype,"preload",2),We=qe([e$2("wcm-explorer-context")],We);var no=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Qe=class extends s{constructor(){super(),this.unsubscribeTheme=void 0,h.setTheme(),this.unsubscribeTheme=ne$3.subscribe(h.setTheme);}disconnectedCallback(){var e;(e=this.unsubscribeTheme)==null||e.call(this);}};Qe=no([e$2("wcm-theme-context")],Qe);const co=i$4`@keyframes scroll{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(calc(-70px * 9),0,0)}}.wcm-slider{position:relative;overflow-x:hidden;padding:10px 0;margin:0 -20px;width:calc(100% + 40px)}.wcm-track{display:flex;width:calc(70px * 18);animation:scroll 20s linear infinite;opacity:.7}.wcm-track svg{margin:0 5px}wcm-wallet-image{width:60px;height:60px;margin:0 5px;border-radius:var(--wcm-wallet-icon-border-radius)}.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between}.wcm-title{display:flex;align-items:center;margin-bottom:10px}.wcm-title svg{margin-right:6px}.wcm-title path{fill:var(--wcm-accent-color)}wcm-modal-footer .wcm-title{padding:0 10px}wcm-button-big{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);filter:drop-shadow(0 0 17px var(--wcm-color-bg-1))}wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-info-footer wcm-text{text-align:center;margin-bottom:15px}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var ho=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Ie=class extends s{onGoToQrcode(){T$4.push("Qrcode");}render(){const{recomendedWallets:e}=te$5.state,o=[...e,...e],r=a$6.RECOMMENDED_WALLET_AMOUNT*2;return x`<wcm-modal-header title="Connect your wallet" .onAction="${this.onGoToQrcode}" .actionIcon="${v.QRCODE_ICON}"></wcm-modal-header><wcm-modal-content><div class="wcm-title">${v.MOBILE_ICON}<wcm-text variant="small-regular" color="accent">WalletConnect</wcm-text></div><div class="wcm-slider"><div class="wcm-track">${[...Array(r)].map((a,t)=>{const l=o[t%o.length];return l?x`<wcm-wallet-image walletId="${l.id}" imageId="${l.image_id}"></wcm-wallet-image>`:v.WALLET_PLACEHOLDER})}</div><wcm-button-big @click="${c.handleAndroidLinking}"><wcm-text variant="medium-regular" color="inverse">Select Wallet</wcm-text></wcm-button-big></div></wcm-modal-content><wcm-info-footer><wcm-text color="secondary" variant="small-thin">Choose WalletConnect to see supported apps on your device</wcm-text></wcm-info-footer>`}};Ie.styles=[h.globalCss,co],Ie=ho([e$2("wcm-android-wallet-selection")],Ie);const wo=i$4`@keyframes loading{to{stroke-dashoffset:0}}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(1px,0,0)}30%,50%,70%{transform:translate3d(-2px,0,0)}40%,60%{transform:translate3d(2px,0,0)}}:host{display:flex;flex-direction:column;align-items:center}div{position:relative;width:110px;height:110px;display:flex;justify-content:center;align-items:center;margin:40px 0 20px 0;transform:translate3d(0,0,0)}svg{position:absolute;width:110px;height:110px;fill:none;stroke:transparent;stroke-linecap:round;stroke-width:2px;top:0;left:0}use{stroke:var(--wcm-accent-color);animation:loading 1s linear infinite}wcm-wallet-image{border-radius:var(--wcm-wallet-icon-large-border-radius);width:90px;height:90px}wcm-text{margin-bottom:40px}.wcm-error svg{stroke:var(--wcm-error-color)}.wcm-error use{display:none}.wcm-error{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}.wcm-stale svg,.wcm-stale use{display:none}`;var po=Object.defineProperty,go=Object.getOwnPropertyDescriptor,K=(e,o,r,a)=>{for(var t=a>1?void 0:a?go(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&po(o,r,t),t};let D=class extends s{constructor(){super(...arguments),this.walletId=void 0,this.imageId=void 0,this.isError=!1,this.isStale=!1,this.label="";}svgLoaderTemplate(){var e,o;const r=(o=(e=ne$3.state.themeVariables)==null?void 0:e["--wcm-wallet-icon-large-border-radius"])!=null?o:h.getPreset("--wcm-wallet-icon-large-border-radius");let a=0;r.includes("%")?a=88/100*parseInt(r,10):a=parseInt(r,10),a*=1.17;const t=317-a*1.57,l=425-a*1.8;return x`<svg viewBox="0 0 110 110" width="110" height="110"><rect id="wcm-loader" x="2" y="2" width="106" height="106" rx="${a}"/><use xlink:href="#wcm-loader" stroke-dasharray="106 ${t}" stroke-dashoffset="${l}"></use></svg>`}render(){const e={"wcm-error":this.isError,"wcm-stale":this.isStale};return x`<div class="${o$1(e)}">${this.svgLoaderTemplate()}<wcm-wallet-image walletId="${l(this.walletId)}" imageId="${l(this.imageId)}"></wcm-wallet-image></div><wcm-text variant="medium-regular" color="${this.isError?"error":"primary"}">${this.isError?"Connection declined":this.label}</wcm-text>`}};D.styles=[h.globalCss,wo],K([n$1()],D.prototype,"walletId",2),K([n$1()],D.prototype,"imageId",2),K([n$1({type:Boolean})],D.prototype,"isError",2),K([n$1({type:Boolean})],D.prototype,"isStale",2),K([n$1()],D.prototype,"label",2),D=K([e$2("wcm-connector-waiting")],D);const G={manualWallets(){var e,o;const{mobileWallets:r,desktopWallets:a}=y$7.state,t=(e=G.recentWallet())==null?void 0:e.id,l=a$6.isMobile()?r:a,i=l?.filter(s=>t!==s.id);return (o=a$6.isMobile()?i?.map(({id:s,name:$,links:f})=>({id:s,name:$,mobile:f,links:f})):i?.map(({id:s,name:$,links:f})=>({id:s,name:$,desktop:f,links:f})))!=null?o:[]},recentWallet(){return c.getRecentWallet()},recomendedWallets(e=!1){var o;const r=e||(o=G.recentWallet())==null?void 0:o.id,{recomendedWallets:a}=te$5.state;return a.filter(t=>r!==t.id)}},Z={onConnecting(e){c.goToConnectingView(e);},manualWalletsTemplate(){return G.manualWallets().map(e=>x`<wcm-wallet-button walletId="${e.id}" name="${e.name}" .onClick="${()=>this.onConnecting(e)}"></wcm-wallet-button>`)},recomendedWalletsTemplate(e=!1){return G.recomendedWallets(e).map(o=>x`<wcm-wallet-button name="${o.name}" walletId="${o.id}" imageId="${o.image_id}" .onClick="${()=>this.onConnecting(o)}"></wcm-wallet-button>`)},recentWalletTemplate(){const e=G.recentWallet();if(e)return x`<wcm-wallet-button name="${e.name}" walletId="${e.id}" imageId="${l(e.image_id)}" .recent="${!0}" .onClick="${()=>this.onConnecting(e)}"></wcm-wallet-button>`}},vo=i$4`.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between}.wcm-desktop-title,.wcm-mobile-title{display:flex;align-items:center}.wcm-mobile-title{justify-content:space-between;margin-bottom:20px;margin-top:-10px}.wcm-desktop-title{margin-bottom:10px;padding:0 10px}.wcm-subtitle{display:flex;align-items:center}.wcm-subtitle:last-child path{fill:var(--wcm-color-fg-3)}.wcm-desktop-title svg,.wcm-mobile-title svg{margin-right:6px}.wcm-desktop-title path,.wcm-mobile-title path{fill:var(--wcm-accent-color)}`;var fo=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Ee=class extends s{render(){const{explorerExcludedWalletIds:e,enableExplorer:o}=y$7.state,r=e!=="ALL"&&o,a=Z.manualWalletsTemplate(),t=Z.recomendedWalletsTemplate();let l=[Z.recentWalletTemplate(),...a,...t];l=l.filter(Boolean);const i=l.length>4||r;let s=[];i?s=l.slice(0,3):s=l;const $=Boolean(s.length);return x`<wcm-modal-header .border="${!0}" title="Connect your wallet" .onAction="${c.handleUriCopy}" .actionIcon="${v.COPY_ICON}"></wcm-modal-header><wcm-modal-content><div class="wcm-mobile-title"><div class="wcm-subtitle">${v.MOBILE_ICON}<wcm-text variant="small-regular" color="accent">Mobile</wcm-text></div><div class="wcm-subtitle">${v.SCAN_ICON}<wcm-text variant="small-regular" color="secondary">Scan with your wallet</wcm-text></div></div><wcm-walletconnect-qr></wcm-walletconnect-qr></wcm-modal-content>${$?x`<wcm-modal-footer><div class="wcm-desktop-title">${v.DESKTOP_ICON}<wcm-text variant="small-regular" color="accent">Desktop</wcm-text></div><div class="wcm-grid">${s} ${i?x`<wcm-view-all-wallets-button></wcm-view-all-wallets-button>`:null}</div></wcm-modal-footer>`:null}`}};Ee.styles=[h.globalCss,vo],Ee=fo([e$2("wcm-desktop-wallet-selection")],Ee);const xo=i$4`div{background-color:var(--wcm-color-bg-2);padding:10px 20px 15px 20px;border-top:1px solid var(--wcm-color-bg-3);text-align:center}a{color:var(--wcm-accent-color);text-decoration:none;transition:opacity .2s ease-in-out;display:inline}a:active{opacity:.8}@media(hover:hover){a:hover{opacity:.8}}`;var Co=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Me=class extends s{render(){const{termsOfServiceUrl:e,privacyPolicyUrl:o}=y$7.state;return e??o?x`<div><wcm-text variant="small-regular" color="secondary">By connecting your wallet to this app, you agree to the app's ${e?x`<a href="${e}" target="_blank" rel="noopener noreferrer">Terms of Service</a>`:null} ${e&&o?"and":null} ${o?x`<a href="${o}" target="_blank" rel="noopener noreferrer">Privacy Policy</a>`:null}</wcm-text></div>`:null}};Me.styles=[h.globalCss,xo],Me=Co([e$2("wcm-legal-notice")],Me);const ko=i$4`div{display:grid;grid-template-columns:repeat(4,80px);margin:0 -10px;justify-content:space-between;row-gap:10px}`;var Io=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Le=class extends s{onQrcode(){T$4.push("Qrcode");}render(){const{explorerExcludedWalletIds:e,enableExplorer:o}=y$7.state,r=e!=="ALL"&&o,a=Z.manualWalletsTemplate(),t=Z.recomendedWalletsTemplate();let l=[Z.recentWalletTemplate(),...a,...t];l=l.filter(Boolean);const i=l.length>8||r;let s=[];i?s=l.slice(0,7):s=l;const $=Boolean(s.length);return x`<wcm-modal-header title="Connect your wallet" .onAction="${this.onQrcode}" .actionIcon="${v.QRCODE_ICON}"></wcm-modal-header>${$?x`<wcm-modal-content><div>${s} ${i?x`<wcm-view-all-wallets-button></wcm-view-all-wallets-button>`:null}</div></wcm-modal-content>`:null}`}};Le.styles=[h.globalCss,ko],Le=Io([e$2("wcm-mobile-wallet-selection")],Le);const Eo=i$4`:host{all:initial}.wcm-overlay{top:0;bottom:0;left:0;right:0;position:fixed;z-index:var(--wcm-z-index);overflow:hidden;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;background-color:var(--wcm-overlay-background-color);backdrop-filter:var(--wcm-overlay-backdrop-filter)}@media(max-height:720px) and (orientation:landscape){.wcm-overlay{overflow:scroll;align-items:flex-start;padding:20px 0}}.wcm-active{pointer-events:auto}.wcm-container{position:relative;max-width:360px;width:100%;outline:0;border-radius:var(--wcm-background-border-radius) var(--wcm-background-border-radius) var(--wcm-container-border-radius) var(--wcm-container-border-radius);border:1px solid var(--wcm-color-overlay);overflow:hidden}.wcm-card{width:100%;position:relative;border-radius:var(--wcm-container-border-radius);overflow:hidden;box-shadow:0 6px 14px -6px rgba(10,16,31,.12),0 10px 32px -4px rgba(10,16,31,.1),0 0 0 1px var(--wcm-color-overlay);background-color:var(--wcm-color-bg-1);color:var(--wcm-color-fg-1)}@media(max-width:600px){.wcm-container{max-width:440px;border-radius:var(--wcm-background-border-radius) var(--wcm-background-border-radius) 0 0}.wcm-card{border-radius:var(--wcm-container-border-radius) var(--wcm-container-border-radius) 0 0}.wcm-overlay{align-items:flex-end}}@media(max-width:440px){.wcm-container{border:0}}`;var Mo=Object.defineProperty,Lo=Object.getOwnPropertyDescriptor,Re=(e,o,r,a)=>{for(var t=a>1?void 0:a?Lo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Mo(o,r,t),t};let ae=class extends s{constructor(){super(),this.open=!1,this.active=!1,this.unsubscribeModal=void 0,this.abortController=void 0,this.unsubscribeModal=se$3.subscribe(e=>{e.open?this.onOpenModalEvent():this.onCloseModalEvent();});}disconnectedCallback(){var e;(e=this.unsubscribeModal)==null||e.call(this);}get overlayEl(){return c.getShadowRootElement(this,".wcm-overlay")}get containerEl(){return c.getShadowRootElement(this,".wcm-container")}toggleBodyScroll(e){if(document.querySelector("body"))if(e){const o=document.getElementById("wcm-styles");o?.remove();}else document.head.insertAdjacentHTML("beforeend",'<style id="wcm-styles">html,body{touch-action:none;overflow:hidden;overscroll-behavior:contain;}</style>');}onCloseModal(e){e.target===e.currentTarget&&se$3.close();}onOpenModalEvent(){this.toggleBodyScroll(!1),this.addKeyboardEvents(),this.open=!0,setTimeout(async()=>{const e=c.isMobileAnimation()?{y:["50vh","0vh"]}:{scale:[.98,1]},o=.1,r=.2;await Promise.all([animate(this.overlayEl,{opacity:[0,1]},{delay:o,duration:r}).finished,animate(this.containerEl,e,{delay:o,duration:r}).finished]),this.active=!0;},0);}async onCloseModalEvent(){this.toggleBodyScroll(!0),this.removeKeyboardEvents();const e=c.isMobileAnimation()?{y:["0vh","50vh"]}:{scale:[1,.98]},o=.2;await Promise.all([animate(this.overlayEl,{opacity:[1,0]},{duration:o}).finished,animate(this.containerEl,e,{duration:o}).finished]),this.containerEl.removeAttribute("style"),this.active=!1,this.open=!1;}addKeyboardEvents(){this.abortController=new AbortController,window.addEventListener("keydown",e=>{var o;e.key==="Escape"?se$3.close():e.key==="Tab"&&((o=e.target)!=null&&o.tagName.includes("wcm-")||this.containerEl.focus());},this.abortController),this.containerEl.focus();}removeKeyboardEvents(){var e;(e=this.abortController)==null||e.abort(),this.abortController=void 0;}render(){const e={"wcm-overlay":!0,"wcm-active":this.active};return x`<wcm-explorer-context></wcm-explorer-context><wcm-theme-context></wcm-theme-context><div id="wcm-modal" class="${o$1(e)}" @click="${this.onCloseModal}" role="alertdialog" aria-modal="true"><div class="wcm-container" tabindex="0">${this.open?x`<wcm-modal-backcard></wcm-modal-backcard><div class="wcm-card"><wcm-modal-router></wcm-modal-router><wcm-modal-toast></wcm-modal-toast></div>`:null}</div></div>`}};ae.styles=[h.globalCss,Eo],Re([t$1()],ae.prototype,"open",2),Re([t$1()],ae.prototype,"active",2),ae=Re([e$2("wcm-modal")],ae);const Ro=i$4`div{display:flex;margin-top:15px}slot{display:inline-block;margin:0 5px}wcm-button{margin:0 5px}`;var Ao=Object.defineProperty,Po=Object.getOwnPropertyDescriptor,le=(e,o,r,a)=>{for(var t=a>1?void 0:a?Po(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Ao(o,r,t),t};let B=class extends s{constructor(){super(...arguments),this.isMobile=!1,this.isDesktop=!1,this.isWeb=!1,this.isRetry=!1;}onMobile(){a$6.isMobile()?T$4.replace("MobileConnecting"):T$4.replace("MobileQrcodeConnecting");}onDesktop(){T$4.replace("DesktopConnecting");}onWeb(){T$4.replace("WebConnecting");}render(){return x`<div>${this.isRetry?x`<slot></slot>`:null} ${this.isMobile?x`<wcm-button .onClick="${this.onMobile}" .iconLeft="${v.MOBILE_ICON}" variant="outline">Mobile</wcm-button>`:null} ${this.isDesktop?x`<wcm-button .onClick="${this.onDesktop}" .iconLeft="${v.DESKTOP_ICON}" variant="outline">Desktop</wcm-button>`:null} ${this.isWeb?x`<wcm-button .onClick="${this.onWeb}" .iconLeft="${v.GLOBE_ICON}" variant="outline">Web</wcm-button>`:null}</div>`}};B.styles=[h.globalCss,Ro],le([n$1({type:Boolean})],B.prototype,"isMobile",2),le([n$1({type:Boolean})],B.prototype,"isDesktop",2),le([n$1({type:Boolean})],B.prototype,"isWeb",2),le([n$1({type:Boolean})],B.prototype,"isRetry",2),B=le([e$2("wcm-platform-selection")],B);const To=i$4`button{display:flex;flex-direction:column;padding:5px 10px;border-radius:var(--wcm-button-hover-highlight-border-radius);height:100%;justify-content:flex-start}.wcm-icons{width:60px;height:60px;display:flex;flex-wrap:wrap;padding:7px;border-radius:var(--wcm-wallet-icon-border-radius);justify-content:space-between;align-items:center;margin-bottom:5px;background-color:var(--wcm-color-bg-2);box-shadow:inset 0 0 0 1px var(--wcm-color-overlay)}button:active{background-color:var(--wcm-color-overlay)}@media(hover:hover){button:hover{background-color:var(--wcm-color-overlay)}}.wcm-icons img{width:21px;height:21px;object-fit:cover;object-position:center;border-radius:calc(var(--wcm-wallet-icon-border-radius)/ 2);border:1px solid var(--wcm-color-overlay)}.wcm-icons svg{width:21px;height:21px}.wcm-icons img:nth-child(1),.wcm-icons img:nth-child(2),.wcm-icons svg:nth-child(1),.wcm-icons svg:nth-child(2){margin-bottom:4px}wcm-text{width:100%;text-align:center}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var Do=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Ae=class extends s{onClick(){T$4.push("WalletExplorer");}render(){const{recomendedWallets:e}=te$5.state,o=G.manualWallets(),r=[...e,...o].reverse().slice(0,4);return x`<button @click="${this.onClick}"><div class="wcm-icons">${r.map(a=>{const t=c.getWalletIcon(a);if(t)return x`<img crossorigin="anonymous" src="${t}">`;const l=c.getWalletIcon({id:a.id});return l?x`<img crossorigin="anonymous" src="${l}">`:v.WALLET_PLACEHOLDER})} ${[...Array(4-r.length)].map(()=>v.WALLET_PLACEHOLDER)}</div><wcm-text variant="xsmall-regular">View All</wcm-text></button>`}};Ae.styles=[h.globalCss,To],Ae=Do([e$2("wcm-view-all-wallets-button")],Ae);const No=i$4`.wcm-qr-container{width:100%;display:flex;justify-content:center;align-items:center;aspect-ratio:1/1}`;var Zo=Object.defineProperty,So=Object.getOwnPropertyDescriptor,de=(e,o,r,a)=>{for(var t=a>1?void 0:a?So(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Zo(o,r,t),t};let Y=class extends s{constructor(){super(),this.walletId="",this.imageId="",this.uri="",setTimeout(()=>{const{walletConnectUri:e}=p$a.state;this.uri=e;},0);}get overlayEl(){return c.getShadowRootElement(this,".wcm-qr-container")}render(){return x`<div class="wcm-qr-container">${this.uri?x`<wcm-qrcode size="${this.overlayEl.offsetWidth}" uri="${this.uri}" walletId="${l(this.walletId)}" imageId="${l(this.imageId)}"></wcm-qrcode>`:x`<wcm-spinner></wcm-spinner>`}</div>`}};Y.styles=[h.globalCss,No],de([n$1()],Y.prototype,"walletId",2),de([n$1()],Y.prototype,"imageId",2),de([t$1()],Y.prototype,"uri",2),Y=de([e$2("wcm-walletconnect-qr")],Y);var Ho=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Pe=class extends s{viewTemplate(){return a$6.isAndroid()?x`<wcm-android-wallet-selection></wcm-android-wallet-selection>`:a$6.isMobile()?x`<wcm-mobile-wallet-selection></wcm-mobile-wallet-selection>`:x`<wcm-desktop-wallet-selection></wcm-desktop-wallet-selection>`}render(){return x`${this.viewTemplate()}<wcm-legal-notice></wcm-legal-notice>`}};Pe.styles=[h.globalCss],Pe=Ho([e$2("wcm-connect-wallet-view")],Pe);const zo=i$4`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var Vo=Object.defineProperty,Fo=Object.getOwnPropertyDescriptor,Ke=(e,o,r,a)=>{for(var t=a>1?void 0:a?Fo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Vo(o,r,t),t};let me=class extends s{constructor(){super(),this.isError=!1,this.openDesktopApp();}onFormatAndRedirect(e){const{desktop:o,name:r}=a$6.getWalletRouterData(),a=o?.native;if(a){const t=a$6.formatNativeUrl(a,e,r);a$6.openHref(t,"_self");}}openDesktopApp(){const{walletConnectUri:e}=p$a.state,o=a$6.getWalletRouterData();c.setRecentWallet(o),e&&this.onFormatAndRedirect(e);}render(){const{name:e,id:o,image_id:r}=a$6.getWalletRouterData(),{isMobile:a,isWeb:t}=c.getCachedRouterWalletPlatforms();return x`<wcm-modal-header title="${e}" .onAction="${c.handleUriCopy}" .actionIcon="${v.COPY_ICON}"></wcm-modal-header><wcm-modal-content><wcm-connector-waiting walletId="${o}" imageId="${l(r)}" label="${`Continue in ${e}...`}" .isError="${this.isError}"></wcm-connector-waiting></wcm-modal-content><wcm-info-footer><wcm-text color="secondary" variant="small-thin">${`Connection can continue loading if ${e} is not installed on your device`}</wcm-text><wcm-platform-selection .isMobile="${a}" .isWeb="${t}" .isRetry="${!0}"><wcm-button .onClick="${this.openDesktopApp.bind(this)}" .iconRight="${v.RETRY_ICON}">Retry</wcm-button></wcm-platform-selection></wcm-info-footer>`}};me.styles=[h.globalCss,zo],Ke([t$1()],me.prototype,"isError",2),me=Ke([e$2("wcm-desktop-connecting-view")],me);const qo=i$4`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}wcm-button{margin-top:15px}`;var Yo=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let Te=class extends s{onInstall(e){e&&a$6.openHref(e,"_blank");}render(){const{name:e,id:o,image_id:r,homepage:a}=a$6.getWalletRouterData();return x`<wcm-modal-header title="${e}"></wcm-modal-header><wcm-modal-content><wcm-connector-waiting walletId="${o}" imageId="${l(r)}" label="Not Detected" .isStale="${!0}"></wcm-connector-waiting></wcm-modal-content><wcm-info-footer><wcm-text color="secondary" variant="small-thin">${`Download ${e} to continue. If multiple browser extensions are installed, disable non ${e} ones and try again`}</wcm-text><wcm-button .onClick="${()=>this.onInstall(a)}" .iconLeft="${v.ARROW_DOWN_ICON}">Download</wcm-button></wcm-info-footer>`}};Te.styles=[h.globalCss,qo],Te=Yo([e$2("wcm-install-wallet-view")],Te);const Go=i$4`wcm-wallet-image{border-radius:var(--wcm-wallet-icon-large-border-radius);width:96px;height:96px;margin-bottom:20px}wcm-info-footer{display:flex;width:100%}.wcm-app-store{justify-content:space-between}.wcm-app-store wcm-wallet-image{margin-right:10px;margin-bottom:0;width:28px;height:28px;border-radius:var(--wcm-wallet-icon-small-border-radius)}.wcm-app-store div{display:flex;align-items:center}.wcm-app-store wcm-button{margin-right:-10px}.wcm-note{flex-direction:column;align-items:center;padding:5px 0}.wcm-note wcm-text{text-align:center}wcm-platform-selection{margin-top:-15px}.wcm-note wcm-text{margin-top:15px}.wcm-note wcm-text span{color:var(--wcm-accent-color)}`;var Xo=Object.defineProperty,Jo=Object.getOwnPropertyDescriptor,Ye=(e,o,r,a)=>{for(var t=a>1?void 0:a?Jo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Xo(o,r,t),t};let he=class extends s{constructor(){super(),this.isError=!1,this.openMobileApp();}onFormatAndRedirect(e,o=!1){const{mobile:r,name:a}=a$6.getWalletRouterData(),t=r?.native,l=r?.universal;if(t&&!o){const i=a$6.formatNativeUrl(t,e,a);a$6.openHref(i,"_self");}else if(l){const i=a$6.formatUniversalUrl(l,e,a);a$6.openHref(i,"_self");}}openMobileApp(e=!1){const{walletConnectUri:o}=p$a.state,r=a$6.getWalletRouterData();c.setRecentWallet(r),o&&this.onFormatAndRedirect(o,e);}onGoToAppStore(e){e&&a$6.openHref(e,"_blank");}render(){const{name:e,id:o,image_id:r,app:a,mobile:t}=a$6.getWalletRouterData(),{isWeb:l$1}=c.getCachedRouterWalletPlatforms(),i=a?.ios,s=t?.universal;return x`<wcm-modal-header title="${e}"></wcm-modal-header><wcm-modal-content><wcm-connector-waiting walletId="${o}" imageId="${l(r)}" label="Tap 'Open' to continue…" .isError="${this.isError}"></wcm-connector-waiting></wcm-modal-content><wcm-info-footer class="wcm-note"><wcm-platform-selection .isWeb="${l$1}" .isRetry="${!0}"><wcm-button .onClick="${()=>this.openMobileApp(!1)}" .iconRight="${v.RETRY_ICON}">Retry</wcm-button></wcm-platform-selection>${s?x`<wcm-text color="secondary" variant="small-thin">Still doesn't work? <span tabindex="0" @click="${()=>this.openMobileApp(!0)}">Try this alternate link</span></wcm-text>`:null}</wcm-info-footer><wcm-info-footer class="wcm-app-store"><div><wcm-wallet-image walletId="${o}" imageId="${l(r)}"></wcm-wallet-image><wcm-text>${`Get ${e}`}</wcm-text></div><wcm-button .iconRight="${v.ARROW_RIGHT_ICON}" .onClick="${()=>this.onGoToAppStore(i)}" variant="ghost">App Store</wcm-button></wcm-info-footer>`}};he.styles=[h.globalCss,Go],Ye([t$1()],he.prototype,"isError",2),he=Ye([e$2("wcm-mobile-connecting-view")],he);const er=i$4`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var rr=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let je=class extends s{render(){const{name:e,id:o,image_id:r}=a$6.getWalletRouterData(),{isDesktop:a,isWeb:t}=c.getCachedRouterWalletPlatforms();return x`<wcm-modal-header title="${e}" .onAction="${c.handleUriCopy}" .actionIcon="${v.COPY_ICON}"></wcm-modal-header><wcm-modal-content><wcm-walletconnect-qr walletId="${o}" imageId="${l(r)}"></wcm-walletconnect-qr></wcm-modal-content><wcm-info-footer><wcm-text color="secondary" variant="small-thin">${`Scan this QR Code with your phone's camera or inside ${e} app`}</wcm-text><wcm-platform-selection .isDesktop="${a}" .isWeb="${t}"></wcm-platform-selection></wcm-info-footer>`}};je.styles=[h.globalCss,er],je=rr([e$2("wcm-mobile-qr-connecting-view")],je);var ir=(e,o,r,a)=>{for(var t=o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(i(t))||t);return t};let _e=class extends s{render(){return x`<wcm-modal-header title="Scan the code" .onAction="${c.handleUriCopy}" .actionIcon="${v.COPY_ICON}"></wcm-modal-header><wcm-modal-content><wcm-walletconnect-qr></wcm-walletconnect-qr></wcm-modal-content>`}};_e.styles=[h.globalCss],_e=ir([e$2("wcm-qrcode-view")],_e);const nr=i$4`wcm-modal-content{height:clamp(200px,60vh,600px);display:block;overflow:scroll;scrollbar-width:none;position:relative;margin-top:1px}.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between;margin:-15px -10px;padding-top:20px}wcm-modal-content::after,wcm-modal-content::before{content:'';position:fixed;pointer-events:none;z-index:1;width:100%;height:20px;opacity:1}wcm-modal-content::before{box-shadow:0 -1px 0 0 var(--wcm-color-bg-1);background:linear-gradient(var(--wcm-color-bg-1),rgba(255,255,255,0))}wcm-modal-content::after{box-shadow:0 1px 0 0 var(--wcm-color-bg-1);background:linear-gradient(rgba(255,255,255,0),var(--wcm-color-bg-1));top:calc(100% - 20px)}wcm-modal-content::-webkit-scrollbar{display:none}.wcm-placeholder-block{display:flex;justify-content:center;align-items:center;height:100px;overflow:hidden}.wcm-empty,.wcm-loading{display:flex}.wcm-loading .wcm-placeholder-block{height:100%}.wcm-end-reached .wcm-placeholder-block{height:0;opacity:0}.wcm-empty .wcm-placeholder-block{opacity:1;height:100%}wcm-wallet-button{margin:calc((100% - 60px)/ 3) 0}`;var cr=Object.defineProperty,sr=Object.getOwnPropertyDescriptor,ie=(e,o,r,a)=>{for(var t=a>1?void 0:a?sr(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&cr(o,r,t),t};const De=40;let U=class extends s{constructor(){super(...arguments),this.loading=!te$5.state.wallets.listings.length,this.firstFetch=!te$5.state.wallets.listings.length,this.search="",this.endReached=!1,this.intersectionObserver=void 0,this.searchDebounce=c.debounce(e=>{e.length>=1?(this.firstFetch=!0,this.endReached=!1,this.search=e,te$5.resetSearch(),this.fetchWallets()):this.search&&(this.search="",this.endReached=this.isLastPage(),te$5.resetSearch());});}firstUpdated(){this.createPaginationObserver();}disconnectedCallback(){var e;(e=this.intersectionObserver)==null||e.disconnect();}get placeholderEl(){return c.getShadowRootElement(this,".wcm-placeholder-block")}createPaginationObserver(){this.intersectionObserver=new IntersectionObserver(([e])=>{e.isIntersecting&&!(this.search&&this.firstFetch)&&this.fetchWallets();}),this.intersectionObserver.observe(this.placeholderEl);}isLastPage(){const{wallets:e,search:o}=te$5.state,{listings:r,total:a}=this.search?o:e;return a<=De||r.length>=a}async fetchWallets(){var e;const{wallets:o,search:r}=te$5.state,{listings:a,total:t,page:l}=this.search?r:o;if(!this.endReached&&(this.firstFetch||t>De&&a.length<t))try{this.loading=!0;const i=(e=p$a.state.chains)==null?void 0:e.join(","),{listings:s}=await te$5.getWallets({page:this.firstFetch?1:l+1,entries:De,search:this.search,version:2,chains:i}),$=s.map(f=>c.getWalletIcon(f));await Promise.all([...$.map(async f=>c.preloadImage(f)),a$6.wait(300)]),this.endReached=this.isLastPage();}catch(i){console.error(i),oe$5.openToast(c.getErrorMessage(i),"error");}finally{this.loading=!1,this.firstFetch=!1;}}onConnect(e){a$6.isAndroid()?c.handleMobileLinking(e):c.goToConnectingView(e);}onSearchChange(e){const{value:o}=e.target;this.searchDebounce(o);}render(){const{wallets:e,search:o}=te$5.state,{listings:r}=this.search?o:e,a=this.loading&&!r.length,t=this.search.length>=3;let l=Z.manualWalletsTemplate(),i=Z.recomendedWalletsTemplate(!0);t&&(l=l.filter(({values:f})=>c.caseSafeIncludes(f[0],this.search)),i=i.filter(({values:f})=>c.caseSafeIncludes(f[0],this.search)));const s=!this.loading&&!r.length&&!i.length,$={"wcm-loading":a,"wcm-end-reached":this.endReached||!this.loading,"wcm-empty":s};return x`<wcm-modal-header><wcm-search-input .onChange="${this.onSearchChange.bind(this)}"></wcm-search-input></wcm-modal-header><wcm-modal-content class="${o$1($)}"><div class="wcm-grid">${a?null:l} ${a?null:i} ${a?null:r.map(f=>x`${f?x`<wcm-wallet-button imageId="${f.image_id}" name="${f.name}" walletId="${f.id}" .onClick="${()=>this.onConnect(f)}"></wcm-wallet-button>`:null}`)}</div><div class="wcm-placeholder-block">${s?x`<wcm-text variant="big-bold" color="secondary">No results found</wcm-text>`:null} ${!s&&this.loading?x`<wcm-spinner></wcm-spinner>`:null}</div></wcm-modal-content>`}};U.styles=[h.globalCss,nr],ie([t$1()],U.prototype,"loading",2),ie([t$1()],U.prototype,"firstFetch",2),ie([t$1()],U.prototype,"search",2),ie([t$1()],U.prototype,"endReached",2),U=ie([e$2("wcm-wallet-explorer-view")],U);const dr=i$4`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var mr=Object.defineProperty,hr=Object.getOwnPropertyDescriptor,Ge=(e,o,r,a)=>{for(var t=a>1?void 0:a?hr(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&mr(o,r,t),t};let we=class extends s{constructor(){super(),this.isError=!1,this.openWebWallet();}onFormatAndRedirect(e){const{desktop:o,name:r}=a$6.getWalletRouterData(),a=o?.universal;if(a){const t=a$6.formatUniversalUrl(a,e,r);a$6.openHref(t,"_blank");}}openWebWallet(){const{walletConnectUri:e}=p$a.state,o=a$6.getWalletRouterData();c.setRecentWallet(o),e&&this.onFormatAndRedirect(e);}render(){const{name:e,id:o,image_id:r}=a$6.getWalletRouterData(),{isMobile:a,isDesktop:t}=c.getCachedRouterWalletPlatforms(),l$1=a$6.isMobile();return x`<wcm-modal-header title="${e}" .onAction="${c.handleUriCopy}" .actionIcon="${v.COPY_ICON}"></wcm-modal-header><wcm-modal-content><wcm-connector-waiting walletId="${o}" imageId="${l(r)}" label="${`Continue in ${e}...`}" .isError="${this.isError}"></wcm-connector-waiting></wcm-modal-content><wcm-info-footer><wcm-text color="secondary" variant="small-thin">${`${e} web app has opened in a new tab. Go there, accept the connection, and come back`}</wcm-text><wcm-platform-selection .isMobile="${a}" .isDesktop="${l$1?!1:t}" .isRetry="${!0}"><wcm-button .onClick="${this.openWebWallet.bind(this)}" .iconRight="${v.RETRY_ICON}">Retry</wcm-button></wcm-platform-selection></wcm-info-footer>`}};we.styles=[h.globalCss,dr],Ge([t$1()],we.prototype,"isError",2),we=Ge([e$2("wcm-web-connecting-view")],we);
|
|
421239
420576
|
|
|
421240
420577
|
var index$7 = /*#__PURE__*/Object.freeze({
|
|
421241
420578
|
__proto__: null,
|
|
@@ -427673,6 +427010,70 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
427673
427010
|
remoteMiddlewares: remoteMiddlewares
|
|
427674
427011
|
});
|
|
427675
427012
|
|
|
427013
|
+
// Unique ID creation requires a high quality random # generator. In the browser we therefore
|
|
427014
|
+
// require the crypto API and do not support built-in fallback to lower quality random number
|
|
427015
|
+
// generators (like Math.random()).
|
|
427016
|
+
var getRandomValues;
|
|
427017
|
+
var rnds8 = new Uint8Array(16);
|
|
427018
|
+
function rng() {
|
|
427019
|
+
// lazy load so that environments that need to polyfill have a chance to do so
|
|
427020
|
+
if (!getRandomValues) {
|
|
427021
|
+
// getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also,
|
|
427022
|
+
// find the complete implementation of crypto (msCrypto) on IE11.
|
|
427023
|
+
getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);
|
|
427024
|
+
|
|
427025
|
+
if (!getRandomValues) {
|
|
427026
|
+
throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
|
|
427027
|
+
}
|
|
427028
|
+
}
|
|
427029
|
+
|
|
427030
|
+
return getRandomValues(rnds8);
|
|
427031
|
+
}
|
|
427032
|
+
|
|
427033
|
+
var REGEX = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
|
|
427034
|
+
|
|
427035
|
+
function validate(uuid) {
|
|
427036
|
+
return typeof uuid === 'string' && REGEX.test(uuid);
|
|
427037
|
+
}
|
|
427038
|
+
|
|
427039
|
+
/**
|
|
427040
|
+
* Convert array of 16 byte values to UUID string format of the form:
|
|
427041
|
+
* XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
427042
|
+
*/
|
|
427043
|
+
|
|
427044
|
+
var byteToHex = [];
|
|
427045
|
+
|
|
427046
|
+
for (var i = 0; i < 256; ++i) {
|
|
427047
|
+
byteToHex.push((i + 0x100).toString(16).substr(1));
|
|
427048
|
+
}
|
|
427049
|
+
|
|
427050
|
+
function stringify$1(arr) {
|
|
427051
|
+
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
427052
|
+
// Note: Be careful editing this code! It's been tuned for performance
|
|
427053
|
+
// and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
|
|
427054
|
+
var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one
|
|
427055
|
+
// of the following:
|
|
427056
|
+
// - One or more input array values don't map to a hex octet (leading to
|
|
427057
|
+
// "undefined" in the uuid)
|
|
427058
|
+
// - Invalid input values for the RFC `version` or `variant` fields
|
|
427059
|
+
|
|
427060
|
+
if (!validate(uuid)) {
|
|
427061
|
+
throw TypeError('Stringified UUID is invalid');
|
|
427062
|
+
}
|
|
427063
|
+
|
|
427064
|
+
return uuid;
|
|
427065
|
+
}
|
|
427066
|
+
|
|
427067
|
+
function v4(options, buf, offset) {
|
|
427068
|
+
options = options || {};
|
|
427069
|
+
var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
|
427070
|
+
|
|
427071
|
+
rnds[6] = rnds[6] & 0x0f | 0x40;
|
|
427072
|
+
rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
|
|
427073
|
+
|
|
427074
|
+
return stringify$1(rnds);
|
|
427075
|
+
}
|
|
427076
|
+
|
|
427676
427077
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
427677
427078
|
function sendAddTokensCloseEvent(eventTarget) {
|
|
427678
427079
|
const closeWidgetEvent = new CustomEvent(IMTBLWidgetEvents.IMTBL_ADD_TOKENS_WIDGET_EVENT, {
|
|
@@ -427733,6 +427134,108 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
427733
427134
|
eventTarget.dispatchEvent(failedEvent);
|
|
427734
427135
|
};
|
|
427735
427136
|
|
|
427137
|
+
const initialAddTokensState = {
|
|
427138
|
+
id: '',
|
|
427139
|
+
allowedTokens: null,
|
|
427140
|
+
squid: null,
|
|
427141
|
+
chains: null,
|
|
427142
|
+
balances: null,
|
|
427143
|
+
tokens: null,
|
|
427144
|
+
routes: [],
|
|
427145
|
+
selectedRouteData: undefined,
|
|
427146
|
+
selectedToken: undefined,
|
|
427147
|
+
selectedAmount: '',
|
|
427148
|
+
isSwapAvailable: undefined,
|
|
427149
|
+
experiments: undefined,
|
|
427150
|
+
};
|
|
427151
|
+
var AddTokensActions;
|
|
427152
|
+
(function (AddTokensActions) {
|
|
427153
|
+
AddTokensActions["SET_ID"] = "SET_ID";
|
|
427154
|
+
AddTokensActions["SET_ALLOWED_TOKENS"] = "SET_ALLOWED_TOKENS";
|
|
427155
|
+
AddTokensActions["SET_SQUID"] = "SET_SQUID";
|
|
427156
|
+
AddTokensActions["SET_CHAINS"] = "SET_CHAINS";
|
|
427157
|
+
AddTokensActions["SET_BALANCES"] = "SET_BALANCES";
|
|
427158
|
+
AddTokensActions["SET_TOKENS"] = "SET_TOKENS";
|
|
427159
|
+
AddTokensActions["SET_ROUTES"] = "SET_ROUTES";
|
|
427160
|
+
AddTokensActions["SET_SELECTED_ROUTE_DATA"] = "SET_SELECTED_ROUTE_DATA";
|
|
427161
|
+
AddTokensActions["SET_SELECTED_TOKEN"] = "SET_SELECTED_TOKEN";
|
|
427162
|
+
AddTokensActions["SET_SELECTED_AMOUNT"] = "SET_SELECTED_AMOUNT";
|
|
427163
|
+
AddTokensActions["SET_IS_SWAP_AVAILABLE"] = "SET_IS_SWAP_AVAILABLE";
|
|
427164
|
+
AddTokensActions["SET_EXPERIMENTS"] = "SET_EXPERIMENTS";
|
|
427165
|
+
})(AddTokensActions || (AddTokensActions = {}));
|
|
427166
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
427167
|
+
const AddTokensContext = reactExports.createContext({
|
|
427168
|
+
addTokensState: initialAddTokensState,
|
|
427169
|
+
addTokensDispatch: () => { },
|
|
427170
|
+
});
|
|
427171
|
+
AddTokensContext.displayName = 'AddTokensContext';
|
|
427172
|
+
const addTokensReducer = (state, action) => {
|
|
427173
|
+
switch (action.payload.type) {
|
|
427174
|
+
case AddTokensActions.SET_ID:
|
|
427175
|
+
return {
|
|
427176
|
+
...state,
|
|
427177
|
+
id: action.payload.id,
|
|
427178
|
+
};
|
|
427179
|
+
case AddTokensActions.SET_ALLOWED_TOKENS:
|
|
427180
|
+
return {
|
|
427181
|
+
...state,
|
|
427182
|
+
allowedTokens: action.payload.allowedTokens,
|
|
427183
|
+
};
|
|
427184
|
+
case AddTokensActions.SET_SQUID:
|
|
427185
|
+
return {
|
|
427186
|
+
...state,
|
|
427187
|
+
squid: action.payload.squid,
|
|
427188
|
+
};
|
|
427189
|
+
case AddTokensActions.SET_CHAINS:
|
|
427190
|
+
return {
|
|
427191
|
+
...state,
|
|
427192
|
+
chains: action.payload.chains,
|
|
427193
|
+
};
|
|
427194
|
+
case AddTokensActions.SET_BALANCES:
|
|
427195
|
+
return {
|
|
427196
|
+
...state,
|
|
427197
|
+
balances: action.payload.balances,
|
|
427198
|
+
};
|
|
427199
|
+
case AddTokensActions.SET_TOKENS:
|
|
427200
|
+
return {
|
|
427201
|
+
...state,
|
|
427202
|
+
tokens: action.payload.tokens,
|
|
427203
|
+
};
|
|
427204
|
+
case AddTokensActions.SET_ROUTES:
|
|
427205
|
+
return {
|
|
427206
|
+
...state,
|
|
427207
|
+
routes: action.payload.routes,
|
|
427208
|
+
};
|
|
427209
|
+
case AddTokensActions.SET_SELECTED_ROUTE_DATA:
|
|
427210
|
+
return {
|
|
427211
|
+
...state,
|
|
427212
|
+
selectedRouteData: action.payload.selectedRouteData,
|
|
427213
|
+
};
|
|
427214
|
+
case AddTokensActions.SET_SELECTED_TOKEN:
|
|
427215
|
+
return {
|
|
427216
|
+
...state,
|
|
427217
|
+
selectedToken: action.payload.selectedToken,
|
|
427218
|
+
};
|
|
427219
|
+
case AddTokensActions.SET_SELECTED_AMOUNT:
|
|
427220
|
+
return {
|
|
427221
|
+
...state,
|
|
427222
|
+
selectedAmount: action.payload.selectedAmount,
|
|
427223
|
+
};
|
|
427224
|
+
case AddTokensActions.SET_IS_SWAP_AVAILABLE:
|
|
427225
|
+
return {
|
|
427226
|
+
...state,
|
|
427227
|
+
isSwapAvailable: action.payload.isSwapAvailable,
|
|
427228
|
+
};
|
|
427229
|
+
case AddTokensActions.SET_EXPERIMENTS:
|
|
427230
|
+
return {
|
|
427231
|
+
...state,
|
|
427232
|
+
experiments: action.payload.experiments,
|
|
427233
|
+
};
|
|
427234
|
+
default:
|
|
427235
|
+
return state;
|
|
427236
|
+
}
|
|
427237
|
+
};
|
|
427238
|
+
|
|
427736
427239
|
var AddTokensWidgetViews;
|
|
427737
427240
|
(function (AddTokensWidgetViews) {
|
|
427738
427241
|
AddTokensWidgetViews["ADD_TOKENS"] = "ADD_TOKENS";
|
|
@@ -428394,7 +427897,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
428394
427897
|
await delay(delayMs);
|
|
428395
427898
|
}));
|
|
428396
427899
|
if (!isSwapAllowed) {
|
|
428397
|
-
allRoutes = allRoutes.filter((routeData) => !routeData.route.route.estimate.actions.find((action) => action.type === dist$
|
|
427900
|
+
allRoutes = allRoutes.filter((routeData) => !routeData.route.route.estimate.actions.find((action) => action.type === dist$4.ActionType.SWAP));
|
|
428398
427901
|
}
|
|
428399
427902
|
const sortedRoutes = sortRoutesByFastestTime(allRoutes);
|
|
428400
427903
|
// Only return routes if the request is the latest one
|
|
@@ -428433,6 +427936,31 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
428433
427936
|
};
|
|
428434
427937
|
};
|
|
428435
427938
|
|
|
427939
|
+
var FiatOptionType;
|
|
427940
|
+
(function (FiatOptionType) {
|
|
427941
|
+
FiatOptionType["CREDIT"] = "credit";
|
|
427942
|
+
FiatOptionType["DEBIT"] = "debit";
|
|
427943
|
+
})(FiatOptionType || (FiatOptionType = {}));
|
|
427944
|
+
var AddTokensErrorTypes;
|
|
427945
|
+
(function (AddTokensErrorTypes) {
|
|
427946
|
+
AddTokensErrorTypes["DEFAULT"] = "DEFAULT_ERROR";
|
|
427947
|
+
AddTokensErrorTypes["INVALID_PARAMETERS"] = "INVALID_PARAMETERS";
|
|
427948
|
+
AddTokensErrorTypes["SERVICE_BREAKDOWN"] = "SERVICE_BREAKDOWN";
|
|
427949
|
+
AddTokensErrorTypes["TRANSACTION_FAILED"] = "TRANSACTION_FAILED";
|
|
427950
|
+
AddTokensErrorTypes["UNRECOGNISED_CHAIN"] = "UNRECOGNISED_CHAIN";
|
|
427951
|
+
AddTokensErrorTypes["PROVIDER_ERROR"] = "PROVIDER_ERROR";
|
|
427952
|
+
AddTokensErrorTypes["WALLET_FAILED"] = "WALLET_FAILED";
|
|
427953
|
+
AddTokensErrorTypes["WALLET_REJECTED"] = "WALLET_REJECTED";
|
|
427954
|
+
AddTokensErrorTypes["WALLET_REJECTED_NO_FUNDS"] = "WALLET_REJECTED_NO_FUNDS";
|
|
427955
|
+
AddTokensErrorTypes["WALLET_POPUP_BLOCKED"] = "WALLET_POPUP_BLOCKED";
|
|
427956
|
+
AddTokensErrorTypes["ENVIRONMENT_ERROR"] = "ENVIRONMENT_ERROR";
|
|
427957
|
+
AddTokensErrorTypes["ROUTE_ERROR"] = "ROUTE_ERROR";
|
|
427958
|
+
})(AddTokensErrorTypes || (AddTokensErrorTypes = {}));
|
|
427959
|
+
var AddTokensExperiments;
|
|
427960
|
+
(function (AddTokensExperiments) {
|
|
427961
|
+
AddTokensExperiments["PRESELECTED_TOKEN"] = "addTokensPreselectedToken";
|
|
427962
|
+
})(AddTokensExperiments || (AddTokensExperiments = {}));
|
|
427963
|
+
|
|
428436
427964
|
function WarningHero() {
|
|
428437
427965
|
return (jsx$1(Box, { testId: "warning-hero", sx: {
|
|
428438
427966
|
display: 'flex',
|
|
@@ -431684,6 +431212,16 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
431684
431212
|
};
|
|
431685
431213
|
};
|
|
431686
431214
|
|
|
431215
|
+
function SquidFooter() {
|
|
431216
|
+
const { t } = useTranslation();
|
|
431217
|
+
return (jsx$1(Body, { size: "xSmall", sx: {
|
|
431218
|
+
textAlign: 'center',
|
|
431219
|
+
color: 'base.color.text.body.secondary',
|
|
431220
|
+
}, children: jsx$1(Trans, { i18nKey: t('views.ADD_TOKENS.footer.body'), components: {
|
|
431221
|
+
squidLink: jsx$1(Link, { size: "xSmall", rc: jsx$1("a", { target: "_blank", href: " https://app.squidrouter.com", rel: "noreferrer" }) }),
|
|
431222
|
+
} }) }));
|
|
431223
|
+
}
|
|
431224
|
+
|
|
431687
431225
|
function TokenImage({ src, name, environment, theme, defaultImage, ...forwardedProps }) {
|
|
431688
431226
|
const [error, setError] = reactExports.useState(false);
|
|
431689
431227
|
const url = reactExports.useMemo(() => (!src || error
|
|
@@ -431899,6 +431437,207 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
431899
431437
|
}, children: [getMenuItemImage(), jsx$1(MenuItem.Label, { children: label }), providerInfo?.name ? (jsxs(MenuItem.Caption, { children: [providerInfo?.name, ' • ', jsx$1(EllipsizedText, { text: providerInfo.address ?? '', sx: { c: 'inherit', fontSize: 'inherit' } })] })) : (jsx$1(MenuItem.Caption, { children: caption })), jsx$1(MenuItem.BottomSlot, { children: children })] }));
|
|
431900
431438
|
}
|
|
431901
431439
|
|
|
431440
|
+
/**
|
|
431441
|
+
* Formats a number to a string with a maximum number of decimals
|
|
431442
|
+
* removing trailing zeros
|
|
431443
|
+
*/
|
|
431444
|
+
const getFormattedAmounts = (value, maxDecimals = DEFAULT_TOKEN_FORMATTING_DECIMALS) => {
|
|
431445
|
+
const amount = typeof value === 'number' ? value : parseFloat(value);
|
|
431446
|
+
if (Number.isNaN(amount)) {
|
|
431447
|
+
return '-.--';
|
|
431448
|
+
}
|
|
431449
|
+
if (amount > 0 && amount < 1) {
|
|
431450
|
+
return tokenValueFormat(value, maxDecimals).replace(/\.?0+$/, '');
|
|
431451
|
+
}
|
|
431452
|
+
return tokenValueFormat(amount, maxDecimals);
|
|
431453
|
+
};
|
|
431454
|
+
/**
|
|
431455
|
+
* Converts a crypto amount to a formatted string
|
|
431456
|
+
*/
|
|
431457
|
+
function getFormattedNumber(value, decimals, maxDecimals = 5) {
|
|
431458
|
+
const amount = String(value);
|
|
431459
|
+
let formattedValue = '';
|
|
431460
|
+
try {
|
|
431461
|
+
if (Number.isNaN(amount) || !decimals) {
|
|
431462
|
+
throw new Error('Invalid amount or decimals');
|
|
431463
|
+
}
|
|
431464
|
+
formattedValue = formatUnits(BigNumber$1.from(amount), decimals)
|
|
431465
|
+
.toString();
|
|
431466
|
+
}
|
|
431467
|
+
catch {
|
|
431468
|
+
return '-.--';
|
|
431469
|
+
}
|
|
431470
|
+
return getFormattedAmounts(formattedValue, maxDecimals);
|
|
431471
|
+
}
|
|
431472
|
+
|
|
431473
|
+
const emptyRouteBalance = {
|
|
431474
|
+
routeBalance: getFormattedAmounts(''),
|
|
431475
|
+
routeBalanceUsd: getFormattedAmounts(''),
|
|
431476
|
+
fromAmount: getFormattedAmounts(''),
|
|
431477
|
+
fromAmountUsd: getFormattedAmounts(''),
|
|
431478
|
+
};
|
|
431479
|
+
function getRouteAndTokenBalances(routeData) {
|
|
431480
|
+
if (!routeData) {
|
|
431481
|
+
return emptyRouteBalance;
|
|
431482
|
+
}
|
|
431483
|
+
const usdPrice = routeData?.route.route.estimate.fromToken.usdPrice;
|
|
431484
|
+
if (!usdPrice) {
|
|
431485
|
+
return emptyRouteBalance;
|
|
431486
|
+
}
|
|
431487
|
+
const { balance } = routeData.amountData;
|
|
431488
|
+
const routeBalance = getFormattedNumber(balance.balance, balance?.decimals, balance?.decimals);
|
|
431489
|
+
const routeBalanceUsd = (parseFloat(routeBalance) * usdPrice).toString();
|
|
431490
|
+
const fromAmount = getFormattedNumber(routeData.route.route.estimate.fromAmount, routeData.route.route.estimate.fromToken.decimals);
|
|
431491
|
+
const fromAmountUsd = getFormattedAmounts(routeData.route.route.estimate.fromAmountUSD ?? '');
|
|
431492
|
+
return {
|
|
431493
|
+
fromAmount,
|
|
431494
|
+
fromAmountUsd,
|
|
431495
|
+
routeBalance: getFormattedAmounts(routeBalance),
|
|
431496
|
+
routeBalanceUsd: getFormattedAmounts(routeBalanceUsd),
|
|
431497
|
+
};
|
|
431498
|
+
}
|
|
431499
|
+
|
|
431500
|
+
/**
|
|
431501
|
+
* Get the total fees for a route
|
|
431502
|
+
*/
|
|
431503
|
+
function getTotalRouteFees(route) {
|
|
431504
|
+
const [fees, feesUsd] = route?.route.estimate.feeCosts.reduce(([acc, accUsd], fee) => [
|
|
431505
|
+
acc + parseFloat(fee.amount),
|
|
431506
|
+
accUsd + parseFloat(fee.amountUsd),
|
|
431507
|
+
], [0, 0]) ?? [0, 0];
|
|
431508
|
+
const [gasFees, gasFeesUsd] = route?.route.estimate.gasCosts.reduce(([acc, accUsd], fee) => [
|
|
431509
|
+
acc + parseFloat(fee.amount),
|
|
431510
|
+
accUsd + parseFloat(fee.amountUsd),
|
|
431511
|
+
], [0, 0]) ?? [0, 0];
|
|
431512
|
+
const totalFees = fees + gasFees;
|
|
431513
|
+
const totalFeesUsd = feesUsd + gasFeesUsd;
|
|
431514
|
+
return {
|
|
431515
|
+
fees,
|
|
431516
|
+
feesUsd,
|
|
431517
|
+
gasFees,
|
|
431518
|
+
gasFeesUsd,
|
|
431519
|
+
totalFees,
|
|
431520
|
+
totalFeesUsd,
|
|
431521
|
+
};
|
|
431522
|
+
}
|
|
431523
|
+
|
|
431524
|
+
function getDurationFormatted(estimatedRouteDuration, minutesText, minuteText, secondText) {
|
|
431525
|
+
const seconds = estimatedRouteDuration;
|
|
431526
|
+
if (seconds >= 60) {
|
|
431527
|
+
const minutes = Math.round(seconds / 60);
|
|
431528
|
+
return minutes === 1 ? `1 ${minuteText}` : `${minutes} ${minutesText}`;
|
|
431529
|
+
}
|
|
431530
|
+
return `${seconds.toFixed(0)}${secondText}`;
|
|
431531
|
+
}
|
|
431532
|
+
|
|
431533
|
+
function RouteOption({ routeData, onClick, chains, disabled = false, isFastest = false, size = 'small', rc = jsx$1("span", {}), selected = false, }) {
|
|
431534
|
+
const { t } = useTranslation();
|
|
431535
|
+
const { fromToken } = routeData.amountData;
|
|
431536
|
+
const { estimate } = routeData.route.route;
|
|
431537
|
+
const chain = chains?.find((c) => c.id === fromToken.chainId);
|
|
431538
|
+
const estimatedDurationFormatted = getDurationFormatted(estimate.estimatedRouteDuration, t('views.ADD_TOKENS.routeSelection.minutesText'), t('views.ADD_TOKENS.routeSelection.minuteText'), t('views.ADD_TOKENS.routeSelection.secondsText'));
|
|
431539
|
+
const { totalFeesUsd } = reactExports.useMemo(() => getTotalRouteFees(routeData.route), [routeData]);
|
|
431540
|
+
const { routeBalanceUsd, fromAmount, fromAmountUsd } = reactExports.useMemo(() => getRouteAndTokenBalances(routeData), [routeData]);
|
|
431541
|
+
const handleClick = () => {
|
|
431542
|
+
onClick(routeData);
|
|
431543
|
+
};
|
|
431544
|
+
const menuItemProps = {
|
|
431545
|
+
selected,
|
|
431546
|
+
disabled,
|
|
431547
|
+
emphasized: true,
|
|
431548
|
+
rc,
|
|
431549
|
+
size,
|
|
431550
|
+
onClick: disabled ? undefined : handleClick,
|
|
431551
|
+
};
|
|
431552
|
+
return (jsxs(MenuItem, { ...menuItemProps, children: [jsx$1(MenuItem.Label, { children: fromToken.name }), chain && (jsxs(Sticker, { position: { x: 'right', y: 'bottom' }, children: [jsx$1(Sticker.FramedImage, { use: jsx$1("img", { src: chain.iconUrl, alt: chain.name }), size: "xSmall" }), jsx$1(MenuItem.FramedImage, { circularFrame: true, use: jsx$1("img", { src: fromToken.iconUrl, alt: fromToken.name }) })] })), jsxs(MenuItem.Caption, { children: [`${t('views.ADD_TOKENS.fees.balance')} ${t('views.ADD_TOKENS.fees.fiatPricePrefix')} $${routeBalanceUsd}`, routeData.isInsufficientGas && (jsxs(Fragment$1, { children: [jsx$1("br", {}), jsx$1("span", { style: { color: '#FF637F' }, children: t('views.ADD_TOKENS.noGasRouteMessage', {
|
|
431553
|
+
token: routeData.route.route.estimate.gasCosts[0].token.symbol,
|
|
431554
|
+
}) })] }))] }), jsx$1(MenuItem.PriceDisplay, { price: fromAmount, children: jsx$1(MenuItem.PriceDisplay.Caption, { children: `${t('views.ADD_TOKENS.fees.fiatPricePrefix')} $${fromAmountUsd}` }) }), jsxs(MenuItem.BottomSlot, { children: [jsx$1(MenuItem.BottomSlot.Divider, {}), jsxs(Stack, { rc: jsx$1("span", {}), direction: "row", justifyContent: "space-between", sx: {
|
|
431555
|
+
w: '100%',
|
|
431556
|
+
}, children: [jsxs(Body, { sx: {
|
|
431557
|
+
...hFlex,
|
|
431558
|
+
...centerFlexChildren,
|
|
431559
|
+
gap: 'base.spacing.x1',
|
|
431560
|
+
c: 'base.color.text.body.secondary',
|
|
431561
|
+
}, size: "xSmall", children: [jsx$1(Icon, { icon: "Countdown", sx: {
|
|
431562
|
+
w: 'base.icon.size.200',
|
|
431563
|
+
fill: 'base.color.text.body.secondary',
|
|
431564
|
+
}, variant: "bold" }), estimatedDurationFormatted] }), jsxs(Body, { size: "xSmall", sx: { ...hFlex, ...centerFlexChildren }, children: [isFastest && (jsx$1(Badge, { badgeContent: t('views.ADD_TOKENS.routeSelection.fastestBadge'), variant: "emphasis", sx: { mr: 'base.spacing.x2' } })), `${t('views.ADD_TOKENS.fees.fee')} ${t('views.ADD_TOKENS.fees.fiatPricePrefix')}
|
|
431565
|
+
$${getFormattedAmounts(totalFeesUsd)}`] })] })] })] }));
|
|
431566
|
+
}
|
|
431567
|
+
|
|
431568
|
+
function FiatOption({ type, onClick, disabled = false, size = 'small', rc = jsx$1("span", {}), }) {
|
|
431569
|
+
const { t } = useTranslation();
|
|
431570
|
+
const icon = {
|
|
431571
|
+
[FiatOptionType.DEBIT]: 'BankCard',
|
|
431572
|
+
[FiatOptionType.CREDIT]: 'Craft',
|
|
431573
|
+
};
|
|
431574
|
+
const handleClick = () => {
|
|
431575
|
+
onClick?.(type);
|
|
431576
|
+
};
|
|
431577
|
+
const menuItemProps = {
|
|
431578
|
+
disabled,
|
|
431579
|
+
emphasized: true,
|
|
431580
|
+
onClick: disabled ? undefined : handleClick,
|
|
431581
|
+
size,
|
|
431582
|
+
rc,
|
|
431583
|
+
};
|
|
431584
|
+
return (jsxs(MenuItem, { ...menuItemProps, children: [jsx$1(MenuItem.FramedIcon, { icon: icon[type], variant: "bold", emphasized: false }), jsx$1(MenuItem.Label, { children: t(`views.ADD_TOKENS.drawer.options.${type}.heading`) }), jsx$1(MenuItem.Caption, { children: t(`views.ADD_TOKENS.drawer.options.${type}.${disabled ? 'disabledCaption' : 'caption'}`) }), !disabled && jsx$1(MenuItem.IntentIcon, {})] }));
|
|
431585
|
+
}
|
|
431586
|
+
|
|
431587
|
+
const defaultFiatOptions = [
|
|
431588
|
+
FiatOptionType.DEBIT,
|
|
431589
|
+
FiatOptionType.CREDIT,
|
|
431590
|
+
];
|
|
431591
|
+
function RouteOptions({ checkout, routes, chains, onCardClick, onRouteClick, size, showOnrampOption, insufficientBalance, selectedIndex, }) {
|
|
431592
|
+
const { t } = useTranslation();
|
|
431593
|
+
// @NOTE: early exit with loading related UI, when the
|
|
431594
|
+
// routes are not yet available
|
|
431595
|
+
if (!routes?.length && !insufficientBalance) {
|
|
431596
|
+
return (jsxs(Stack, { sx: { pt: 'base.spacing.x3' }, alignItems: "stretch", gap: "base.spacing.x1", children: [jsx$1(MenuItem, { shimmer: "withBottomSlot", size: "small", emphasized: true }), jsx$1(MenuItem, { shimmer: "withBottomSlot", size: "small", emphasized: true }), jsxs(Body, { sx: { textAlign: 'center', mt: 'base.spacing.x6' }, size: "small", children: [t('views.ADD_TOKENS.drawer.options.loadingText1'), jsx$1("br", {}), t('views.ADD_TOKENS.drawer.options.loadingText2')] }), jsx$1(FramedVideo, { mimeType: "video/mp4", videoUrl: getRemoteVideo(checkout.config.environment, '/loading_bubble-small.mp4'), sx: { alignSelf: 'center', mt: 'base.spacing.x2' }, size: "large", circularFrame: true })] }));
|
|
431597
|
+
}
|
|
431598
|
+
const noRoutes = !(!insufficientBalance || routes?.length);
|
|
431599
|
+
return (jsxs(Stack, { sx: { py: 'base.spacing.x3' }, alignItems: "stretch", gap: "base.spacing.x1", testId: "options-list", justifyContent: "center", rc: jsx$1(motion.div, { variants: listVariants, initial: "hidden", animate: "show" }), children: [routes?.map((routeData, index) => (jsx$1(RouteOption, { size: size, routeData: routeData, chains: chains, onClick: () => onRouteClick(routeData, index), isFastest: index === 0, selected: index === selectedIndex, rc: jsx$1(motion.div, { variants: listItemVariants }) }, `route-option-${routeData.amountData.fromToken.chainId}-${routeData.amountData.fromToken.address}`))), noRoutes && (jsxs(Banner, { children: [jsx$1(Banner.Icon, { icon: "InformationCircle" }), jsx$1(Banner.Title, { children: t('views.ADD_TOKENS.drawer.options.noRoutes.heading') }), jsx$1(Banner.Caption, { children: t('views.ADD_TOKENS.drawer.options.noRoutes.caption') })] })), showOnrampOption && (jsxs(Fragment$1, { children: [jsx$1(Divider, { size: "xSmall", sx: { my: 'base.spacing.x2' }, children: t('views.ADD_TOKENS.drawer.options.moreOptionsDividerText') }), defaultFiatOptions.map((type, idx) => (jsx$1(FiatOption, { type: type, size: size, onClick: onCardClick, rc: jsx$1(motion.div, { custom: idx, variants: listItemVariants }) }, `fiat-option-${type}`)))] }))] }));
|
|
431600
|
+
}
|
|
431601
|
+
|
|
431602
|
+
function RouteOptionsDrawer({ checkout, routes, visible, onClose, onRouteClick, onCardClick, showOnrampOption,
|
|
431603
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
431604
|
+
showSwapOption,
|
|
431605
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
431606
|
+
showBridgeOption, insufficientBalance, }) {
|
|
431607
|
+
const { t } = useTranslation();
|
|
431608
|
+
const { track } = useAnalytics();
|
|
431609
|
+
const { addTokensState: { id, chains }, } = reactExports.useContext(AddTokensContext);
|
|
431610
|
+
const { providersState: { fromProviderInfo, fromAddress }, } = useProvidersContext();
|
|
431611
|
+
const selectedRouteIndex = reactExports.useRef(0);
|
|
431612
|
+
const handleOnRouteClick = (route, index) => {
|
|
431613
|
+
selectedRouteIndex.current = index;
|
|
431614
|
+
onRouteClick(route);
|
|
431615
|
+
};
|
|
431616
|
+
reactExports.useEffect(() => {
|
|
431617
|
+
if (!visible) {
|
|
431618
|
+
return;
|
|
431619
|
+
}
|
|
431620
|
+
track({
|
|
431621
|
+
userJourney: UserJourney.ADD_TOKENS,
|
|
431622
|
+
screen: 'InputScreen',
|
|
431623
|
+
control: 'RoutesMenu',
|
|
431624
|
+
controlType: 'MenuItem',
|
|
431625
|
+
action: 'Opened',
|
|
431626
|
+
extras: {
|
|
431627
|
+
contextId: id,
|
|
431628
|
+
showOnrampOption: Boolean(showOnrampOption),
|
|
431629
|
+
showSwapOption: Boolean(showSwapOption),
|
|
431630
|
+
insufficientBalance: Boolean(insufficientBalance),
|
|
431631
|
+
routesAvailable: routes?.length ?? 0,
|
|
431632
|
+
},
|
|
431633
|
+
});
|
|
431634
|
+
}, [visible]);
|
|
431635
|
+
return (jsx$1(Drawer, { size: "full", visible: visible, showHeaderBar: false, onCloseDrawer: onClose, children: jsxs(Drawer.Content, { rc: jsx$1(motion.div, { variants: listVariants, initial: "hidden", animate: "show" }), sx: {
|
|
431636
|
+
pt: 'base.spacing.x3',
|
|
431637
|
+
px: 'base.spacing.x3',
|
|
431638
|
+
}, children: [jsxs(MenuItem, { size: "xSmall", children: [jsx$1(MenuItem.FramedImage, { padded: true, emphasized: true, use: (jsx$1("img", { src: fromProviderInfo?.icon, alt: fromProviderInfo?.name })), sx: { mx: 'base.spacing.x2' } }), jsx$1(MenuItem.Label, { children: t('views.ADD_TOKENS.drawer.options.heading') }), jsxs(MenuItem.Caption, { children: [fromProviderInfo?.name, ' • ', jsx$1(EllipsizedText, { text: fromAddress ?? '', sx: { c: 'inherit', fontSize: 'inherit' } })] }), jsx$1(MenuItem.StatefulButtCon, { icon: "ChevronExpand", onClick: onClose })] }), jsx$1(RouteOptions, { size: "small", checkout: checkout, routes: routes, chains: chains, onCardClick: onCardClick, onRouteClick: handleOnRouteClick, showOnrampOption: showOnrampOption, insufficientBalance: insufficientBalance, selectedIndex: selectedRouteIndex.current })] }) }));
|
|
431639
|
+
}
|
|
431640
|
+
|
|
431902
431641
|
function SelectedRouteOptionContainer({ children, onClick, selected, }) {
|
|
431903
431642
|
return (jsx$1(Stack, { direction: "row", alignItems: "center", gap: "base.spacing.x4", sx: {
|
|
431904
431643
|
ml: ({ base }) => (selected
|
|
@@ -432013,7 +431752,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
432013
431752
|
fromAmount: route.amountData.fromAmount,
|
|
432014
431753
|
isBridge: route.amountData.toToken.chainId !== route.amountData.fromToken.chainId,
|
|
432015
431754
|
isSwap: route.amountData.toToken.chainId === route.amountData.fromToken.chainId,
|
|
432016
|
-
hasEmbeddedSwap: !!route.route.route.estimate.actions.find((action) => action.type === dist$
|
|
431755
|
+
hasEmbeddedSwap: !!route.route.route.estimate.actions.find((action) => action.type === dist$4.ActionType.SWAP),
|
|
432017
431756
|
isInsufficientGas: route.isInsufficientGas,
|
|
432018
431757
|
},
|
|
432019
431758
|
});
|