@imtbl/passport 2.10.7-alpha.6 → 2.10.7-alpha.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/browser/index.js +410 -10
  2. package/dist/node/index.cjs +437 -29
  3. package/dist/node/index.js +410 -10
  4. package/dist/types/Passport.d.ts +70 -68
  5. package/dist/types/Passport.int.test.d.ts +1 -0
  6. package/dist/types/Passport.test.d.ts +1 -0
  7. package/dist/types/authManager.d.ts +61 -0
  8. package/dist/types/authManager.test.d.ts +1 -0
  9. package/dist/types/config/config.d.ts +1 -3
  10. package/dist/types/confirmation/confirmation.d.ts +28 -0
  11. package/dist/types/confirmation/confirmation.test.d.ts +1 -0
  12. package/dist/types/confirmation/embeddedLoginPrompt.d.ts +10 -0
  13. package/dist/types/confirmation/embeddedLoginPrompt.test.d.ts +1 -0
  14. package/dist/types/confirmation/index.d.ts +3 -0
  15. package/dist/types/confirmation/popup.d.ts +8 -0
  16. package/dist/types/confirmation/popup.test.d.ts +1 -0
  17. package/dist/types/confirmation/types.d.ts +33 -0
  18. package/dist/types/errors/passportError.d.ts +1 -2
  19. package/dist/types/guardian/index.d.ts +58 -0
  20. package/dist/types/guardian/index.test.d.ts +1 -0
  21. package/dist/types/index.d.ts +4 -4
  22. package/dist/types/magic/index.d.ts +1 -0
  23. package/dist/types/magic/magicTEESigner.d.ts +24 -0
  24. package/dist/types/magic/magicTEESigner.test.d.ts +1 -0
  25. package/dist/types/mocks/zkEvm/msw.d.ts +39 -0
  26. package/dist/types/network/chains.d.ts +32 -0
  27. package/dist/types/network/constants.d.ts +3 -0
  28. package/dist/types/network/retry.d.ts +8 -0
  29. package/dist/types/network/retry.test.d.ts +1 -0
  30. package/dist/types/overlay/confirmationOverlay.d.ts +17 -0
  31. package/dist/types/overlay/confirmationOverlay.test.d.ts +1 -0
  32. package/dist/types/overlay/constants.d.ts +7 -0
  33. package/dist/types/overlay/elements.d.ts +12 -0
  34. package/dist/types/overlay/embeddedLoginPromptOverlay.d.ts +7 -0
  35. package/dist/types/overlay/embeddedLoginPromptOverlay.test.d.ts +1 -0
  36. package/dist/types/starkEx/passportImxProvider.d.ts +9 -9
  37. package/dist/types/starkEx/passportImxProvider.test.d.ts +1 -0
  38. package/dist/types/starkEx/passportImxProviderFactory.d.ts +9 -9
  39. package/dist/types/starkEx/passportImxProviderFactory.test.d.ts +1 -0
  40. package/dist/types/starkEx/workflows/exchange.test.d.ts +1 -0
  41. package/dist/types/starkEx/workflows/order.d.ts +3 -3
  42. package/dist/types/starkEx/workflows/order.test.d.ts +1 -0
  43. package/dist/types/starkEx/workflows/registerOffchain.d.ts +3 -2
  44. package/dist/types/starkEx/workflows/registerOffchain.test.d.ts +1 -0
  45. package/dist/types/starkEx/workflows/trades.d.ts +2 -2
  46. package/dist/types/starkEx/workflows/trades.test.d.ts +1 -0
  47. package/dist/types/starkEx/workflows/transfer.d.ts +3 -3
  48. package/dist/types/starkEx/workflows/transfer.test.d.ts +1 -0
  49. package/dist/types/storage/LocalForageAsyncStorage.d.ts +11 -0
  50. package/dist/types/storage/device_credentials_manager.d.ts +6 -0
  51. package/dist/types/test/mocks.d.ts +56 -0
  52. package/dist/types/types.d.ts +81 -22
  53. package/dist/types/utils/metrics.d.ts +1 -0
  54. package/dist/types/utils/metrics.test.d.ts +1 -0
  55. package/dist/types/utils/string.d.ts +1 -0
  56. package/dist/types/utils/string.test.d.ts +1 -0
  57. package/dist/types/utils/token.d.ts +2 -0
  58. package/dist/types/utils/token.test.d.ts +1 -0
  59. package/dist/types/utils/typedEventEmitter.d.ts +6 -0
  60. package/dist/types/utils/typedEventEmitter.test.d.ts +1 -0
  61. package/dist/types/zkEvm/JsonRpcError.d.ts +25 -0
  62. package/dist/types/zkEvm/index.d.ts +2 -0
  63. package/dist/types/zkEvm/personalSign.d.ts +15 -0
  64. package/dist/types/zkEvm/personalSign.test.d.ts +1 -0
  65. package/dist/types/zkEvm/provider/eip6963.d.ts +3 -0
  66. package/dist/types/zkEvm/relayerClient.d.ts +60 -0
  67. package/dist/types/zkEvm/relayerClient.test.d.ts +1 -0
  68. package/dist/types/zkEvm/sendDeployTransactionAndPersonalSign.d.ts +6 -0
  69. package/dist/types/zkEvm/sendDeployTransactionAndPersonalSign.test.d.ts +1 -0
  70. package/dist/types/zkEvm/sendTransaction.d.ts +6 -0
  71. package/dist/types/zkEvm/sendTransaction.test.d.ts +1 -0
  72. package/dist/types/zkEvm/sessionActivity/errorBoundary.d.ts +1 -0
  73. package/dist/types/zkEvm/sessionActivity/request.d.ts +15 -0
  74. package/dist/types/zkEvm/sessionActivity/sessionActivity.d.ts +2 -0
  75. package/dist/types/zkEvm/signEjectionTransaction.d.ts +6 -0
  76. package/dist/types/zkEvm/signEjectionTransaction.test.d.ts +1 -0
  77. package/dist/types/zkEvm/signTypedDataV4.d.ts +14 -0
  78. package/dist/types/zkEvm/signTypedDataV4.test.d.ts +1 -0
  79. package/dist/types/zkEvm/transactionHelpers.d.ts +31 -0
  80. package/dist/types/zkEvm/transactionHelpers.test.d.ts +1 -0
  81. package/dist/types/zkEvm/types.d.ts +120 -0
  82. package/dist/types/zkEvm/user/index.d.ts +1 -0
  83. package/dist/types/zkEvm/user/registerZkEvmUser.d.ts +13 -0
  84. package/dist/types/zkEvm/user/registerZkEvmUser.test.d.ts +1 -0
  85. package/dist/types/zkEvm/walletHelpers.d.ts +33 -0
  86. package/dist/types/zkEvm/walletHelpers.test.d.ts +1 -0
  87. package/dist/types/zkEvm/zkEvmProvider.d.ts +25 -0
  88. package/dist/types/zkEvm/zkEvmProvider.test.d.ts +1 -0
  89. package/package.json +17 -11
  90. package/dist/types/starkEx/imxGuardianClient.d.ts +0 -18
  91. package/dist/types/utils/imxUser.d.ts +0 -9
@@ -1,14 +1,414 @@
1
- import ae, { isAxiosError } from 'axios';
2
- import { MultiRollupApiClients, MagicTeeApiClients, createConfig, multiRollupConfig, mr, ImxApiClients, imxApiConfig } from '@imtbl/generated-clients';
1
+ import kr, { isAxiosError } from 'axios';
2
+ import * as yt from '@imtbl/generated-clients';
3
+ import { MagicTeeApiClients, MultiRollupApiClients, createConfig, multiRollupConfig, ImxApiClients, imxApiConfig } from '@imtbl/generated-clients';
3
4
  import { IMXClient, generateLegacyStarkPrivateKey, createStarkSigner } from '@imtbl/x-client';
4
5
  import { Environment } from '@imtbl/config';
5
- import { setPassportClientId, trackFlow, trackError } from '@imtbl/metrics';
6
- import { isUserZkEvm, Auth, AuthEvents } from '@imtbl/auth';
7
- import { ConfirmationScreen, WalletConfiguration, GuardianClient, MagicTEESigner, connectWallet, retryWithDelay } from '@imtbl/wallet';
8
- export { JsonRpcError, ProviderErrorCode, ProviderEvent, RpcErrorCode } from '@imtbl/wallet';
9
- import Y from 'jwt-decode';
10
- import { convertToSignableToken, signRaw } from '@imtbl/toolkit';
6
+ import { utils, setPassportClientId, track, identify, trackFlow, trackError, getDetail, Detail, trackDuration } from '@imtbl/metrics';
7
+ import { UserManager, User, ErrorTimeout, ErrorResponse, InMemoryWebStorage, WebStorageStateStore } from 'oidc-client-ts';
8
+ import Yt from 'jwt-decode';
9
+ import Wi from 'localforage';
10
+ import { AbstractSigner, JsonRpcProvider, toBeHex, Contract, isError, ZeroAddress, TypedDataEncoder, keccak256, getBytes, hashMessage, stripZerosLeft, toUtf8String, solidityPacked, Interface, AbiCoder } from 'ethers';
11
+ import { signRaw, convertToSignableToken } from '@imtbl/toolkit';
12
+ import { EventEmitter } from 'events';
13
+ import { walletContracts } from '@0xsequence/abi';
14
+ import { v1 } from '@0xsequence/core';
15
+ import { v4 } from 'uuid';
11
16
 
12
- function J(t){return "code"in t&&"message"in t}var n=class extends Error{type;constructor(e,r){super(e),this.type=r;}},f=async(t,e)=>{try{return await t()}catch(r){let i;throw r instanceof n&&r.type==="SERVICE_UNAVAILABLE_ERROR"?new n(r.message,r.type):(isAxiosError(r)&&r.response?.data&&J(r.response.data)?i=r.response.data.message:i=r.message,new n(i,e))}};var C=t=>{if(!t.idToken)throw new n("User has been logged out","NOT_LOGGED_IN_ERROR");let r=Y(t.idToken).passport;if(!r?.imx_eth_address||!r?.imx_stark_address||!r?.imx_user_admin_address)throw new n("User has not been registered with StarkEx","USER_NOT_REGISTERED_ERROR");return {...t,imx:{ethAddress:r.imx_eth_address,starkAddress:r.imx_stark_address,userAdminAddress:r.imx_user_admin_address}}};var v=async t=>f(async()=>{let e=await generateLegacyStarkPrivateKey(t);return createStarkSigner(e)},"WALLET_CONNECTION_ERROR");async function w({user:t,starkSigner:e,request:r,exchangesApi:i}){return f(async()=>{let{ethAddress:a}=t.imx,s=r.amount,l=await i.getExchangeSignableTransfer({id:r.transactionID,getSignableTransferRequest:{sender:a,token:convertToSignableToken(r),amount:s,receiver:r.receiver}}),o=await e.getAddress(),{payload_hash:m}=l.data,p=await e.signMessage(m),c={sender_stark_key:l.data.sender_stark_key||o,sender_vault_id:l.data.sender_vault_id,receiver_stark_key:l.data.receiver_stark_key,receiver_vault_id:l.data.receiver_vault_id,asset_id:l.data.asset_id,amount:l.data.amount,nonce:l.data.nonce,expiration_timestamp:l.data.expiration_timestamp,stark_signature:p},u={Authorization:`Bearer ${t.accessToken}`},d=await i.createExchangeTransfer({id:r.transactionID,createTransferRequest:c},{headers:u});return {sent_signature:d?.data.sent_signature,status:d?.data.status?.toString(),time:d?.data.time,transfer_id:d?.data.transfer_id}},"EXCHANGE_TRANSFER_ERROR")}var L="ERC721";async function N({starkSigner:t,user:e,request:r,ordersApi:i,guardianClient:a}){return f(async()=>{let{ethAddress:s}=e.imx,l=r.sell.type===L?"1":r.sell.amount,o=r.buy.type===L?"1":r.buy.amount,m={Authorization:`Bearer ${e.accessToken}`},p={user:s,amount_buy:o,token_buy:convertToSignableToken(r.buy),amount_sell:l,token_sell:convertToSignableToken(r.sell),fees:r.fees,split_fees:!0,expiration_timestamp:r.expiration_timestamp},c=await i.getSignableOrder({getSignableOrderRequestV3:p},{headers:m});await a.evaluateTransaction(c.data.payload_hash);let{payload_hash:u}=c.data,d=await t.signMessage(u),h=c.data,O={createOrderRequest:{include_fees:!0,fees:r.fees,stark_signature:d,amount_buy:h.amount_buy,amount_sell:h.amount_sell,asset_id_buy:h.asset_id_buy,asset_id_sell:h.asset_id_sell,expiration_timestamp:h.expiration_timestamp,nonce:h.nonce,stark_key:h.stark_key,vault_id_buy:h.vault_id_buy,vault_id_sell:h.vault_id_sell}};return {...(await i.createOrderV3(O,{headers:m})).data}},"CREATE_ORDER_ERROR")}async function D({user:t,starkSigner:e,request:r,ordersApi:i,guardianClient:a}){return f(async()=>{let s={order_id:r.order_id},l={Authorization:`Bearer ${t.accessToken}`},o=await i.getSignableCancelOrderV3({getSignableCancelOrderRequest:s},{headers:l});await a.evaluateTransaction(o.data.payload_hash);let{payload_hash:m}=o.data,p=await e.signMessage(m),c=await i.cancelOrderV3({id:r.order_id.toString(),cancelOrderRequest:{order_id:r.order_id,stark_signature:p}},{headers:l});return {order_id:c.data.order_id,status:c.data.status}},"CANCEL_ORDER_ERROR")}async function I({ethSigner:t,starkSigner:e,imxApiClients:r},i){return f(async()=>{let[a,s]=await Promise.all([t.getAddress(),e.getAddress()]),l=await r.usersApi.getSignableRegistrationOffchain({getSignableRegistrationRequest:{ether_key:a,stark_key:s}}),{signable_message:o,payload_hash:m}=l.data,[p,c]=await Promise.all([signRaw(o,t),e.signMessage(m)]);return (await r.usersApi.registerPassportUserV2({authorization:`Bearer ${i}`,registerPassportUserRequest:{eth_signature:p,ether_key:a,stark_signature:c,stark_key:s}})).data},"USER_REGISTRATION_ERROR")}async function G({request:t,tradesApi:e,user:r,starkSigner:i,guardianClient:a}){return f(async()=>{let{ethAddress:s}=r.imx,l={expiration_timestamp:t.expiration_timestamp,fees:t.fees,order_id:t.order_id,user:s},o={Authorization:`Bearer ${r.accessToken}`},m=await e.getSignableTrade({getSignableTradeRequest:l},{headers:o});await a.evaluateTransaction(m.data.payload_hash);let{payload_hash:p}=m.data,c=await i.signMessage(p),{data:u}=m,d={createTradeRequest:{include_fees:!0,fees:t?.fees,stark_signature:c,order_id:t?.order_id,fee_info:u.fee_info,amount_buy:u.amount_buy,amount_sell:u.amount_sell,asset_id_buy:u.asset_id_buy,asset_id_sell:u.asset_id_sell,expiration_timestamp:u.expiration_timestamp,nonce:u.nonce,stark_key:u.stark_key,vault_id_buy:u.vault_id_buy,vault_id_sell:u.vault_id_sell}},{data:h}=await e.createTradeV3(d,{headers:o});return h},"CREATE_TRADE_ERROR")}var B="ERC721";async function W({request:t,transfersApi:e,starkSigner:r,user:i,guardianClient:a}){return f(async()=>{let s=t.type===B?"1":t.amount,l={sender:i.imx.ethAddress,token:convertToSignableToken(t),amount:s,receiver:t.receiver},o={Authorization:`Bearer ${i.accessToken}`},m=await e.getSignableTransferV1({getSignableTransferRequest:l},{headers:o});await a.evaluateTransaction(m.data.payload_hash);let p=m.data,{payload_hash:c}=p,u=await r.signMessage(c),d=await r.getAddress(),O={createTransferRequest:{sender_stark_key:p.sender_stark_key||d,sender_vault_id:p.sender_vault_id,receiver_stark_key:p.receiver_stark_key,receiver_vault_id:p.receiver_vault_id,asset_id:p.asset_id,amount:p.amount,nonce:p.nonce,expiration_timestamp:p.expiration_timestamp,stark_signature:u}},{data:y}=await e.createTransferV1(O,{headers:o});return {sent_signature:y.sent_signature,status:y.status?.toString(),time:y.time,transfer_id:y.transfer_id}},"TRANSFER_ERROR")}async function K({user:t,starkSigner:e,request:r,transfersApi:i,guardianClient:a}){return f(async()=>{let{ethAddress:s}=t.imx,l=r.map(d=>({amount:"1",token:convertToSignableToken({type:B,tokenId:d.tokenId,tokenAddress:d.tokenAddress}),receiver:d.receiver})),o={Authorization:`Bearer ${t.accessToken}`},m=await i.getSignableTransfer({getSignableTransferRequestV2:{sender_ether_key:s,signable_requests:l}},{headers:o});await a.evaluateTransaction(m.data.signable_responses[0]?.payload_hash);let p=await Promise.all(m.data.signable_responses.map(async d=>{let h=await e.signMessage(d.payload_hash);return {sender_vault_id:d.sender_vault_id,receiver_stark_key:d.receiver_stark_key,receiver_vault_id:d.receiver_vault_id,asset_id:d.asset_id,amount:d.amount,nonce:d.nonce,expiration_timestamp:d.expiration_timestamp,stark_signature:h}})),c={sender_stark_key:m.data.sender_stark_key,requests:p};return {transfer_ids:(await i.createTransfer({createTransferRequestV2:c},{headers:o}))?.data.transfer_ids}},"TRANSFER_ERROR")}async function X(t){await retryWithDelay(async()=>{let e=await t.forceUserRefresh();if(!e)return Promise.reject(new Error("user wallet addresses not exist"));try{return C(e),e}catch{return Promise.reject(new Error("user wallet addresses not exist"))}});}async function S(t,e,r,i,a){return f(async()=>{try{let s=await I({ethSigner:t,starkSigner:e,imxApiClients:a},r.accessToken);return await X(i),s}catch(s){if(ae.isAxiosError(s)&&s.response?.status===409)return await X(i),{tx_hash:""};throw s}},"USER_REGISTRATION_ERROR")}var E=async(t,e,r=!0,i=!0)=>{let a=trackFlow("passport",e,r);try{return await t(a)}catch(s){throw s instanceof Error?trackError("passport",e,s,{flowId:a.details.flowId}):a.addEvent("errored"),s}finally{i&&a.addEvent("End");}};var x=class{auth;immutableXClient;guardianClient;imxApiClients;magicTEESigner;imxGuardianClient;starkSigner;signerInitialisationError;constructor({auth:e,immutableXClient:r,passportEventEmitter:i,magicTEESigner:a,imxApiClients:s,guardianClient:l,imxGuardianClient:o}){this.auth=e,this.immutableXClient=r,this.magicTEESigner=a,this.imxApiClients=s,this.guardianClient=l,this.imxGuardianClient=o,this.#i(),i.on(AuthEvents.LOGGED_OUT,this.handleLogout);}handleLogout=()=>{this.starkSigner=void 0;};#i(){this.starkSigner=new Promise(async e=>{try{e(await v(this.magicTEESigner));}catch(r){this.signerInitialisationError=r,e(void 0);}});}async#r(){let e=await this.auth.getUser();if(!e||!this.starkSigner)throw new n("User has been logged out","NOT_LOGGED_IN_ERROR");return e}async#t(){let e=await this.starkSigner;if(typeof e>"u")throw typeof this.signerInitialisationError<"u"?this.signerInitialisationError:new Error("Signers failed to initialise");return e}async#e(){let[e,r]=await Promise.all([this.#r(),this.#t()]);return {user:C(e),starkSigner:r}}async transfer(e){return E(()=>this.guardianClient.withDefaultConfirmationScreenTask(async()=>{let{user:r,starkSigner:i}=await this.#e();return W({request:e,user:r,starkSigner:i,transfersApi:this.immutableXClient.transfersApi,guardianClient:this.imxGuardianClient})})(),"imxTransfer")}async registerOffchain(){return E(async()=>{let[e,r]=await Promise.all([this.#r(),this.#t()]);return await S(this.magicTEESigner,r,C(e),this.auth,this.imxApiClients)},"imxRegisterOffchain")}async isRegisteredOffchain(){return E(async()=>{try{let e=await this.#r();return !!C(e).imx}catch(e){if(e instanceof n&&e.type==="USER_NOT_REGISTERED_ERROR")return !1;throw e}},"imxIsRegisteredOffchain")}isRegisteredOnchain(){throw new n("Operation not supported","OPERATION_NOT_SUPPORTED_ERROR")}async createOrder(e){return E(()=>this.guardianClient.withDefaultConfirmationScreenTask(async()=>{let{user:r,starkSigner:i}=await this.#e();return N({request:e,user:r,starkSigner:i,ordersApi:this.immutableXClient.ordersApi,guardianClient:this.imxGuardianClient})})(),"imxCreateOrder")}async cancelOrder(e){return E(()=>this.guardianClient.withDefaultConfirmationScreenTask(async()=>{let{user:r,starkSigner:i}=await this.#e();return D({request:e,user:r,starkSigner:i,ordersApi:this.immutableXClient.ordersApi,guardianClient:this.imxGuardianClient})})(),"imxCancelOrder")}async createTrade(e){return E(()=>this.guardianClient.withDefaultConfirmationScreenTask(async()=>{let{user:r,starkSigner:i}=await this.#e();return G({request:e,user:r,starkSigner:i,tradesApi:this.immutableXClient.tradesApi,guardianClient:this.imxGuardianClient})})(),"imxCreateTrade")}async batchNftTransfer(e){return E(()=>this.guardianClient.withConfirmationScreenTask({width:480,height:784})(async()=>{let{user:r,starkSigner:i}=await this.#e();return K({request:e,user:r,starkSigner:i,transfersApi:this.immutableXClient.transfersApi,guardianClient:this.imxGuardianClient})})(),"imxBatchNftTransfer")}async exchangeTransfer(e){return E(async()=>{let{user:r,starkSigner:i}=await this.#e();return w({request:e,user:r,starkSigner:i,exchangesApi:this.immutableXClient.exchangeApi})},"imxExchangeTransfer")}deposit(e){throw new n("Operation not supported","OPERATION_NOT_SUPPORTED_ERROR")}prepareWithdrawal(e){throw new n("Operation not supported","OPERATION_NOT_SUPPORTED_ERROR")}completeWithdrawal(e,r){throw new n("Operation not supported","OPERATION_NOT_SUPPORTED_ERROR")}async getAddress(){return E(async()=>{let e=await this.#r(),r=C(e);return Promise.resolve(r.imx.ethAddress)},"imxGetAddress")}};var A=class{auth;immutableXClient;magicTEESigner;passportEventEmitter;imxApiClients;guardianClient;imxGuardianClient;constructor({auth:e,immutableXClient:r,magicTEESigner:i,passportEventEmitter:a,imxApiClients:s,guardianClient:l,imxGuardianClient:o}){this.auth=e,this.immutableXClient=r,this.magicTEESigner=i,this.passportEventEmitter=a,this.imxApiClients=s,this.guardianClient=l,this.imxGuardianClient=o;}async getProvider(){let e=await this.auth.getUserOrLogin();return this.createProviderInstance(e)}async getProviderSilent(){let e=await this.auth.getUser();return e?this.createProviderInstance(e):null}async createProviderInstance(e){if(!e.idToken)throw new n("Failed to initialise","WALLET_CONNECTION_ERROR");return new x({auth:this.auth,immutableXClient:this.immutableXClient,passportEventEmitter:this.passportEventEmitter,magicTEESigner:this.magicTEESigner,imxApiClients:this.imxApiClients,guardianClient:this.guardianClient,imxGuardianClient:this.imxGuardianClient})}};var q=(t,e,r)=>{let i=e.map(a=>!t[a]&&a).filter(a=>a).join(", ");if(i!==""){let a=r?`${r} - ${i} cannot be null`:`${i} cannot be null`;throw new n(a,"INVALID_CONFIGURATION")}},T=class{authenticationDomain;passportDomain;imxPublicApiDomain;magicPublishableApiKey;magicProviderId;magicTeeBasePath="https://tee.express.magiclabs.com";magicTeeTimeout=1e4;oidcConfiguration;baseConfig;zkEvmRpcUrl;relayerUrl;multiRollupConfig;crossSdkBridgeEnabled;forceScwDeployBeforeMessageSignature;jsonRpcReferrer;popupOverlayOptions;overrides;constructor({baseConfig:e,overrides:r,crossSdkBridgeEnabled:i,jsonRpcReferrer:a,forceScwDeployBeforeMessageSignature:s,popupOverlayOptions:l,...o}){if(q(o,["clientId","redirectUri"]),this.oidcConfiguration=o,this.baseConfig=e,this.overrides=r,this.crossSdkBridgeEnabled=i||!1,this.forceScwDeployBeforeMessageSignature=s||!1,this.jsonRpcReferrer=a,this.popupOverlayOptions=l||{disableGenericPopupOverlay:!1,disableBlockedPopupOverlay:!1,disableHeadlessLoginPromptOverlay:!1},r)q(r,["authenticationDomain","passportDomain","magicPublishableApiKey","magicProviderId","zkEvmRpcUrl","relayerUrl","imxPublicApiDomain","indexerMrBasePath","orderBookMrBasePath","passportMrBasePath"],"overrides"),this.authenticationDomain=r.authenticationDomain,this.passportDomain=r.passportDomain,this.imxPublicApiDomain=r.imxPublicApiDomain,this.magicPublishableApiKey=r.magicPublishableApiKey,this.magicProviderId=r.magicProviderId,this.zkEvmRpcUrl=r.zkEvmRpcUrl,this.relayerUrl=r.relayerUrl,this.multiRollupConfig={indexer:createConfig({basePath:r.indexerMrBasePath}),orderBook:createConfig({basePath:r.orderBookMrBasePath}),passport:createConfig({basePath:r.passportMrBasePath})};else switch(e.environment){case Environment.PRODUCTION:{this.authenticationDomain="https://auth.immutable.com",this.magicPublishableApiKey="pk_live_10F423798A540ED7",this.magicProviderId="aa80b860-8869-4f13-9000-6a6ad3d20017",this.passportDomain="https://passport.immutable.com",this.imxPublicApiDomain="https://api.immutable.com",this.zkEvmRpcUrl="https://rpc.immutable.com",this.relayerUrl="https://api.immutable.com/relayer-mr",this.multiRollupConfig=multiRollupConfig.getProduction();break}case Environment.SANDBOX:default:{this.authenticationDomain="https://auth.immutable.com",this.magicPublishableApiKey="pk_live_10F423798A540ED7",this.magicProviderId="aa80b860-8869-4f13-9000-6a6ad3d20017",this.passportDomain="https://passport.sandbox.immutable.com",this.imxPublicApiDomain="https://api.sandbox.immutable.com",this.zkEvmRpcUrl="https://rpc.testnet.immutable.com",this.relayerUrl="https://api.sandbox.immutable.com/relayer-mr",this.multiRollupConfig=multiRollupConfig.getSandbox();break}}}};var ce="Transaction requires confirmation but this functionality is not supported in this environment. Please contact Immutable support if you need to enable this feature.",P=class{auth;guardianApi;confirmationScreen;crossSdkBridgeEnabled;constructor({auth:e,guardianApi:r,confirmationScreen:i,crossSdkBridgeEnabled:a=!1}){this.auth=e,this.guardianApi=r,this.confirmationScreen=i,this.crossSdkBridgeEnabled=a;}async evaluateTransaction(e){let r=await this.auth.getUser();if(!r)throw new n("User has been logged out","NOT_LOGGED_IN_ERROR");let i=C(r),a={Authorization:`Bearer ${i.accessToken}`};try{if(!(await retryWithDelay(async()=>this.guardianApi.getTransactionByID({transactionID:e,chainType:"starkex"},{headers:a}),{finallyFn:()=>{this.confirmationScreen.closeWindow();}})).data.id)throw new n("Transaction does not exist","TRANSFER_ERROR");let o=await this.guardianApi.evaluateTransaction({id:e,transactionEvaluationRequest:{chainType:"starkex"}},{headers:a}),{confirmationRequired:m}=o.data;if(m){if(this.crossSdkBridgeEnabled)throw new n(ce,"TRANSACTION_REJECTED");if(!(await this.confirmationScreen.requestConfirmation(e,i.imx.ethAddress,mr.TransactionApprovalRequestChainTypeEnum.Starkex)).confirmed)throw new n("Transaction rejected by user","TRANSACTION_REJECTED")}else this.confirmationScreen.closeWindow();}catch(s){throw ae.isAxiosError(s)&&s.response?.status===403?new n("Service unavailable","SERVICE_UNAVAILABLE_ERROR"):s}}};var Se=t=>t.overrides?createConfig({basePath:t.overrides.imxPublicApiDomain}):t.baseConfig.environment===Environment.SANDBOX?imxApiConfig.getSandbox():imxApiConfig.getProduction(),be=t=>{if(t.overrides?.imxApiClients)return t.overrides.imxApiClients;let e=Se(t);return new ImxApiClients(e)},ke=t=>{let e=new T(t),r=new Auth({...t,authenticationDomain:e.authenticationDomain,crossSdkBridgeEnabled:t.crossSdkBridgeEnabled,popupOverlayOptions:t.popupOverlayOptions,passportDomain:e.passportDomain}),i=r.getConfig(),a=new ConfirmationScreen(i),s=new WalletConfiguration({passportDomain:e.passportDomain,zkEvmRpcUrl:e.zkEvmRpcUrl,relayerUrl:e.relayerUrl,indexerMrBasePath:e.multiRollupConfig.indexer.basePath||e.passportDomain,jsonRpcReferrer:t.jsonRpcReferrer,forceScwDeployBeforeMessageSignature:t.forceScwDeployBeforeMessageSignature,crossSdkBridgeEnabled:t.crossSdkBridgeEnabled}),l=new MultiRollupApiClients(e.multiRollupConfig),o=t.overrides?t.overrides.immutableXClient:new IMXClient({baseConfig:t.baseConfig}),m=new GuardianClient({config:s,auth:r,guardianApi:l.guardianApi,authConfig:i}),p=new P({auth:r,guardianApi:l.guardianApi,confirmationScreen:a,crossSdkBridgeEnabled:t.crossSdkBridgeEnabled||!1}),c=new MagicTeeApiClients({basePath:e.magicTeeBasePath,timeout:e.magicTeeTimeout,magicPublishableApiKey:e.magicPublishableApiKey,magicProviderId:e.magicProviderId}),u=new MagicTEESigner(r,c),d=be(t),h=new A({auth:r,immutableXClient:o,magicTEESigner:u,passportEventEmitter:r.eventEmitter,imxApiClients:d,guardianClient:m,imxGuardianClient:p});return {passportConfig:e,auth:r,passportImxProviderFactory:h,environment:t.baseConfig.environment,walletConfig:s}},k=class{auth;passportImxProviderFactory;multiRollupApiClients;environment;passportConfig;constructor(e){let r=ke(e);this.auth=r.auth,this.passportImxProviderFactory=r.passportImxProviderFactory,this.passportConfig=r.passportConfig,this.multiRollupApiClients=new MultiRollupApiClients(this.passportConfig.multiRollupConfig),this.environment=r.environment,setPassportClientId(e.clientId);}async connectImxSilent(){return E(()=>this.passportImxProviderFactory.getProviderSilent(),"connectImxSilent",!1)}async connectImx(){return E(()=>this.passportImxProviderFactory.getProvider(),"connectImx",!1)}async connectEvm(e={announceProvider:!0}){return E(async()=>{let r=this.passportConfig.overrides,i;return r?.zkEvmChainId?i={chainId:r.zkEvmChainId,name:r.zkEvmChainName||"Dev Chain",rpcUrl:this.passportConfig.zkEvmRpcUrl,relayerUrl:this.passportConfig.relayerUrl,apiUrl:this.passportConfig.multiRollupConfig.indexer.basePath||this.passportConfig.passportDomain,passportDomain:this.passportConfig.passportDomain,magicPublishableApiKey:this.passportConfig.magicPublishableApiKey,magicProviderId:this.passportConfig.magicProviderId,magicTeeBasePath:r.magicTeeBasePath||this.passportConfig.magicTeeBasePath}:this.environment===Environment.PRODUCTION?i={chainId:13371,name:"Immutable zkEVM",rpcUrl:this.passportConfig.zkEvmRpcUrl,relayerUrl:this.passportConfig.relayerUrl,apiUrl:this.passportConfig.multiRollupConfig.indexer.basePath||this.passportConfig.passportDomain,passportDomain:this.passportConfig.passportDomain,magicPublishableApiKey:this.passportConfig.magicPublishableApiKey,magicProviderId:this.passportConfig.magicProviderId,magicTeeBasePath:this.passportConfig.magicTeeBasePath}:i={chainId:13473,name:"Immutable zkEVM Testnet",rpcUrl:this.passportConfig.zkEvmRpcUrl,relayerUrl:this.passportConfig.relayerUrl,apiUrl:this.passportConfig.multiRollupConfig.indexer.basePath||this.passportConfig.passportDomain,passportDomain:this.passportConfig.passportDomain,magicPublishableApiKey:this.passportConfig.magicPublishableApiKey,magicProviderId:this.passportConfig.magicProviderId,magicTeeBasePath:this.passportConfig.magicTeeBasePath},await connectWallet({auth:this.auth,chains:[i],crossSdkBridgeEnabled:this.passportConfig.crossSdkBridgeEnabled,jsonRpcReferrer:this.passportConfig.jsonRpcReferrer,forceScwDeployBeforeMessageSignature:this.passportConfig.forceScwDeployBeforeMessageSignature,passportEventEmitter:this.auth.eventEmitter,feeTokenSymbol:"IMX",announceProvider:e?.announceProvider??!0})},"connectEvm",!1)}async login(e){let r=e?{useCachedSession:e.useCachedSession,useSilentLogin:e.useSilentLogin,useRedirectFlow:e.useRedirectFlow,directLoginOptions:e.directLoginOptions}:void 0,i=await this.auth.login(r);return i?i.profile:null}async loginCallback(){await this.auth.loginCallback();}async logout(){await this.auth.logout();}async getUserInfo(){return (await this.auth.getUser())?.profile}async getIdToken(){return (await this.auth.getUser())?.idToken}async getAccessToken(){return (await this.auth.getUser())?.accessToken}async loginWithPKCEFlow(e,r){return this.auth.loginWithPKCEFlow(e,r)}async loginWithPKCEFlowCallback(e,r){return (await this.auth.loginWithPKCEFlowCallback(e,r)).profile}async storeTokens(e){return (await this.auth.storeTokens(e)).profile}async getLogoutUrl(){return await this.auth.getLogoutUrl()}async logoutSilentCallback(e){return this.auth.logoutSilentCallback(e)}async getLinkedAddresses(){return E(async()=>{let e=await this.auth.getUser();if(!e?.profile.sub)return [];let r={Authorization:`Bearer ${e.accessToken}`};return (await this.multiRollupApiClients.passportProfileApi.getUserInfo({headers:r})).data.linked_addresses},"getLinkedAddresses",!1)}async linkExternalWallet(e){let r=a=>typeof a=="object"&&a!==null&&"code"in a&&"message"in a,i=trackFlow("passport","linkExternalWallet",!1);try{let a=await this.auth.getUser();if(!a)throw new n("User is not logged in","NOT_LOGGED_IN_ERROR");let s=isUserZkEvm(a);if(!(()=>{try{return C(a),!0}catch(c){if(c instanceof n&&c.type==="USER_NOT_REGISTERED_ERROR")return !1;throw c}})()&&!s)throw new n("User has not been registered","USER_NOT_REGISTERED_ERROR");let o={Authorization:`Bearer ${a.accessToken}`},m={type:e.type,wallet_address:e.walletAddress,signature:e.signature,nonce:e.nonce};return {...(await this.multiRollupApiClients.passportProfileApi.linkWalletV2({linkWalletV2Request:m},{headers:o})).data}}catch(a){if(a instanceof Error?trackError("passport","linkExternalWallet",a):i.addEvent("errored"),isAxiosError(a)&&a.response){if(a.response.data&&r(a.response.data)){let{code:l,message:o}=a.response.data;switch(l){case"ALREADY_LINKED":throw new n(o,"LINK_WALLET_ALREADY_LINKED_ERROR");case"MAX_WALLETS_LINKED":throw new n(o,"LINK_WALLET_MAX_WALLETS_LINKED_ERROR");case"DUPLICATE_NONCE":throw new n(o,"LINK_WALLET_DUPLICATE_NONCE_ERROR");case"VALIDATION_ERROR":throw new n(o,"LINK_WALLET_VALIDATION_ERROR");default:throw new n(o,"LINK_WALLET_GENERIC_ERROR")}}else if(a.response.status)throw new n(`Link wallet request failed with status code ${a.response.status}`,"LINK_WALLET_GENERIC_ERROR")}let s="Link wallet request failed";throw a instanceof Error&&(s+=`: ${a.message}`),new n(s,"LINK_WALLET_GENERIC_ERROR")}finally{i.addEvent("End");}}};var H=(r=>(r.OptedIn="opted_in",r.Unsubscribed="unsubscribed",r))(H||{});
17
+ function et(o){throw new Error("Node.js process "+o+" is not supported by JSPM core outside of Node.js")}var K=[],le=!1,te,Ae=-1;function wn(){!le||!te||(le=!1,te.length?K=te.concat(K):Ae=-1,K.length&&Nt());}function Nt(){if(!le){var o=setTimeout(wn,0);le=!0;for(var t=K.length;t;){for(te=K,K=[];++Ae<t;)te&&te[Ae].run();Ae=-1,t=K.length;}te=null,le=!1,clearTimeout(o);}}function Rn(o){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];K.push(new Lt(o,t)),K.length===1&&!le&&setTimeout(Nt,0);}function Lt(o,t){this.fun=o,this.array=t;}Lt.prototype.run=function(){this.fun.apply(null,this.array);};var Tn="browser",Cn="x64",_n="browser",vn={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},An=["/usr/bin/node"],In=[],Pn="v16.8.0",Sn={},On=function(o,t){console.warn((t?t+": ":"")+o);},bn=function(o){et("binding");},xn=function(o){return 0},kn=function(){return "/"},Mn=function(o){},Un={name:"node",sourceUrl:"",headersUrl:"",libUrl:""};function B(){}var Nn=B,Ln=[];function Dn(o){et("_linkedBinding");}var Bn={},Fn=!1,Gn={};function Hn(o){et("dlopen");}function Vn(){return []}function Wn(){return []}var $n=B,qn=B,tt=function(){return {}},Zn=tt,Kn=tt,Xn=B,Jn=B,zn=B,jn={};function Yn(o,t){if(!o)throw new Error(t||"assertion error")}var Qn={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},ei=B,ti=B;function ri(){return !1}var ni=B,ii=B,ai=B,si=B,oi=B,ci=void 0,li=void 0,di=void 0,pi=B,ui=2,mi=1,gi="/bin/usr/node",hi=9229,fi="node",Ei=[],yi=B,j={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0};j.now===void 0&&(je=Date.now(),j.timing&&j.timing.navigationStart&&(je=j.timing.navigationStart),j.now=()=>Date.now()-je);var je;function wi(){return j.now()/1e3}var Ye=1e9;function Qe(o){var t=Math.floor((Date.now()-j.now())*.001),n=j.now()*.001,a=Math.floor(n)+t,l=Math.floor(n%1*1e9);return o&&(a=a-o[0],l=l-o[1],l<0&&(a--,l+=Ye)),[a,l]}Qe.bigint=function(o){var t=Qe(o);return typeof BigInt>"u"?t[0]*Ye+t[1]:BigInt(t[0]*Ye)+BigInt(t[1])};var Ri=10,Ti={},Ci=0;function Y(){return R}var _i=Y,vi=Y,Ai=Y,Ii=Y,Pi=Y,Si=B,Oi=Y,bi=Y;function xi(o){return []}var R={version:Pn,versions:Sn,arch:Cn,platform:_n,release:Un,_rawDebug:Nn,moduleLoadList:Ln,binding:bn,_linkedBinding:Dn,_events:Ti,_eventsCount:Ci,_maxListeners:Ri,on:Y,addListener:_i,once:vi,off:Ai,removeListener:Ii,removeAllListeners:Pi,emit:Si,prependListener:Oi,prependOnceListener:bi,listeners:xi,domain:Bn,_exiting:Fn,config:Gn,dlopen:Hn,uptime:wi,_getActiveRequests:Vn,_getActiveHandles:Wn,reallyExit:$n,_kill:qn,cpuUsage:tt,resourceUsage:Zn,memoryUsage:Kn,kill:Xn,exit:Jn,openStdin:zn,allowedNodeEnvironmentFlags:jn,assert:Yn,features:Qn,_fatalExceptions:ei,setUncaughtExceptionCaptureCallback:ti,hasUncaughtExceptionCaptureCallback:ri,emitWarning:On,nextTick:Rn,_tickCallback:ni,_debugProcess:ii,_debugEnd:ai,_startProfilerIdleNotifier:si,_stopProfilerIdleNotifier:oi,stdout:ci,stdin:di,stderr:li,abort:pi,umask:xn,chdir:Mn,cwd:kn,env:vn,title:Tn,argv:An,execArgv:In,pid:ui,ppid:mi,execPath:gi,debugPort:hi,hrtime:Qe,argv0:fi,_preload_modules:Ei,setSourceMapsEnabled:yi};var he={},Dt=!1;function ki(){if(Dt)return he;Dt=!0,he.byteLength=u,he.toByteArray=E,he.fromByteArray=C;for(var o=[],t=[],n=typeof Uint8Array<"u"?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l=0,d=a.length;l<d;++l)o[l]=a[l],t[a.charCodeAt(l)]=l;t[45]=62,t[95]=63;function s(w){var _=w.length;if(_%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var A=w.indexOf("=");A===-1&&(A=_);var O=A===_?0:4-A%4;return [A,O]}function u(w){var _=s(w),A=_[0],O=_[1];return (A+O)*3/4-O}function h(w,_,A){return (_+A)*3/4-A}function E(w){var _,A=s(w),O=A[0],D=A[1],N=new n(h(w,O,D)),G=0,V=D>0?O-4:O,F;for(F=0;F<V;F+=4)_=t[w.charCodeAt(F)]<<18|t[w.charCodeAt(F+1)]<<12|t[w.charCodeAt(F+2)]<<6|t[w.charCodeAt(F+3)],N[G++]=_>>16&255,N[G++]=_>>8&255,N[G++]=_&255;return D===2&&(_=t[w.charCodeAt(F)]<<2|t[w.charCodeAt(F+1)]>>4,N[G++]=_&255),D===1&&(_=t[w.charCodeAt(F)]<<10|t[w.charCodeAt(F+1)]<<4|t[w.charCodeAt(F+2)]>>2,N[G++]=_>>8&255,N[G++]=_&255),N}function f(w){return o[w>>18&63]+o[w>>12&63]+o[w>>6&63]+o[w&63]}function y(w,_,A){for(var O,D=[],N=_;N<A;N+=3)O=(w[N]<<16&16711680)+(w[N+1]<<8&65280)+(w[N+2]&255),D.push(f(O));return D.join("")}function C(w){for(var _,A=w.length,O=A%3,D=[],N=16383,G=0,V=A-O;G<V;G+=N)D.push(y(w,G,G+N>V?V:G+N));return O===1?(_=w[A-1],D.push(o[_>>2]+o[_<<4&63]+"==")):O===2&&(_=(w[A-2]<<8)+w[A-1],D.push(o[_>>10]+o[_>>4&63]+o[_<<2&63]+"=")),D.join("")}return he}var Ie={},Bt=!1;function Mi(){if(Bt)return Ie;Bt=!0;return Ie.read=function(o,t,n,a,l){var d,s,u=l*8-a-1,h=(1<<u)-1,E=h>>1,f=-7,y=n?l-1:0,C=n?-1:1,w=o[t+y];for(y+=C,d=w&(1<<-f)-1,w>>=-f,f+=u;f>0;d=d*256+o[t+y],y+=C,f-=8);for(s=d&(1<<-f)-1,d>>=-f,f+=a;f>0;s=s*256+o[t+y],y+=C,f-=8);if(d===0)d=1-E;else {if(d===h)return s?NaN:(w?-1:1)*(1/0);s=s+Math.pow(2,a),d=d-E;}return (w?-1:1)*s*Math.pow(2,d-a)},Ie.write=function(o,t,n,a,l,d){var s,u,h,E=d*8-l-1,f=(1<<E)-1,y=f>>1,C=l===23?Math.pow(2,-24)-Math.pow(2,-77):0,w=a?0:d-1,_=a?1:-1,A=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(u=isNaN(t)?1:0,s=f):(s=Math.floor(Math.log(t)/Math.LN2),t*(h=Math.pow(2,-s))<1&&(s--,h*=2),s+y>=1?t+=C/h:t+=C*Math.pow(2,1-y),t*h>=2&&(s++,h/=2),s+y>=f?(u=0,s=f):s+y>=1?(u=(t*h-1)*Math.pow(2,l),s=s+y):(u=t*Math.pow(2,y-1)*Math.pow(2,l),s=0));l>=8;o[n+w]=u&255,w+=_,u/=256,l-=8);for(s=s<<l|u,E+=l;E>0;o[n+w]=s&255,w+=_,s/=256,E-=8);o[n+w-_]|=A*128;},Ie}var re={},Ft=!1;function Ui(){if(Ft)return re;Ft=!0;let o=ki(),t=Mi(),n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;re.Buffer=s,re.SlowBuffer=D,re.INSPECT_MAX_BYTES=50;let a=2147483647;re.kMaxLength=a,s.TYPED_ARRAY_SUPPORT=l(),!s.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function l(){try{let i=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(i,e),i.foo()===42}catch{return !1}}Object.defineProperty(s.prototype,"parent",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}});function d(i){if(i>a)throw new RangeError('The value "'+i+'" is invalid for option "size"');let e=new Uint8Array(i);return Object.setPrototypeOf(e,s.prototype),e}function s(i,e,r){if(typeof i=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return f(i)}return u(i,e,r)}s.poolSize=8192;function u(i,e,r){if(typeof i=="string")return y(i,e);if(ArrayBuffer.isView(i))return w(i);if(i==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i);if(q(i,ArrayBuffer)||i&&q(i.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(q(i,SharedArrayBuffer)||i&&q(i.buffer,SharedArrayBuffer)))return _(i,e,r);if(typeof i=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let c=i.valueOf&&i.valueOf();if(c!=null&&c!==i)return s.from(c,e,r);let p=A(i);if(p)return p;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof i[Symbol.toPrimitive]=="function")return s.from(i[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i)}s.from=function(i,e,r){return u(i,e,r)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array);function h(i){if(typeof i!="number")throw new TypeError('"size" argument must be of type number');if(i<0)throw new RangeError('The value "'+i+'" is invalid for option "size"')}function E(i,e,r){return h(i),i<=0?d(i):e!==void 0?typeof r=="string"?d(i).fill(e,r):d(i).fill(e):d(i)}s.alloc=function(i,e,r){return E(i,e,r)};function f(i){return h(i),d(i<0?0:O(i)|0)}s.allocUnsafe=function(i){return f(i)},s.allocUnsafeSlow=function(i){return f(i)};function y(i,e){if((typeof e!="string"||e==="")&&(e="utf8"),!s.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let r=N(i,e)|0,c=d(r),p=c.write(i,e);return p!==r&&(c=c.slice(0,p)),c}function C(i){let e=i.length<0?0:O(i.length)|0,r=d(e);for(let c=0;c<e;c+=1)r[c]=i[c]&255;return r}function w(i){if(q(i,Uint8Array)){let e=new Uint8Array(i);return _(e.buffer,e.byteOffset,e.byteLength)}return C(i)}function _(i,e,r){if(e<0||i.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(i.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');let c;return e===void 0&&r===void 0?c=new Uint8Array(i):r===void 0?c=new Uint8Array(i,e):c=new Uint8Array(i,e,r),Object.setPrototypeOf(c,s.prototype),c}function A(i){if(s.isBuffer(i)){let e=O(i.length)|0,r=d(e);return r.length===0||i.copy(r,0,0,e),r}if(i.length!==void 0)return typeof i.length!="number"||ze(i.length)?d(0):C(i);if(i.type==="Buffer"&&Array.isArray(i.data))return C(i.data)}function O(i){if(i>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return i|0}function D(i){return +i!=i&&(i=0),s.alloc(+i)}s.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==s.prototype},s.compare=function(e,r){if(q(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),q(r,Uint8Array)&&(r=s.from(r,r.offset,r.byteLength)),!s.isBuffer(e)||!s.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===r)return 0;let c=e.length,p=r.length;for(let m=0,g=Math.min(c,p);m<g;++m)if(e[m]!==r[m]){c=e[m],p=r[m];break}return c<p?-1:p<c?1:0},s.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return !0;default:return !1}},s.concat=function(e,r){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return s.alloc(0);let c;if(r===void 0)for(r=0,c=0;c<e.length;++c)r+=e[c].length;let p=s.allocUnsafe(r),m=0;for(c=0;c<e.length;++c){let g=e[c];if(q(g,Uint8Array))m+g.length>p.length?(s.isBuffer(g)||(g=s.from(g)),g.copy(p,m)):Uint8Array.prototype.set.call(p,g,m);else if(s.isBuffer(g))g.copy(p,m);else throw new TypeError('"list" argument must be an Array of Buffers');m+=g.length;}return p};function N(i,e){if(s.isBuffer(i))return i.length;if(ArrayBuffer.isView(i)||q(i,ArrayBuffer))return i.byteLength;if(typeof i!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof i);let r=i.length,c=arguments.length>2&&arguments[2]===!0;if(!c&&r===0)return 0;let p=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Je(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Ut(i).length;default:if(p)return c?-1:Je(i).length;e=(""+e).toLowerCase(),p=!0;}}s.byteLength=N;function G(i,e,r){let c=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,e>>>=0,r<=e))return "";for(i||(i="utf8");;)switch(i){case"hex":return dn(this,e,r);case"utf8":case"utf-8":return At(this,e,r);case"ascii":return cn(this,e,r);case"latin1":case"binary":return ln(this,e,r);case"base64":return sn(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return pn(this,e,r);default:if(c)throw new TypeError("Unknown encoding: "+i);i=(i+"").toLowerCase(),c=!0;}}s.prototype._isBuffer=!0;function V(i,e,r){let c=i[e];i[e]=i[r],i[r]=c;}s.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;r<e;r+=2)V(this,r,r+1);return this},s.prototype.swap32=function(){let e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let r=0;r<e;r+=4)V(this,r,r+3),V(this,r+1,r+2);return this},s.prototype.swap64=function(){let e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let r=0;r<e;r+=8)V(this,r,r+7),V(this,r+1,r+6),V(this,r+2,r+5),V(this,r+3,r+4);return this},s.prototype.toString=function(){let e=this.length;return e===0?"":arguments.length===0?At(this,0,e):G.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(e){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:s.compare(this,e)===0},s.prototype.inspect=function(){let e="",r=re.INSPECT_MAX_BYTES;return e=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(e+=" ... "),"<Buffer "+e+">"},n&&(s.prototype[n]=s.prototype.inspect),s.prototype.compare=function(e,r,c,p,m){if(q(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(r===void 0&&(r=0),c===void 0&&(c=e?e.length:0),p===void 0&&(p=0),m===void 0&&(m=this.length),r<0||c>e.length||p<0||m>this.length)throw new RangeError("out of range index");if(p>=m&&r>=c)return 0;if(p>=m)return -1;if(r>=c)return 1;if(r>>>=0,c>>>=0,p>>>=0,m>>>=0,this===e)return 0;let g=m-p,P=c-r,M=Math.min(g,P),x=this.slice(p,m),U=e.slice(r,c);for(let b=0;b<M;++b)if(x[b]!==U[b]){g=x[b],P=U[b];break}return g<P?-1:P<g?1:0};function F(i,e,r,c,p){if(i.length===0)return -1;if(typeof r=="string"?(c=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,ze(r)&&(r=p?0:i.length-1),r<0&&(r=i.length+r),r>=i.length){if(p)return -1;r=i.length-1;}else if(r<0)if(p)r=0;else return -1;if(typeof e=="string"&&(e=s.from(e,c)),s.isBuffer(e))return e.length===0?-1:vt(i,e,r,c,p);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?p?Uint8Array.prototype.indexOf.call(i,e,r):Uint8Array.prototype.lastIndexOf.call(i,e,r):vt(i,[e],r,c,p);throw new TypeError("val must be string, number or Buffer")}function vt(i,e,r,c,p){let m=1,g=i.length,P=e.length;if(c!==void 0&&(c=String(c).toLowerCase(),c==="ucs2"||c==="ucs-2"||c==="utf16le"||c==="utf-16le")){if(i.length<2||e.length<2)return -1;m=2,g/=2,P/=2,r/=2;}function M(U,b){return m===1?U[b]:U.readUInt16BE(b*m)}let x;if(p){let U=-1;for(x=r;x<g;x++)if(M(i,x)===M(e,U===-1?0:x-U)){if(U===-1&&(U=x),x-U+1===P)return U*m}else U!==-1&&(x-=x-U),U=-1;}else for(r+P>g&&(r=g-P),x=r;x>=0;x--){let U=!0;for(let b=0;b<P;b++)if(M(i,x+b)!==M(e,b)){U=!1;break}if(U)return x}return -1}s.prototype.includes=function(e,r,c){return this.indexOf(e,r,c)!==-1},s.prototype.indexOf=function(e,r,c){return F(this,e,r,c,!0)},s.prototype.lastIndexOf=function(e,r,c){return F(this,e,r,c,!1)};function en(i,e,r,c){r=Number(r)||0;let p=i.length-r;c?(c=Number(c),c>p&&(c=p)):c=p;let m=e.length;c>m/2&&(c=m/2);let g;for(g=0;g<c;++g){let P=parseInt(e.substr(g*2,2),16);if(ze(P))return g;i[r+g]=P;}return g}function tn(i,e,r,c){return ve(Je(e,i.length-r),i,r,c)}function rn(i,e,r,c){return ve(hn(e),i,r,c)}function nn(i,e,r,c){return ve(Ut(e),i,r,c)}function an(i,e,r,c){return ve(fn(e,i.length-r),i,r,c)}s.prototype.write=function(e,r,c,p){if(r===void 0)p="utf8",c=this.length,r=0;else if(c===void 0&&typeof r=="string")p=r,c=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(c)?(c=c>>>0,p===void 0&&(p="utf8")):(p=c,c=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let m=this.length-r;if((c===void 0||c>m)&&(c=m),e.length>0&&(c<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");p||(p="utf8");let g=!1;for(;;)switch(p){case"hex":return en(this,e,r,c);case"utf8":case"utf-8":return tn(this,e,r,c);case"ascii":case"latin1":case"binary":return rn(this,e,r,c);case"base64":return nn(this,e,r,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return an(this,e,r,c);default:if(g)throw new TypeError("Unknown encoding: "+p);p=(""+p).toLowerCase(),g=!0;}},s.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function sn(i,e,r){return e===0&&r===i.length?o.fromByteArray(i):o.fromByteArray(i.slice(e,r))}function At(i,e,r){r=Math.min(i.length,r);let c=[],p=e;for(;p<r;){let m=i[p],g=null,P=m>239?4:m>223?3:m>191?2:1;if(p+P<=r){let M,x,U,b;switch(P){case 1:m<128&&(g=m);break;case 2:M=i[p+1],(M&192)===128&&(b=(m&31)<<6|M&63,b>127&&(g=b));break;case 3:M=i[p+1],x=i[p+2],(M&192)===128&&(x&192)===128&&(b=(m&15)<<12|(M&63)<<6|x&63,b>2047&&(b<55296||b>57343)&&(g=b));break;case 4:M=i[p+1],x=i[p+2],U=i[p+3],(M&192)===128&&(x&192)===128&&(U&192)===128&&(b=(m&15)<<18|(M&63)<<12|(x&63)<<6|U&63,b>65535&&b<1114112&&(g=b));}}g===null?(g=65533,P=1):g>65535&&(g-=65536,c.push(g>>>10&1023|55296),g=56320|g&1023),c.push(g),p+=P;}return on(c)}let It=4096;function on(i){let e=i.length;if(e<=It)return String.fromCharCode.apply(String,i);let r="",c=0;for(;c<e;)r+=String.fromCharCode.apply(String,i.slice(c,c+=It));return r}function cn(i,e,r){let c="";r=Math.min(i.length,r);for(let p=e;p<r;++p)c+=String.fromCharCode(i[p]&127);return c}function ln(i,e,r){let c="";r=Math.min(i.length,r);for(let p=e;p<r;++p)c+=String.fromCharCode(i[p]);return c}function dn(i,e,r){let c=i.length;(!e||e<0)&&(e=0),(!r||r<0||r>c)&&(r=c);let p="";for(let m=e;m<r;++m)p+=En[i[m]];return p}function pn(i,e,r){let c=i.slice(e,r),p="";for(let m=0;m<c.length-1;m+=2)p+=String.fromCharCode(c[m]+c[m+1]*256);return p}s.prototype.slice=function(e,r){let c=this.length;e=~~e,r=r===void 0?c:~~r,e<0?(e+=c,e<0&&(e=0)):e>c&&(e=c),r<0?(r+=c,r<0&&(r=0)):r>c&&(r=c),r<e&&(r=e);let p=this.subarray(e,r);return Object.setPrototypeOf(p,s.prototype),p};function L(i,e,r){if(i%1!==0||i<0)throw new RangeError("offset is not uint");if(i+e>r)throw new RangeError("Trying to access beyond buffer length")}s.prototype.readUintLE=s.prototype.readUIntLE=function(e,r,c){e=e>>>0,r=r>>>0,c||L(e,r,this.length);let p=this[e],m=1,g=0;for(;++g<r&&(m*=256);)p+=this[e+g]*m;return p},s.prototype.readUintBE=s.prototype.readUIntBE=function(e,r,c){e=e>>>0,r=r>>>0,c||L(e,r,this.length);let p=this[e+--r],m=1;for(;r>0&&(m*=256);)p+=this[e+--r]*m;return p},s.prototype.readUint8=s.prototype.readUInt8=function(e,r){return e=e>>>0,r||L(e,1,this.length),this[e]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(e,r){return e=e>>>0,r||L(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(e,r){return e=e>>>0,r||L(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(e,r){return e=e>>>0,r||L(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(e,r){return e=e>>>0,r||L(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readBigUInt64LE=z(function(e){e=e>>>0,ce(e,"offset");let r=this[e],c=this[e+7];(r===void 0||c===void 0)&&ge(e,this.length-8);let p=r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,m=this[++e]+this[++e]*2**8+this[++e]*2**16+c*2**24;return BigInt(p)+(BigInt(m)<<BigInt(32))}),s.prototype.readBigUInt64BE=z(function(e){e=e>>>0,ce(e,"offset");let r=this[e],c=this[e+7];(r===void 0||c===void 0)&&ge(e,this.length-8);let p=r*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],m=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+c;return (BigInt(p)<<BigInt(32))+BigInt(m)}),s.prototype.readIntLE=function(e,r,c){e=e>>>0,r=r>>>0,c||L(e,r,this.length);let p=this[e],m=1,g=0;for(;++g<r&&(m*=256);)p+=this[e+g]*m;return m*=128,p>=m&&(p-=Math.pow(2,8*r)),p},s.prototype.readIntBE=function(e,r,c){e=e>>>0,r=r>>>0,c||L(e,r,this.length);let p=r,m=1,g=this[e+--p];for(;p>0&&(m*=256);)g+=this[e+--p]*m;return m*=128,g>=m&&(g-=Math.pow(2,8*r)),g},s.prototype.readInt8=function(e,r){return e=e>>>0,r||L(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},s.prototype.readInt16LE=function(e,r){e=e>>>0,r||L(e,2,this.length);let c=this[e]|this[e+1]<<8;return c&32768?c|4294901760:c},s.prototype.readInt16BE=function(e,r){e=e>>>0,r||L(e,2,this.length);let c=this[e+1]|this[e]<<8;return c&32768?c|4294901760:c},s.prototype.readInt32LE=function(e,r){return e=e>>>0,r||L(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,r){return e=e>>>0,r||L(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readBigInt64LE=z(function(e){e=e>>>0,ce(e,"offset");let r=this[e],c=this[e+7];(r===void 0||c===void 0)&&ge(e,this.length-8);let p=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(c<<24);return (BigInt(p)<<BigInt(32))+BigInt(r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24)}),s.prototype.readBigInt64BE=z(function(e){e=e>>>0,ce(e,"offset");let r=this[e],c=this[e+7];(r===void 0||c===void 0)&&ge(e,this.length-8);let p=(r<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return (BigInt(p)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+c)}),s.prototype.readFloatLE=function(e,r){return e=e>>>0,r||L(e,4,this.length),t.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,r){return e=e>>>0,r||L(e,4,this.length),t.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,r){return e=e>>>0,r||L(e,8,this.length),t.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,r){return e=e>>>0,r||L(e,8,this.length),t.read(this,e,!1,52,8)};function H(i,e,r,c,p,m){if(!s.isBuffer(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>p||e<m)throw new RangeError('"value" argument is out of bounds');if(r+c>i.length)throw new RangeError("Index out of range")}s.prototype.writeUintLE=s.prototype.writeUIntLE=function(e,r,c,p){if(e=+e,r=r>>>0,c=c>>>0,!p){let P=Math.pow(2,8*c)-1;H(this,e,r,c,P,0);}let m=1,g=0;for(this[r]=e&255;++g<c&&(m*=256);)this[r+g]=e/m&255;return r+c},s.prototype.writeUintBE=s.prototype.writeUIntBE=function(e,r,c,p){if(e=+e,r=r>>>0,c=c>>>0,!p){let P=Math.pow(2,8*c)-1;H(this,e,r,c,P,0);}let m=c-1,g=1;for(this[r+m]=e&255;--m>=0&&(g*=256);)this[r+m]=e/g&255;return r+c},s.prototype.writeUint8=s.prototype.writeUInt8=function(e,r,c){return e=+e,r=r>>>0,c||H(this,e,r,1,255,0),this[r]=e&255,r+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(e,r,c){return e=+e,r=r>>>0,c||H(this,e,r,2,65535,0),this[r]=e&255,this[r+1]=e>>>8,r+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(e,r,c){return e=+e,r=r>>>0,c||H(this,e,r,2,65535,0),this[r]=e>>>8,this[r+1]=e&255,r+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(e,r,c){return e=+e,r=r>>>0,c||H(this,e,r,4,4294967295,0),this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=e&255,r+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(e,r,c){return e=+e,r=r>>>0,c||H(this,e,r,4,4294967295,0),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};function Pt(i,e,r,c,p){Mt(e,c,p,i,r,7);let m=Number(e&BigInt(4294967295));i[r++]=m,m=m>>8,i[r++]=m,m=m>>8,i[r++]=m,m=m>>8,i[r++]=m;let g=Number(e>>BigInt(32)&BigInt(4294967295));return i[r++]=g,g=g>>8,i[r++]=g,g=g>>8,i[r++]=g,g=g>>8,i[r++]=g,r}function St(i,e,r,c,p){Mt(e,c,p,i,r,7);let m=Number(e&BigInt(4294967295));i[r+7]=m,m=m>>8,i[r+6]=m,m=m>>8,i[r+5]=m,m=m>>8,i[r+4]=m;let g=Number(e>>BigInt(32)&BigInt(4294967295));return i[r+3]=g,g=g>>8,i[r+2]=g,g=g>>8,i[r+1]=g,g=g>>8,i[r]=g,r+8}s.prototype.writeBigUInt64LE=z(function(e,r=0){return Pt(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))}),s.prototype.writeBigUInt64BE=z(function(e,r=0){return St(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))}),s.prototype.writeIntLE=function(e,r,c,p){if(e=+e,r=r>>>0,!p){let M=Math.pow(2,8*c-1);H(this,e,r,c,M-1,-M);}let m=0,g=1,P=0;for(this[r]=e&255;++m<c&&(g*=256);)e<0&&P===0&&this[r+m-1]!==0&&(P=1),this[r+m]=(e/g>>0)-P&255;return r+c},s.prototype.writeIntBE=function(e,r,c,p){if(e=+e,r=r>>>0,!p){let M=Math.pow(2,8*c-1);H(this,e,r,c,M-1,-M);}let m=c-1,g=1,P=0;for(this[r+m]=e&255;--m>=0&&(g*=256);)e<0&&P===0&&this[r+m+1]!==0&&(P=1),this[r+m]=(e/g>>0)-P&255;return r+c},s.prototype.writeInt8=function(e,r,c){return e=+e,r=r>>>0,c||H(this,e,r,1,127,-128),e<0&&(e=255+e+1),this[r]=e&255,r+1},s.prototype.writeInt16LE=function(e,r,c){return e=+e,r=r>>>0,c||H(this,e,r,2,32767,-32768),this[r]=e&255,this[r+1]=e>>>8,r+2},s.prototype.writeInt16BE=function(e,r,c){return e=+e,r=r>>>0,c||H(this,e,r,2,32767,-32768),this[r]=e>>>8,this[r+1]=e&255,r+2},s.prototype.writeInt32LE=function(e,r,c){return e=+e,r=r>>>0,c||H(this,e,r,4,2147483647,-2147483648),this[r]=e&255,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24,r+4},s.prototype.writeInt32BE=function(e,r,c){return e=+e,r=r>>>0,c||H(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4},s.prototype.writeBigInt64LE=z(function(e,r=0){return Pt(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),s.prototype.writeBigInt64BE=z(function(e,r=0){return St(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Ot(i,e,r,c,p,m){if(r+c>i.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function bt(i,e,r,c,p){return e=+e,r=r>>>0,p||Ot(i,e,r,4),t.write(i,e,r,c,23,4),r+4}s.prototype.writeFloatLE=function(e,r,c){return bt(this,e,r,!0,c)},s.prototype.writeFloatBE=function(e,r,c){return bt(this,e,r,!1,c)};function xt(i,e,r,c,p){return e=+e,r=r>>>0,p||Ot(i,e,r,8),t.write(i,e,r,c,52,8),r+8}s.prototype.writeDoubleLE=function(e,r,c){return xt(this,e,r,!0,c)},s.prototype.writeDoubleBE=function(e,r,c){return xt(this,e,r,!1,c)},s.prototype.copy=function(e,r,c,p){if(!s.isBuffer(e))throw new TypeError("argument should be a Buffer");if(c||(c=0),!p&&p!==0&&(p=this.length),r>=e.length&&(r=e.length),r||(r=0),p>0&&p<c&&(p=c),p===c||e.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(c<0||c>=this.length)throw new RangeError("Index out of range");if(p<0)throw new RangeError("sourceEnd out of bounds");p>this.length&&(p=this.length),e.length-r<p-c&&(p=e.length-r+c);let m=p-c;return this===e&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(r,c,p):Uint8Array.prototype.set.call(e,this.subarray(c,p),r),m},s.prototype.fill=function(e,r,c,p){if(typeof e=="string"){if(typeof r=="string"?(p=r,r=0,c=this.length):typeof c=="string"&&(p=c,c=this.length),p!==void 0&&typeof p!="string")throw new TypeError("encoding must be a string");if(typeof p=="string"&&!s.isEncoding(p))throw new TypeError("Unknown encoding: "+p);if(e.length===1){let g=e.charCodeAt(0);(p==="utf8"&&g<128||p==="latin1")&&(e=g);}}else typeof e=="number"?e=e&255:typeof e=="boolean"&&(e=Number(e));if(r<0||this.length<r||this.length<c)throw new RangeError("Out of range index");if(c<=r)return this;r=r>>>0,c=c===void 0?this.length:c>>>0,e||(e=0);let m;if(typeof e=="number")for(m=r;m<c;++m)this[m]=e;else {let g=s.isBuffer(e)?e:s.from(e,p),P=g.length;if(P===0)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(m=0;m<c-r;++m)this[m+r]=g[m%P];}return this};let oe={};function Xe(i,e,r){oe[i]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${i}]`,this.stack,delete this.name;}get code(){return i}set code(p){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:p,writable:!0});}toString(){return `${this.name} [${i}]: ${this.message}`}};}Xe("ERR_BUFFER_OUT_OF_BOUNDS",function(i){return i?`${i} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),Xe("ERR_INVALID_ARG_TYPE",function(i,e){return `The "${i}" argument must be of type number. Received type ${typeof e}`},TypeError),Xe("ERR_OUT_OF_RANGE",function(i,e,r){let c=`The value of "${i}" is out of range.`,p=r;return Number.isInteger(r)&&Math.abs(r)>2**32?p=kt(String(r)):typeof r=="bigint"&&(p=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(p=kt(p)),p+="n"),c+=` It must be ${e}. Received ${p}`,c},RangeError);function kt(i){let e="",r=i.length,c=i[0]==="-"?1:0;for(;r>=c+4;r-=3)e=`_${i.slice(r-3,r)}${e}`;return `${i.slice(0,r)}${e}`}function un(i,e,r){ce(e,"offset"),(i[e]===void 0||i[e+r]===void 0)&&ge(e,i.length-(r+1));}function Mt(i,e,r,c,p,m){if(i>r||i<e){let g=typeof e=="bigint"?"n":"",P;throw e===0||e===BigInt(0)?P=`>= 0${g} and < 2${g} ** ${(m+1)*8}${g}`:P=`>= -(2${g} ** ${(m+1)*8-1}${g}) and < 2 ** ${(m+1)*8-1}${g}`,new oe.ERR_OUT_OF_RANGE("value",P,i)}un(c,p,m);}function ce(i,e){if(typeof i!="number")throw new oe.ERR_INVALID_ARG_TYPE(e,"number",i)}function ge(i,e,r){throw Math.floor(i)!==i?(ce(i,r),new oe.ERR_OUT_OF_RANGE("offset","an integer",i)):e<0?new oe.ERR_BUFFER_OUT_OF_BOUNDS:new oe.ERR_OUT_OF_RANGE("offset",`>= ${0} and <= ${e}`,i)}let mn=/[^+/0-9A-Za-z-_]/g;function gn(i){if(i=i.split("=")[0],i=i.trim().replace(mn,""),i.length<2)return "";for(;i.length%4!==0;)i=i+"=";return i}function Je(i,e){e=e||1/0;let r,c=i.length,p=null,m=[];for(let g=0;g<c;++g){if(r=i.charCodeAt(g),r>55295&&r<57344){if(!p){if(r>56319){(e-=3)>-1&&m.push(239,191,189);continue}else if(g+1===c){(e-=3)>-1&&m.push(239,191,189);continue}p=r;continue}if(r<56320){(e-=3)>-1&&m.push(239,191,189),p=r;continue}r=(p-55296<<10|r-56320)+65536;}else p&&(e-=3)>-1&&m.push(239,191,189);if(p=null,r<128){if((e-=1)<0)break;m.push(r);}else if(r<2048){if((e-=2)<0)break;m.push(r>>6|192,r&63|128);}else if(r<65536){if((e-=3)<0)break;m.push(r>>12|224,r>>6&63|128,r&63|128);}else if(r<1114112){if((e-=4)<0)break;m.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128);}else throw new Error("Invalid code point")}return m}function hn(i){let e=[];for(let r=0;r<i.length;++r)e.push(i.charCodeAt(r)&255);return e}function fn(i,e){let r,c,p,m=[];for(let g=0;g<i.length&&!((e-=2)<0);++g)r=i.charCodeAt(g),c=r>>8,p=r%256,m.push(p),m.push(c);return m}function Ut(i){return o.toByteArray(gn(i))}function ve(i,e,r,c){let p;for(p=0;p<c&&!(p+r>=e.length||p>=i.length);++p)e[p+r]=i[p];return p}function q(i,e){return i instanceof e||i!=null&&i.constructor!=null&&i.constructor.name!=null&&i.constructor.name===e.name}function ze(i){return i!==i}let En=function(){let i="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){let c=r*16;for(let p=0;p<16;++p)e[c+p]=i[r]+i[p];}return e}();function z(i){return typeof BigInt>"u"?yn:i}function yn(){throw new Error("BigInt not supported")}return re}var ne=Ui();ne.Buffer;ne.SlowBuffer;ne.INSPECT_MAX_BYTES;ne.kMaxLength;var T=ne.Buffer;ne.INSPECT_MAX_BYTES;ne.kMaxLength;function rt(o){return "code"in o&&"message"in o}var I=class extends Error{type;constructor(t,n){super(t),this.type=n;}},k=async(o,t)=>{try{return await o()}catch(n){let a;throw n instanceof I&&n.type==="SERVICE_UNAVAILABLE_ERROR"?new I(n.message,n.type):(isAxiosError(n)&&n.response?.data&&rt(n.response.data)?a=n.response.data.message:a=n.message,new I(a,t))}};var Gt="pkce_state",Ht="pkce_verifier",Di=3600,fe=class{isTokenValid(t){try{let a=Yt(t).exp??0,l=Date.now()/1e3+Di;return a>l}catch{return !1}}savePKCEData(t){localStorage.setItem(Gt,t.state),localStorage.setItem(Ht,t.verifier);}getPKCEData(){let t=localStorage.getItem(Gt),n=localStorage.getItem(Ht);return t&&n?{state:t,verifier:n}:null}};var Bi=(...o)=>{if(typeof R>"u")return;R?.env?.JEST_WORKER_ID===void 0&&console.warn(...o);},ie={warn:Bi};function Vt(o){try{let t=Yt(o),n=Math.floor(Date.now()/1e3);return t.exp?t.exp<=n+30:!0}catch{return !0}}function Wt(o){let{id_token:t,access_token:n}=o;return !n||!t?!0:Vt(n)||Vt(t)}var de=o=>!!o.zkEvm,X=o=>!!o.imx,$t=(n=>(n.OptedIn="opted_in",n.Unsubscribed="unsubscribed",n))($t||{});var pe="passport-overlay",Ee="passport-overlay-contents",Pe=`${pe}-close`,Se=`${pe}-try-again`,qt=`
18
+ <svg
19
+ viewBox="0 0 20 20"
20
+ fill="none"
21
+ xmlns="http://www.w3.org/2000/svg"
22
+ style="width: 20px !important;"
23
+ >
24
+ <path
25
+ d="M16.25 5.75833L14.2417 3.75L10 7.99167L5.75833 3.75L3.75 5.75833L7.99167 10L3.75 14.2417L5.75833 16.25L10 12.0083L14.2417 16.25L16.25 14.2417L12.0083 10L16.25 5.75833Z"
26
+ fill="#F3F3F3"
27
+ />
28
+ </svg>
29
+ `,Zt=`
30
+ <svg
31
+ viewBox="0 0 17 16"
32
+ fill="none"
33
+ xmlns="http://www.w3.org/2000/svg"
34
+ style="width: 16px !important;"
35
+ >
36
+ <path
37
+ fill-rule="evenodd"
38
+ clip-rule="evenodd"
39
+ d="M0.5 14.3333L8.5 0.333336L16.5 14.3333H0.5ZM9.16667 10.6667V12H7.83333V10.6667H9.16667ZM9.16667 5.33334L9.16667 9.33334H7.83333L7.83333 5.33334H9.16667Z"
40
+ fill="#E01A3D"
41
+ />
42
+ </svg>
43
+ `,nt=`
44
+ <svg
45
+ style="
46
+ max-width: 123px !important;
47
+ margin-bottom: 24px !important;
48
+ "
49
+ viewBox="0 0 124 112"
50
+ fill="none"
51
+ xmlns="http://www.w3.org/2000/svg"
52
+ >
53
+ <g clip-path="url(#clip0_332_47939)">
54
+ <g clip-path="url(#clip1_332_47939)">
55
+ <path
56
+ d="M4.10008 74.9453H0.5V93.6041H4.10008V74.9453Z"
57
+ fill="#F3F3F3"
58
+ />
59
+ <path
60
+ d="M22.9585 80.0212C21.1727 80.0212 19.5283 80.7622 18.5505 82.3115C17.8209 80.8013 16.3595 80.0212 14.4691 80.0212C12.864 80.0212 11.3786 80.7231 10.4792 82.1681V80.282H7.00976V93.6063H10.4792V86.2032C10.4792 84.3432 11.7445 82.9503 13.3475 82.9503H13.5565C14.9787 82.9503 15.643 83.8477 15.643 85.6187V93.6085H19.1124V86.2054C19.1124 84.3453 20.3647 82.9525 21.9676 82.9525H22.1767C23.5989 82.9525 24.237 83.8499 24.237 85.6208V93.6106H27.7064V85.2188C27.7064 83.6435 27.3274 82.3832 26.5717 81.4315C25.8029 80.4949 24.6029 80.0256 22.9585 80.0256V80.0212Z"
61
+ fill="#F3F3F3"
62
+ />
63
+ <path
64
+ d="M46.0291 80.0212C44.2432 80.0212 42.5989 80.7622 41.621 82.3115C40.8914 80.8013 39.43 80.0212 37.5396 80.0212C35.9345 80.0212 34.4492 80.7231 33.5497 82.1681V80.282H30.0803V93.6063H33.5497V86.2032C33.5497 84.3432 34.8151 82.9503 36.418 82.9503H36.6271C38.0493 82.9503 38.7135 83.8477 38.7135 85.6187V93.6085H42.1829V86.2054C42.1829 84.3453 43.4352 82.9525 45.0381 82.9525H45.2472C46.6694 82.9525 47.3075 83.8499 47.3075 85.6208V93.6106H50.7769V85.2188C50.7769 83.6435 50.398 82.3832 49.6422 81.4315C48.8734 80.4949 47.6734 80.0256 46.0291 80.0256V80.0212Z"
65
+ fill="#F3F3F3"
66
+ />
67
+ <path
68
+ d="M72.3077 89.2061V83.0785H75.2936V80.282H72.3077V75.9622H68.8383V80.282H61.4312V87.6851C61.4312 89.5451 60.192 91.0683 58.6805 91.0683H58.4715C57.2061 91.0683 56.4896 90.1318 56.4896 88.413V80.282H53.0202V88.8041C53.0202 90.3534 53.3991 91.5746 54.1549 92.4872C54.8975 93.4107 56.0322 93.867 57.5328 93.867C59.188 93.867 60.6102 93.0218 61.4312 91.655V93.6063H64.9006V83.0807H68.8405V90.1448C68.8405 92.396 70.0536 93.6063 72.3099 93.6063H75.7009V90.6794H73.7843C72.5582 90.6794 72.3099 90.4317 72.3099 89.2083L72.3077 89.2061Z"
69
+ fill="#F3F3F3"
70
+ />
71
+ <path
72
+ d="M88.0757 84.8082C88.0757 81.7378 85.8325 80.0191 82.4676 80.0191C79.1027 80.0191 77.0033 81.8791 76.7158 84.404H80.1982C80.2766 83.5979 81.0977 82.8156 82.35 82.8156H82.5722C83.8506 82.8156 84.7109 83.7391 84.7109 84.9364V85.2623L81.346 85.5622C79.9108 85.6795 78.7369 86.0945 77.8243 86.8246C76.9118 87.5525 76.4544 88.5934 76.4544 89.9471C76.4152 92.2895 78.4363 93.8888 80.8364 93.8627C82.5438 93.8627 83.9529 93.1348 84.7871 91.9766C84.8132 92.6785 84.8655 93.226 84.9439 93.6019H88.2042C88.1127 92.9783 88.0735 92.0005 88.0735 90.675V84.806L88.0757 84.8082ZM84.7109 88.1653C84.7109 89.8428 83.3148 91.0661 81.738 91.0661H81.5289C80.5772 91.0661 79.8737 90.5316 79.8737 89.7124C79.8737 89.204 80.0697 88.8281 80.4596 88.5543C80.8516 88.2805 81.3068 88.124 81.8164 88.0849L84.7109 87.785V88.1653Z"
73
+ fill="#F3F3F3"
74
+ />
75
+ <path
76
+ d="M97.7935 80.0212C96.0076 80.0212 94.5201 81.036 93.9452 82.0116V74.9475H90.4758V93.6063H93.9452V91.8766C94.5201 92.8523 96.0055 93.867 97.7935 93.867C101.537 93.9322 103.765 90.5881 103.726 86.9441C103.765 83.3002 101.535 79.956 97.7935 80.0212ZM97.2055 91.0683H96.9964C95.4044 91.1074 93.919 89.3908 93.9452 86.9441C93.919 84.4974 95.4065 82.7808 96.9964 82.8199H97.2055C98.9522 82.8199 100.257 84.4192 100.257 86.9181C100.257 89.4169 98.9391 91.0683 97.2055 91.0683Z"
77
+ fill="#F3F3F3"
78
+ />
79
+ <path
80
+ d="M108.931 74.9453H105.462V93.6041H108.931V74.9453Z"
81
+ fill="#F3F3F3"
82
+ />
83
+ <path
84
+ d="M117.057 80.0212C113.146 79.9691 110.667 82.9612 110.706 86.9441C110.641 91.1987 113.705 93.9192 117.057 93.867C120.33 93.867 122.443 92.0461 123.094 89.3908H119.651C119.403 90.3665 118.555 91.0683 117.303 91.0683H117.081C115.633 91.0683 114.2 89.8189 114.069 88.0371H123.094C123.133 87.4656 123.147 87.0484 123.147 86.7877C123.186 82.8982 120.956 79.9821 117.057 80.0212ZM114.071 85.3688C114.15 83.7934 115.363 82.8178 116.824 82.8178H117.033C118.495 82.8178 119.708 83.7934 119.784 85.3688H114.071Z"
85
+ fill="#F3F3F3"
86
+ />
87
+ </g>
88
+ <path
89
+ d="M30.4851 101.025V109H32.0581V106.195H33.2571C35.0941 106.195 36.7221 105.7 36.7221 103.665C36.7221 101.256 34.8521 101.025 33.2131 101.025H30.4851ZM33.2461 102.257C34.1041 102.257 35.1051 102.367 35.1051 103.676C35.1051 104.732 34.3351 104.974 33.3561 104.974H32.0581V102.257H33.2461Z"
90
+ fill="#F3F3F3"
91
+ />
92
+ <path
93
+ d="M36.9683 109H38.5743L39.1353 107.383H42.2373L42.7983 109H44.5034L41.5224 101.025H39.9383L36.9683 109ZM40.6863 102.95L41.7863 106.096H39.5863L40.6863 102.95Z"
94
+ fill="#F3F3F3"
95
+ />
96
+ <path
97
+ d="M49.1875 105.689C50.0345 105.843 50.6615 106.096 50.6615 106.778C50.6615 107.636 49.7705 107.889 49.0665 107.889C48.1205 107.889 47.3065 107.537 47.1305 106.371H45.6125C45.7555 108.087 47.0535 109.143 49.0115 109.143C50.6175 109.143 52.2455 108.34 52.2455 106.701C52.2455 105.051 50.8155 104.534 49.5175 104.303L48.4725 104.116C47.8345 103.995 47.3615 103.687 47.3615 103.126C47.3615 102.411 48.1755 102.136 48.9015 102.136C49.6495 102.136 50.4635 102.444 50.5845 103.379H52.1025C52.0255 101.85 50.6175 100.882 48.9675 100.882C47.4935 100.882 45.7885 101.586 45.7885 103.192C45.7885 104.578 46.8775 105.249 48.1755 105.502L49.1875 105.689Z"
98
+ fill="#F3F3F3"
99
+ />
100
+ <path
101
+ d="M57.5244 105.689C58.3714 105.843 58.9984 106.096 58.9984 106.778C58.9984 107.636 58.1074 107.889 57.4034 107.889C56.4574 107.889 55.6434 107.537 55.4674 106.371H53.9494C54.0924 108.087 55.3904 109.143 57.3484 109.143C58.9544 109.143 60.5824 108.34 60.5824 106.701C60.5824 105.051 59.1524 104.534 57.8544 104.303L56.8094 104.116C56.1714 103.995 55.6984 103.687 55.6984 103.126C55.6984 102.411 56.5124 102.136 57.2384 102.136C57.9864 102.136 58.8004 102.444 58.9214 103.379H60.4394C60.3624 101.85 58.9544 100.882 57.3044 100.882C55.8304 100.882 54.1254 101.586 54.1254 103.192C54.1254 104.578 55.2144 105.249 56.5124 105.502L57.5244 105.689Z"
102
+ fill="#F3F3F3"
103
+ />
104
+ <path
105
+ d="M62.5544 101.025V109H64.1274V106.195H65.3264C67.1634 106.195 68.7914 105.7 68.7914 103.665C68.7914 101.256 66.9214 101.025 65.2824 101.025H62.5544ZM65.3154 102.257C66.1734 102.257 67.1744 102.367 67.1744 103.676C67.1744 104.732 66.4044 104.974 65.4254 104.974H64.1274V102.257H65.3154Z"
106
+ fill="#F3F3F3"
107
+ />
108
+ <path
109
+ d="M71.8888 105.007C71.8888 103.137 72.9228 102.136 74.1658 102.136C75.4088 102.136 76.4428 103.137 76.4428 105.007C76.4428 106.877 75.4088 107.889 74.1658 107.889C72.9228 107.889 71.8888 106.877 71.8888 105.007ZM78.0708 105.007C78.0708 102.532 76.5418 100.882 74.1658 100.882C71.7898 100.882 70.2608 102.532 70.2608 105.007C70.2608 107.482 71.7898 109.143 74.1658 109.143C76.5418 109.143 78.0708 107.482 78.0708 105.007Z"
110
+ fill="#F3F3F3"
111
+ />
112
+ <path
113
+ d="M85.0133 109H86.7623L84.9913 105.546C85.9813 105.128 86.4323 104.358 86.4323 103.445C86.4323 101.773 85.4313 101.025 82.8023 101.025H80.1843V109H81.7573V105.876H83.0553H83.4293L85.0133 109ZM82.9783 102.257C84.0453 102.257 84.8153 102.532 84.8153 103.456C84.8153 104.237 84.2763 104.655 83.0553 104.655H81.7573V102.257H82.9783Z"
114
+ fill="#F3F3F3"
115
+ />
116
+ <path
117
+ d="M90.1424 109H91.7154V102.301H94.1794V101.025H87.6894V102.301H90.1424V109Z"
118
+ fill="#F3F3F3"
119
+ />
120
+ <g clip-path="url(#clip2_332_47939)">
121
+ <circle
122
+ cx="61.5"
123
+ cy="30"
124
+ r="28.125"
125
+ fill="url(#paint0_radial_332_47939)"
126
+ />
127
+ <circle
128
+ cx="61.5"
129
+ cy="30"
130
+ r="28.125"
131
+ fill="url(#paint1_radial_332_47939)"
132
+ />
133
+ <path
134
+ d="M61.5 0C44.9315 0 31.5 13.4315 31.5 30C31.5 46.5685 44.9315 60 61.5 60C78.0685 60 91.5 46.5685 91.5 30C91.5 13.4315 78.0685 0 61.5 0ZM60.3397 11.4576C61.1729 11.0494 62.0508 11.0774 62.8588 11.5359C65.6603 13.1323 68.4534 14.7428 71.2325 16.37C72.1272 16.8956 72.5857 17.7372 72.5885 18.7717C72.6053 22.3979 72.5997 26.0214 72.5885 29.6477C72.5885 29.7819 72.5019 29.9776 72.3928 30.0419C71.3164 30.685 70.226 31.3029 69.0433 31.9851V31.4147C69.0433 27.685 69.0322 23.9581 69.0517 20.2283C69.0545 19.5126 68.8085 19.0513 68.1738 18.6906C64.9222 16.8425 61.6873 14.9609 58.4469 13.0904C58.3071 13.0093 58.1701 12.9226 57.9576 12.794C58.7908 12.3215 59.5401 11.8462 60.3341 11.4576H60.3397ZM59.7442 48.5564C59.5624 48.4641 59.4282 48.3998 59.2968 48.3243C55.0051 45.8499 50.719 43.3588 46.4133 40.904C45.2055 40.2162 44.6547 39.2349 44.6687 37.8565C44.6938 34.9264 44.6855 31.9963 44.6715 29.0634C44.6659 27.7409 45.2027 26.7819 46.3658 26.1221C49.3882 24.4026 52.3938 22.658 55.3993 20.9105C55.6594 20.7596 55.8495 20.7344 56.1207 20.8966C57.158 21.52 58.2148 22.1156 59.3192 22.753C59.1095 22.8788 58.9501 22.9739 58.788 23.069C55.5335 24.9478 52.2847 26.8322 49.0219 28.6999C48.4879 29.0047 48.239 29.4017 48.2446 30.0224C48.2614 32.3318 48.2642 34.6412 48.2446 36.9506C48.239 37.5881 48.4935 37.9935 49.0415 38.3066C52.4832 40.2749 55.911 42.2656 59.35 44.2395C59.6407 44.4073 59.7637 44.5806 59.7582 44.9273C59.733 46.11 59.7498 47.2954 59.7498 48.5592L59.7442 48.5564ZM59.7442 41.9413C59.445 41.7707 59.2297 41.6505 59.0144 41.5247C56.2856 39.9506 53.5596 38.3709 50.8253 36.808C50.5289 36.6403 50.4199 36.4585 50.4226 36.1146C50.4422 34.3392 50.4338 32.5638 50.4282 30.7884C50.4282 30.548 50.4646 30.383 50.7022 30.2488C51.7088 29.6869 52.7041 29.0997 53.7022 28.5266C53.7749 28.4846 53.8532 28.4539 53.9846 28.3896V30.383C53.9846 31.4623 54.0014 32.5443 53.979 33.6235C53.9651 34.2386 54.2027 34.6552 54.7395 34.9571C56.2856 35.8294 57.8122 36.7353 59.3583 37.6048C59.6631 37.7754 59.7554 37.9655 59.7498 38.301C59.7302 39.4809 59.7414 40.6636 59.7414 41.9385L59.7442 41.9413ZM56.5932 18.6375C56.0144 18.2964 55.5196 18.2992 54.9408 18.6375C51.6976 20.5331 48.4404 22.4035 45.1859 24.2824C45.0489 24.3635 44.9063 24.4362 44.6631 24.5676C44.7498 23.3318 44.4842 22.1659 44.9063 21.0363C45.1356 20.4185 45.5662 19.9543 46.1365 19.6244C48.8514 18.0559 51.5634 16.4846 54.2838 14.9245C55.2763 14.3541 56.2884 14.3681 57.281 14.9413C60.3705 16.7195 63.4571 18.5033 66.5382 20.2926C66.6696 20.3681 66.8346 20.5387 66.8346 20.6673C66.8569 21.9366 66.8486 23.2088 66.8486 24.5704C65.7274 23.9245 64.6929 23.3262 63.6584 22.7279C61.3015 21.3663 58.939 20.0186 56.5932 18.6375ZM78.3033 38.5974C78.2223 39.5955 77.6379 40.3029 76.774 40.8006C73.4664 42.7018 70.1617 44.6142 66.8569 46.521C65.8197 47.1193 64.7824 47.7176 63.7423 48.3159C63.6165 48.3886 63.4879 48.4501 63.3173 48.5396C63.3061 48.3663 63.2922 48.2404 63.2922 48.1146C63.2922 47.0186 63.2978 45.9254 63.2866 44.8294C63.2866 44.5806 63.3453 44.4296 63.5746 44.2982C68.3947 41.5247 73.212 38.7428 78.0266 35.9637C78.0993 35.9217 78.1803 35.8882 78.3173 35.8239C78.3173 36.7968 78.3732 37.7027 78.3033 38.5974ZM78.3285 31.6971C78.3201 32.8322 77.7078 33.6291 76.7377 34.1883C72.9688 36.3551 69.2027 38.5331 65.4366 40.7083C64.7488 41.1053 64.0582 41.4995 63.3201 41.9245C63.3089 41.7372 63.295 41.6142 63.295 41.4883C63.295 40.4091 63.3062 39.3271 63.2866 38.2479C63.281 37.9404 63.3844 37.7782 63.65 37.6244C67.075 35.6589 70.4888 33.671 73.9194 31.7167C74.5289 31.37 74.7973 30.9422 74.7917 30.2265C74.7665 26.4967 74.7805 22.767 74.7805 19.0373V18.3858C75.6752 18.9254 76.514 19.37 77.2801 19.9124C77.979 20.4073 78.3313 21.1566 78.3341 22.0205C78.3453 25.247 78.3537 28.4734 78.3313 31.6999L78.3285 31.6971Z"
135
+ fill="#131313"
136
+ />
137
+ <path
138
+ fill-rule="evenodd"
139
+ clip-rule="evenodd"
140
+ d="M61.5 0C44.9315 0 31.5 13.4315 31.5 30C31.5 46.5685 44.9315 60 61.5 60C78.0685 60 91.5 46.5685 91.5 30C91.5 13.4315 78.0685 0 61.5 0ZM61.5 2.5C46.3122 2.5 34 14.8122 34 30C34 45.1878 46.3122 57.5 61.5 57.5C76.6878 57.5 89 45.1878 89 30C89 14.8122 76.6878 2.5 61.5 2.5Z"
141
+ fill="url(#paint2_radial_332_47939)"
142
+ />
143
+ <path
144
+ fill-rule="evenodd"
145
+ clip-rule="evenodd"
146
+ d="M61.5 0C44.9315 0 31.5 13.4315 31.5 30C31.5 46.5685 44.9315 60 61.5 60C78.0685 60 91.5 46.5685 91.5 30C91.5 13.4315 78.0685 0 61.5 0ZM61.5 2.5C46.3122 2.5 34 14.8122 34 30C34 45.1878 46.3122 57.5 61.5 57.5C76.6878 57.5 89 45.1878 89 30C89 14.8122 76.6878 2.5 61.5 2.5Z"
147
+ fill="url(#paint3_radial_332_47939)"
148
+ />
149
+ </g>
150
+ </g>
151
+ <defs>
152
+ <radialGradient
153
+ id="paint0_radial_332_47939"
154
+ cx="0"
155
+ cy="0"
156
+ r="1"
157
+ gradientUnits="userSpaceOnUse"
158
+ gradientTransform="translate(48.3053 16.7373) rotate(44.9817) scale(58.4359 123.929)"
159
+ >
160
+ <stop stop-color="#A3EEF8" />
161
+ <stop offset="0.177083" stop-color="#A4DCF5" />
162
+ <stop offset="0.380208" stop-color="#A6AEEC" />
163
+ <stop offset="1" stop-color="#ECBEE1" />
164
+ </radialGradient>
165
+ <radialGradient
166
+ id="paint1_radial_332_47939"
167
+ cx="0"
168
+ cy="0"
169
+ r="1"
170
+ gradientUnits="userSpaceOnUse"
171
+ gradientTransform="translate(63.9394 54.6335) rotate(84.265) scale(30.2672 57.9018)"
172
+ >
173
+ <stop stop-color="#FCF5EE" />
174
+ <stop offset="0.715135" stop-color="#ECBEE1" stop-opacity="0" />
175
+ </radialGradient>
176
+ <radialGradient
177
+ id="paint2_radial_332_47939"
178
+ cx="0"
179
+ cy="0"
180
+ r="1"
181
+ gradientUnits="userSpaceOnUse"
182
+ gradientTransform="translate(47.4257 15.8532) rotate(44.9817) scale(62.3316 132.191)"
183
+ >
184
+ <stop stop-color="#A3EEF8" />
185
+ <stop offset="0.177083" stop-color="#A4DCF5" />
186
+ <stop offset="0.380208" stop-color="#A6AEEC" />
187
+ <stop offset="1" stop-color="#ECBEE1" />
188
+ </radialGradient>
189
+ <radialGradient
190
+ id="paint3_radial_332_47939"
191
+ cx="0"
192
+ cy="0"
193
+ r="1"
194
+ gradientUnits="userSpaceOnUse"
195
+ gradientTransform="translate(64.102 56.2758) rotate(84.265) scale(32.2851 61.7619)"
196
+ >
197
+ <stop stop-color="#FCF5EE" />
198
+ <stop offset="0.715135" stop-color="#ECBEE1" stop-opacity="0" />
199
+ </radialGradient>
200
+ <clipPath id="clip0_332_47939">
201
+ <rect
202
+ width="123"
203
+ height="112"
204
+ fill="white"
205
+ transform="translate(0.5)"
206
+ />
207
+ </clipPath>
208
+ <clipPath id="clip1_332_47939">
209
+ <rect
210
+ width="123"
211
+ height="19"
212
+ fill="white"
213
+ transform="translate(0.5 75)"
214
+ />
215
+ </clipPath>
216
+ <clipPath id="clip2_332_47939">
217
+ <rect
218
+ width="60"
219
+ height="60"
220
+ fill="white"
221
+ transform="translate(31.5)"
222
+ />
223
+ </clipPath>
224
+ </defs>
225
+ </svg>
226
+ `;var Gi=()=>`
227
+ <button
228
+ id="${Pe}"
229
+ style="
230
+ background: #f3f3f326 !important;
231
+ border: none !important;
232
+ border-radius: 50% !important;
233
+ width: 48px !important;
234
+ height: 48px !important;
235
+ position: absolute !important;
236
+ top: 40px !important;
237
+ right: 40px !important;
238
+ cursor: pointer !important;
239
+ display: flex !important;
240
+ align-items: center !important;
241
+ justify-content: center !important;
242
+ "
243
+ >
244
+ ${qt}
245
+ </button>
246
+ `,Kt=()=>`
247
+ <button
248
+ id="${Se}"
249
+ style="
250
+ margin-top: 27px !important;
251
+ color: #f3f3f3 !important;
252
+ background: transparent !important;
253
+ padding: 12px 24px !important;
254
+ border-radius: 30px !important;
255
+ border: 2px solid #f3f3f3 !important;
256
+ font-size: 1em !important;
257
+ font-weight: 500 !important;
258
+ cursor: pointer !important;
259
+ "
260
+ >
261
+ Try again
262
+ </button>
263
+ `,Hi=()=>`
264
+ ${nt}
265
+ <div
266
+ style="
267
+ color: #e01a3d !important;
268
+ display: flex !important;
269
+ align-items: center !important;
270
+ gap: 4px !important;
271
+ margin-bottom: 10px !important;
272
+ "
273
+ >
274
+ ${Zt}
275
+ Pop-up blocked
276
+ </div>
277
+ <p style="
278
+ color: #b6b6b6 !important;
279
+ text-align: center !important;
280
+ margin: 0 !important;
281
+ "
282
+ >
283
+ Please try again below.<br />
284
+ If the problem continues, adjust your<br />
285
+ browser settings.
286
+ </p>
287
+ ${Kt()}
288
+ `,Vi=()=>`
289
+ ${nt}
290
+ <p style="
291
+ color: #b6b6b6 !important;
292
+ text-align: center !important;
293
+ margin: 0 !important;
294
+ "
295
+ >
296
+ Secure pop-up not showing?<br />We'll help you re-launch
297
+ </p>
298
+ ${Kt()}
299
+ `,Xt=o=>`
300
+ <div
301
+ id="${pe}"
302
+ style="
303
+ position: fixed !important;
304
+ top: 0 !important;
305
+ left: 0 !important;
306
+ width: 100% !important;
307
+ height: 100% !important;
308
+ background: rgba(13, 13, 13, 0.48) !important;
309
+ backdrop-filter: blur(28px) !important;
310
+ -webkit-backdrop-filter: blur(28px) !important;
311
+ display: flex !important;
312
+ flex-direction: column !important;
313
+ justify-content: center !important;
314
+ align-items: center !important;
315
+ font-size: 16px !important;
316
+ line-height: 1.5 !important;
317
+ font-family: Roboto !important;
318
+ font-style: normal !important;
319
+ font-weight: 400 !important;
320
+ font-feature-settings: 'clig' off, 'liga' off !important;
321
+ z-index: 2147483647 !important;
322
+ "
323
+ >
324
+ ${Gi()}
325
+ <div
326
+ id="${Ee}"
327
+ style="
328
+ display: flex !important;
329
+ flex-direction: column !important;
330
+ align-items: center !important;
331
+ max-width: 400px !important;
332
+ "
333
+ >
334
+ ${o??""}
335
+ </div>
336
+ </div>
337
+ `,Jt=()=>`
338
+ <div
339
+ id="${pe}"
340
+ style="
341
+ position: fixed;
342
+ top: 0;
343
+ left: 0;
344
+ width: 100%;
345
+ height: 100%;
346
+ display: flex;
347
+ flex-direction: column;
348
+ justify-content: center;
349
+ align-items: center;
350
+ z-index: 2147483647;
351
+ background: rgba(247, 247, 247, 0.24);
352
+ animation-name: passportEmbeddedLoginPromptOverlayFadeIn;
353
+ animation-duration: 0.8s;
354
+ "
355
+ >
356
+ <div
357
+ id="${Ee}"
358
+ style="
359
+ display: flex;
360
+ flex-direction: column;
361
+ align-items: center;
362
+ width: 100%;
363
+ "
364
+ />
365
+ </div>
366
+ `;function Oe({id:o,href:t,rel:n,crossOrigin:a}){let l=`${pe}-${o}`;if(!document.getElementById(l)){let d=document.createElement("link");d.id=l,d.href=t,n&&(d.rel=n),a&&(d.crossOrigin=a),document.head.appendChild(d);}}var zt=()=>Xt(Hi()),jt=()=>Xt(Vi());var Q=class{disableGenericPopupOverlay;disableBlockedPopupOverlay;overlay;isBlockedOverlay;tryAgainListener;onCloseListener;constructor(t,n=!1){this.disableBlockedPopupOverlay=t.disableBlockedPopupOverlay||!1,this.disableGenericPopupOverlay=t.disableGenericPopupOverlay||!1,this.isBlockedOverlay=n;}append(t,n){this.shouldAppendOverlay()&&(this.appendOverlay(),this.updateTryAgainButton(t),this.updateCloseButton(n));}update(t){this.updateTryAgainButton(t);}remove(){this.overlay&&this.overlay.remove();}shouldAppendOverlay(){return !(this.disableGenericPopupOverlay&&this.disableBlockedPopupOverlay||this.disableGenericPopupOverlay&&!this.isBlockedOverlay||this.disableBlockedPopupOverlay&&this.isBlockedOverlay)}appendOverlay(){if(!this.overlay){Oe({id:"link-googleapis",href:"https://fonts.googleapis.com"}),Oe({id:"link-gstatic",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),Oe({id:"link-roboto",href:"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap",rel:"stylesheet"});let t=document.createElement("div");t.innerHTML=this.isBlockedOverlay?zt():jt(),document.body.insertAdjacentElement("beforeend",t),this.overlay=t;}}updateTryAgainButton(t){let n=document.getElementById(Se);n&&(this.tryAgainListener&&n.removeEventListener("click",this.tryAgainListener),this.tryAgainListener=t,n.addEventListener("click",t));}updateCloseButton(t){let n=document.getElementById(Pe);n&&(this.onCloseListener&&n.removeEventListener("click",this.onCloseListener),this.onCloseListener=t,n.addEventListener("click",t));}};var be=class{storage;constructor(t,n){this.storage=Wi.createInstance({name:t,driver:n});}get length(){return this.storage.length()}clear(){return this.storage.clear()}getItem(t){return this.storage.getItem(t)}key(t){return this.storage.key(t)}async removeItem(t){await this.storage.removeItem(t);}async setItem(t,n){await this.storage.setItem(t,n);}};var ea={headers:{"Content-Type":"application/x-www-form-urlencoded"}},ta="/v2/logout",ra="/im-logged-out",na="/authorize",ia=o=>o?ra:ta,aa=o=>{let{authenticationDomain:t,oidcConfiguration:n}=o,a;o.crossSdkBridgeEnabled?a=new be("ImmutableSDKPassport",Wi.INDEXEDDB):typeof window<"u"?a=window.localStorage:a=new InMemoryWebStorage;let l=new WebStorageStateStore({store:a}),d=new URL(ia(o.crossSdkBridgeEnabled),t.replace(/^(?:https?:\/\/)?(.*)/,"https://$1"));return d.searchParams.set("client_id",n.clientId),n.logoutRedirectUri&&d.searchParams.set("returnTo",n.logoutRedirectUri),{authority:t,redirect_uri:n.redirectUri,popup_redirect_uri:n.popupRedirectUri||n.redirectUri,client_id:n.clientId,metadata:{authorization_endpoint:`${t}/authorize`,token_endpoint:`${t}/oauth/token`,userinfo_endpoint:`${t}/userinfo`,end_session_endpoint:d.toString(),revocation_endpoint:`${t}/oauth/revoke`},mergeClaimsStrategy:{array:"merge"},automaticSilentRenew:!1,scope:n.scope,userStore:l,revokeTokenTypes:["refresh_token"],extraQueryParams:{...n.audience?{audience:n.audience}:{}}}};function it(o){return btoa(String.fromCharCode(...new Uint8Array(o))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}async function sa(o){let n=new TextEncoder().encode(o);return await window.crypto.subtle.digest("SHA-256",n)}var ye=class o{userManager;deviceCredentialsManager;config;embeddedLoginPrompt;logoutMode;refreshingPromise=null;constructor(t,n){this.config=t,this.userManager=new UserManager(aa(t)),this.deviceCredentialsManager=new fe,this.embeddedLoginPrompt=n,this.logoutMode=t.oidcConfiguration.logoutMode||"redirect";}static mapOidcUserToDomainModel=t=>{let n;t.id_token&&(n=Yt(t.id_token)?.passport);let a={expired:t.expired,idToken:t.id_token,accessToken:t.access_token,refreshToken:t.refresh_token,profile:{sub:t.profile.sub,email:t.profile.email,nickname:t.profile.nickname}};return n?.imx_eth_address&&(a.imx={ethAddress:n.imx_eth_address,starkAddress:n.imx_stark_address,userAdminAddress:n.imx_user_admin_address}),n?.zkevm_eth_address&&(a.zkEvm={ethAddress:n?.zkevm_eth_address,userAdminAddress:n?.zkevm_user_admin_address}),a};static mapDeviceTokenResponseToOidcUser=t=>{let n=Yt(t.id_token);return new User({id_token:t.id_token,access_token:t.access_token,refresh_token:t.refresh_token,token_type:t.token_type,profile:{sub:n.sub,iss:n.iss,aud:n.aud,exp:n.exp,iat:n.iat,email:n.email,nickname:n.nickname,passport:n.passport}})};buildExtraQueryParams(t,n,a){let l={...this.userManager.settings?.extraQueryParams??{},rid:getDetail(Detail.RUNTIME_ID)||"",third_party_a_id:t||""};if(n){if(n.directLoginMethod==="email"){let d=n.email;d&&(l.direct=n.directLoginMethod,l.email=d);}else l.direct=n.directLoginMethod;n.marketingConsentStatus&&(l.marketingConsent=n.marketingConsentStatus);}return a&&(l.im_passport_trace_id=a),l}async loginWithRedirect(t,n){return await this.userManager.clearStaleState(),k(async()=>{let a=this.buildExtraQueryParams(t,n);await this.userManager.signinRedirect({extraQueryParams:a});},"AUTHENTICATION_ERROR")}async login(t,n){return k(async()=>{let a,l;if(n)a=n;else if(!this.config.popupOverlayOptions.disableHeadlessLoginPromptOverlay){let{imPassportTraceId:u,...h}=await this.embeddedLoginPrompt.displayEmbeddedLoginPrompt(t);a=h,l=u;}let d=window.crypto.randomUUID(),s=async()=>{let u=this.buildExtraQueryParams(t,a,l);return this.userManager.signinPopup({extraQueryParams:u,popupWindowFeatures:{width:410,height:450},popupWindowTarget:d})};return new Promise((u,h)=>{s().then(E=>{u(o.mapOidcUserToDomainModel(E));}).catch(E=>{if(!(E instanceof Error)||E.message!=="Attempted to navigate on a disposed window"){h(E);return}let f=!1,y=new Q(this.config.popupOverlayOptions,!0);y.append(async()=>{try{if(f)window.open("",d);else {f=!0;let C=await s();y.remove(),u(o.mapOidcUserToDomainModel(C));}}catch(C){y.remove(),h(C);}},()=>{y.remove(),h(new Error("Popup closed by user"));});});})},"AUTHENTICATION_ERROR")}async getUserOrLogin(){let t=null;try{t=await this.getUser();}catch(n){ie.warn("Failed to retrieve a cached user session",n);}return t||this.login()}async loginCallback(){return k(async()=>{let t=await this.userManager.signinCallback();if(t)return o.mapOidcUserToDomainModel(t)},"AUTHENTICATION_ERROR")}async getPKCEAuthorizationUrl(t,n){let a=it(window.crypto.getRandomValues(new Uint8Array(32))),l=it(await sa(a)),d=it(window.crypto.getRandomValues(new Uint8Array(32))),{redirectUri:s,scope:u,audience:h,clientId:E}=this.config.oidcConfiguration;this.deviceCredentialsManager.savePKCEData({state:d,verifier:a});let f=new URL(na,this.config.authenticationDomain);if(f.searchParams.set("response_type","code"),f.searchParams.set("code_challenge",l),f.searchParams.set("code_challenge_method","S256"),f.searchParams.set("client_id",E),f.searchParams.set("redirect_uri",s),f.searchParams.set("state",d),u&&f.searchParams.set("scope",u),h&&f.searchParams.set("audience",h),t){if(t.directLoginMethod==="email"){let y=t.email;y&&(f.searchParams.set("direct",t.directLoginMethod),f.searchParams.set("email",y));}else f.searchParams.set("direct",t.directLoginMethod);t.marketingConsentStatus&&f.searchParams.set("marketingConsent",t.marketingConsentStatus);}return n&&f.searchParams.set("im_passport_trace_id",n),f.toString()}async loginWithPKCEFlowCallback(t,n){return k(async()=>{let a=this.deviceCredentialsManager.getPKCEData();if(!a)throw new Error("No code verifier or state for PKCE");if(n!==a.state)throw new Error("Provided state does not match stored state");let l=await this.getPKCEToken(t,a.verifier),d=o.mapDeviceTokenResponseToOidcUser(l),s=o.mapOidcUserToDomainModel(d);return await this.userManager.storeUser(d),s},"AUTHENTICATION_ERROR")}async getPKCEToken(t,n){return (await kr.post(`${this.config.authenticationDomain}/oauth/token`,{client_id:this.config.oidcConfiguration.clientId,grant_type:"authorization_code",code_verifier:n,code:t,redirect_uri:this.config.oidcConfiguration.redirectUri},ea)).data}async storeTokens(t){return k(async()=>{let n=o.mapDeviceTokenResponseToOidcUser(t),a=o.mapOidcUserToDomainModel(n);return await this.userManager.storeUser(n),a},"AUTHENTICATION_ERROR")}async logout(){return k(async()=>{await this.userManager.revokeTokens(["refresh_token"]),this.logoutMode==="silent"?await this.userManager.signoutSilent():await this.userManager.signoutRedirect();},"LOGOUT_ERROR")}async logoutSilentCallback(t){return this.userManager.signoutSilentCallback(t)}async removeUser(){return this.userManager.removeUser()}async getLogoutUrl(){let t=this.userManager.settings?.metadata?.end_session_endpoint;return t||(ie.warn("Failed to get logout URL"),null)}forceUserRefreshInBackground(){this.refreshTokenAndUpdatePromise().catch(t=>{ie.warn("Failed to refresh user token",t);});}async forceUserRefresh(){return this.refreshTokenAndUpdatePromise().catch(t=>(ie.warn("Failed to refresh user token",t),null))}async refreshTokenAndUpdatePromise(){return this.refreshingPromise?this.refreshingPromise:(this.refreshingPromise=new Promise(async(t,n)=>{try{let a=await this.userManager.signinSilent();if(a){t(o.mapOidcUserToDomainModel(a));return}t(null);}catch(a){let l="AUTHENTICATION_ERROR",d="Failed to refresh token",s=!0;if(a instanceof ErrorTimeout?(l="SILENT_LOGIN_ERROR",d=`${d}: ${a.message}`,s=!1):a instanceof ErrorResponse?(l="NOT_LOGGED_IN_ERROR",d=`${d}: ${a.message||a.error_description}`):a instanceof Error?d=`${d}: ${a.message}`:typeof a=="string"&&(d=`${d}: ${a}`),s)try{await this.userManager.removeUser();}catch(u){u instanceof Error&&(d=`${d}: Failed to remove user: ${u.message}`);}n(new I(d,l));}finally{this.refreshingPromise=null;}}),this.refreshingPromise)}async getUser(t=n=>!0){if(this.refreshingPromise){let a=await this.refreshingPromise;return a&&t(a)?a:null}let n=await this.userManager.getUser();if(!n)return null;if(!Wt(n)){let a=o.mapOidcUserToDomainModel(n);if(a&&t(a))return a}if(n.refresh_token){let a=await this.refreshTokenAndUpdatePromise();if(a&&t(a))return a}return null}async getUserZkEvm(){let t=await this.getUser(de);if(!t)throw new Error("Failed to obtain a User with the required ZkEvm attributes");return t}async getUserImx(){let t=await this.getUser(X);if(!t)throw new Error("Failed to obtain a User with the required IMX attributes");return t}};var S=async(o,t,n=!0,a=!0)=>{let l=trackFlow("passport",t,n);try{return await o(l)}catch(d){throw d instanceof Error?trackError("passport",t,d,{flowId:l.details.flowId}):l.addEvent("errored"),d}finally{a&&l.addEvent("End");}};var tr="ETH",we=class o extends AbstractSigner{authManager;magicTeeApiClient;userWallet=null;createWalletPromise=null;constructor(t,n){super(),this.authManager=t,this.magicTeeApiClient=n;}async getUserWallet(){let{userWallet:t}=this;t||(t=await this.createWallet());let n=await this.getUserOrThrow();if(n.profile.sub!==t.userIdentifier&&(t=await this.createWallet(n)),X(n)&&n.imx.userAdminAddress.toLowerCase()!==t.walletAddress.toLowerCase())throw new I(`Wallet address mismatch.Rollup: IMX, TEE address: ${t.walletAddress}, profile address: ${n.imx.userAdminAddress}`,"WALLET_CONNECTION_ERROR");if(de(n)&&n.zkEvm.userAdminAddress.toLowerCase()!==t.walletAddress.toLowerCase())throw new I(`Wallet address mismatch.Rollup: zkEVM, TEE address: ${t.walletAddress}, profile address: ${n.zkEvm.userAdminAddress}`,"WALLET_CONNECTION_ERROR");return t}async createWallet(t){return this.createWalletPromise?this.createWalletPromise:(this.createWalletPromise=new Promise(async(n,a)=>{try{this.userWallet=null;let l=t||await this.getUserOrThrow(),d=o.getHeaders(l);await S(async s=>{try{let u=performance.now(),h=await this.magicTeeApiClient.walletApi.createWalletV1WalletPost({xMagicChain:tr},{headers:d});return trackDuration("passport",s.details.flowName,Math.round(performance.now()-u)),this.userWallet={userIdentifier:l.profile.sub,walletAddress:h.data.public_address},n(this.userWallet)}catch(u){let h="MagicTEE: Failed to initialise EOA";return isAxiosError(u)?u.response?h+=` with status ${u.response.status}: ${JSON.stringify(u.response.data)}`:h+=`: ${u.message}`:h+=`: ${u.message}`,a(new Error(h))}},"magicCreateWallet");}catch(l){a(l);}finally{this.createWalletPromise=null;}}),this.createWalletPromise)}async getUserOrThrow(){let t=await this.authManager.getUser();if(!t)throw new I("User has been logged out","NOT_LOGGED_IN_ERROR");return t}static getHeaders(t){if(!t)throw new I("User has been logged out","NOT_LOGGED_IN_ERROR");return {Authorization:`Bearer ${t.idToken}`}}async getAddress(){return (await this.getUserWallet()).walletAddress}async signMessage(t){await this.getUserWallet();let n=t instanceof Uint8Array?`0x${T.from(t).toString("hex")}`:t,a=await this.getUserOrThrow(),l=await o.getHeaders(a);return S(async d=>{try{let s=performance.now(),u=await this.magicTeeApiClient.signOperationsApi.signMessageV1WalletSignMessagePost({signMessageRequest:{message_base64:T.from(n,"utf-8").toString("base64")},xMagicChain:tr},{headers:l});return trackDuration("passport",d.details.flowName,Math.round(performance.now()-s)),u.data.signature}catch(s){let u="MagicTEE: Failed to sign message using EOA";throw isAxiosError(s)?s.response?u+=` with status ${s.response.status}: ${JSON.stringify(s.response.data)}`:u+=`: ${s.message}`:u+=`: ${s.message}`,new Error(u)}},"magicSignMessage")}connect(){throw new Error("Method not implemented.")}signTransaction(){throw new Error("Method not implemented.")}signTypedData(){throw new Error("Method not implemented.")}};var rr=async o=>k(async()=>{let t=await generateLegacyStarkPrivateKey(o);return createStarkSigner(t)},"WALLET_CONNECTION_ERROR");async function nr({user:o,starkSigner:t,request:n,exchangesApi:a}){return k(async()=>{let{ethAddress:l}=o.imx,d=n.amount,s=await a.getExchangeSignableTransfer({id:n.transactionID,getSignableTransferRequest:{sender:l,token:convertToSignableToken(n),amount:d,receiver:n.receiver}}),u=await t.getAddress(),{payload_hash:h}=s.data,E=await t.signMessage(h),f={sender_stark_key:s.data.sender_stark_key||u,sender_vault_id:s.data.sender_vault_id,receiver_stark_key:s.data.receiver_stark_key,receiver_vault_id:s.data.receiver_vault_id,asset_id:s.data.asset_id,amount:s.data.amount,nonce:s.data.nonce,expiration_timestamp:s.data.expiration_timestamp,stark_signature:E},y={Authorization:`Bearer ${o.accessToken}`},C=await a.createExchangeTransfer({id:n.transactionID,createTransferRequest:f},{headers:y});return {sent_signature:C?.data.sent_signature,status:C?.data.status?.toString(),time:C?.data.time,transfer_id:C?.data.transfer_id}},"EXCHANGE_TRANSFER_ERROR")}var ar="ERC721";async function sr({starkSigner:o,user:t,request:n,ordersApi:a,guardianClient:l}){return k(async()=>{let{ethAddress:d}=t.imx,s=n.sell.type===ar?"1":n.sell.amount,u=n.buy.type===ar?"1":n.buy.amount,h={Authorization:`Bearer ${t.accessToken}`},E={user:d,amount_buy:u,token_buy:convertToSignableToken(n.buy),amount_sell:s,token_sell:convertToSignableToken(n.sell),fees:n.fees,split_fees:!0,expiration_timestamp:n.expiration_timestamp},f=await a.getSignableOrder({getSignableOrderRequestV3:E},{headers:h});await l.evaluateImxTransaction({payloadHash:f.data.payload_hash});let{payload_hash:y}=f.data,C=await o.signMessage(y),w=f.data,_={createOrderRequest:{include_fees:!0,fees:n.fees,stark_signature:C,amount_buy:w.amount_buy,amount_sell:w.amount_sell,asset_id_buy:w.asset_id_buy,asset_id_sell:w.asset_id_sell,expiration_timestamp:w.expiration_timestamp,nonce:w.nonce,stark_key:w.stark_key,vault_id_buy:w.vault_id_buy,vault_id_sell:w.vault_id_sell}};return {...(await a.createOrderV3(_,{headers:h})).data}},"CREATE_ORDER_ERROR")}async function or({user:o,starkSigner:t,request:n,ordersApi:a,guardianClient:l}){return k(async()=>{let d={order_id:n.order_id},s={Authorization:`Bearer ${o.accessToken}`},u=await a.getSignableCancelOrderV3({getSignableCancelOrderRequest:d},{headers:s});await l.evaluateImxTransaction({payloadHash:u.data.payload_hash});let{payload_hash:h}=u.data,E=await t.signMessage(h),f=await a.cancelOrderV3({id:n.order_id.toString(),cancelOrderRequest:{order_id:n.order_id,stark_signature:E}},{headers:s});return {order_id:f.data.order_id,status:f.data.status}},"CANCEL_ORDER_ERROR")}async function at({ethSigner:o,starkSigner:t,imxApiClients:n},a){return k(async()=>{let[l,d]=await Promise.all([o.getAddress(),t.getAddress()]),s=await n.usersApi.getSignableRegistrationOffchain({getSignableRegistrationRequest:{ether_key:l,stark_key:d}}),{signable_message:u,payload_hash:h}=s.data,[E,f]=await Promise.all([signRaw(u,o),t.signMessage(h)]);return (await n.usersApi.registerPassportUserV2({authorization:`Bearer ${a}`,registerPassportUserRequest:{eth_signature:E,ether_key:l,stark_signature:f,stark_key:d}})).data},"USER_REGISTRATION_ERROR")}async function cr({request:o,tradesApi:t,user:n,starkSigner:a,guardianClient:l}){return k(async()=>{let{ethAddress:d}=n.imx,s={expiration_timestamp:o.expiration_timestamp,fees:o.fees,order_id:o.order_id,user:d},u={Authorization:`Bearer ${n.accessToken}`},h=await t.getSignableTrade({getSignableTradeRequest:s},{headers:u});await l.evaluateImxTransaction({payloadHash:h.data.payload_hash});let{payload_hash:E}=h.data,f=await a.signMessage(E),{data:y}=h,C={createTradeRequest:{include_fees:!0,fees:o?.fees,stark_signature:f,order_id:o?.order_id,fee_info:y.fee_info,amount_buy:y.amount_buy,amount_sell:y.amount_sell,asset_id_buy:y.asset_id_buy,asset_id_sell:y.asset_id_sell,expiration_timestamp:y.expiration_timestamp,nonce:y.nonce,stark_key:y.stark_key,vault_id_buy:y.vault_id_buy,vault_id_sell:y.vault_id_sell}},{data:w}=await t.createTradeV3(C,{headers:u});return w},"CREATE_TRADE_ERROR")}var dr="ERC721";async function pr({request:o,transfersApi:t,starkSigner:n,user:a,guardianClient:l}){return k(async()=>{let d=o.type===dr?"1":o.amount,s={sender:a.imx.ethAddress,token:convertToSignableToken(o),amount:d,receiver:o.receiver},u={Authorization:`Bearer ${a.accessToken}`},h=await t.getSignableTransferV1({getSignableTransferRequest:s},{headers:u});await l.evaluateImxTransaction({payloadHash:h.data.payload_hash});let E=h.data,{payload_hash:f}=E,y=await n.signMessage(f),C=await n.getAddress(),_={createTransferRequest:{sender_stark_key:E.sender_stark_key||C,sender_vault_id:E.sender_vault_id,receiver_stark_key:E.receiver_stark_key,receiver_vault_id:E.receiver_vault_id,asset_id:E.asset_id,amount:E.amount,nonce:E.nonce,expiration_timestamp:E.expiration_timestamp,stark_signature:y}},{data:A}=await t.createTransferV1(_,{headers:u});return {sent_signature:A.sent_signature,status:A.status?.toString(),time:A.time,transfer_id:A.transfer_id}},"TRANSFER_ERROR")}async function ur({user:o,starkSigner:t,request:n,transfersApi:a,guardianClient:l}){return k(async()=>{let{ethAddress:d}=o.imx,s=n.map(C=>({amount:"1",token:convertToSignableToken({type:dr,tokenId:C.tokenId,tokenAddress:C.tokenAddress}),receiver:C.receiver})),u={Authorization:`Bearer ${o.accessToken}`},h=await a.getSignableTransfer({getSignableTransferRequestV2:{sender_ether_key:d,signable_requests:s}},{headers:u});await l.evaluateImxTransaction({payloadHash:h.data.signable_responses[0]?.payload_hash});let E=await Promise.all(h.data.signable_responses.map(async C=>{let w=await t.signMessage(C.payload_hash);return {sender_vault_id:C.sender_vault_id,receiver_stark_key:C.receiver_stark_key,receiver_vault_id:C.receiver_vault_id,asset_id:C.asset_id,amount:C.amount,nonce:C.nonce,expiration_timestamp:C.expiration_timestamp,stark_signature:w}})),f={sender_stark_key:h.data.sender_stark_key,requests:E};return {transfer_ids:(await a.createTransfer({createTransferRequestV2:f},{headers:u}))?.data.transfer_ids}},"TRANSFER_ERROR")}var ha=o=>new Promise(t=>{setTimeout(()=>t(),o);}),ae=async(o,t)=>{let{retries:n=3,interval:a=1e3,finalErr:l=Error("Retry failed"),finallyFn:d=()=>{}}=t||{};try{return await o()}catch{return n<=0?Promise.reject(l):(await ha(a),ae(o,{retries:n-1,finalErr:l,finallyFn:d}))}finally{n<=0&&d();}};async function mr(o){await ae(async()=>{let t=await o.forceUserRefresh();return t?.imx?t:Promise.reject(new Error("user wallet addresses not exist"))});}async function st(o,t,n,a,l){return k(async()=>{try{let d=await at({ethSigner:o,starkSigner:t,imxApiClients:l},n.accessToken);return await mr(a),d}catch(d){if(kr.isAxiosError(d)&&d.response?.status===409)return await mr(a),{tx_hash:""};throw d}},"USER_REGISTRATION_ERROR")}var xe=class{authManager;immutableXClient;guardianClient;imxApiClients;magicTEESigner;starkSigner;signerInitialisationError;constructor({authManager:t,immutableXClient:n,passportEventEmitter:a,magicTEESigner:l,imxApiClients:d,guardianClient:s}){this.authManager=t,this.immutableXClient=n,this.magicTEESigner=l,this.imxApiClients=d,this.guardianClient=s,this.#s(),a.on("loggedOut",this.handleLogout);}handleLogout=()=>{this.starkSigner=void 0;};#s(){this.starkSigner=new Promise(async t=>{try{t(await rr(this.magicTEESigner));}catch(n){this.signerInitialisationError=n,t(void 0);}});}async#t(){let t=await this.authManager.getUser();if(!t||!this.starkSigner)throw new I("User has been logged out","NOT_LOGGED_IN_ERROR");return t}async#i(){let t=await this.starkSigner;if(typeof t>"u")throw typeof this.signerInitialisationError<"u"?this.signerInitialisationError:new Error("Signers failed to initialise");return t}async#r(){let[t,n]=await Promise.all([this.#t(),this.#i()]);if(!X(t))throw new I("User has not been registered with StarkEx","USER_NOT_REGISTERED_ERROR");return {user:t,starkSigner:n}}async transfer(t){return S(()=>this.guardianClient.withDefaultConfirmationScreenTask(async()=>{let{user:n,starkSigner:a}=await this.#r();return pr({request:t,user:n,starkSigner:a,transfersApi:this.immutableXClient.transfersApi,guardianClient:this.guardianClient})})(),"imxTransfer")}async registerOffchain(){return S(async()=>{let[t,n]=await Promise.all([this.#t(),this.#i()]);return await st(this.magicTEESigner,n,t,this.authManager,this.imxApiClients)},"imxRegisterOffchain")}async isRegisteredOffchain(){return S(async()=>!!(await this.#t()).imx,"imxIsRegisteredOffchain")}isRegisteredOnchain(){throw new I("Operation not supported","OPERATION_NOT_SUPPORTED_ERROR")}async createOrder(t){return S(()=>this.guardianClient.withDefaultConfirmationScreenTask(async()=>{let{user:n,starkSigner:a}=await this.#r();return sr({request:t,user:n,starkSigner:a,ordersApi:this.immutableXClient.ordersApi,guardianClient:this.guardianClient})})(),"imxCreateOrder")}async cancelOrder(t){return S(()=>this.guardianClient.withDefaultConfirmationScreenTask(async()=>{let{user:n,starkSigner:a}=await this.#r();return or({request:t,user:n,starkSigner:a,ordersApi:this.immutableXClient.ordersApi,guardianClient:this.guardianClient})})(),"imxCancelOrder")}async createTrade(t){return S(()=>this.guardianClient.withDefaultConfirmationScreenTask(async()=>{let{user:n,starkSigner:a}=await this.#r();return cr({request:t,user:n,starkSigner:a,tradesApi:this.immutableXClient.tradesApi,guardianClient:this.guardianClient})})(),"imxCreateTrade")}async batchNftTransfer(t){return S(()=>this.guardianClient.withConfirmationScreenTask({width:480,height:784})(async()=>{let{user:n,starkSigner:a}=await this.#r();return ur({request:t,user:n,starkSigner:a,transfersApi:this.immutableXClient.transfersApi,guardianClient:this.guardianClient})})(),"imxBatchNftTransfer")}async exchangeTransfer(t){return S(async()=>{let{user:n,starkSigner:a}=await this.#r();return nr({request:t,user:n,starkSigner:a,exchangesApi:this.immutableXClient.exchangeApi})},"imxExchangeTransfer")}deposit(t){throw new I("Operation not supported","OPERATION_NOT_SUPPORTED_ERROR")}prepareWithdrawal(t){throw new I("Operation not supported","OPERATION_NOT_SUPPORTED_ERROR")}completeWithdrawal(t,n){throw new I("Operation not supported","OPERATION_NOT_SUPPORTED_ERROR")}async getAddress(){return S(async()=>{let t=await this.#t();if(!X(t))throw new I("User has not been registered with StarkEx","USER_NOT_REGISTERED_ERROR");return Promise.resolve(t.imx.ethAddress)},"imxGetAddress")}};var ke=class{authManager;immutableXClient;magicTEESigner;passportEventEmitter;imxApiClients;guardianClient;constructor({authManager:t,immutableXClient:n,magicTEESigner:a,passportEventEmitter:l,imxApiClients:d,guardianClient:s}){this.authManager=t,this.immutableXClient=n,this.magicTEESigner=a,this.passportEventEmitter=l,this.imxApiClients=d,this.guardianClient=s;}async getProvider(){let t=await this.authManager.getUserOrLogin();return this.createProviderInstance(t)}async getProviderSilent(){let t=await this.authManager.getUser();return t?this.createProviderInstance(t):null}async createProviderInstance(t){if(!t.idToken)throw new I("Failed to initialise","WALLET_CONNECTION_ERROR");return new xe({authManager:this.authManager,immutableXClient:this.immutableXClient,passportEventEmitter:this.passportEventEmitter,magicTEESigner:this.magicTEESigner,imxApiClients:this.imxApiClients,guardianClient:this.guardianClient})}};var Er=(o,t,n)=>{let a=t.map(l=>!o[l]&&l).filter(l=>l).join(", ");if(a!==""){let l=n?`${n} - ${a} cannot be null`:`${a} cannot be null`;throw new I(l,"INVALID_CONFIGURATION")}},Me=class{authenticationDomain;passportDomain;imxPublicApiDomain;magicPublishableApiKey;magicProviderId;magicTeeBasePath="https://tee.express.magiclabs.com";magicTeeTimeout=1e4;oidcConfiguration;baseConfig;zkEvmRpcUrl;relayerUrl;multiRollupConfig;crossSdkBridgeEnabled;forceScwDeployBeforeMessageSignature;popupOverlayOptions;constructor({baseConfig:t,overrides:n,crossSdkBridgeEnabled:a,jsonRpcReferrer:l,forceScwDeployBeforeMessageSignature:d,popupOverlayOptions:s,...u}){if(Er(u,["clientId","redirectUri"]),this.oidcConfiguration=u,this.baseConfig=t,this.crossSdkBridgeEnabled=a||!1,this.forceScwDeployBeforeMessageSignature=d||!1,this.popupOverlayOptions=s||{disableGenericPopupOverlay:!1,disableBlockedPopupOverlay:!1,disableHeadlessLoginPromptOverlay:!1},n)Er(n,["authenticationDomain","passportDomain","magicPublishableApiKey","magicProviderId","zkEvmRpcUrl","relayerUrl","imxPublicApiDomain","indexerMrBasePath","orderBookMrBasePath","passportMrBasePath"],"overrides"),this.authenticationDomain=n.authenticationDomain,this.passportDomain=n.passportDomain,this.imxPublicApiDomain=n.imxPublicApiDomain,this.magicPublishableApiKey=n.magicPublishableApiKey,this.magicProviderId=n.magicProviderId,this.zkEvmRpcUrl=n.zkEvmRpcUrl,this.relayerUrl=n.relayerUrl,this.multiRollupConfig={indexer:createConfig({basePath:n.indexerMrBasePath}),orderBook:createConfig({basePath:n.orderBookMrBasePath}),passport:createConfig({basePath:n.passportMrBasePath})};else switch(t.environment){case Environment.PRODUCTION:{this.authenticationDomain="https://auth.immutable.com",this.magicPublishableApiKey="pk_live_10F423798A540ED7",this.magicProviderId="aa80b860-8869-4f13-9000-6a6ad3d20017",this.passportDomain="https://passport.immutable.com",this.imxPublicApiDomain="https://api.immutable.com",this.zkEvmRpcUrl="https://rpc.immutable.com",this.relayerUrl="https://api.immutable.com/relayer-mr",this.multiRollupConfig=multiRollupConfig.getProduction();break}case Environment.SANDBOX:default:{this.authenticationDomain="https://auth.immutable.com",this.magicPublishableApiKey="pk_live_10F423798A540ED7",this.magicProviderId="aa80b860-8869-4f13-9000-6a6ad3d20017",this.passportDomain="https://passport.sandbox.immutable.com",this.imxPublicApiDomain="https://api.sandbox.immutable.com",this.zkEvmRpcUrl="https://rpc.testnet.immutable.com",this.relayerUrl="https://api.sandbox.immutable.com/relayer-mr",this.multiRollupConfig=multiRollupConfig.getSandbox();break}}}};var Re="imx_passport_confirmation",yr="im_passport_embedded_login_prompt";var Ue=({url:o,title:t,width:n,height:a})=>{let l=Math.max(0,Math.round(window.screenX+(window.outerWidth-n)/2)),d=Math.max(0,Math.round(window.screenY+(window.outerHeight-a)/2)),s=window.open(o,t,`
367
+ scrollbars=yes,
368
+ width=${n},
369
+ height=${a},
370
+ top=${d},
371
+ left=${l}
372
+ `);if(!s)throw new Error("Failed to open confirmation screen");return s.focus(),s};var ct="Confirm this transaction",lt=720,dt=480,wr=1e3;var ue=class{config;confirmationWindow;popupOptions;overlay;overlayClosed;timer;constructor(t){this.config=t,this.overlayClosed=!1;}getHref(t,n){let a=`${this.config.passportDomain}/transaction-confirmation/${t}`;if(n){let l=n?Object.keys(n).map(d=>`${d}=${n[d]}`).join("&"):"";a=`${a}?${l}`;}return a}requestConfirmation(t,n,a,l){return new Promise((d,s)=>{let u=({data:E,origin:f})=>{if(!(f!==this.config.passportDomain||E.eventType!==Re))switch(E.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:Re,messageType:"confirmation_start"},this.config.passportDomain);break}case"transaction_confirmed":{this.closeWindow(),d({confirmed:!0});break}case"transaction_rejected":{this.closeWindow(),d({confirmed:!1});break}case"transaction_error":{this.closeWindow(),s(new Error("Error during transaction confirmation"));break}default:this.closeWindow(),s(new Error("Unsupported message type"));}},h="";a===yt.mr.TransactionApprovalRequestChainTypeEnum.Starkex?h=this.getHref("transaction",{transactionId:t,etherAddress:n,chainType:a}):h=this.getHref("zkevm/transaction",{transactionID:t,etherAddress:n,chainType:a,chainID:l}),window.addEventListener("message",u),this.showConfirmationScreen(h,u,d);})}requestMessageConfirmation(t,n,a){return new Promise((l,d)=>{let s=({data:h,origin:E})=>{if(!(E!==this.config.passportDomain||h.eventType!==Re))switch(h.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:Re,messageType:"confirmation_start"},this.config.passportDomain);break}case"message_confirmed":{this.closeWindow(),l({confirmed:!0});break}case"message_rejected":{this.closeWindow(),l({confirmed:!1});break}case"message_error":{this.closeWindow(),d(new Error("Error during message confirmation"));break}default:this.closeWindow(),d(new Error("Unsupported message type"));}};window.addEventListener("message",s);let u=this.getHref("zkevm/message",{messageID:t,etherAddress:n,...a?{messageType:a}:{}});this.showConfirmationScreen(u,s,l);})}showServiceUnavailable(){return new Promise((t,n)=>{this.showConfirmationScreen(this.getHref("unavailable"),()=>{},()=>{this.closeWindow(),n(new Error("Service unavailable"));});})}loading(t){if(!this.config.crossSdkBridgeEnabled){this.popupOptions=t;try{this.confirmationWindow=Ue({url:this.getHref("loading"),title:ct,width:t?.width||dt,height:t?.height||lt}),this.overlay=new Q(this.config.popupOverlayOptions);}catch(n){let a=n instanceof Error?n.message:String(n);trackError("passport","confirmationPopupDenied",new Error(a)),this.overlay=new Q(this.config.popupOverlayOptions,!0);}this.overlay.append(()=>{try{this.confirmationWindow?.close(),this.confirmationWindow=Ue({url:this.getHref("loading"),title:ct,width:this.popupOptions?.width||dt,height:this.popupOptions?.height||lt});}catch{}},()=>{this.overlayClosed=!0,this.closeWindow();});}}closeWindow(){this.confirmationWindow?.close(),this.overlay?.remove(),this.overlay=void 0;}showConfirmationScreen(t,n,a){if(this.confirmationWindow&&(this.confirmationWindow.location.href=t),!this.overlay){this.overlayClosed=!1,a({confirmed:!1});return}let l=()=>{(this.confirmationWindow?.closed||this.overlayClosed)&&(clearInterval(this.timer),window.removeEventListener("message",n),a({confirmed:!1}),this.overlayClosed=!1,this.confirmationWindow=void 0);};this.timer=setInterval(l,wr),this.overlay.update(()=>this.recreateConfirmationWindow(t,l));}recreateConfirmationWindow(t,n){try{clearInterval(this.timer),this.confirmationWindow?.close(),this.confirmationWindow=Ue({url:t,title:ct,width:this.popupOptions?.width||dt,height:this.popupOptions?.height||lt}),this.timer=setInterval(n,wr);}catch{}}};var Z=class{static overlay;static onCloseListener;static closeButton;static remove(){this.onCloseListener&&this.closeButton?.removeEventListener?.("click",this.onCloseListener),this.overlay?.remove(),this.closeButton=void 0,this.onCloseListener=void 0,this.overlay=void 0;}static appendOverlay(t,n){if(!this.overlay){let a=document.createElement("div");a.innerHTML=Jt(),document.body.insertAdjacentElement("beforeend",a);let l=document.querySelector(`#${Ee}`);l&&l.appendChild(t),a.addEventListener("click",n),this.overlay=a;}}};var Ra=660,Ta=440,Ca="16px",Tr="passport-embedded-login-keyframes",Cr="passport-embedded-login-iframe",me=class o{config;constructor(t){this.config=t;}getHref=t=>{let n=`${this.config.authenticationDomain}/im-embedded-login-prompt?client_id=${this.config.oidcConfiguration.clientId}&rid=${getDetail(Detail.RUNTIME_ID)}`;return t&&(n+=`&third_party_a_id=${t}`),n};static appendIFrameStylesIfNeeded=()=>{if(document.getElementById(Tr))return;let t=document.createElement("style");t.id=Tr,t.textContent=`
373
+ @keyframes passportEmbeddedLoginPromptPopBounceIn {
374
+ 0% {
375
+ opacity: 0.5;
376
+ }
377
+ 50% {
378
+ opacity: 1;
379
+ transform: scale(1.05);
380
+ }
381
+ 75% {
382
+ transform: scale(0.98);
383
+ }
384
+ 100% {
385
+ opacity: 1;
386
+ transform: scale(1);
387
+ }
388
+ }
13
389
 
14
- export { H as MarketingConsentStatus, k as Passport, n as PassportError };
390
+ @media (max-height: 400px) {
391
+ #${Cr} {
392
+ width: 100% !important;
393
+ max-width: none !important;
394
+ }
395
+ }
396
+
397
+ @keyframes passportEmbeddedLoginPromptOverlayFadeIn {
398
+ from {
399
+ opacity: 0;
400
+ }
401
+ to {
402
+ opacity: 1;
403
+ }
404
+ }
405
+ `,document.head.appendChild(t);};getEmbeddedLoginIFrame=t=>{let n=document.createElement("iframe");return n.id=Cr,n.src=this.getHref(t),n.style.height="100vh",n.style.width="100vw",n.style.maxHeight=`${Ra}px`,n.style.maxWidth=`${Ta}px`,n.style.borderRadius=Ca,n.style.opacity="0",n.style.transform="scale(0.6)",n.style.animation="passportEmbeddedLoginPromptPopBounceIn 1s ease forwards",o.appendIFrameStylesIfNeeded(),n};displayEmbeddedLoginPrompt(t){return new Promise((n,a)=>{let l=this.getEmbeddedLoginIFrame(t),d=({data:s,origin:u})=>{if(!(u!==this.config.authenticationDomain||s.eventType!==yr))switch(s.messageType){case"login_method_selected":{let h=s.payload;window.removeEventListener("message",d),Z.remove(),n(h);break}case"login_prompt_error":{window.removeEventListener("message",d),Z.remove(),a(new Error("Error during embedded login prompt",{cause:s.payload}));break}case"login_prompt_closed":{window.removeEventListener("message",d),Z.remove(),a(new Error("Popup closed by user"));break}default:window.removeEventListener("message",d),Z.remove(),a(new Error(`Unsupported message type: ${s.messageType}`));break}};window.addEventListener("message",d),Z.appendOverlay(l,()=>{window.removeEventListener("message",d),Z.remove(),a(new Error("Popup closed by user"));});})}};var pt=(t=>(t.ACCOUNTS_CHANGED="accountsChanged",t))(pt||{});var se=class{emitter=new EventEmitter;emit(t,...n){this.emitter.emit(t,...n);}on(t,n){this.emitter.on(t,n);}removeListener(t,n){this.emitter.removeListener(t,n);}};var Ar=1,xa=1,ka=2,Ir="02",Ma="",Pr=`tuple(
406
+ bool delegateCall,
407
+ bool revertOnError,
408
+ uint256 gasLimit,
409
+ address target,
410
+ uint256 value,
411
+ bytes data
412
+ )[]`,gt=o=>o.map(t=>({delegateCall:t.delegateCall===!0,revertOnError:t.revertOnError===!0,gasLimit:t.gasLimit??BigInt(0),target:t.to??ZeroAddress,value:t.value??BigInt(0),data:t.data??"0x"})),Ua=(o,t)=>{let n=AbiCoder.defaultAbiCoder().encode(["uint256",Pr],[o,t]);return keccak256(n)},Sr=o=>AbiCoder.defaultAbiCoder().encode([Pr],[o]),Na=o=>o||0n,La=(o,t)=>{let n=BigInt(o)*2n**96n;return BigInt(t)+n},Le=async(o,t,n)=>{try{let a=new Contract(t,walletContracts.mainModule.abi,o),l=Na(n),d=await a.readNonce(l);if(typeof d=="bigint")return La(l,d);throw new Error("Unexpected result from contract.nonce() call.")}catch(a){if(isError(a,"BAD_DATA"))return BigInt(0);throw a}},ht=(o,t,n)=>solidityPacked(["string","uint256","address","bytes32"],[Ma,o,t,n]),ft=async(o,t,n,a,l)=>{let d=gt(o),s=Ua(t,d),u=ht(n,a,s),h=keccak256(u),E=getBytes(h),y=`${await l.signMessage(E)}${Ir}`,C=v1.signature.encodeSignature({version:1,threshold:xa,signers:[{isDynamic:!1,unrecovered:!0,weight:Ar,signature:y}]}),w=new Interface(walletContracts.mainModule.abi);return w.encodeFunctionData(w.getFunction("execute")??"",[d,t,C])},Da=o=>{let t=`0x0000${o}`;return v1.signature.decodeSignature(t)},Et=(o,t,n)=>{let a=`${o}${Ir}`,{signers:l}=Da(n),s=[...l,{isDynamic:!1,unrecovered:!0,weight:Ar,signature:a,address:t}].sort((u,h)=>{let E=BigInt(u.address??0),f=BigInt(h.address??0);return E<=f?-1:E===f?0:1});return v1.signature.encodeSignature({version:1,threshold:ka,signers:s})},Or=async(o,t,n,a,l)=>{let d={...o.types};delete d.EIP712Domain;let s=TypedDataEncoder.hash(o.domain,d,o.message),u=ht(n,a,s),h=keccak256(u),E=getBytes(h),f=await l.signMessage(E),y=await l.getAddress();return Et(f,y,t)},br=async(o,t,n,a)=>{let l=hashMessage(t),d=ht(o,a,l),s=keccak256(d),u=getBytes(s);return n.signMessage(u)},$=o=>`eip155:${o}`;var De=class o{config;rpcProvider;authManager;constructor({config:t,rpcProvider:n,authManager:a}){this.config=t,this.rpcProvider=n,this.authManager=a;}static getResponsePreview(t){return t.length>100?`${t.substring(0,50)}...${t.substring(t.length-50)}`:t}async postToRelayer(t){let n={id:1,jsonrpc:"2.0",...t},a=await this.authManager.getUserZkEvm(),l=await fetch(`${this.config.relayerUrl}/v1/transactions`,{method:"POST",headers:{Authorization:`Bearer ${a.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify(n)}),d=await l.text();if(!l.ok){let u=o.getResponsePreview(d);throw new Error(`Relayer HTTP error: ${l.status}. Content: "${u}"`)}let s;try{s=JSON.parse(d);}catch(u){let h=o.getResponsePreview(d);throw new Error(`Relayer JSON parse error: ${u instanceof Error?u.message:"Unknown error"}. Content: "${h}"`)}if(s.error)throw new Error(s.error);return s}async ethSendTransaction(t,n){let{chainId:a}=await this.rpcProvider.getNetwork(),l={method:"eth_sendTransaction",params:[{to:t,data:n,chainId:$(Number(a))}]},{result:d}=await this.postToRelayer(l);return d}async imGetTransactionByHash(t){let n={method:"im_getTransactionByHash",params:[t]},{result:a}=await this.postToRelayer(n);return a}async imGetFeeOptions(t,n){let{chainId:a}=await this.rpcProvider.getNetwork(),l={method:"im_getFeeOptions",params:[{userAddress:t,data:n,chainId:$(Number(a))}]},{result:d}=await this.postToRelayer(l);return d}async imSignTypedData(t,n){let{chainId:a}=await this.rpcProvider.getNetwork(),l={method:"im_signTypedData",params:[{address:t,eip712Payload:n,chainId:$(Number(a))}]},{result:d}=await this.postToRelayer(l);return d}async imSign(t,n){let{chainId:a}=await this.rpcProvider.getNetwork(),l={method:"im_sign",params:[{address:t,message:n,chainId:$(Number(a))}]},{result:d}=await this.postToRelayer(l);return d}};var Be=(l=>(l[l.USER_REJECTED_REQUEST=4001]="USER_REJECTED_REQUEST",l[l.UNAUTHORIZED=4100]="UNAUTHORIZED",l[l.UNSUPPORTED_METHOD=4200]="UNSUPPORTED_METHOD",l[l.DISCONNECTED=4900]="DISCONNECTED",l))(Be||{}),J=(u=>(u[u.RPC_SERVER_ERROR=-32e3]="RPC_SERVER_ERROR",u[u.INVALID_REQUEST=-32600]="INVALID_REQUEST",u[u.METHOD_NOT_FOUND=-32601]="METHOD_NOT_FOUND",u[u.INVALID_PARAMS=-32602]="INVALID_PARAMS",u[u.INTERNAL_ERROR=-32603]="INTERNAL_ERROR",u[u.PARSE_ERROR=-32700]="PARSE_ERROR",u[u.TRANSACTION_REJECTED=-32003]="TRANSACTION_REJECTED",u))(J||{}),v=class extends Error{message;code;constructor(t,n){super(n),this.message=n,this.code=t;}};var Fa="Only sign this message from Immutable Passport";async function xr({authManager:o,ethSigner:t,multiRollupApiClients:n,accessToken:a,rpcProvider:l,flow:d}){let s=t.getAddress();s.then(()=>d.addEvent("endGetAddress"));let u=signRaw(Fa,t);u.then(()=>d.addEvent("endSignRaw"));let h=l.getNetwork();h.then(()=>d.addEvent("endDetectNetwork"));let E=n.chainsApi.listChains();E.then(()=>d.addEvent("endListChains"));let[f,y,C,w]=await Promise.all([s,u,h,E]),_=$(Number(C.chainId)),A=w.data?.result?.find(O=>O.id===_)?.name;if(!A)throw new v(-32603,`Chain name does not exist on for chain id ${C.chainId}`);try{let O=await n.passportApi.createCounterfactualAddressV2({chainName:A,createCounterfactualAddressRequest:{ethereum_address:f,ethereum_signature:y}},{headers:{Authorization:`Bearer ${a}`}});return d.addEvent("endCreateCounterfactualAddress"),o.forceUserRefreshInBackground(),O.data.counterfactual_address}catch(O){throw new v(-32603,`Failed to create counterfactual address: ${O}`)}}var Fe="Transaction requires confirmation but this functionality is not supported in this environment. Please contact Immutable support if you need to enable this feature.",Ge=o=>BigInt(o).toString(),Ha=o=>{try{return o.map(t=>({delegateCall:t.delegateCall===!0,revertOnError:t.revertOnError===!0,gasLimit:t.gasLimit?Ge(t.gasLimit):"0",target:t.to??ZeroAddress,value:t.value?Ge(t.value):"0",data:t.data?t.data.toString():"0x"}))}catch(t){let n=t instanceof Error?t.message:String(t);throw new v(-32602,`Transaction failed to parsing: ${n}`)}},Te=class{guardianApi;confirmationScreen;crossSdkBridgeEnabled;authManager;constructor({confirmationScreen:t,config:n,authManager:a,guardianApi:l}){this.confirmationScreen=t,this.crossSdkBridgeEnabled=n.crossSdkBridgeEnabled,this.guardianApi=l,this.authManager=a;}withConfirmationScreen(t){return n=>this.withConfirmationScreenTask(t)(n)()}withConfirmationScreenTask(t){return n=>async()=>{this.confirmationScreen.loading(t);try{return await n()}catch(a){throw a instanceof I&&a.type==="SERVICE_UNAVAILABLE_ERROR"?(await this.confirmationScreen.showServiceUnavailable(),a):(this.confirmationScreen.closeWindow(),a)}}}withDefaultConfirmationScreenTask(t){return this.withConfirmationScreenTask()(t)}async evaluateImxTransaction({payloadHash:t}){try{let n=()=>{this.confirmationScreen.closeWindow();},a=await this.authManager.getUserImx(),l={Authorization:`Bearer ${a.accessToken}`};if(!(await ae(async()=>this.guardianApi.getTransactionByID({transactionID:t,chainType:"starkex"},{headers:l}),{finallyFn:n})).data.id)throw new Error("Transaction doesn't exists");let s=await this.guardianApi.evaluateTransaction({id:t,transactionEvaluationRequest:{chainType:"starkex"}},{headers:l}),{confirmationRequired:u}=s.data;if(u){if(this.crossSdkBridgeEnabled)throw new Error(Fe);if(!(await this.confirmationScreen.requestConfirmation(t,a.imx.ethAddress,yt.mr.TransactionApprovalRequestChainTypeEnum.Starkex)).confirmed)throw new Error("Transaction rejected by user")}else this.confirmationScreen.closeWindow();}catch(n){throw kr.isAxiosError(n)&&n.response?.status===403?new I("Service unavailable","SERVICE_UNAVAILABLE_ERROR"):n}}async evaluateEVMTransaction({chainId:t,nonce:n,metaTransactions:a}){let l=await this.authManager.getUserZkEvm(),d={Authorization:`Bearer ${l.accessToken}`},s=Ha(a);try{return (await this.guardianApi.evaluateTransaction({id:"evm",transactionEvaluationRequest:{chainType:"evm",chainId:t,transactionData:{nonce:n,userAddress:l.zkEvm.ethAddress,metaTransactions:s}}},{headers:d})).data}catch(u){if(kr.isAxiosError(u)&&u.response?.status===403)throw new I("Service unavailable","SERVICE_UNAVAILABLE_ERROR");let h=u instanceof Error?u.message:String(u);throw new v(-32603,`Transaction failed to validate with error: ${h}`)}}async validateEVMTransaction({chainId:t,nonce:n,metaTransactions:a,isBackgroundTransaction:l}){let d=await this.evaluateEVMTransaction({chainId:t,nonce:n,metaTransactions:a}),{confirmationRequired:s,transactionId:u}=d;if(s&&this.crossSdkBridgeEnabled)throw new v(-32003,Fe);if(s&&u){let h=await this.authManager.getUserZkEvm();if(!(await this.confirmationScreen.requestConfirmation(u,h.zkEvm.ethAddress,yt.mr.TransactionApprovalRequestChainTypeEnum.Evm,t)).confirmed)throw new v(-32003,"Transaction rejected by user")}else l||this.confirmationScreen.closeWindow();}async handleEIP712MessageEvaluation({chainID:t,payload:n}){try{let a=await this.authManager.getUserZkEvm();if(a===null)throw new v(4100,"User not logged in. Please log in first.");return (await this.guardianApi.evaluateMessage({messageEvaluationRequest:{chainID:t,payload:n}},{headers:{Authorization:`Bearer ${a.accessToken}`}})).data}catch(a){let l=a instanceof Error?a.message:String(a);throw new v(-32603,`Message failed to validate with error: ${l}`)}}async evaluateEIP712Message({chainID:t,payload:n}){let{messageId:a,confirmationRequired:l}=await this.handleEIP712MessageEvaluation({chainID:t,payload:n});if(l&&this.crossSdkBridgeEnabled)throw new v(-32003,Fe);if(l&&a){let d=await this.authManager.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(a,d.zkEvm.ethAddress,"eip712")).confirmed)throw new v(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}async handleERC191MessageEvaluation({chainID:t,payload:n}){try{let a=await this.authManager.getUserZkEvm();if(a===null)throw new v(4100,"User not logged in. Please log in first.");return (await this.guardianApi.evaluateErc191Message({eRC191MessageEvaluationRequest:{chainID:$(Number(t)),payload:n}},{headers:{Authorization:`Bearer ${a.accessToken}`}})).data}catch(a){let l=a instanceof Error?a.message:String(a);throw new v(-32603,`Message failed to validate with error: ${l}`)}}async evaluateERC191Message({chainID:t,payload:n}){let{messageId:a,confirmationRequired:l}=await this.handleERC191MessageEvaluation({chainID:t,payload:n});if(l&&this.crossSdkBridgeEnabled)throw new v(-32003,Fe);if(l&&a){let d=await this.authManager.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(a,d.zkEvm.ethAddress,"erc191")).confirmed)throw new v(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}};var Va=30,Wa=1e3,$a=async(o,t,n)=>{let a=gt([o]),l=Sr(a),d=await n.imGetFeeOptions(t,l);if(!d||!Array.isArray(d))throw new Error("Invalid fee options received from relayer");let s=d.find(u=>u.tokenSymbol==="IMX");if(!s)throw new Error("Failed to retrieve fees for IMX token");return s},qa=async(o,t,n,a,l)=>{if(!o.to)throw new v(-32602,'eth_sendTransaction requires a "to" field');let d={to:o.to.toString(),data:o.data,nonce:BigInt(0),value:o.value,revertOnError:!0},[s,u]=await Promise.all([Le(t,a,l),$a(d,a,n)]),h=[{...d,nonce:s}],E=BigInt(u.tokenPrice);return E!==BigInt(0)&&h.push({nonce:s,to:u.recipientAddress,value:E,revertOnError:!0}),h},He=async(o,t,n)=>{let l=await ae(async()=>{let d=await o.imGetTransactionByHash(t);if(d.status==="PENDING")throw new Error;return d},{retries:Va,interval:Wa,finalErr:new v(-32e3,"transaction hash not generated in time")});if(n.addEvent("endRetrieveRelayerTransaction"),!["SUBMITTED","SUCCESSFUL"].includes(l.status)){let d=`Transaction failed to submit with status ${l.status}.`;throw l.statusMessage&&(d+=` Error message: ${l.statusMessage}`),new v(-32e3,d)}return l},Ve=async({transactionRequest:o,ethSigner:t,rpcProvider:n,guardianClient:a,relayerClient:l,zkEvmAddress:d,flow:s,nonceSpace:u,isBackgroundTransaction:h})=>{let{chainId:E}=await n.getNetwork(),f=BigInt(E);s.addEvent("endDetectNetwork");let y=await qa(o,n,l,d,u);s.addEvent("endBuildMetaTransactions");let{nonce:C}=y[0];if(typeof C>"u")throw new Error("Failed to retrieve nonce from the smart wallet");let w=async()=>{await a.validateEVMTransaction({chainId:$(Number(E)),nonce:Ge(C),metaTransactions:y,isBackgroundTransaction:h}),s.addEvent("endValidateEVMTransaction");},_=async()=>{let D=await ft(y,C,f,d,t);return s.addEvent("endGetSignedMetaTransactions"),D},[,A]=await Promise.all([w(),_()]),O=await l.ethSendTransaction(d,A);return s.addEvent("endRelayerSendTransaction"),{signedTransactions:A,relayerId:O,nonce:C}},Za=async o=>{if(!o.to)throw new v(-32602,'im_signEjectionTransaction requires a "to" field');if(typeof o.nonce>"u")throw new v(-32602,'im_signEjectionTransaction requires a "nonce" field');if(!o.chainId)throw new v(-32602,'im_signEjectionTransaction requires a "chainId" field');return [{to:o.to.toString(),data:o.data,nonce:o.nonce??void 0,value:o.value,revertOnError:!0}]},Mr=async({transactionRequest:o,ethSigner:t,zkEvmAddress:n,flow:a})=>{let l=await Za(o);a.addEvent("endBuildMetaTransactions");let d=await ft(l,o.nonce,BigInt(o.chainId??0),n,t);return a.addEvent("endGetSignedMetaTransactions"),{to:n,data:d,chainId:$(Number(o.chainId??0))}};var wt=async({params:o,ethSigner:t,rpcProvider:n,relayerClient:a,guardianClient:l,zkEvmAddress:d,flow:s,nonceSpace:u,isBackgroundTransaction:h=!1})=>{let E=o[0],{relayerId:f}=await Ve({transactionRequest:E,ethSigner:t,rpcProvider:n,guardianClient:l,relayerClient:a,zkEvmAddress:d,flow:s,nonceSpace:u,isBackgroundTransaction:h}),{hash:y}=await He(a,f,s);return y};var Ur=["types","domain","primaryType","message"],Ka=o=>Ur.every(t=>t in o),Xa=(o,t)=>{let n;if(typeof o=="string")try{n=JSON.parse(o);}catch(l){throw new v(-32602,`Failed to parse typed data JSON: ${l}`)}else if(typeof o=="object")n=o;else throw new v(-32602,`Invalid typed data argument: ${o}`);if(!Ka(n))throw new v(-32602,`Invalid typed data argument. The following properties are required: ${Ur.join(", ")}`);let a=n.domain?.chainId;if(a&&(typeof a=="string"&&(a.startsWith("0x")?n.domain.chainId=parseInt(a,16).toString():n.domain.chainId=parseInt(a,10).toString()),BigInt(n.domain.chainId??0)!==t))throw new v(-32602,`Invalid chainId, expected ${t}`);return n},Nr=async({params:o,method:t,ethSigner:n,rpcProvider:a,relayerClient:l,guardianClient:d,flow:s})=>{let u=o[0],h=o[1];if(!u||!h)throw new v(-32602,`${t} requires an address and a typed data JSON`);let{chainId:E}=await a.getNetwork(),f=Xa(h,E);s.addEvent("endDetectNetwork"),await d.evaluateEIP712Message({chainID:String(E),payload:f}),s.addEvent("endValidateMessage");let y=await l.imSignTypedData(u,f);s.addEvent("endRelayerSignTypedData");let C=await Or(f,y,BigInt(E),u,n);return s.addEvent("getSignedTypedData"),C};var Lr=o=>{if(!o)return o;try{let t=stripZerosLeft(getBytes(o));return toUtf8String(t)}catch{return o}};var We=async({params:o,ethSigner:t,zkEvmAddress:n,rpcProvider:a,guardianClient:l,relayerClient:d,flow:s})=>{let u=o[0],h=o[1];if(!h||!u)throw new v(-32602,"personal_sign requires an address and a message");if(h.toLowerCase()!==n.toLowerCase())throw new v(-32602,"personal_sign requires the signer to be the from address");let E=Lr(u),{chainId:f}=await a.getNetwork();s.addEvent("endDetectNetwork");let y=BigInt(f),C=br(y,E,t,h);C.then(()=>s.addEvent("endEOASignature")),await l.evaluateERC191Message({chainID:f,payload:E}),s.addEvent("endEvaluateERC191Message");let[w,_]=await Promise.all([C,d.imSign(h,E)]);s.addEvent("endRelayerSign");let A=await t.getAddress();return s.addEvent("endGetEOAAddress"),Et(w,A,_)};var Qa="https://api.immutable.com",es="https://api.sandbox.immutable.com",ts="/v1/sdk/session-activity/check",rs=o=>{switch(o){case Environment.SANDBOX:return es;case Environment.PRODUCTION:return Qa;default:throw new Error("Environment not supported")}},$e,Br=o=>{$e||($e=kr.create({baseURL:rs(o)}));};async function Fr(o){if(!$e)throw new Error("Client not initialised");return $e.get(ts,{params:o}).then(t=>t.data).catch(t=>{if(t.response.status!==404)throw t})}function Hr(o,t){return (...n)=>{try{let a=o(...n);return a instanceof Promise?a.catch(l=>(l instanceof Error&&trackError("passport","sessionActivityError",l),t)):a}catch(a){return a instanceof Error&&trackError("passport","sessionActivityError",a),t}}}var{getItem:Vr,setItem:Rt}=utils.localStorage,Tt="sessionActivitySendCount",Wr="sessionActivityDate",Ct={},ee={},qe={},$r=()=>{ee=Vr(Tt)||{};let o=Vr(Wr),t=new Date,n=t.getFullYear(),a=`${t.getMonth()+1}`.padStart(2,"0"),l=`${t.getDate()}`.padStart(2,"0"),d=`${n}-${a}-${l}`;(!o||o!==d)&&(ee={}),Rt(Wr,d),Rt(Tt,ee);};$r();var os=o=>{$r(),ee[o]||(ee[o]=0),ee[o]++,Rt(Tt,ee),Ct[o]=0;},cs=async o=>new Promise(t=>{setTimeout(t,o*1e3);}),ls=async o=>{let t=o.flow||trackFlow("passport","sendSessionActivity"),n=o.passportClient;if(!n)throw t.addEvent("No Passport Client ID"),new Error("No Passport Client ID provided");if(qe[n])return;qe[n]=!0;let{sendTransaction:a,environment:l}=o;if(!a)throw new Error("No sendTransaction function provided");if(!l)throw new Error("No environment provided");Br(l);let d=o.walletAddress;if(!d)throw t.addEvent("No Passport Wallet Address"),new Error("No wallet address");let s;try{if(s=await Fr({clientId:n,wallet:d,checkCount:Ct[n]||0,sendCount:ee[n]||0}),Ct[n]++,!s)return}catch(u){throw t.addEvent("Failed to fetch details"),new Error("Failed to get details",{cause:u})}if(s&&s.contractAddress&&s.functionName){let h=new Interface([`function ${s.functionName}()`]).encodeFunctionData(s.functionName),E=s.contractAddress;try{t.addEvent("Start Sending Transaction");let f=await o.sendTransaction([{to:E,from:d,data:h}],t);os(n),t.addEvent("Transaction Sent",{tx:f});}catch(f){t.addEvent("Failed to send Transaction");let y=new Error("Failed to send transaction",{cause:f});trackError("passport","sessionActivityError",y,{flowId:t.details.flowId});}}s&&s.delay&&s.delay>0&&(t.addEvent("Delaying Transaction",{delay:s.delay}),await cs(s.delay),setTimeout(()=>{t.addEvent("Retrying after Delay"),qe[n]=!1,qr({...o,flow:t});},0));},qr=o=>Hr(ls)(o).then(()=>{qe[o.passportClient]=!1;}),Zr=qr;var Kr=async({params:o,ethSigner:t,rpcProvider:n,relayerClient:a,guardianClient:l,zkEvmAddress:d,flow:s})=>{let u={to:d,value:0},{relayerId:h}=await Ve({transactionRequest:u,ethSigner:t,rpcProvider:n,guardianClient:l,relayerClient:a,zkEvmAddress:d,flow:s});return l.withConfirmationScreen()(async()=>{let E=await We({params:o,ethSigner:t,zkEvmAddress:d,rpcProvider:n,guardianClient:l,relayerClient:a,flow:s});return await He(a,h,s),E})};var Xr=async({params:o,ethSigner:t,zkEvmAddress:n,flow:a})=>{if(!o||o.length!==1)throw new v(-32602,"im_signEjectionTransaction requires a singular param (hash)");let l=o[0];return await Mr({transactionRequest:l,ethSigner:t,zkEvmAddress:n,flow:a})};var Ze=o=>"zkEvm"in o,Ke=class{#s;#t;#i;#r;#n;#e;#d;#c;#a;isPassport=!0;constructor({authManager:t,config:n,multiRollupApiClients:a,passportEventEmitter:l,guardianClient:d,ethSigner:s,user:u}){this.#s=t,this.#t=n,this.#n=d,this.#r=l,this.#a=s,this.#e=new JsonRpcProvider(this.#t.zkEvmRpcUrl,void 0,{staticNetwork:!0}),this.#c=new De({config:this.#t,rpcProvider:this.#e,authManager:this.#s}),this.#d=a,this.#i=new se,u&&Ze(u)&&this.#l(u.zkEvm.ethAddress),l.on("loggedIn",h=>{Ze(h)&&this.#l(h.zkEvm.ethAddress);}),l.on("loggedOut",this.#p),l.on("accountsRequested",Zr);}#p=()=>{this.#i.emit("accountsChanged",[]);};async#l(t,n){let a=BigInt(1),l=async(d,s)=>await wt({params:d,ethSigner:this.#a,guardianClient:this.#n,rpcProvider:this.#e,relayerClient:this.#c,zkEvmAddress:t,flow:s,nonceSpace:a,isBackgroundTransaction:!0});this.#r.emit("accountsRequested",{environment:this.#t.baseConfig.environment,sendTransaction:l,walletAddress:t,passportClient:n||this.#t.oidcConfiguration.clientId});}async#o(){try{let t=await this.#s.getUser();return t&&Ze(t)?t.zkEvm.ethAddress:void 0}catch{return}}async#u(t){switch(t.method){case"eth_requestAccounts":{let n=await this.#o();if(n)return [n];let a=trackFlow("passport","ethRequestAccounts");try{let l=await this.#s.getUserOrLogin();a.addEvent("endGetUserOrLogin");let d;return Ze(l)?d=l.zkEvm.ethAddress:(a.addEvent("startUserRegistration"),d=await xr({ethSigner:this.#a,authManager:this.#s,multiRollupApiClients:this.#d,accessToken:l.accessToken,rpcProvider:this.#e,flow:a}),a.addEvent("endUserRegistration")),this.#i.emit("accountsChanged",[d]),identify({passportId:l.profile.sub}),this.#l(d),[d]}catch(l){throw l instanceof Error?trackError("passport","ethRequestAccounts",l,{flowId:a.details.flowId}):a.addEvent("errored"),l}finally{a.addEvent("End");}}case"eth_sendTransaction":{let n=await this.#o();if(!n)throw new v(4100,"Unauthorised - call eth_requestAccounts first");let a=trackFlow("passport","ethSendTransaction");try{return await this.#n.withConfirmationScreen({width:480,height:720})(async()=>await wt({params:t.params||[],ethSigner:this.#a,guardianClient:this.#n,rpcProvider:this.#e,relayerClient:this.#c,zkEvmAddress:n,flow:a}))}catch(l){throw l instanceof Error?trackError("passport","eth_sendTransaction",l,{flowId:a.details.flowId}):a.addEvent("errored"),l}finally{a.addEvent("End");}}case"eth_accounts":{let n=await this.#o();return n?[n]:[]}case"personal_sign":{let n=await this.#o();if(!n)throw new v(4100,"Unauthorised - call eth_requestAccounts first");let a=trackFlow("passport","personalSign");try{return await this.#n.withConfirmationScreen({width:480,height:720})(async()=>this.#t.forceScwDeployBeforeMessageSignature&&!(await Le(this.#e,n)>BigInt(0))?await Kr({params:t.params||[],zkEvmAddress:n,ethSigner:this.#a,rpcProvider:this.#e,guardianClient:this.#n,relayerClient:this.#c,flow:a}):await We({params:t.params||[],zkEvmAddress:n,ethSigner:this.#a,rpcProvider:this.#e,guardianClient:this.#n,relayerClient:this.#c,flow:a}))}catch(l){throw l instanceof Error?trackError("passport","personal_sign",l,{flowId:a.details.flowId}):a.addEvent("errored"),l}finally{a.addEvent("End");}}case"eth_signTypedData":case"eth_signTypedData_v4":{if(!await this.#o())throw new v(4100,"Unauthorised - call eth_requestAccounts first");let a=trackFlow("passport","ethSignTypedDataV4");try{return await this.#n.withConfirmationScreen({width:480,height:720})(async()=>await Nr({method:t.method,params:t.params||[],ethSigner:this.#a,rpcProvider:this.#e,relayerClient:this.#c,guardianClient:this.#n,flow:a}))}catch(l){throw l instanceof Error?trackError("passport","eth_signTypedData",l,{flowId:a.details.flowId}):a.addEvent("errored"),l}finally{a.addEvent("End");}}case"eth_chainId":{let{chainId:n}=await this.#e.getNetwork();return toBeHex(n)}case"eth_getBalance":case"eth_getCode":case"eth_getTransactionCount":{let[n,a]=t.params||[];return this.#e.send(t.method,[n,a||"latest"])}case"eth_getStorageAt":{let[n,a,l]=t.params||[];return this.#e.send(t.method,[n,a,l||"latest"])}case"eth_call":case"eth_estimateGas":{let[n,a]=t.params||[];return this.#e.send(t.method,[n,a||"latest"])}case"eth_gasPrice":case"eth_blockNumber":case"eth_getBlockByHash":case"eth_getBlockByNumber":case"eth_getTransactionByHash":case"eth_getTransactionReceipt":return this.#e.send(t.method,t.params||[]);case"im_signEjectionTransaction":{let n=await this.#o();if(!n)throw new v(4100,"Unauthorised - call eth_requestAccounts first");let a=trackFlow("passport","imSignEjectionTransaction");try{return await Xr({params:t.params||[],ethSigner:this.#a,zkEvmAddress:n,flow:a})}catch(l){throw l instanceof Error?trackError("passport","imSignEjectionTransaction",l,{flowId:a.details.flowId}):a.addEvent("errored"),l}finally{a.addEvent("End");}}case"im_addSessionActivity":{let[n]=t.params||[],a=await this.#o();return a&&this.#l(a,n),null}default:throw new v(4200,"Method not supported")}}async request(t){try{return this.#u(t)}catch(n){throw n instanceof v?n:n instanceof Error?new v(-32603,n.message):new v(-32603,"Internal error")}}on(t,n){this.#i.on(t,n);}removeListener(t,n){this.#i.removeListener(t,n);}};var Jr={icon:'data:image/svg+xml,<svg viewBox="0 0 48 48" class="SvgIcon undefined Logo Logo--PassportSymbolOutlined css-1dn9atd" xmlns="http://www.w3.org/2000/svg"><g data-testid="undefined__g"><circle cx="24" cy="24" r="22.5" fill="url(%23paint0_radial_6324_83922)"></circle><circle cx="24" cy="24" r="22.5" fill="url(%23paint1_radial_6324_83922)"></circle><path d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM23.0718 9.16608C23.7383 8.83951 24.4406 8.86188 25.087 9.2287C27.3282 10.5059 29.5627 11.7942 31.786 13.096C32.5018 13.5165 32.8686 14.1897 32.8708 15.0173C32.8843 17.9184 32.8798 20.8171 32.8708 23.7182C32.8708 23.8255 32.8015 23.9821 32.7143 24.0335C31.8531 24.548 30.9808 25.0423 30.0347 25.5881V25.1318C30.0347 22.148 30.0257 19.1664 30.0414 16.1827C30.0436 15.6101 29.8468 15.241 29.339 14.9525C26.7377 13.474 24.1499 11.9687 21.5575 10.4723C21.4457 10.4075 21.3361 10.3381 21.1661 10.2352C21.8326 9.85722 22.4321 9.47698 23.0673 9.16608H23.0718ZM22.5953 38.8451C22.45 38.7713 22.3426 38.7198 22.2375 38.6595C18.8041 36.68 15.3752 34.687 11.9307 32.7232C10.9644 32.173 10.5238 31.3879 10.5349 30.2852C10.5551 27.9411 10.5484 25.597 10.5372 23.2507C10.5327 22.1927 10.9622 21.4255 11.8926 20.8977C14.3105 19.5221 16.715 18.1264 19.1195 16.7284C19.3275 16.6076 19.4796 16.5875 19.6965 16.7172C20.5264 17.216 21.3719 17.6924 22.2554 18.2024C22.0876 18.3031 21.9601 18.3791 21.8304 18.4552C19.2268 19.9582 16.6278 21.4658 14.0175 22.9599C13.5903 23.2037 13.3912 23.5213 13.3957 24.0179C13.4091 25.8654 13.4114 27.713 13.3957 29.5605C13.3912 30.0705 13.5948 30.3948 14.0332 30.6453C16.7866 32.2199 19.5288 33.8125 22.28 35.3916C22.5126 35.5258 22.611 35.6645 22.6065 35.9418C22.5864 36.888 22.5998 37.8363 22.5998 38.8473L22.5953 38.8451ZM22.5953 33.553C22.356 33.4166 22.1838 33.3204 22.0116 33.2198C19.8285 31.9605 17.6477 30.6967 15.4602 29.4464C15.2231 29.3122 15.1359 29.1668 15.1381 28.8917C15.1538 27.4714 15.1471 26.0511 15.1426 24.6308C15.1426 24.4384 15.1717 24.3064 15.3618 24.1991C16.167 23.7495 16.9633 23.2798 17.7618 22.8212C17.8199 22.7877 17.8826 22.7631 17.9877 22.7116V24.3064C17.9877 25.1698 18.0011 26.0354 17.9832 26.8988C17.972 27.3909 18.1622 27.7241 18.5916 27.9657C19.8285 28.6636 21.0498 29.3883 22.2867 30.0839C22.5305 30.2203 22.6043 30.3724 22.5998 30.6408C22.5842 31.5847 22.5931 32.5308 22.5931 33.5508L22.5953 33.553ZM20.0746 14.91C19.6116 14.6371 19.2157 14.6393 18.7527 14.91C16.1581 16.4265 13.5523 17.9228 10.9487 19.4259C10.8391 19.4908 10.7251 19.5489 10.5305 19.6541C10.5998 18.6654 10.3873 17.7327 10.7251 16.8291C10.9085 16.3348 11.2529 15.9635 11.7092 15.6995C13.8811 14.4447 16.0507 13.1877 18.227 11.9396C19.0211 11.4833 19.8308 11.4945 20.6248 11.953C23.0964 13.3756 25.5657 14.8026 28.0306 16.2341C28.1357 16.2945 28.2677 16.4309 28.2677 16.5338C28.2856 17.5493 28.2788 18.567 28.2788 19.6563C27.3819 19.1396 26.5543 18.6609 25.7267 18.1823C23.8412 17.093 21.9512 16.0149 20.0746 14.91ZM37.4427 30.8779C37.3778 31.6764 36.9103 32.2423 36.2192 32.6404C33.5732 34.1614 30.9294 35.6913 28.2856 37.2168C27.4557 37.6954 26.6259 38.1741 25.7938 38.6527C25.6932 38.7109 25.5903 38.7601 25.4539 38.8317C25.4449 38.693 25.4337 38.5924 25.4337 38.4917C25.4337 37.6149 25.4382 36.7404 25.4293 35.8636C25.4293 35.6645 25.4762 35.5437 25.6596 35.4386C29.5157 33.2198 33.3696 30.9942 37.2212 28.7709C37.2794 28.7374 37.3443 28.7105 37.4539 28.6591C37.4539 29.4375 37.4986 30.1622 37.4427 30.8779ZM37.4628 25.3577C37.4561 26.2658 36.9663 26.9033 36.1901 27.3506C33.175 29.0841 30.1622 30.8265 27.1493 32.5666C26.5991 32.8842 26.0466 33.1996 25.4561 33.5396C25.4472 33.3897 25.436 33.2913 25.436 33.1907C25.436 32.3273 25.4449 31.4617 25.4293 30.5983C25.4248 30.3523 25.5075 30.2226 25.72 30.0995C28.46 28.5271 31.1911 26.9368 33.9355 25.3733C34.4231 25.096 34.6378 24.7538 34.6334 24.1812C34.6132 21.1974 34.6244 18.2136 34.6244 15.2298V14.7087C35.3402 15.1404 36.0112 15.496 36.624 15.9299C37.1832 16.3258 37.465 16.9253 37.4673 17.6164C37.4762 20.1976 37.4829 22.7788 37.465 25.3599L37.4628 25.3577Z" fill="%230D0D0D"></path><path fill-rule="evenodd" d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM24 2C11.8497 2 2 11.8497 2 24C2 36.1503 11.8497 46 24 46C36.1503 46 46 36.1503 46 24C46 11.8497 36.1503 2 24 2Z" fill="url(%23paint2_radial_6324_83922)"></path><path fill-rule="evenodd" d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM24 2C11.8497 2 2 11.8497 2 24C2 36.1503 11.8497 46 24 46C36.1503 46 46 36.1503 46 24C46 11.8497 36.1503 2 24 2Z" fill="url(%23paint3_radial_6324_83922)"></path><defs><radialGradient id="paint0_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(13.4442 13.3899) rotate(44.9817) scale(46.7487 99.1435)"><stop stop-color="%23A3EEF8"></stop><stop offset="0.177083" stop-color="%23A4DCF5"></stop><stop offset="0.380208" stop-color="%23A6AEEC"></stop><stop offset="1" stop-color="%23ECBEE1"></stop></radialGradient><radialGradient id="paint1_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(25.9515 43.7068) rotate(84.265) scale(24.2138 46.3215)"><stop stop-color="%23FCF5EE"></stop><stop offset="0.715135" stop-color="%23ECBEE1" stop-opacity="0"></stop></radialGradient><radialGradient id="paint2_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(12.7405 12.6825) rotate(44.9817) scale(49.8653 105.753)"><stop stop-color="%23A3EEF8"></stop><stop offset="0.177083" stop-color="%23A4DCF5"></stop><stop offset="0.380208" stop-color="%23A6AEEC"></stop><stop offset="1" stop-color="%23ECBEE1"></stop></radialGradient><radialGradient id="paint3_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(26.0816 45.0206) rotate(84.265) scale(25.828 49.4096)"><stop stop-color="%23FCF5EE"></stop><stop offset="0.715135" stop-color="%23ECBEE1" stop-opacity="0"></stop></radialGradient></defs></g></svg>',name:"Immutable Passport",rdns:"com.immutable.passport",uuid:v4()};function zr(o){if(typeof window>"u")return;let t=new CustomEvent("eip6963:announceProvider",{detail:Object.freeze(o)});window.dispatchEvent(t);let n=()=>window.dispatchEvent(t);window.addEventListener("eip6963:requestProvider",n);}var vs=o=>o.overrides?createConfig({basePath:o.overrides.imxPublicApiDomain}):o.baseConfig.environment===Environment.SANDBOX?imxApiConfig.getSandbox():imxApiConfig.getProduction(),As=o=>{if(o.overrides?.imxApiClients)return o.overrides.imxApiClients;let t=vs(o);return new ImxApiClients(t)},Is=o=>{let t=new Me(o),n=new me(t),a=new ye(t,n),l=new ue(t),d=new MagicTeeApiClients({basePath:t.magicTeeBasePath,timeout:t.magicTeeTimeout,magicPublishableApiKey:t.magicPublishableApiKey,magicProviderId:t.magicProviderId}),s=new we(a,d),u=new MultiRollupApiClients(t.multiRollupConfig),h=new se,E=o.overrides?o.overrides.immutableXClient:new IMXClient({baseConfig:o.baseConfig}),f=new Te({confirmationScreen:l,config:t,authManager:a,guardianApi:u.guardianApi}),y=As(o),C=new ke({authManager:a,immutableXClient:E,magicTEESigner:s,passportEventEmitter:h,imxApiClients:y,guardianClient:f});return {config:t,authManager:a,magicTEESigner:s,confirmationScreen:l,embeddedLoginPrompt:n,immutableXClient:E,multiRollupApiClients:u,passportEventEmitter:h,passportImxProviderFactory:C,guardianClient:f}},_t=class{authManager;config;confirmationScreen;embeddedLoginPrompt;immutableXClient;magicTEESigner;multiRollupApiClients;passportImxProviderFactory;passportEventEmitter;guardianClient;constructor(t){let n=Is(t);this.config=n.config,this.authManager=n.authManager,this.magicTEESigner=n.magicTEESigner,this.confirmationScreen=n.confirmationScreen,this.embeddedLoginPrompt=n.embeddedLoginPrompt,this.immutableXClient=n.immutableXClient,this.multiRollupApiClients=n.multiRollupApiClients,this.passportEventEmitter=n.passportEventEmitter,this.passportImxProviderFactory=n.passportImxProviderFactory,this.guardianClient=n.guardianClient,setPassportClientId(t.clientId),track("passport","initialise");}async connectImxSilent(){return S(()=>this.passportImxProviderFactory.getProviderSilent(),"connectImxSilent",!1)}async connectImx(){return S(()=>this.passportImxProviderFactory.getProvider(),"connectImx",!1)}async connectEvm(t={announceProvider:!0}){return S(async()=>{let n=null;try{n=await this.authManager.getUser();}catch{}let a=new Ke({passportEventEmitter:this.passportEventEmitter,authManager:this.authManager,config:this.config,multiRollupApiClients:this.multiRollupApiClients,guardianClient:this.guardianClient,ethSigner:this.magicTEESigner,user:n});return t?.announceProvider&&zr({info:Jr,provider:a}),a},"connectEvm",!1)}async login(t){return S(async()=>{let{useCachedSession:n=!1,useSilentLogin:a}=t||{},l=null;try{l=await this.authManager.getUser();}catch(d){if(d instanceof Error&&!d.message.includes("Unknown or invalid refresh token")&&trackError("passport","login",d),n)throw d;ie.warn("Failed to retrieve a cached user session",d);}return !l&&a?l=await this.authManager.forceUserRefresh():!l&&!n&&(t?.useRedirectFlow?await this.authManager.loginWithRedirect(t?.anonymousId,t?.directLoginOptions):l=await this.authManager.login(t?.anonymousId,t?.directLoginOptions)),l&&(identify({passportId:l.profile.sub}),this.passportEventEmitter.emit("loggedIn",l)),l?l.profile:null},"login")}async loginCallback(){await S(()=>this.authManager.loginCallback(),"loginCallback").then(t=>{t&&(identify({passportId:t.profile.sub}),this.passportEventEmitter.emit("loggedIn",t));});}loginWithPKCEFlow(t,n){return S(async()=>await this.authManager.getPKCEAuthorizationUrl(t,n),"loginWithPKCEFlow")}async loginWithPKCEFlowCallback(t,n){return S(async()=>{let a=await this.authManager.loginWithPKCEFlowCallback(t,n);return this.passportEventEmitter.emit("loggedIn",a),a.profile},"loginWithPKCEFlowCallback")}async storeTokens(t){return S(async()=>{let n=await this.authManager.storeTokens(t);return this.passportEventEmitter.emit("loggedIn",n),n.profile},"storeTokens")}async logout(){return S(async()=>{await this.authManager.logout(),this.passportEventEmitter.emit("loggedOut");},"logout")}async getLogoutUrl(){return S(async()=>(await this.authManager.removeUser(),this.passportEventEmitter.emit("loggedOut"),await this.authManager.getLogoutUrl()),"getLogoutUrl")}async logoutSilentCallback(t){return S(()=>this.authManager.logoutSilentCallback(t),"logoutSilentCallback")}async getUserInfo(){return S(async()=>(await this.authManager.getUser())?.profile,"getUserInfo",!1)}async getIdToken(){return S(async()=>(await this.authManager.getUser())?.idToken,"getIdToken",!1)}async getAccessToken(){return S(async()=>(await this.authManager.getUser())?.accessToken,"getAccessToken",!1,!1)}async getLinkedAddresses(){return S(async()=>{let t=await this.authManager.getUser();if(!t?.profile.sub)return [];let n={Authorization:`Bearer ${t.accessToken}`};return (await this.multiRollupApiClients.passportProfileApi.getUserInfo({headers:n})).data.linked_addresses},"getLinkedAddresses",!1)}async linkExternalWallet(t){let n=trackFlow("passport","linkExternalWallet",!1),a=await this.authManager.getUser();if(!a)throw new I("User is not logged in","NOT_LOGGED_IN_ERROR");let l=X(a),d=de(a);if(!l&&!d)throw new I("User has not been registered","USER_NOT_REGISTERED_ERROR");let s={Authorization:`Bearer ${a.accessToken}`},u={type:t.type,wallet_address:t.walletAddress,signature:t.signature,nonce:t.nonce};try{return {...(await this.multiRollupApiClients.passportProfileApi.linkWalletV2({linkWalletV2Request:u},{headers:s})).data}}catch(h){if(h instanceof Error?trackError("passport","linkExternalWallet",h):n.addEvent("errored"),isAxiosError(h)&&h.response){if(h.response.data&&rt(h.response.data)){let{code:f,message:y}=h.response.data;switch(f){case"ALREADY_LINKED":throw new I(y,"LINK_WALLET_ALREADY_LINKED_ERROR");case"MAX_WALLETS_LINKED":throw new I(y,"LINK_WALLET_MAX_WALLETS_LINKED_ERROR");case"DUPLICATE_NONCE":throw new I(y,"LINK_WALLET_DUPLICATE_NONCE_ERROR");case"VALIDATION_ERROR":throw new I(y,"LINK_WALLET_VALIDATION_ERROR");default:throw new I(y,"LINK_WALLET_GENERIC_ERROR")}}else if(h.response.status)throw new I(`Link wallet request failed with status code ${h.response.status}`,"LINK_WALLET_GENERIC_ERROR")}let E="Link wallet request failed";throw h instanceof Error&&(E+=`: ${h.message}`),new I(E,"LINK_WALLET_GENERIC_ERROR")}finally{n.addEvent("End");}}};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
413
+
414
+ export { v as JsonRpcError, $t as MarketingConsentStatus, _t as Passport, I as PassportError, Be as ProviderErrorCode, pt as ProviderEvent, J as RpcErrorCode };