keyring-chatbot-agent-sdk-test 0.3.12 → 0.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat-widget.es.js +11 -11
- package/dist/chat-widget.umd.js +1 -1
- package/package.json +1 -1
package/dist/chat-widget.es.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
!function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode(".chat-button{cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;transition:all .3s ease;border-radius:16px}.chat-button:hover{transform:scale(1.1);box-shadow:0 6px 16px #0003}.chat-button:active{transform:scale(.95)}.chat-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:flex;align-items:flex-end;justify-content:flex-end;z-index:9999;pointer-events:all;animation:fadeIn .2s ease}#chat-modal-title{color:#0b3988;font-weight:900;font-style:Regular;font-size:18px}.chat-modal-overlay.chat-modal-overlay--left{justify-content:flex-start}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chat-modal{width:90%;max-width:480px;height:700px;max-height:calc(100dvh - 64px);background:#f5f5f7;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;margin:20px;pointer-events:all;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.chat-modal-header{background:#fff;padding:8px 8px 8px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e5e7;flex-flow:column}.chat-modal-header-title{width:100%;display:flex;align-items:center;justify-content:space-between}.chat-modal-header-left{display:flex;align-items:center;gap:6px}.keyring-logo{width:22px;height:30px}.chat-modal-header h3{margin:0;font-size:18px;font-weight:700;color:#1a1a1d}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#666;transition:all .2s}.close-button:hover{background:#f5f5f7;color:#000}.chat-user-info{display:flex;align-items:center;gap:6px;width:100%}.user-wallet,.user-wallet a{font-size:14px;font-weight:500;color:#0b3988}.copy-address-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:3px;color:#999;border-radius:4px;transition:color .15s,background .15s;line-height:0}@media(min-width:640px){.copy-address-btn:hover{color:#1a1a1d;background:#f0f0f0}}.chat-modal-messages-wrapper{position:relative;flex:1;overflow:hidden;display:flex;flex-direction:column}.chat-modal-messages{flex:1;padding:8px 16px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px}.date-separator{text-align:center;font-size:12px;font-weight:600;color:#666;align-self:center;width:fit-content;margin:0 auto 8px}.message{display:flex;animation:messageSlide .3s ease;position:relative}@media(min-width:640px){.message:hover .message-reply-button{opacity:1}}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-reply-button{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:1px solid #e5e5e7;border-radius:8px;padding:6px;cursor:pointer;opacity:0;transition:all .2s;box-shadow:0 2px 8px #0000001a;z-index:10}.message-bot .message-reply-button{right:20px}.message-user .message-reply-button{left:20px}.message-reply-button:hover{background:#f5f5f7;transform:translateY(-50%) scale(1.1)}.message-reply-button svg{display:block;width:16px;height:16px;color:#666}.message-bot{justify-content:flex-start}.message-user{justify-content:flex-end}.message-bubble{max-width:85%;padding:8px 16px;border-radius:20px}.message-bot .message-bubble{background:#fff;box-shadow:0 2px 8px #0000000f;border-bottom-left-radius:4px}.message-user .message-bubble{background:#5b7fff;color:#fff;border-bottom-right-radius:4px}.message-user .message-bubble a{color:#fff}.message-reply-to{background:#0000000d;padding:8px 12px;border-radius:6px;margin-bottom:8px;border-left:3px solid #5b7fff}.message-bot .message-reply-to{background:#f5f5f7}.message-user .message-reply-to{background:#ffffff26;border-left-color:#ffffff80}.message-reply-to-label{font-size:11px;font-weight:600;margin-bottom:4px}.message-bot .message-reply-to-label{color:#5b7fff}.message-user .message-reply-to-label{color:#ffffffe6}.message-reply-to-text{font-size:12px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-text{font-size:14px;line-height:1.5;word-wrap:break-word;white-space:pre-line}.message-bot .message-text{color:#1a1a1d}.message-user .message-text{color:#fff}.message-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;margin-bottom:8px}.message-button{flex:1 1 calc(50% - 4px);min-width:100px;padding:6px 12px;background:#fffffff2;border:1px solid #e0e0e0;border-radius:12px;font-size:13px;font-weight:500;color:#1a1a1d;cursor:pointer;transition:all .2s ease;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-button.full-width{flex:1 1 100%;text-align:center;white-space:normal;font-size:14px}@media(min-width:640px){.message-button:hover{background:#fff;border-color:#007aff;color:#007aff;transform:translateY(-1px);box-shadow:0 2px 8px #007aff26}.message-button:active{transform:translateY(0);box-shadow:0 1px 4px #007aff1a}}.message-user .message-button{background:#fff3;border-color:#ffffff4d;color:#fff}.message-user .message-button:hover{background:#ffffff4d;border-color:#ffffff80}.message-timestamp{line-height:1;font-size:11px;color:#999;display:flex;align-items:center;gap:4px;justify-content:flex-end}.message-user .message-timestamp{color:#ffffffb3}.check-icon{width:14px;height:14px}.typing-indicator .message-bubble{padding:12px 18px;display:flex;gap:6px;min-width:60px}.typing-dot{width:8px;height:8px;border-radius:50%;background:#999;animation:typingDot 1.4s infinite ease-in-out}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-8px);opacity:1}}.suggestions-container{display:flex;flex-direction:column;gap:10px;margin-top:8px}.suggestion-button{background:#d4d8f0;border:none;padding:6px 12px;border-radius:12px;display:flex;gap:12px;cursor:pointer;transition:all .2s;font-size:14px;font-weight:500;color:#1a1a1d;width:100%;text-align:center;align-items:center;justify-content:center}.suggestion-button:hover{background:#c5caeb;transform:translateY(-1px)}.suggestion-icon{font-size:18px}.chat-modal-input{padding:8px 16px;background:#fff;border-top:1px solid #e5e5e7;display:flex;flex-direction:column;gap:8px;box-shadow:0 -5px 8px 4px #0000000d;border-radius:12px 12px 0 0}.reply-preview{background:#f5f5f7;padding:6px 6px 6px 12px;border-radius:6px;border-left:3px solid #5b7fff;display:flex;justify-content:space-between;align-items:flex-start;gap:6px}.reply-preview-content{flex:1;min-width:0}.reply-preview-label{font-size:11px;color:#5b7fff;font-weight:600}.reply-preview-text{font-size:13px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-preview-close{background:transparent;border:none;cursor:pointer;padding:2px;color:#999;transition:color .2s;flex-shrink:0}.reply-preview-close:hover{color:#666}.chat-modal-input-row{display:flex;gap:12px;align-items:center}.chat-modal-input input{flex:1;padding:14px 18px;border:1px solid #e5e5e7;border-radius:12px;outline:none;font-size:16px;color:#1a1a1d;transition:all .2s;height:44px}.chat-modal-input input::placeholder{color:#999}.chat-modal-input input:focus{border-color:#5b7fff;box-shadow:0 0 0 3px #5b7fff1a}.chat-modal-input input:disabled{opacity:.6;cursor:not-allowed;background:#f5f5f7}.send-button{width:40px;height:40px;border-radius:50%;background:#5b7fff;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.send-button:hover:not(:disabled){background:#4a6fee;transform:scale(1.05)}.send-button:disabled{opacity:.4;cursor:not-allowed}.chat-modal-messages::-webkit-scrollbar{width:6px}.chat-modal-messages::-webkit-scrollbar-thumb{background:#d1d1d6;border-radius:3px}@media(max-width:640px){.chat-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:12px 12px 0 0;margin:0}}.action-status{margin-top:8px;padding:6px 10px;border-radius:6px;font-size:.8em;font-weight:500}.action-status-submitted{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.action-status-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.action-status-fail{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.action-form{background:#f8f9fb;border:1px solid #e2e6ea;border-radius:10px;padding:12px;margin-top:8px;margin-bottom:8px}.action-form-title{font-weight:600;font-size:.9em;margin-bottom:10px;color:#1a1a2e;display:flex;align-items:center;gap:6px}.action-form-general-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;margin-bottom:10px;font-size:.8em;color:#dc2626;font-weight:500;display:flex;align-items:center;gap:6px}.action-form-fields{display:flex;flex-direction:column;gap:8px}.action-form-field{display:flex;flex-direction:column;gap:3px}.action-form-field label{font-size:.75em;font-weight:500;color:#6b7280}.action-form-field input,.action-form-field textarea{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;background:#fff;color:#1a1a2e;outline:none;transition:border-color .2s;font-family:inherit}.action-form-field textarea{resize:none;word-break:break-all}.action-form-field input:focus,.action-form-field textarea:focus{border-color:#0b3988;box-shadow:0 0 0 2px #6c5ce726}.action-form-field input.error,.action-form-field textarea.error{border-color:#ef4444}.action-form-field input.readonly,.action-form-field textarea.readonly{background:#f3f4f6;color:#6b7280;cursor:not-allowed;border-color:#e5e7eb}.action-form-field .field-error{font-size:.7em;color:#ef4444;margin-top:1px}.action-form-actions{display:flex;gap:8px;margin-top:10px}.action-form-submit{flex:1;padding:8px 14px;background:#0b3988;color:#fff;border:none;border-radius:6px;font-size:.85em;font-weight:500;cursor:pointer;transition:background .2s}.action-form-submit:hover:not(:disabled){background:#5a4bd1}.action-form-submit:disabled{background:#a5b4fc;cursor:not-allowed}.action-form-cancel{padding:8px 14px;background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;font-size:.85em;font-weight:500;cursor:pointer;transition:all .2s}.action-form-cancel:hover{background:#f3f4f6;color:#374151}.action-form-token-info{background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:8px 10px;margin-bottom:10px}.token-info-row{display:flex;align-items:center;gap:8px}.token-info-logo{border-radius:50%;flex-shrink:0}.token-info-details{display:flex;flex-direction:column;gap:2px;min-width:0}.token-info-name{font-size:.8em;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.token-info-balance{font-size:.75em;color:#4b5563}.token-info-usd{color:#0b3988;font-weight:500}.action-form-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.action-form-field-header .action-form-field-label{margin-bottom:0;font-size:12px}.action-form-pct-btns{display:inline-flex;gap:4px}.action-form-pct-btn{padding:1px 6px;font-size:.7em;font-weight:600;color:#0b3988;background:#eef2ff;border:1px solid #c7d2fe;border-radius:4px;cursor:pointer;transition:all .15s}@media(min-width:640px){.action-form-pct-btn:hover:not(:disabled){background:#0b3988;color:#fff}}.action-form-pct-btn:disabled{opacity:.5;cursor:not-allowed}.action-form-max-btn{font-weight:700}.action-form-nft-info{margin-bottom:10px;text-align:center;display:flex;align-items:center;justify-content:center}.nft-info-image{width:80px;height:80px;border-radius:8px;object-fit:contain;background:#e5e7eb;padding:4px}.scroll-to-bottom-btn{position:absolute;bottom:16px;right:20px;background:#1a1a1dd6;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:50%;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000040;z-index:20;transition:background .15s,transform .15s,box-shadow .15s;animation:fadeInUp .18s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:640px){.scroll-to-bottom-btn:hover{background:#2d2d35;box-shadow:0 6px 16px #0000004d;transform:scale(1.08)}}.scroll-to-bottom-btn:active{transform:scale(.96)}.message-content{display:block;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;overflow:hidden;font-size:inherit;line-height:1.5}.mc-line{min-height:1.2em;word-break:break-word}.mc-empty-line{height:.5em}.mc-heading{font-weight:600;margin:.3em 0;word-break:break-word}.mc-h1{font-size:1.4em}.mc-h2{font-size:1.2em}.mc-h3{font-size:1.05em}.mc-inline-code{background:#afb8c133;padding:1px 5px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.88em}.mc-codeblock{background:#f6f8fa;border:1px solid #d0d7de;border-radius:6px;margin:6px 0;overflow:hidden;max-width:100%}.mc-codeblock-lang{background:#e8ecf0;padding:3px 10px;font-size:.75em;font-weight:600;color:#57606a;text-transform:uppercase;font-family:Monaco,Menlo,monospace;border-bottom:1px solid #d0d7de}.mc-codeblock pre{margin:0;padding:10px;overflow-x:auto}.mc-codeblock code{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.85em;line-height:1.5;color:#24292f;white-space:pre}.mc-link{color:#0969da;text-decoration:none;word-break:break-word}.mc-link:hover{text-decoration:underline}.mc-image{max-width:150px;width:150px;height:150px;object-fit:contain;border-radius:8px;margin:8px 0;display:block}.mc-image-inline{width:20px;height:20px;border-radius:50%;margin:0 4px;display:inline-block;vertical-align:middle;object-fit:cover}.mc-blockquote{margin:4px 0;padding:2px 0 2px 12px;color:#57606a;border-left:3px solid #d0d7de}.mc-hr{height:1px;border:0;background:#d0d7de;margin:.4em 0}.message-content strong{font-weight:600}.message-content del{text-decoration:line-through}.mc-link-previews{display:flex;flex-direction:column;gap:6px;margin-top:6px}")),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}}();
|
|
2
|
-
import{jsx as e,Fragment as n,jsxs as t}from"react/jsx-runtime";import o,{useState as i,useEffect as a,useCallback as r,createContext as s,useContext as c,memo as l,useMemo as d,useRef as u}from"react";const f={en:{chatTitle:"Keyring Agent",closeChat:"Close chat",messagePlaceholder:"Message ....",sendMessage:"Send message",botIsTyping:"Bot is typing",canIHelpYou:"Can I help you with anything?",replyToMessage:"Reply to message",replyingTo:"Replying to",replyingToYou:"You",replyingToAgent:"Keyring Agent",cancelReply:"Cancel reply",suggestionAskText:"Ask a question",suggestionAskUserMessage:"I have a question",suggestionAskBotReply:"Ask me anything",suggestionBuyText:"Buy trending token",walletConnectedChainUnsupported:"Your wallet is connected but the chain is not supported for trading. Please switch to a supported chain to see trending tokens.",walletNotConnected:"Please connect your wallet to see trending tokens.",actionProcessing:"⏳ Processing transaction...",actionSuccess:"✅ Transaction completed",actionFail:"❌ Action cancelled or failed",txSubmitted:"⏳ Transaction submitted. Waiting for confirmation...",txConfirmed:"✅ Transaction confirmed!",txReverted:"❌ Transaction reverted on-chain.",txTimeout:"⚠️ Transaction submitted but confirmation timed out. Please check manually.",txSuccessful:"✅ Transaction successful!",txFailed:"❌ Transaction failed. Please try again.",txNoHandler:"⚠️ No transaction handler configured.",txInsufficientGas:"⚠️ **Insufficient {symbol} for gas!** You have {balance} {symbol} but need ~{fee} {symbol} for the transaction fee. Please top up your wallet and try again.",txError:"❌ Error: {message}",swapConfirmButton:"Confirm",swapConfirmValue:"Confirm swap",swapReadyToProceed:"Ready to proceed with the swap?",swapEstimationError:"⚠️ Unable to get swap estimation. Error: {error}",formCancel:"Cancel",formExecute:"Execute",formProcessing:"⏳ Processing...",formBalance:"Balance:",formTokenNotFound:"Token not found in your wallet.",formNoBalance:"You have no {symbol} balance in your wallet.",formInsufficientBalance:"Insufficient balance. Spendable: {balance} {symbol}",formFieldRequired:"{field} is required",formInvalidAddress:"Invalid address (Must contain 0x and 40 hex chars)",formMustBePositive:"Must be a positive number",formMustBeValidNumber:"Must be a valid number",openChat:"Open chat",openChatTitle:"Open chat support",walletBalanceSpendable:"This is the spendable balance of your wallet on {chain} chain. Please choose the coins you want to use for this trade.",walletNoTokensFound:"Sorry, I couldn't find any tokens in your wallet on {chain} chain. Please make sure you have some tokens to trade.",walletFetchFailed:"Sorry, I could not fetch your wallet balance. Please try again.",walletFetchError:"Sorry, I encountered an error fetching your wallet balance.",insufficientFeeToken:"Insufficient fee. Please ensure you have enough {symbol} to cover the transaction fees, or select a different token.",selectAmountOf:"Select the amount of {symbol} to use:\n\nSpendable: {balance} {symbol}",swapFeeWarning:"\n⚠️ **Insufficient {symbol} for fees!**\n You have {balance} {symbol} but need ~{needed} {symbol}.\n",swapNeedApprove:"You need to approve {symbol} first before swapping.",swapApproveButton:"Approve {symbol}",swapApproveValue:"Approve {symbol} for swap",swapNoSourceToken:"⚠️ You don't have the source token in your wallet or balance is 0.",swapSelectAmount:"Swap {from} → {to}\n\nSelect the amount of {from} to swap:\n\nSpendable: {balance} {from}",swapApprovalRequired:"⚠️ Token approval required before swapping.\n\nStep 1: Approve {symbol}\nStep 2: Confirm Swap",swapEstimationFailed:"⚠️ Failed to get swap estimation. Please try again.",swapInsufficientNativeBalance:"⚠️ Insufficient balance! You have {balance} {symbol} but need {amount}. Please top up your wallet or reduce the amount.",swapTokenNotInWallet:"⚠️ You don't have {symbol} in your wallet. Please acquire some first before swapping.",swapInsufficientTokenBalance:"⚠️ Insufficient balance! You have {balance} {symbol} but need {amount}. Please reduce the amount or add more tokens.",selectAmountToSwap:"Select the amount of {symbol} to swap:\n\nSpendable: {balance} {symbol}",couldNotLoadTokenList:"⚠️ Could not load token list. Please specify the destination token.",trendingTokensForReceive:"📈 Trending tokens on {chain} chain. Pick the token you want to receive or type the token you want to receive:",txProcessing:"⏳ Transaction processing... Please confirm in your wallet.",txConfirmedSwap:"✅ Transaction confirmed! Your swap has been completed.",txRevertedSwap:"❌ Transaction reverted on-chain. Please try again.",txSuccessfulSwap:"✅ Transaction successful! Your swap has been completed.",txSuccessfulSendToken:"✅ Sent successfully **{amount} {symbol}** to {to}",txSuccessfulSendNative:"✅ Sent successfully **{amount} {symbol}** to {to}",txSuccessfulSendNft:"✅ Sent successfully NFT **{name}** (#{tokenId}) to {to}",txDataNotAvailable:"⚠️ Transaction data not available.",approvalDataNotAvailable:"⚠️ Approval data not available.",approving:"Approving {symbol}... Please confirm in your wallet.",approvalSuccess:"✅ {symbol} approved successfully!",approvalConfirmSwap:"Now you can execute the swap.",confirmSwapButton:"Confirm Swap",approvalFailed:"❌ Approval failed. Please try again.",couldNotFetchBalance:"⚠️ Could not fetch your wallet balance.",couldNotLoadBalance:"⚠️ Could not load balance. Please try again.",couldNotFetchBalanceRetry:"⚠️ Could not fetch your balance. Please try again.",nftSendReview:"📤 Send **{name}** ({standard} #{tokenId})\n\nPlease review and fill in the recipient address below:",nftCollectionHeader:"Your NFTs :\n\n{list}",nftMoreItems:"\n\nAnd {count} more NFTs...",nftSelectBelow:"\n\nSelect an NFT below to send",nftNoCollection:"You don't have any NFTs in your wallet on this chain.",nftMultipleMatchesForTokenId:"I found {count} NFTs with Token ID #{tokenId} in your wallet. Please select the one you want to send:",nftNotFoundInWallet:"I couldn't find \"{name}\" in your NFT collection. You don't own this NFT on this chain.",nftFetchError:"Sorry, I encountered an error fetching your NFTs.",trendingTokensHeader:"📈 Here is the list of tokens that are currently trending upwards on {chain} chain",trendingTokensQuestion:"\nIs there any token you want to buy?",trendingTokensError:"Sorry, I encountered an error fetching trending tokens.",errorProcessingRequest:"Sorry, I encountered an error processing your request.",buttonBuyWith:"Buy with {symbol}",buttonUsePercent:"Use {percent}% of {symbol}",buttonBuyToken:"Buy {name} ({symbol})",buttonSendNft:"Send {name}",buttonSwapTo:"Swap to {name} ({symbol})",buttonBuySymbol:"Buy {symbol}",viewBalancesLoading:"Fetching your wallet balances...",viewBalancesHeader:"Your token balances on {chain}:\n\n{list}",viewBalancesEmpty:"You don't have any tokens in your wallet on this chain.",viewBalancesFetchError:"Sorry, I encountered an error fetching your balances.",buttonSendToken:"Send {symbol}",formMax:"MAX",buttonSwapToken:"Swap {symbol}",buttonBuyMoreToken:"Buy more {symbol}",actionSendNativeLabel:"Send Native Token",actionSendNativeDesc:"Send native token (ETH, BNB, MATIC, etc.) to an address",actionSendTokenLabel:"Send Token (ERC20)",actionSendTokenDesc:"Send an ERC20 token to an address",actionSwapTokenLabel:"Swap Token",actionSwapTokenDesc:"Swap one token for another",actionApproveTokenLabel:"Approve Token",actionApproveTokenDesc:"Approve a spender to use your tokens",actionWrapNativeLabel:"Wrap Native Token",actionWrapNativeDesc:"Wrap native token (ETH → WETH)",actionUnwrapNativeLabel:"Unwrap Native Token",actionUnwrapNativeDesc:"Unwrap native token (WETH → ETH)",actionSendNftLabel:"Send NFT",actionSendNftDesc:"Transfer an ERC721 or ERC1155 NFT to another address",fieldToAddress:"Recipient Address",fieldAmount:"Amount",fieldTokenContract:"Token Contract",fieldTokenSymbol:"Token Symbol",fieldDecimals:"Decimals",fieldTokenIn:"From Token",fieldTokenInSymbol:"From Symbol",fieldTokenOut:"To Token",fieldTokenOutSymbol:"To Symbol",fieldTokenInDecimals:"From Decimals",fieldTokenOutDecimals:"To Decimals",fieldSpenderAddress:"Spender Address",fieldAmountUnlimited:"Amount (empty = unlimited)",fieldNftContract:"NFT Contract",fieldTokenId:"Token ID",fieldTokenStandard:"Token Standard",fieldNftName:"NFT Name",formMustBePositiveInteger:"Must be a positive integer",formAmountExceedsNft:"Amount cannot exceed available balance {max}",receivedButtonValue:"Received: {value}",actionExecutedFor:'Action "{action}" executed for: {value}',buyTokenHelp:"I'll help you buy {symbol}. Let me show your available tokens to trade with.",tokenNotFoundOnChain:'I couldn\'t find the token "{symbol}" on this chain. Here are the trending tokens you can buy:',swapPreparing:"Preparing your swap...",swapConfirmYes:"Yes",swapChooseFrom:"Please choose which token you want to swap from:",swapChooseTo:"You want to swap {symbol}. Please choose which token you want to receive:",swapNeedDetails:'I need more details for your swap. Please specify which tokens you want to swap (e.g. "Swap 1 ETH to USDC").',viewNftsLoading:"Let me show you your NFT collection!",sendTokenNotInWallet:"You don't have {symbol} in your wallet on this chain. Please acquire some first before sending.",sendTokenChoose:"Which token would you like to send?",sendNftChoose:"Which NFT would you like to send?",swapChooseToken:"Which token would you like to swap? Here are your current balances:",spendable:"Spendable",welcomeMessage:"**Welcome! 🚀**\nYou're connected and ready to explore DeFi! I can assist you with trading, checking prices, and analyzing your portfolio any time.",sendOtherNfts:"\nIf the NFT you want to send is not in the list above, please visit [our website]({link}) to send it.",sendNftViaWebsite:"Please select the NFT you would like to send from the list and proceed via [the website]({link}).",viewNftViaWebsite:"Please view your NFT collection on [the website]({link}) for more details."},ja:{chatTitle:"Keyring Agent",closeChat:"チャットを閉じる",messagePlaceholder:"メッセージを入力...",sendMessage:"メッセージを送信",botIsTyping:"ボットが入力中...",canIHelpYou:"何かお手伝いできることはございますか?",replyToMessage:"メッセージに返信",replyingTo:"返信先:",replyingToYou:"あなた",replyingToAgent:"Keyring Agent",cancelReply:"返信をキャンセル",suggestionAskText:"質問・調査のお願い",suggestionAskUserMessage:"質問があります",suggestionAskBotReply:"何でも聞いてください",suggestionBuyText:"トレンドトークンを購入",walletConnectedChainUnsupported:"ウォレットは接続されていますが、このチェーンは取引に対応していません。トレンドのトークンを表示するには、対応しているチェーンに切り替えてください。",walletNotConnected:"トレンドのトークンを表示するには、ウォレットを接続してください。",actionProcessing:"⏳ トランザクションを処理中...",actionSuccess:"✅ トランザクションが完了しました",actionFail:"❌ アクションがキャンセルされたか、失敗しました",txSubmitted:"⏳ トランザクションを送信しました。確認を待機中...",txConfirmed:"✅ トランザクションが確認されました!",txReverted:"❌ オンチェーンでトランザクションがリバートされました。",txTimeout:"⚠️ トランザクションは送信されましたが、タイムアウトしました。手動で確認してください。",txSuccessful:"✅ トランザクションに成功しました!",txFailed:"❌ トランザクションに失敗しました。もう一度お試しください。",txNoHandler:"⚠️ トランザクションハンドラーが設定されていません。",txInsufficientGas:"⚠️ **ガス代({symbol})が不足しています!** 保有量は {balance} {symbol} ですが、手数料に約 {fee} {symbol} 必要です。ウォレットにチャージして再試行してください。",txError:"❌ エラー: {message}",swapConfirmButton:"確定",swapConfirmValue:"スワップを確定する",swapReadyToProceed:"スワップを実行しますか?",swapEstimationError:"⚠️ スワップの見積もりを取得できません。エラー: {error}",formCancel:"キャンセル",formExecute:"実行",formProcessing:"⏳ 処理中...",formBalance:"残高:",formTokenNotFound:"ウォレット内にトークンが見つかりません。",formNoBalance:"ウォレットに {symbol} の残高がありません。",formInsufficientBalance:"残高不足です。利用可能: {balance} {symbol}",formFieldRequired:"{field} は必須項目です",formInvalidAddress:"無効なアドレスです(0x + 40文字である必要があります)",formMustBePositive:"正の数値を入力してください",formMustBeValidNumber:"有効な数値を入力してください",openChat:"チャットを開く",openChatTitle:"チャットサポートを開く",walletBalanceSpendable:"これは {chain} チェーン上のウォレットの利用可能な残高です。この取引に使用するコインを選択してください。",walletNoTokensFound:"申し訳ありませんが、{chain} チェーン上のウォレットにトークンが見つかりませんでした。取引するためのトークンを保有しているかご確認ください。",walletFetchFailed:"ウォレット残高を取得できませんでした。もう一度お試しください。",walletFetchError:"ウォレット残高の取得中にエラーが発生しました。",insufficientFeeToken:"手数料が不足しています。取引手数料をカバーするのに十分な {symbol} を保有しているか、別のトークンを選択してください。",selectAmountOf:"使用する {symbol} の数量を選択してください:\n\n利用可能: {balance} {symbol}",swapFeeWarning:"\n⚠️ **手数料の {symbol} が不足しています!**\n 保有量は {balance} {symbol} ですが、~{needed} {symbol} 必要です。\n",swapNeedApprove:"スワップを行う前に、まず {symbol} の承認が必要です。",swapApproveButton:"{symbol} を承認する",swapApproveValue:"スワップのために {symbol} を承認",swapNoSourceToken:"⚠️ ウォレットにソーストークンがないか、残高が 0 です。",swapSelectAmount:"スワップ {from} → {to}\n\nスワップする {from} の数量を選択してください:\n\n利用可能: {balance} {from}",swapApprovalRequired:"⚠️ スワップの前にトークンの承認が必要です。\n\nステップ 1: {symbol} を承認\nステップ 2: スワップを確定",swapEstimationFailed:"⚠️ スワップの見積もり取得に失敗しました。もう一度お試しください。",swapInsufficientNativeBalance:"⚠️ 残高不足です! 保有量は {balance} {symbol} ですが、{amount} 必要です。ウォレットにチャージするか、数量を減らしてください。",swapTokenNotInWallet:"⚠️ ウォレットに {symbol} がありません。スワップする前にまず入手してください。",swapInsufficientTokenBalance:"⚠️ 残高不足です! 保有量は {balance} {symbol} ですが、{amount} 必要です。数量を減らすか、トークンを追加してください。",selectAmountToSwap:"スwaップする {symbol} の数量を選択してください:\n\n利用可能: {balance} {symbol}",couldNotLoadTokenList:"⚠️ トークンリストを読み込めませんでした。受け取り希望のトークンを指定してください。",trendingTokensForReceive:"📈 {chain} チェーンのトレンドトークン。受け取りたいトークンを選択するか、入力してください:",txProcessing:"⏳ トランザクション処理中... ウォレットで承認してください。",txConfirmedSwap:"✅ トランザクションが確認されました!スワップが完了しました。",txRevertedSwap:"❌ オンチェーンでトランザクションがリバートされました。もう一度お試しください。",txSuccessfulSwap:"✅ トランザクションに成功しました!スワップが完了しました。",txSuccessfulSendToken:"✅ **{amount} {symbol}** を {to} に送信しました",txSuccessfulSendNative:"✅ **{amount} {symbol}** を {to} に送信しました",txSuccessfulSendNft:"✅ NFT **{name}** (#{tokenId}) を {to} に送信しました",txDataNotAvailable:"⚠️ トランザクションデータが利用できません。",approvalDataNotAvailable:"⚠️ 承認データが利用できません。",approving:"{symbol} を承認中... ウォレットで確認してください。",approvalSuccess:"✅ {symbol} の承認に成功しました!",approvalConfirmSwap:"これでスワップを実行できます。",confirmSwapButton:"スワップを確定する",approvalFailed:"❌ 承認に失敗しました。もう一度お試しください。",couldNotFetchBalance:"⚠️ ウォレット残高を取得できませんでした。",couldNotLoadBalance:"⚠️ 残高を読み込めませんでした。もう一度お試しください。",couldNotFetchBalanceRetry:"⚠️ 残高を取得できませんでした。もう一度お試しください。",nftSendReview:"📤 **{name}** ({standard} #{tokenId}) を送信\n\n内容を確認し、以下に受信者のアドレスを入力してください:",nftCollectionHeader:"您的 NFT 资产:\n\n{list}",nftMoreItems:"\n\n以及其他 {count} 件 NFT...",nftSelectBelow:"\n\n请在下方选择要发送的 NFT",nftNoCollection:"このチェーン上のウォレットにNFTは見つかりませんでした。",nftMultipleMatchesForTokenId:"ウォレット内にToken ID #{tokenId} のNFTが{count}件見つかりました。送信したいNFTを選択してください:",nftNotFoundInWallet:'あなたのNFTコレクションに "{name}" が見つかりませんでした。このチェーンでこのNFTを所有していません。',nftFetchError:"申し訳ありませんが、NFTの取得中にエラーが発生しました。",trendingTokensHeader:"📈 {chain} チェーンで現在価格が上昇中のトレンドトークン一覧です:",trendingTokensQuestion:"\n購入したいトークンはありますか?",trendingTokensError:"トレンドトークンの取得中にエラーが発生しました。",errorProcessingRequest:"リクエストの処理中にエラーが発生しました。",buttonBuyWith:"{symbol} で購入",buttonUsePercent:"{symbol} の {percent}% を使用",buttonBuyToken:"{name} ({symbol}) を購入",buttonSendNft:"{name} を送信",buttonSwapTo:"{name} ({symbol}) にスワップ",buttonBuySymbol:"{symbol} を購入",viewBalancesLoading:"ウォレットの残高を取得中...",viewBalancesHeader:"{chain} 上のトークン残高:\n\n{list}",viewBalancesEmpty:"このチェーン上のウォレットにトークンは見つかりませんでした。",viewBalancesFetchError:"残高の取得中にエラーが発生しました。",buttonSendToken:"{symbol} を送信",formMax:"最大",buttonSwapToken:"{symbol} をスワップ",buttonBuyMoreToken:"{symbol} をさらに入手",actionSendNativeLabel:"ネイティブトークンを送信",actionSendNativeDesc:"ネイティブトークン (ETH, BNB, MATIC など) をアドレスに送信します",actionSendTokenLabel:"トークンを送信 (ERC20)",actionSendTokenDesc:"ERC20トークンをアドレスに送信します",actionSwapTokenLabel:"トークンをスワップ",actionSwapTokenDesc:"トークンを別のトークンに交換します",actionApproveTokenLabel:"トークンを承認",actionApproveTokenDesc:"支出元(Spender)によるトークンの使用を許可します",actionWrapNativeLabel:"ネイティブトークンをラップ",actionWrapNativeDesc:"ネイティブトークンをラップします (ETH → WETH)",actionUnwrapNativeLabel:"ネイティブトークンをアンラップ",actionUnwrapNativeDesc:"ネイティブトークンをアンラップします (WETH → ETH)",actionSendNftLabel:"NFTを送信",actionSendNftDesc:"ERC721またはERC1155 NFTを別のアドレスに転送します",fieldToAddress:"受信者アドレス",fieldAmount:"数量",fieldTokenContract:"トークンコントラクト",fieldTokenSymbol:"トークンシンボル",fieldDecimals:"デシマル (小数桁数)",fieldTokenIn:"元のトークン",fieldTokenInSymbol:"元のシンボル",fieldTokenOut:"先のトークン",fieldTokenOutSymbol:"先のシンボル",fieldTokenInDecimals:"元のデシマル",fieldTokenOutDecimals:"先のデシマル",fieldSpenderAddress:"支出元 (Spender) アドレス",fieldAmountUnlimited:"数量 (空欄 = 無制限)",fieldNftContract:"NFTコントラクト",fieldTokenId:"トークンID",fieldTokenStandard:"トークン規格",fieldNftName:"NFT名",formMustBePositiveInteger:"正の整数を入力してください",formAmountExceedsNft:"数量は利用可能な残高 {max} を超えることはできません",receivedButtonValue:"受取額: {value}",actionExecutedFor:"アクション「{action}」が {value} に対して実行されました",buyTokenHelp:"{symbol} の購入をお手伝いします。まず、交換に使用可能なトークンを表示します。",tokenNotFoundOnChain:"このチェーン上でトークン「{symbol}」が見つかりませんでした。購入可能なトレンドトークンはこちらです:",swapPreparing:"スワップの準備中...",swapConfirmYes:"はい",swapChooseFrom:"交換元(支払う)トークンを選択してください:",swapChooseTo:"{symbol} をスワップします。受け取りたいトークンを選択してください:",swapNeedDetails:"スワップの詳細が必要です。交換したいトークンを指定してください(例:「1 ETH を USDC にスワップ」)。",viewNftsLoading:"あなたのNFTコレクションを表示します!",sendTokenNotInWallet:"このチェーンのウォレットに {symbol} がありません。送信する前にまず入手してください。",sendTokenChoose:"どのトークンを送信しますか?",sendNftChoose:"どのNFTを送信しますか?",swapChooseToken:"どのトークンをスワップしますか?現在の残高はこちらです:",spendable:"利用可能",welcomeMessage:"**ようこそ! 🚀**\n新時代の金融へ。DeFiの世界を解き放て!トレード、価格チェック、ポートフォリオ分析など、いつでもお手伝いします。",sendOtherNfts:"\n送信したいNFTが上記のリストにない場合は、[当社のウェブサイト]({link})にアクセスして送信してください。",sendNftViaWebsite:"送信したいNFTをリストから選択し、[ウェブサイト]({link})で手続きを進めてください。",viewNftViaWebsite:"NFTコレクションの詳細は、[ウェブサイト]({link})でご確認ください。"},cn:{chatTitle:"Keyring Agent",closeChat:"关闭聊天",messagePlaceholder:"请输入消息....",sendMessage:"发送消息",botIsTyping:"机器人正在输入",canIHelpYou:"有什么我可以帮您的吗?",replyToMessage:"回复消息",replyingTo:"正在回复",replyingToYou:"您",replyingToAgent:"Keyring Agent",cancelReply:"取消回复",suggestionAskText:"提问",suggestionAskUserMessage:"我有一个问题",suggestionAskBotReply:"随便问我任何事情",suggestionBuyText:"购买热门代币",walletConnectedChainUnsupported:"您的钱包已连接,但当前链不支持交易。请切换到支持的链以查看热门代币。",walletNotConnected:"请连接您的钱包以查看热门代币。",actionProcessing:"⏳ 正在处理交易...",actionSuccess:"✅ 交易已完成",actionFail:"❌ 操作取消或失败",txSubmitted:"⏳ 交易已提交。正在等待确认...",txConfirmed:"✅ 交易已确认!",txReverted:"❌ 交易在链上被退回(Reverted)。",txTimeout:"⚠️ 交易已提交但确认超时。请手动检查。",txSuccessful:"✅ 交易成功!",txFailed:"❌ 交易失败。请重试。",txNoHandler:"⚠️ 未配置交易处理器。",txInsufficientGas:"⚠️ **{symbol} 余额不足以支付 Gas 费!** 您当前有 {balance} {symbol},但交易费预计需要 ~{fee} {symbol}。请充值钱包后重试。",txError:"❌ 错误: {message}",swapConfirmButton:"确认",swapConfirmValue:"确认兑换",swapReadyToProceed:"准备好进行兑换了吗?",swapEstimationError:"⚠️ 无法获取兑换估算。错误: {error}",formCancel:"取消",formExecute:"执行",formProcessing:"⏳ 正在处理...",formBalance:"余额:",formTokenNotFound:"您的钱包中未找到该代币。",formNoBalance:"您的钱包中没有 {symbol} 余额。",formInsufficientBalance:"余额不足。可用余额: {balance} {symbol}",formFieldRequired:"{field} 是必填项",formInvalidAddress:"无效地址(必须是 0x + 40 个字符)",formMustBePositive:"必须为正数",formMustBeValidNumber:"必须为有效数字",openChat:"打开聊天",openChatTitle:"打开聊天支持",walletBalanceSpendable:"这是您在 {chain} 链上钱包的可选余额。请选择您想用于此次交易的代币。",walletNoTokensFound:"抱歉,我在 {chain} 链上的钱包中没找到任何代币。请确保您有代币可以进行交易。",walletFetchFailed:"抱歉,无法获取您的钱包余额。请重试。",walletFetchError:"抱歉,获取钱包余额时出错。",insufficientFeeToken:"手续费不足。请确保您有足够的 {symbol} 来支付交易费用,或选择其他代币。",selectAmountOf:"选择要使用的 {symbol} 数量:\n\n可用余额: {balance} {symbol}",swapFeeWarning:"\n⚠️ **手续费所需的 {symbol} 不足!**\n 您当前有 {balance} {symbol},但需要 ~{needed} {symbol}。\n",swapNeedApprove:"在兑换之前,您需要先授权 {symbol}。",swapApproveButton:"授权 {symbol}",swapApproveValue:"授权 {symbol} 以进行兑换",swapNoSourceToken:"⚠️ 您的钱包中没有源代币或余额为 0。",swapSelectAmount:"兑换 {from} → {to}\n\n选择要兑换的 {from} 数量:\n\n可用余额: {balance} {from}",swapApprovalRequired:"⚠️ 兑换前需要代币授权。\n\n第 1 步:授权 {symbol}\n第 2 步:确认兑换",swapEstimationFailed:"⚠️ 获取兑换估算失败。请重试。",swapInsufficientNativeBalance:"⚠️ 余额不足!您有 {balance} {symbol} 但需要 {amount}。请充值钱包或减少金额。",swapTokenNotInWallet:"⚠️ 您的钱包中没有 {symbol}。请在兑换前先获取一些代币。",swapInsufficientTokenBalance:"⚠️ 余额不足!您有 {balance} {symbol} 但需要 {amount}。请减少金额或添加更多代币。",selectAmountToSwap:"选择要兑换的 {symbol} 数量:\n\n可用余额: {balance} {symbol}",couldNotLoadTokenList:"⚠️ 无法加载代币列表。请指定目标代币。",trendingTokensForReceive:"📈 {chain} 链上的热门代币。请选择您想收到的代币或输入代币名称:",txProcessing:"⏳ 交易处理中... 请在钱包中确认。",txConfirmedSwap:"✅ 交易已确认!您的兑换已完成。",txRevertedSwap:"❌ 交易在链上被退回。请重试。",txSuccessfulSwap:"✅ 交易成功!您的兑换已完成。",txSuccessfulSendToken:"✅ 已成功发送 **{amount} {symbol}** 至 {to}",txSuccessfulSendNative:"✅ 已成功发送 **{amount} {symbol}** 至 {to}",txSuccessfulSendNft:"✅ 已成功发送 NFT **{name}** (#{tokenId}) 至 {to}",txDataNotAvailable:"⚠️ 交易数据不可用。",approvalDataNotAvailable:"⚠️ 授权数据不可用。",approving:"正在授权 {symbol}... 请在钱包中确认。",approvalSuccess:"✅ {symbol} 授权成功!",approvalConfirmSwap:"现在您可以执行兑换了。",confirmSwapButton:"确认兑换",approvalFailed:"❌ 授权失败。请重试。",couldNotFetchBalance:"⚠️ 无法获取您的钱包余额。",couldNotLoadBalance:"⚠️ 无法加载余额。请重试。",couldNotFetchBalanceRetry:"⚠️ 无法获取您的余额。请重试。",nftSendReview:"📤 发送 **{name}** ({standard} #{tokenId})\n\n请核对并在下方填写接收者地址:",nftCollectionHeader:"保有中のNFT一覧 :\n\n{list}",nftMoreItems:"\n\n他 {count} 件のNFT...",nftSelectBelow:"\n\n送信するNFTを以下から選択してください",nftNoCollection:"您在该链的钱包中没有任何 NFT。",nftMultipleMatchesForTokenId:"在您的钱包中找到了 {count} 个 Token ID #{tokenId} 的 NFT。请选择您要发送的 NFT:",nftNotFoundInWallet:'我在您的 NFT 收藏中没找到 "{name}"。您在此链上不拥有此 NFT。',nftFetchError:"抱歉,获取您的 NFT 时出错。",trendingTokensHeader:"📈 以下是 {chain} 链上目前呈上升趋势的热门代币列表",trendingTokensQuestion:"\n有您想购买的代币吗?",trendingTokensError:"抱歉,获取热门代币时出错。",errorProcessingRequest:"抱歉,处理您的请求时出错。",buttonBuyWith:"使用 {symbol} 购买",buttonUsePercent:"使用 {percent}% 的 {symbol}",buttonBuyToken:"购买 {name} ({symbol})",buttonSendNft:"发送 {name}",buttonSwapTo:"兑换为 {name} ({symbol})",buttonBuySymbol:"购买 {symbol}",viewBalancesLoading:"正在获取您的钱包余额...",viewBalancesHeader:"您在 {chain} 上的代币余额:\n\n{list}",viewBalancesEmpty:"您在该链的钱包中没有任何代币。",viewBalancesFetchError:"抱歉,获取您的余额时出错。",buttonSendToken:"发送 {symbol}",formMax:"最多",buttonSwapToken:"兑换 {symbol}",buttonBuyMoreToken:"购买更多 {symbol}",actionSendNativeLabel:"发送原生代币",actionSendNativeDesc:"将原生代币 (ETH, BNB, MATIC 等) 发送到指定地址",actionSendTokenLabel:"发送代币 (ERC20)",actionSendTokenDesc:"将 ERC20 代币发送到指定地址",actionSwapTokenLabel:"兑换代币",actionSwapTokenDesc:"将一种代币兑换为另一种",actionApproveTokenLabel:"授权代币",actionApproveTokenDesc:"授权支出方使用您的代币",actionWrapNativeLabel:"包装 (Wrap) 原生代币",actionWrapNativeDesc:"包装原生代币 (例如 ETH → WETH)",actionUnwrapNativeLabel:"解包 (Unwrap) 原生代币",actionUnwrapNativeDesc:"解包原生代币 (例如 WETH → ETH)",actionSendNftLabel:"发送 NFT",actionSendNftDesc:"将 ERC721 或 ERC1155 NFT 转移到另一个地址",fieldToAddress:"接收者地址",fieldAmount:"金额",fieldTokenContract:"代币合约",fieldTokenSymbol:"代币符号",fieldDecimals:"精度 (Decimals)",fieldTokenIn:"源代币 (From)",fieldTokenInSymbol:"源代币符号",fieldTokenOut:"目标代币 (To)",fieldTokenOutSymbol:"目标代币符号",fieldTokenInDecimals:"源代币精度",fieldTokenOutDecimals:"目标代币精度",fieldSpenderAddress:"支出方 (Spender) 地址",fieldAmountUnlimited:"金额 (留空 = 无限制)",fieldNftContract:"NFT 合约",fieldTokenId:"代币 ID",fieldTokenStandard:"代币标准",fieldNftName:"NFT 名称",formMustBePositiveInteger:"必须为正整数",formAmountExceedsNft:"金额不能超过可用余额 {max}",receivedButtonValue:"收到: {value}",actionExecutedFor:'操作 "{action}" 已执行,对象为: {value}',buyTokenHelp:"我会帮您购买 {symbol}。让我为您显示可用于交易的代币。",tokenNotFoundOnChain:'我在该链上没找到代币 "{symbol}"。以下是您可以购买的热门代币:',swapPreparing:"正在准备兑换...",swapConfirmYes:"是",swapChooseFrom:"请选择您想从哪个代币进行兑换:",swapChooseTo:"您想兑换 {symbol}。请选择您想收到的代币:",swapNeedDetails:"我需要更多关于兑换的细节。请指定您想兑换的代币(例如 “将 1 ETH 兑换为 USDC”)。",viewNftsLoading:"正在为您展示 NFT 收藏!",sendTokenNotInWallet:"您的钱包中在此链上没有 {symbol}。请在发送前先获取一些代币。",sendTokenChoose:"您想发送哪个代币?",sendNftChoose:"您想发送哪个 NFT?",swapChooseToken:"您想兑换哪个代币?以下是您的当前余额:",spendable:"可用余额",welcomeMessage:"**欢迎! 🚀**\n您已连接并准备好探索 DeFi!我可以帮您进行交易、查询价格,并在需要时分析您的资产组合。",sendOtherNfts:"\n如果您想发送的NFT不在上述列表中,请访问[我们的网站]({link})进行发送。",sendNftViaWebsite:"请从列表中选择您想发送的NFT,并通过[网站]({link})继续操作。",viewNftViaWebsite:"如需查看更多详情,请在[网站]({link})查看您的NFT收藏。"}};function p(e,n){return f[n]?.[e]??f.en[e]??e}const m=s(void 0),h=({children:n,initialLanguage:t="en"})=>{const[o,s]=i(t);a(()=>{t&&s(t)},[t]);const c=r(e=>p(e,o),[o]),l=r((e,n)=>function(e,n){return e.replace(/\{(\w+)\}/g,(e,t)=>n[t]??`{${t}}`)}(p(e,o),n),[o]);/* @__PURE__ */
|
|
2
|
+
import{jsx as e,Fragment as n,jsxs as t}from"react/jsx-runtime";import o,{useState as i,useEffect as a,useCallback as r,createContext as s,useContext as c,memo as l,useMemo as d,useRef as u}from"react";const f={en:{chatTitle:"Keyring Agent",closeChat:"Close chat",messagePlaceholder:"Message ....",sendMessage:"Send message",botIsTyping:"Bot is typing",canIHelpYou:"Can I help you with anything?",replyToMessage:"Reply to message",replyingTo:"Replying to",replyingToYou:"You",replyingToAgent:"Keyring Agent",cancelReply:"Cancel reply",suggestionAskText:"Ask a question",suggestionAskUserMessage:"I have a question",suggestionAskBotReply:"Ask me anything",suggestionBuyText:"Buy trending token",walletConnectedChainUnsupported:"Your wallet is connected but the chain is not supported for trading. Please switch to a supported chain to see trending tokens.",walletNotConnected:"Please connect your wallet to see trending tokens.",actionProcessing:"⏳ Processing transaction...",actionSuccess:"✅ Transaction completed",actionFail:"❌ Action cancelled or failed",txSubmitted:"⏳ Transaction submitted. Waiting for confirmation...",txConfirmed:"✅ Transaction confirmed!",txReverted:"❌ Transaction reverted on-chain.",txTimeout:"⚠️ Transaction submitted but confirmation timed out. Please check manually.",txSuccessful:"✅ Transaction successful!",txFailed:"❌ Transaction failed. Please try again.",txNoHandler:"⚠️ No transaction handler configured.",txInsufficientGas:"⚠️ **Insufficient {symbol} for gas!** You have {balance} {symbol} but need ~{fee} {symbol} for the transaction fee. Please top up your wallet and try again.",txError:"❌ Error: {message}",swapConfirmButton:"Confirm",swapConfirmValue:"Confirm swap",swapReadyToProceed:"Ready to proceed with the swap?",swapEstimationError:"⚠️ Unable to get swap estimation. Error: {error}",formCancel:"Cancel",formExecute:"Execute",formProcessing:"⏳ Processing...",formBalance:"Balance:",formTokenNotFound:"Token not found in your wallet.",formNoBalance:"You have no {symbol} balance in your wallet.",formInsufficientBalance:"Insufficient balance. Spendable: {balance} {symbol}",formFieldRequired:"{field} is required",formInvalidAddress:"Invalid address (Must contain 0x and 40 hex chars)",formMustBePositive:"Must be a positive number",formMustBeValidNumber:"Must be a valid number",openChat:"Open chat",openChatTitle:"Open chat support",walletBalanceSpendable:"This is the spendable balance of your wallet on {chain} chain. Please choose the coins you want to use for this trade.",walletNoTokensFound:"Sorry, I couldn't find any tokens in your wallet on {chain} chain. Please make sure you have some tokens to trade.",walletFetchFailed:"Sorry, I could not fetch your wallet balance. Please try again.",walletFetchError:"Sorry, I encountered an error fetching your wallet balance.",insufficientFeeToken:"Insufficient fee. Please ensure you have enough {symbol} to cover the transaction fees, or select a different token.",selectAmountOf:"Select the amount of {symbol} to use:\n\nSpendable: {balance} {symbol}",swapFeeWarning:"\n⚠️ **Insufficient {symbol} for fees!**\n You have {balance} {symbol} but need ~{needed} {symbol}.\n",swapNeedApprove:"You need to approve {symbol} first before swapping.",swapApproveButton:"Approve {symbol}",swapApproveValue:"Approve {symbol} for swap",swapNoSourceToken:"⚠️ You don't have the source token in your wallet or balance is 0.",swapSelectAmount:"Swap {from} → {to}\n\nSelect the amount of {from} to swap:\n\nSpendable: {balance} {from}",swapApprovalRequired:"⚠️ Token approval required before swapping.\n\nStep 1: Approve {symbol}\nStep 2: Confirm Swap",swapEstimationFailed:"⚠️ Failed to get swap estimation. Please try again.",swapInsufficientNativeBalance:"⚠️ Insufficient balance! You have {balance} {symbol} but need {amount}. Please top up your wallet or reduce the amount.",swapTokenNotInWallet:"⚠️ You don't have {symbol} in your wallet. Please acquire some first before swapping.",swapInsufficientTokenBalance:"⚠️ Insufficient balance! You have {balance} {symbol} but need {amount}. Please reduce the amount or add more tokens.",selectAmountToSwap:"Select the amount of {symbol} to swap:\n\nSpendable: {balance} {symbol}",couldNotLoadTokenList:"⚠️ Could not load token list. Please specify the destination token.",trendingTokensForReceive:"📈 Trending tokens on {chain} chain. Pick the token you want to receive or type the token you want to receive:",txProcessing:"⏳ Transaction processing... Please confirm in your wallet.",txConfirmedSwap:"✅ Transaction confirmed! Your swap has been completed.",txRevertedSwap:"❌ Transaction reverted on-chain. Please try again.",txSuccessfulSwap:"✅ Transaction successful! Your swap has been completed.",txSuccessfulSendToken:"✅ Sent successfully **{amount} {symbol}** to {to}",txSuccessfulSendNative:"✅ Sent successfully **{amount} {symbol}** to {to}",txSuccessfulSendNft:"✅ Sent successfully NFT **{name}** (#{tokenId}) to {to}",txSuccessfulWrapNative:"✅ Wrapped successfully **{amount} {from}** → **{to}",txSuccessfulUnwrapNative:"✅ Unwrapped successfully **{amount} {from}** → **{to}",txDataNotAvailable:"⚠️ Transaction data not available.",approvalDataNotAvailable:"⚠️ Approval data not available.",approving:"Approving {symbol}... Please confirm in your wallet.",approvalSuccess:"✅ {symbol} approved successfully!",approvalConfirmSwap:"Now you can execute the swap.",confirmSwapButton:"Confirm Swap",approvalFailed:"❌ Approval failed. Please try again.",couldNotFetchBalance:"⚠️ Could not fetch your wallet balance.",couldNotLoadBalance:"⚠️ Could not load balance. Please try again.",couldNotFetchBalanceRetry:"⚠️ Could not fetch your balance. Please try again.",nftSendReview:"📤 Send **{name}** ({standard} #{tokenId})\n\nPlease review and fill in the recipient address below:",nftCollectionHeader:"Your NFTs :\n\n{list}",nftMoreItems:"\n\nAnd {count} more NFTs...",nftSelectBelow:"\n\nSelect an NFT below to send",nftNoCollection:"You don't have any NFTs in your wallet on this chain.",nftMultipleMatchesForTokenId:"I found {count} NFTs with Token ID #{tokenId} in your wallet. Please select the one you want to send:",nftNotFoundInWallet:"I couldn't find \"{name}\" in your NFT collection. You don't own this NFT on this chain.",nftFetchError:"Sorry, I encountered an error fetching your NFTs.",trendingTokensHeader:"📈 Here is the list of tokens that are currently trending upwards on {chain} chain",trendingTokensQuestion:"\nIs there any token you want to buy?",trendingTokensError:"Sorry, I encountered an error fetching trending tokens.",errorProcessingRequest:"Sorry, I encountered an error processing your request.",buttonBuyWith:"Buy with {symbol}",buttonUsePercent:"Use {percent}% of {symbol}",buttonBuyToken:"Buy {name} ({symbol})",buttonSendNft:"Send {name}",buttonSwapTo:"Swap to {name} ({symbol})",buttonBuySymbol:"Buy {symbol}",viewBalancesLoading:"Fetching your wallet balances...",viewBalancesHeader:"Your token balances on {chain}:\n\n{list}",viewBalancesEmpty:"You don't have any tokens in your wallet on this chain.",viewBalancesFetchError:"Sorry, I encountered an error fetching your balances.",buttonSendToken:"Send {symbol}",formMax:"MAX",buttonSwapToken:"Swap {symbol}",buttonBuyMoreToken:"Buy more {symbol}",actionSendNativeLabel:"Send Native Token",actionSendNativeDesc:"Send native token (ETH, BNB, MATIC, etc.) to an address",actionSendTokenLabel:"Send Token (ERC20)",actionSendTokenDesc:"Send an ERC20 token to an address",actionSwapTokenLabel:"Swap Token",actionSwapTokenDesc:"Swap one token for another",actionApproveTokenLabel:"Approve Token",actionApproveTokenDesc:"Approve a spender to use your tokens",actionWrapNativeLabel:"Wrap Native Token",actionWrapNativeDesc:"Wrap native token (ETH → WETH)",actionUnwrapNativeLabel:"Unwrap Native Token",actionUnwrapNativeDesc:"Unwrap native token (WETH → ETH)",actionSendNftLabel:"Send NFT",actionSendNftDesc:"Transfer an ERC721 or ERC1155 NFT to another address",fieldToAddress:"Recipient Address",fieldAmount:"Amount",fieldTokenContract:"Token Contract",fieldTokenSymbol:"Token Symbol",fieldDecimals:"Decimals",fieldTokenIn:"From Token",fieldTokenInSymbol:"From Symbol",fieldTokenOut:"To Token",fieldTokenOutSymbol:"To Symbol",fieldTokenInDecimals:"From Decimals",fieldTokenOutDecimals:"To Decimals",fieldSpenderAddress:"Spender Address",fieldAmountUnlimited:"Amount (empty = unlimited)",fieldNftContract:"NFT Contract",fieldTokenId:"Token ID",fieldTokenStandard:"Token Standard",fieldNftName:"NFT Name",formMustBePositiveInteger:"Must be a positive integer",formAmountExceedsNft:"Amount cannot exceed available balance {max}",receivedButtonValue:"Received: {value}",actionExecutedFor:'Action "{action}" executed for: {value}',buyTokenHelp:"I'll help you buy {symbol}. Let me show your available tokens to trade with.",tokenNotFoundOnChain:'I couldn\'t find the token "{symbol}" on this chain. Here are the trending tokens you can buy:',swapPreparing:"Preparing your swap...",swapConfirmYes:"Yes",swapChooseFrom:"Please choose which token you want to swap from:",swapChooseTo:"You want to swap {symbol}. Please choose which token you want to receive:",swapNeedDetails:'I need more details for your swap. Please specify which tokens you want to swap (e.g. "Swap 1 ETH to USDC").',viewNftsLoading:"Let me show you your NFT collection!",sendTokenNotInWallet:"You don't have {symbol} in your wallet on this chain. Please acquire some first before sending.",sendTokenChoose:"Which token would you like to send?",sendNftChoose:"Which NFT would you like to send?",swapChooseToken:"Which token would you like to swap? Here are your current balances:",spendable:"Spendable",welcomeMessage:"**Welcome! 🚀**\nYou're connected and ready to explore DeFi! I can assist you with trading, checking prices, and analyzing your portfolio any time.",sendOtherNfts:"\nIf the NFT you want to send is not in the list above, please visit [our website]({link}) to send it.",sendNftViaWebsite:"Please select the NFT you would like to send from the list and proceed via [the website]({link}).",viewNftViaWebsite:"Please view your NFT collection on [the website]({link}) for more details."},ja:{chatTitle:"Keyring Agent",closeChat:"チャットを閉じる",messagePlaceholder:"メッセージを入力...",sendMessage:"メッセージを送信",botIsTyping:"ボットが入力中...",canIHelpYou:"何かお手伝いできることはございますか?",replyToMessage:"メッセージに返信",replyingTo:"返信先:",replyingToYou:"あなた",replyingToAgent:"Keyring Agent",cancelReply:"返信をキャンセル",suggestionAskText:"質問・調査のお願い",suggestionAskUserMessage:"質問があります",suggestionAskBotReply:"何でも聞いてください",suggestionBuyText:"トレンドトークンを購入",walletConnectedChainUnsupported:"ウォレットは接続されていますが、このチェーンは取引に対応していません。トレンドのトークンを表示するには、対応しているチェーンに切り替えてください。",walletNotConnected:"トレンドのトークンを表示するには、ウォレットを接続してください。",actionProcessing:"⏳ トランザクションを処理中...",actionSuccess:"✅ トランザクションが完了しました",actionFail:"❌ アクションがキャンセルされたか、失敗しました",txSubmitted:"⏳ トランザクションを送信しました。確認を待機中...",txConfirmed:"✅ トランザクションが確認されました!",txReverted:"❌ オンチェーンでトランザクションがリバートされました。",txTimeout:"⚠️ トランザクションは送信されましたが、タイムアウトしました。手動で確認してください。",txSuccessful:"✅ トランザクションに成功しました!",txFailed:"❌ トランザクションに失敗しました。もう一度お試しください。",txNoHandler:"⚠️ トランザクションハンドラーが設定されていません。",txInsufficientGas:"⚠️ **ガス代({symbol})が不足しています!** 保有量は {balance} {symbol} ですが、手数料に約 {fee} {symbol} 必要です。ウォレットにチャージして再試行してください。",txError:"❌ エラー: {message}",swapConfirmButton:"確定",swapConfirmValue:"スワップを確定する",swapReadyToProceed:"スワップを実行しますか?",swapEstimationError:"⚠️ スワップの見積もりを取得できません。エラー: {error}",formCancel:"キャンセル",formExecute:"実行",formProcessing:"⏳ 処理中...",formBalance:"残高:",formTokenNotFound:"ウォレット内にトークンが見つかりません。",formNoBalance:"ウォレットに {symbol} の残高がありません。",formInsufficientBalance:"残高不足です。利用可能: {balance} {symbol}",formFieldRequired:"{field} は必須項目です",formInvalidAddress:"無効なアドレスです(0x + 40文字である必要があります)",formMustBePositive:"正の数値を入力してください",formMustBeValidNumber:"有効な数値を入力してください",openChat:"チャットを開く",openChatTitle:"チャットサポートを開く",walletBalanceSpendable:"これは {chain} チェーン上のウォレットの利用可能な残高です。この取引に使用するコインを選択してください。",walletNoTokensFound:"申し訳ありませんが、{chain} チェーン上のウォレットにトークンが見つかりませんでした。取引するためのトークンを保有しているかご確認ください。",walletFetchFailed:"ウォレット残高を取得できませんでした。もう一度お試しください。",walletFetchError:"ウォレット残高の取得中にエラーが発生しました。",insufficientFeeToken:"手数料が不足しています。取引手数料をカバーするのに十分な {symbol} を保有しているか、別のトークンを選択してください。",selectAmountOf:"使用する {symbol} の数量を選択してください:\n\n利用可能: {balance} {symbol}",swapFeeWarning:"\n⚠️ **手数料の {symbol} が不足しています!**\n 保有量は {balance} {symbol} ですが、~{needed} {symbol} 必要です。\n",swapNeedApprove:"スワップを行う前に、まず {symbol} の承認が必要です。",swapApproveButton:"{symbol} を承認する",swapApproveValue:"スワップのために {symbol} を承認",swapNoSourceToken:"⚠️ ウォレットにソーストークンがないか、残高が 0 です。",swapSelectAmount:"スワップ {from} → {to}\n\nスワップする {from} の数量を選択してください:\n\n利用可能: {balance} {from}",swapApprovalRequired:"⚠️ スワップの前にトークンの承認が必要です。\n\nステップ 1: {symbol} を承認\nステップ 2: スワップを確定",swapEstimationFailed:"⚠️ スワップの見積もり取得に失敗しました。もう一度お試しください。",swapInsufficientNativeBalance:"⚠️ 残高不足です! 保有量は {balance} {symbol} ですが、{amount} 必要です。ウォレットにチャージするか、数量を減らしてください。",swapTokenNotInWallet:"⚠️ ウォレットに {symbol} がありません。スワップする前にまず入手してください。",swapInsufficientTokenBalance:"⚠️ 残高不足です! 保有量は {balance} {symbol} ですが、{amount} 必要です。数量を減らすか、トークンを追加してください。",selectAmountToSwap:"スwaップする {symbol} の数量を選択してください:\n\n利用可能: {balance} {symbol}",couldNotLoadTokenList:"⚠️ トークンリストを読み込めませんでした。受け取り希望のトークンを指定してください。",trendingTokensForReceive:"📈 {chain} チェーンのトレンドトークン。受け取りたいトークンを選択するか、入力してください:",txProcessing:"⏳ トランザクション処理中... ウォレットで承認してください。",txConfirmedSwap:"✅ トランザクションが確認されました!スワップが完了しました。",txRevertedSwap:"❌ オンチェーンでトランザクションがリバートされました。もう一度お試しください。",txSuccessfulSwap:"✅ トランザクションに成功しました!スワップが完了しました。",txSuccessfulSendToken:"✅ **{amount} {symbol}** を {to} に送信しました",txSuccessfulSendNative:"✅ **{amount} {symbol}** を {to} に送信しました",txSuccessfulWrapNative:"✅ **{amount} {from}** を **{to}** にラップしました",txSuccessfulUnwrapNative:"✅ **{amount} {from}** を **{to}** にアンラップしました",txSuccessfulSendNft:"✅ NFT **{name}** (#{tokenId}) を {to} に送信しました",txDataNotAvailable:"⚠️ トランザクションデータが利用できません。",approvalDataNotAvailable:"⚠️ 承認データが利用できません。",approving:"{symbol} を承認中... ウォレットで確認してください。",approvalSuccess:"✅ {symbol} の承認に成功しました!",approvalConfirmSwap:"これでスワップを実行できます。",confirmSwapButton:"スワップを確定する",approvalFailed:"❌ 承認に失敗しました。もう一度お試しください。",couldNotFetchBalance:"⚠️ ウォレット残高を取得できませんでした。",couldNotLoadBalance:"⚠️ 残高を読み込めませんでした。もう一度お試しください。",couldNotFetchBalanceRetry:"⚠️ 残高を取得できませんでした。もう一度お試しください。",nftSendReview:"📤 **{name}** ({standard} #{tokenId}) を送信\n\n内容を確認し、以下に受信者のアドレスを入力してください:",nftCollectionHeader:"您的 NFT 资产:\n\n{list}",nftMoreItems:"\n\n以及其他 {count} 件 NFT...",nftSelectBelow:"\n\n请在下方选择要发送的 NFT",nftNoCollection:"このチェーン上のウォレットにNFTは見つかりませんでした。",nftMultipleMatchesForTokenId:"ウォレット内にToken ID #{tokenId} のNFTが{count}件見つかりました。送信したいNFTを選択してください:",nftNotFoundInWallet:'あなたのNFTコレクションに "{name}" が見つかりませんでした。このチェーンでこのNFTを所有していません。',nftFetchError:"申し訳ありませんが、NFTの取得中にエラーが発生しました。",trendingTokensHeader:"📈 {chain} チェーンで現在価格が上昇中のトレンドトークン一覧です:",trendingTokensQuestion:"\n購入したいトークンはありますか?",trendingTokensError:"トレンドトークンの取得中にエラーが発生しました。",errorProcessingRequest:"リクエストの処理中にエラーが発生しました。",buttonBuyWith:"{symbol} で購入",buttonUsePercent:"{symbol} の {percent}% を使用",buttonBuyToken:"{name} ({symbol}) を購入",buttonSendNft:"{name} を送信",buttonSwapTo:"{name} ({symbol}) にスワップ",buttonBuySymbol:"{symbol} を購入",viewBalancesLoading:"ウォレットの残高を取得中...",viewBalancesHeader:"{chain} 上のトークン残高:\n\n{list}",viewBalancesEmpty:"このチェーン上のウォレットにトークンは見つかりませんでした。",viewBalancesFetchError:"残高の取得中にエラーが発生しました。",buttonSendToken:"{symbol} を送信",formMax:"最大",buttonSwapToken:"{symbol} をスワップ",buttonBuyMoreToken:"{symbol} をさらに入手",actionSendNativeLabel:"ネイティブトークンを送信",actionSendNativeDesc:"ネイティブトークン (ETH, BNB, MATIC など) をアドレスに送信します",actionSendTokenLabel:"トークンを送信 (ERC20)",actionSendTokenDesc:"ERC20トークンをアドレスに送信します",actionSwapTokenLabel:"トークンをスワップ",actionSwapTokenDesc:"トークンを別のトークンに交換します",actionApproveTokenLabel:"トークンを承認",actionApproveTokenDesc:"支出元(Spender)によるトークンの使用を許可します",actionWrapNativeLabel:"ネイティブトークンをラップ",actionWrapNativeDesc:"ネイティブトークンをラップします (ETH → WETH)",actionUnwrapNativeLabel:"ネイティブトークンをアンラップ",actionUnwrapNativeDesc:"ネイティブトークンをアンラップします (WETH → ETH)",actionSendNftLabel:"NFTを送信",actionSendNftDesc:"ERC721またはERC1155 NFTを別のアドレスに転送します",fieldToAddress:"受信者アドレス",fieldAmount:"数量",fieldTokenContract:"トークンコントラクト",fieldTokenSymbol:"トークンシンボル",fieldDecimals:"デシマル (小数桁数)",fieldTokenIn:"元のトークン",fieldTokenInSymbol:"元のシンボル",fieldTokenOut:"先のトークン",fieldTokenOutSymbol:"先のシンボル",fieldTokenInDecimals:"元のデシマル",fieldTokenOutDecimals:"先のデシマル",fieldSpenderAddress:"支出元 (Spender) アドレス",fieldAmountUnlimited:"数量 (空欄 = 無制限)",fieldNftContract:"NFTコントラクト",fieldTokenId:"トークンID",fieldTokenStandard:"トークン規格",fieldNftName:"NFT名",formMustBePositiveInteger:"正の整数を入力してください",formAmountExceedsNft:"数量は利用可能な残高 {max} を超えることはできません",receivedButtonValue:"受取額: {value}",actionExecutedFor:"アクション「{action}」が {value} に対して実行されました",buyTokenHelp:"{symbol} の購入をお手伝いします。まず、交換に使用可能なトークンを表示します。",tokenNotFoundOnChain:"このチェーン上でトークン「{symbol}」が見つかりませんでした。購入可能なトレンドトークンはこちらです:",swapPreparing:"スワップの準備中...",swapConfirmYes:"はい",swapChooseFrom:"交換元(支払う)トークンを選択してください:",swapChooseTo:"{symbol} をスワップします。受け取りたいトークンを選択してください:",swapNeedDetails:"スワップの詳細が必要です。交換したいトークンを指定してください(例:「1 ETH を USDC にスワップ」)。",viewNftsLoading:"あなたのNFTコレクションを表示します!",sendTokenNotInWallet:"このチェーンのウォレットに {symbol} がありません。送信する前にまず入手してください。",sendTokenChoose:"どのトークンを送信しますか?",sendNftChoose:"どのNFTを送信しますか?",swapChooseToken:"どのトークンをスワップしますか?現在の残高はこちらです:",spendable:"利用可能",welcomeMessage:"**ようこそ! 🚀**\n新時代の金融へ。DeFiの世界を解き放て!トレード、価格チェック、ポートフォリオ分析など、いつでもお手伝いします。",sendOtherNfts:"\n送信したいNFTが上記のリストにない場合は、[当社のウェブサイト]({link})にアクセスして送信してください。",sendNftViaWebsite:"送信したいNFTをリストから選択し、[ウェブサイト]({link})で手続きを進めてください。",viewNftViaWebsite:"NFTコレクションの詳細は、[ウェブサイト]({link})でご確認ください。"},cn:{chatTitle:"Keyring Agent",closeChat:"关闭聊天",messagePlaceholder:"请输入消息....",sendMessage:"发送消息",botIsTyping:"机器人正在输入",canIHelpYou:"有什么我可以帮您的吗?",replyToMessage:"回复消息",replyingTo:"正在回复",replyingToYou:"您",replyingToAgent:"Keyring Agent",cancelReply:"取消回复",suggestionAskText:"提问",suggestionAskUserMessage:"我有一个问题",suggestionAskBotReply:"随便问我任何事情",suggestionBuyText:"购买热门代币",walletConnectedChainUnsupported:"您的钱包已连接,但当前链不支持交易。请切换到支持的链以查看热门代币。",walletNotConnected:"请连接您的钱包以查看热门代币。",actionProcessing:"⏳ 正在处理交易...",actionSuccess:"✅ 交易已完成",actionFail:"❌ 操作取消或失败",txSubmitted:"⏳ 交易已提交。正在等待确认...",txConfirmed:"✅ 交易已确认!",txReverted:"❌ 交易在链上被退回(Reverted)。",txTimeout:"⚠️ 交易已提交但确认超时。请手动检查。",txSuccessful:"✅ 交易成功!",txFailed:"❌ 交易失败。请重试。",txNoHandler:"⚠️ 未配置交易处理器。",txInsufficientGas:"⚠️ **{symbol} 余额不足以支付 Gas 费!** 您当前有 {balance} {symbol},但交易费预计需要 ~{fee} {symbol}。请充值钱包后重试。",txError:"❌ 错误: {message}",swapConfirmButton:"确认",swapConfirmValue:"确认兑换",swapReadyToProceed:"准备好进行兑换了吗?",swapEstimationError:"⚠️ 无法获取兑换估算。错误: {error}",formCancel:"取消",formExecute:"执行",formProcessing:"⏳ 正在处理...",formBalance:"余额:",formTokenNotFound:"您的钱包中未找到该代币。",formNoBalance:"您的钱包中没有 {symbol} 余额。",formInsufficientBalance:"余额不足。可用余额: {balance} {symbol}",formFieldRequired:"{field} 是必填项",formInvalidAddress:"无效地址(必须是 0x + 40 个字符)",formMustBePositive:"必须为正数",formMustBeValidNumber:"必须为有效数字",openChat:"打开聊天",openChatTitle:"打开聊天支持",walletBalanceSpendable:"这是您在 {chain} 链上钱包的可选余额。请选择您想用于此次交易的代币。",walletNoTokensFound:"抱歉,我在 {chain} 链上的钱包中没找到任何代币。请确保您有代币可以进行交易。",walletFetchFailed:"抱歉,无法获取您的钱包余额。请重试。",walletFetchError:"抱歉,获取钱包余额时出错。",insufficientFeeToken:"手续费不足。请确保您有足够的 {symbol} 来支付交易费用,或选择其他代币。",selectAmountOf:"选择要使用的 {symbol} 数量:\n\n可用余额: {balance} {symbol}",swapFeeWarning:"\n⚠️ **手续费所需的 {symbol} 不足!**\n 您当前有 {balance} {symbol},但需要 ~{needed} {symbol}。\n",swapNeedApprove:"在兑换之前,您需要先授权 {symbol}。",swapApproveButton:"授权 {symbol}",swapApproveValue:"授权 {symbol} 以进行兑换",swapNoSourceToken:"⚠️ 您的钱包中没有源代币或余额为 0。",swapSelectAmount:"兑换 {from} → {to}\n\n选择要兑换的 {from} 数量:\n\n可用余额: {balance} {from}",swapApprovalRequired:"⚠️ 兑换前需要代币授权。\n\n第 1 步:授权 {symbol}\n第 2 步:确认兑换",swapEstimationFailed:"⚠️ 获取兑换估算失败。请重试。",swapInsufficientNativeBalance:"⚠️ 余额不足!您有 {balance} {symbol} 但需要 {amount}。请充值钱包或减少金额。",swapTokenNotInWallet:"⚠️ 您的钱包中没有 {symbol}。请在兑换前先获取一些代币。",swapInsufficientTokenBalance:"⚠️ 余额不足!您有 {balance} {symbol} 但需要 {amount}。请减少金额或添加更多代币。",selectAmountToSwap:"选择要兑换的 {symbol} 数量:\n\n可用余额: {balance} {symbol}",couldNotLoadTokenList:"⚠️ 无法加载代币列表。请指定目标代币。",trendingTokensForReceive:"📈 {chain} 链上的热门代币。请选择您想收到的代币或输入代币名称:",txProcessing:"⏳ 交易处理中... 请在钱包中确认。",txConfirmedSwap:"✅ 交易已确认!您的兑换已完成。",txRevertedSwap:"❌ 交易在链上被退回。请重试。",txSuccessfulSwap:"✅ 交易成功!您的兑换已完成。",txSuccessfulSendToken:"✅ 已成功发送 **{amount} {symbol}** 至 {to}",txSuccessfulSendNative:"✅ 已成功发送 **{amount} {symbol}** 至 {to}",txSuccessfulWrapNative:"✅ 成功封装 **{amount} {from}** → **{to}",txSuccessfulUnwrapNative:"✅ 成功解封装 **{amount} {from}** → **{to}",txSuccessfulSendNft:"✅ 已成功发送 NFT **{name}** (#{tokenId}) 至 {to}",txDataNotAvailable:"⚠️ 交易数据不可用。",approvalDataNotAvailable:"⚠️ 授权数据不可用。",approving:"正在授权 {symbol}... 请在钱包中确认。",approvalSuccess:"✅ {symbol} 授权成功!",approvalConfirmSwap:"现在您可以执行兑换了。",confirmSwapButton:"确认兑换",approvalFailed:"❌ 授权失败。请重试。",couldNotFetchBalance:"⚠️ 无法获取您的钱包余额。",couldNotLoadBalance:"⚠️ 无法加载余额。请重试。",couldNotFetchBalanceRetry:"⚠️ 无法获取您的余额。请重试。",nftSendReview:"📤 发送 **{name}** ({standard} #{tokenId})\n\n请核对并在下方填写接收者地址:",nftCollectionHeader:"保有中のNFT一覧 :\n\n{list}",nftMoreItems:"\n\n他 {count} 件のNFT...",nftSelectBelow:"\n\n送信するNFTを以下から選択してください",nftNoCollection:"您在该链的钱包中没有任何 NFT。",nftMultipleMatchesForTokenId:"在您的钱包中找到了 {count} 个 Token ID #{tokenId} 的 NFT。请选择您要发送的 NFT:",nftNotFoundInWallet:'我在您的 NFT 收藏中没找到 "{name}"。您在此链上不拥有此 NFT。',nftFetchError:"抱歉,获取您的 NFT 时出错。",trendingTokensHeader:"📈 以下是 {chain} 链上目前呈上升趋势的热门代币列表",trendingTokensQuestion:"\n有您想购买的代币吗?",trendingTokensError:"抱歉,获取热门代币时出错。",errorProcessingRequest:"抱歉,处理您的请求时出错。",buttonBuyWith:"使用 {symbol} 购买",buttonUsePercent:"使用 {percent}% 的 {symbol}",buttonBuyToken:"购买 {name} ({symbol})",buttonSendNft:"发送 {name}",buttonSwapTo:"兑换为 {name} ({symbol})",buttonBuySymbol:"购买 {symbol}",viewBalancesLoading:"正在获取您的钱包余额...",viewBalancesHeader:"您在 {chain} 上的代币余额:\n\n{list}",viewBalancesEmpty:"您在该链的钱包中没有任何代币。",viewBalancesFetchError:"抱歉,获取您的余额时出错。",buttonSendToken:"发送 {symbol}",formMax:"最多",buttonSwapToken:"兑换 {symbol}",buttonBuyMoreToken:"购买更多 {symbol}",actionSendNativeLabel:"发送原生代币",actionSendNativeDesc:"将原生代币 (ETH, BNB, MATIC 等) 发送到指定地址",actionSendTokenLabel:"发送代币 (ERC20)",actionSendTokenDesc:"将 ERC20 代币发送到指定地址",actionSwapTokenLabel:"兑换代币",actionSwapTokenDesc:"将一种代币兑换为另一种",actionApproveTokenLabel:"授权代币",actionApproveTokenDesc:"授权支出方使用您的代币",actionWrapNativeLabel:"包装 (Wrap) 原生代币",actionWrapNativeDesc:"包装原生代币 (例如 ETH → WETH)",actionUnwrapNativeLabel:"解包 (Unwrap) 原生代币",actionUnwrapNativeDesc:"解包原生代币 (例如 WETH → ETH)",actionSendNftLabel:"发送 NFT",actionSendNftDesc:"将 ERC721 或 ERC1155 NFT 转移到另一个地址",fieldToAddress:"接收者地址",fieldAmount:"金额",fieldTokenContract:"代币合约",fieldTokenSymbol:"代币符号",fieldDecimals:"精度 (Decimals)",fieldTokenIn:"源代币 (From)",fieldTokenInSymbol:"源代币符号",fieldTokenOut:"目标代币 (To)",fieldTokenOutSymbol:"目标代币符号",fieldTokenInDecimals:"源代币精度",fieldTokenOutDecimals:"目标代币精度",fieldSpenderAddress:"支出方 (Spender) 地址",fieldAmountUnlimited:"金额 (留空 = 无限制)",fieldNftContract:"NFT 合约",fieldTokenId:"代币 ID",fieldTokenStandard:"代币标准",fieldNftName:"NFT 名称",formMustBePositiveInteger:"必须为正整数",formAmountExceedsNft:"金额不能超过可用余额 {max}",receivedButtonValue:"收到: {value}",actionExecutedFor:'操作 "{action}" 已执行,对象为: {value}',buyTokenHelp:"我会帮您购买 {symbol}。让我为您显示可用于交易的代币。",tokenNotFoundOnChain:'我在该链上没找到代币 "{symbol}"。以下是您可以购买的热门代币:',swapPreparing:"正在准备兑换...",swapConfirmYes:"是",swapChooseFrom:"请选择您想从哪个代币进行兑换:",swapChooseTo:"您想兑换 {symbol}。请选择您想收到的代币:",swapNeedDetails:"我需要更多关于兑换的细节。请指定您想兑换的代币(例如 “将 1 ETH 兑换为 USDC”)。",viewNftsLoading:"正在为您展示 NFT 收藏!",sendTokenNotInWallet:"您的钱包中在此链上没有 {symbol}。请在发送前先获取一些代币。",sendTokenChoose:"您想发送哪个代币?",sendNftChoose:"您想发送哪个 NFT?",swapChooseToken:"您想兑换哪个代币?以下是您的当前余额:",spendable:"可用余额",welcomeMessage:"**欢迎! 🚀**\n您已连接并准备好探索 DeFi!我可以帮您进行交易、查询价格,并在需要时分析您的资产组合。",sendOtherNfts:"\n如果您想发送的NFT不在上述列表中,请访问[我们的网站]({link})进行发送。",sendNftViaWebsite:"请从列表中选择您想发送的NFT,并通过[网站]({link})继续操作。",viewNftViaWebsite:"如需查看更多详情,请在[网站]({link})查看您的NFT收藏。"}};function p(e,n){return f[n]?.[e]??f.en[e]??e}const m=s(void 0),h=({children:n,initialLanguage:t="en"})=>{const[o,s]=i(t);a(()=>{t&&s(t)},[t]);const c=r(e=>p(e,o),[o]),l=r((e,n)=>function(e,n){return e.replace(/\{(\w+)\}/g,(e,t)=>n[t]??`{${t}}`)}(p(e,o),n),[o]);/* @__PURE__ */
|
|
3
3
|
return e(m.Provider,{value:{language:o,setLanguage:s,t:c,ti:l},children:n})},w=()=>{const e=c(m);if(!e)throw new Error("useLanguage must be used within a LanguageProvider");return e},b=l(({onClick:n,buttonSize:t=56})=>{const{t:o}=w();/* @__PURE__ */
|
|
4
|
-
return e("button",{className:"chat-button",onClick:n,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),n())},"aria-label":o("openChat"),title:o("openChatTitle"),type:"button",children:/* @__PURE__ */e("img",{src:"data:image/png;base64,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",width:t,height:t,alt:"Ask AI"})})});function g(e){const n={formatters:void 0,fees:void 0,serializers:void 0,...e};return Object.assign(n,{extend:function e(n){return t=>{const o="function"==typeof t?t(n):t,i={...n,...o};return Object.assign(i,{extend:e(i)})}}(n)})}const A="2.47.0";let y=`viem@${A}`;class v extends Error{constructor(e,n={}){const t=n.cause instanceof v?n.cause.details:n.cause?.message?n.cause.message:n.details,o=n.cause instanceof v&&n.cause.docsPath||n.docsPath,i=(({docsBaseUrl:e,docsPath:n="",docsSlug:t})=>n?`${e??"https://viem.sh"}${n}${t?`#${t}`:""}`:void 0)?.({...n,docsPath:o});super([e||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...i?[`Docs: ${i}`]:[],...t?[`Details: ${t}`]:[],...y?[`Version: ${y}`]:[]].join("\n"),n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=t,this.docsPath=o,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=e,this.version=A}walk(e){return k(this,e)}}function k(e,n){return n?.(e)?e:e&&"object"==typeof e&&"cause"in e&&void 0!==e.cause?k(e.cause,n):n?null:e}class x extends v{constructor({max:e,min:n,signed:t,size:o,value:i}){super(`Number "${i}" is not in safe ${o?`${8*o}-bit ${t?"signed":"unsigned"} `:""}integer range ${e?`(${n} to ${e})`:`(above ${n})`}`,{name:"IntegerOutOfRangeError"})}}class C extends v{constructor({givenSize:e,maxSize:n}){super(`Size cannot exceed ${n} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}function T(e,{strict:n=!0}={}){return!!e&&"string"==typeof e&&(n?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x"))}function E(e){return T(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function I(e,{dir:n="left"}={}){let t="string"==typeof e?e.replace("0x",""):e,o=0;for(let i=0;i<t.length-1&&"0"===t["left"===n?i:t.length-i-1].toString();i++)o++;return t="left"===n?t.slice(o):t.slice(0,t.length-o),"string"==typeof e?(1===t.length&&"right"===n&&(t=`${t}0`),`0x${t.length%2==1?`0${t}`:t}`):t}class N extends v{constructor({offset:e,position:n,size:t}){super(`Slice ${"start"===n?"starting":"ending"} at offset "${e}" is out-of-bounds (size: ${t}).`,{name:"SliceOffsetOutOfBoundsError"})}}class S extends v{constructor({size:e,targetSize:n,type:t}){super(`${t.charAt(0).toUpperCase()}${t.slice(1).toLowerCase()} size (${e}) exceeds padding size (${n}).`,{name:"SizeExceedsPaddingSizeError"})}}function B(e,{dir:n,size:t=32}={}){return"string"==typeof e?F(e,{dir:n,size:t}):function(e,{dir:n,size:t=32}={}){if(null===t)return e;if(e.length>t)throw new S({size:e.length,targetSize:t,type:"bytes"});const o=new Uint8Array(t);for(let i=0;i<t;i++){const a="right"===n;o[a?i:t-i-1]=e[a?i:e.length-i-1]}return o}(e,{dir:n,size:t})}function F(e,{dir:n,size:t=32}={}){if(null===t)return e;const o=e.replace("0x","");if(o.length>2*t)throw new S({size:Math.ceil(o.length/2),targetSize:t,type:"hex"});return`0x${o["right"===n?"padEnd":"padStart"](2*t,"0")}`}const R=/* @__PURE__ */Array.from({length:256},(e,n)=>n.toString(16).padStart(2,"0"));function O(e,n={}){return"number"==typeof e||"bigint"==typeof e?P(e,n):"string"==typeof e?M(e,n):"boolean"==typeof e?D(e,n):U(e,n)}function D(e,n={}){const t=`0x${Number(e)}`;return"number"==typeof n.size?(V(t,{size:n.size}),B(t,{size:n.size})):t}function U(e,n={}){let t="";for(let i=0;i<e.length;i++)t+=R[e[i]];const o=`0x${t}`;return"number"==typeof n.size?(V(o,{size:n.size}),B(o,{dir:"right",size:n.size})):o}function P(e,n={}){const{signed:t,size:o}=n,i=BigInt(e);let a;o?a=t?(1n<<8n*BigInt(o)-1n)-1n:2n**(8n*BigInt(o))-1n:"number"==typeof e&&(a=BigInt(Number.MAX_SAFE_INTEGER));const r="bigint"==typeof a&&t?-a-1n:0;if(a&&i>a||i<r){const n="bigint"==typeof e?"n":"";throw new x({max:a?`${a}${n}`:void 0,min:`${r}${n}`,signed:t,size:o,value:`${e}${n}`})}const s=`0x${(t&&i<0?(1n<<BigInt(8*o))+BigInt(i):i).toString(16)}`;return o?B(s,{size:o}):s}const L=/* @__PURE__ */new TextEncoder;function M(e,n={}){return U(L.encode(e),n)}const H=/* @__PURE__ */new TextEncoder;function J(e,n={}){return"number"==typeof e||"bigint"==typeof e?function(e,n){return Y(P(e,n))}(e,n):"boolean"==typeof e?function(e,n={}){const t=new Uint8Array(1);return t[0]=Number(e),"number"==typeof n.size?(V(t,{size:n.size}),B(t,{size:n.size})):t}(e,n):T(e)?Y(e,n):W(e,n)}const q={zero:48,nine:57,A:65,F:70,a:97,f:102};function G(e){return e>=q.zero&&e<=q.nine?e-q.zero:e>=q.A&&e<=q.F?e-(q.A-10):e>=q.a&&e<=q.f?e-(q.a-10):void 0}function Y(e,n={}){let t=e;n.size&&(V(t,{size:n.size}),t=B(t,{dir:"right",size:n.size}));let o=t.slice(2);o.length%2&&(o=`0${o}`);const i=o.length/2,a=new Uint8Array(i);for(let r=0,s=0;r<i;r++){const e=G(o.charCodeAt(s++)),n=G(o.charCodeAt(s++));if(void 0===e||void 0===n)throw new v(`Invalid byte sequence ("${o[s-2]}${o[s-1]}" in "${o}").`);a[r]=16*e+n}return a}function W(e,n={}){const t=H.encode(e);return"number"==typeof n.size?(V(t,{size:n.size}),B(t,{dir:"right",size:n.size})):t}function V(e,{size:n}){if(E(e)>n)throw new C({givenSize:E(e),maxSize:n})}function z(e,n={}){const{signed:t}=n;n.size&&V(e,{size:n.size});const o=BigInt(e);if(!t)return o;const i=(e.length-2)/2;return o<=(1n<<8n*BigInt(i)-1n)-1n?o:o-BigInt(`0x${"f".padStart(2*i,"f")}`)-1n}function j(e,n={}){const t=z(e,n),o=Number(t);if(!Number.isSafeInteger(o))throw new x({max:`${Number.MAX_SAFE_INTEGER}`,min:`${Number.MIN_SAFE_INTEGER}`,signed:n.signed,size:n.size,value:`${t}n`});return o}function Q(e,n){return({exclude:t,format:o})=>({exclude:t,format:(e,i)=>{const a=n(e,i);if(t)for(const n of t)delete a[n];return{...a,...o(e,i)}},type:e})}const X={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function K(e,n){const t={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?j(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?j(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?X[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(t.authorizationList=e.authorizationList.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))),t.yParity=(()=>{if(e.yParity)return Number(e.yParity);if("bigint"==typeof t.v){if(0n===t.v||27n===t.v)return 0;if(1n===t.v||28n===t.v)return 1;if(t.v>=35n)return t.v%2n==0n?1:0}})(),"legacy"===t.type&&(delete t.accessList,delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas,delete t.yParity),"eip2930"===t.type&&(delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas),"eip1559"===t.type&&delete t.maxFeePerBlobGas,t}const Z=/* @__PURE__ */Q("transaction",K);function _(e,n){const t=(e.transactions??[]).map(e=>"string"==typeof e?e:K(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:t,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const $=/* @__PURE__ */Q("block",_),ee={"0x0":"reverted","0x1":"success"};function ne(e,n){const t={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(e=>function(e,{args:n,eventName:t}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):null===e.blockTimestamp?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...t?{args:n,eventName:t}:{}}}(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?j(e.transactionIndex):null,status:e.status?ee[e.status]:null,type:e.type?X[e.type]||e.type:null};return e.blobGasPrice&&(t.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(t.blobGasUsed=BigInt(e.blobGasUsed)),t}const te=/* @__PURE__ */Q("transactionReceipt",ne),oe={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function ie(e,n){const t={};return void 0!==e.authorizationList&&(t.authorizationList=e.authorizationList.map(e=>({address:e.address,r:e.r?P(BigInt(e.r)):e.r,s:e.s?P(BigInt(e.s)):e.s,chainId:P(e.chainId),nonce:P(e.nonce),...void 0!==e.yParity?{yParity:P(e.yParity)}:{},...void 0!==e.v&&void 0===e.yParity?{v:P(e.v)}:{}}))),void 0!==e.accessList&&(t.accessList=e.accessList),void 0!==e.blobVersionedHashes&&(t.blobVersionedHashes=e.blobVersionedHashes),void 0!==e.blobs&&("string"!=typeof e.blobs[0]?t.blobs=e.blobs.map(e=>U(e)):t.blobs=e.blobs),void 0!==e.data&&(t.data=e.data),e.account&&(t.from=e.account.address),void 0!==e.from&&(t.from=e.from),void 0!==e.gas&&(t.gas=P(e.gas)),void 0!==e.gasPrice&&(t.gasPrice=P(e.gasPrice)),void 0!==e.maxFeePerBlobGas&&(t.maxFeePerBlobGas=P(e.maxFeePerBlobGas)),void 0!==e.maxFeePerGas&&(t.maxFeePerGas=P(e.maxFeePerGas)),void 0!==e.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=P(e.maxPriorityFeePerGas)),void 0!==e.nonce&&(t.nonce=P(e.nonce)),void 0!==e.to&&(t.to=e.to),void 0!==e.type&&(t.type=oe[e.type]),void 0!==e.value&&(t.value=P(e.value)),t}const ae=2n**256n-1n;function re(e){return"string"==typeof e[0]?se(e):function(e){let n=0;for(const i of e)n+=i.length;const t=new Uint8Array(n);let o=0;for(const i of e)t.set(i,o),o+=i.length;return t}(e)}function se(e){return`0x${e.reduce((e,n)=>e+n.replace("0x",""),"")}`}class ce extends v{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class le extends v{constructor({length:e,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${e}\`).`,{name:"PositionOutOfBoundsError"})}}class de extends v{constructor({count:e,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${e}\`).`,{name:"RecursiveReadLimitExceededError"})}}const ue={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:/* @__PURE__ */new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new de({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new le({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new ce({offset:e});const n=this.position-e;this.assertPosition(n),this.position=n},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new ce({offset:e});const n=this.position+e;this.assertPosition(n),this.position=n},inspectByte(e){const n=e??this.position;return this.assertPosition(n),this.bytes[n]},inspectBytes(e,n){const t=n??this.position;return this.assertPosition(t+e-1),this.bytes.subarray(t,t+e)},inspectUint8(e){const n=e??this.position;return this.assertPosition(n),this.bytes[n]},inspectUint16(e){const n=e??this.position;return this.assertPosition(n+1),this.dataView.getUint16(n)},inspectUint24(e){const n=e??this.position;return this.assertPosition(n+2),(this.dataView.getUint16(n)<<8)+this.dataView.getUint8(n+2)},inspectUint32(e){const n=e??this.position;return this.assertPosition(n+3),this.dataView.getUint32(n)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,255&e),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this.o();const e=this.inspectByte();return this.position++,e},readBytes(e,n){this.assertReadLimit(),this.o();const t=this.inspectBytes(e);return this.position+=n??e,t},readUint8(){this.assertReadLimit(),this.o();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this.o();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this.o();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this.o();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const n=this.position;return this.assertPosition(e),this.position=e,()=>this.position=n},o(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function fe(e,{recursiveReadLimit:n=8192}={}){const t=Object.create(ue);return t.bytes=e,t.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),t.positionReadCount=/* @__PURE__ */new Map,t.recursiveReadLimit=n,t}function pe(e,n="hex"){const t=me(e),o=fe(new Uint8Array(t.length));return t.encode(o),"hex"===n?U(o.bytes):o.bytes}function me(e){return Array.isArray(e)?function(e){const n=e.reduce((e,n)=>e+n.length,0),t=he(n);return{length:n<=55?1+n:1+t+n,encode(o){n<=55?o.pushByte(192+n):(o.pushByte(247+t),1===t?o.pushUint8(n):2===t?o.pushUint16(n):3===t?o.pushUint24(n):o.pushUint32(n));for(const{encode:n}of e)n(o)}}}(e.map(e=>me(e))):function(e){const n="string"==typeof e?Y(e):e,t=he(n.length);return{length:1===n.length&&n[0]<128?1:n.length<=55?1+n.length:1+t+n.length,encode(e){1===n.length&&n[0]<128?e.pushBytes(n):n.length<=55?(e.pushByte(128+n.length),e.pushBytes(n)):(e.pushByte(183+t),1===t?e.pushUint8(n.length):2===t?e.pushUint16(n.length):3===t?e.pushUint24(n.length):e.pushUint32(n.length),e.pushBytes(n))}}}(e)}function he(e){if(e<256)return 1;if(e<65536)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new v("Length is too large.")}const we={gwei:9,wei:18},be={ether:-9,wei:9};function ge(e,n){let t=e.toString();const o=t.startsWith("-");o&&(t=t.slice(1)),t=t.padStart(n,"0");let[i,a]=[t.slice(0,t.length-n),t.slice(t.length-n)];return a=a.replace(/(0+)$/,""),`${o?"-":""}${i||"0"}${a?`.${a}`:""}`}function Ae(e,n="wei"){return ge(e,we[n])}function ye(e,n="wei"){return ge(e,be[n])}function ve(e){const n=Object.entries(e).map(([e,n])=>void 0===n||!1===n?null:[e,n]).filter(Boolean),t=n.reduce((e,[n])=>Math.max(e,n.length),0);return n.map(([e,n])=>` ${`${e}:`.padEnd(t+1)} ${n}`).join("\n")}class ke extends v{constructor({v:e}){super(`Invalid \`v\` value "${e}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class xe extends v{constructor({transaction:e}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",ve(e),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class Ce extends v{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}function Te(e){const{kzg:n}=e,t=e.to??("string"==typeof e.blobs[0]?"hex":"bytes"),o="string"==typeof e.blobs[0]?e.blobs.map(e=>Y(e)):e.blobs,i=[];for(const a of o)i.push(Uint8Array.from(n.blobToKzgCommitment(a)));return"bytes"===t?i:i.map(e=>U(e))}function Ee(e){const{kzg:n}=e,t=e.to??("string"==typeof e.blobs[0]?"hex":"bytes"),o="string"==typeof e.blobs[0]?e.blobs.map(e=>Y(e)):e.blobs,i="string"==typeof e.commitments[0]?e.commitments.map(e=>Y(e)):e.commitments,a=[];for(let r=0;r<o.length;r++){const e=o[r],t=i[r];a.push(Uint8Array.from(n.computeBlobKzgProof(e,t)))}return"bytes"===t?a:a.map(e=>U(e))}function Ie(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Ne(e,...n){if(!((t=e)instanceof Uint8Array||ArrayBuffer.isView(t)&&"Uint8Array"===t.constructor.name))throw new Error("Uint8Array expected");var t;if(n.length>0&&!n.includes(e.length))throw new Error("Uint8Array expected of length "+n+", got length="+e.length)}function Se(e,n=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(n&&e.finished)throw new Error("Hash#digest() has already been called")}function Be(e,n){Ne(e);const t=n.outputLen;if(e.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}function Fe(...e){for(let n=0;n<e.length;n++)e[n].fill(0)}function Re(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Oe(e,n){return e<<32-n|e>>>n}function De(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}const Ue=/* @__PURE__ */(()=>68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])()?e=>e:function(e){for(let n=0;n<e.length;n++)e[n]=De(e[n]);return e};function Pe(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e)),Ne(e),e}class Le{}function Me(e){const n=n=>e().update(Pe(n)).digest(),t=e();return n.outputLen=t.outputLen,n.blockLen=t.blockLen,n.create=()=>e(),n}function He(e,n,t){return e&n^~e&t}function Je(e,n,t){return e&n^e&t^n&t}class qe extends Le{constructor(e,n,t,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=n,this.padOffset=t,this.isLE=o,this.buffer=new Uint8Array(e),this.view=Re(this.buffer)}update(e){Se(this),Ne(e=Pe(e));const{view:n,buffer:t,blockLen:o}=this,i=e.length;for(let a=0;a<i;){const r=Math.min(o-this.pos,i-a);if(r===o){const n=Re(e);for(;o<=i-a;a+=o)this.process(n,a);continue}t.set(e.subarray(a,a+r),this.pos),this.pos+=r,a+=r,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Se(this),Be(e,this),this.finished=!0;const{buffer:n,view:t,blockLen:o,isLE:i}=this;let{pos:a}=this;n[a++]=128,Fe(this.buffer.subarray(a)),this.padOffset>o-a&&(this.process(t,0),a=0);for(let d=a;d<o;d++)n[d]=0;!function(e,n,t,o){if("function"==typeof e.setBigUint64)return e.setBigUint64(n,t,o);const i=BigInt(32),a=BigInt(4294967295),r=Number(t>>i&a),s=Number(t&a),c=o?4:0,l=o?0:4;e.setUint32(n+c,r,o),e.setUint32(n+l,s,o)}(t,o-8,BigInt(8*this.length),i),this.process(t,0);const r=Re(e),s=this.outputLen;if(s%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=s/4,l=this.get();if(c>l.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<c;d++)r.setUint32(4*d,l[d],i)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const t=e.slice(0,n);return this.destroy(),t}i(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:t,length:o,finished:i,destroyed:a,pos:r}=this;return e.destroyed=a,e.finished=i,e.length=o,e.pos=r,o%n&&e.buffer.set(t),e}clone(){return this.i()}}const Ge=/* @__PURE__ */Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ye=/* @__PURE__ */BigInt(2**32-1),We=/* @__PURE__ */BigInt(32);function Ve(e,n=!1){return n?{h:Number(e&Ye),l:Number(e>>We&Ye)}:{h:0|Number(e>>We&Ye),l:0|Number(e&Ye)}}const ze=/* @__PURE__ */Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),je=/* @__PURE__ */new Uint32Array(64);class Qe extends qe{constructor(e=32){super(64,e,8,!1),this.A=0|Ge[0],this.B=0|Ge[1],this.C=0|Ge[2],this.D=0|Ge[3],this.E=0|Ge[4],this.F=0|Ge[5],this.G=0|Ge[6],this.H=0|Ge[7]}get(){const{A:e,B:n,C:t,D:o,E:i,F:a,G:r,H:s}=this;return[e,n,t,o,i,a,r,s]}set(e,n,t,o,i,a,r,s){this.A=0|e,this.B=0|n,this.C=0|t,this.D=0|o,this.E=0|i,this.F=0|a,this.G=0|r,this.H=0|s}process(e,n){for(let d=0;d<16;d++,n+=4)je[d]=e.getUint32(n,!1);for(let d=16;d<64;d++){const e=je[d-15],n=je[d-2],t=Oe(e,7)^Oe(e,18)^e>>>3,o=Oe(n,17)^Oe(n,19)^n>>>10;je[d]=o+je[d-7]+t+je[d-16]|0}let{A:t,B:o,C:i,D:a,E:r,F:s,G:c,H:l}=this;for(let d=0;d<64;d++){const e=l+(Oe(r,6)^Oe(r,11)^Oe(r,25))+He(r,s,c)+ze[d]+je[d]|0,n=(Oe(t,2)^Oe(t,13)^Oe(t,22))+Je(t,o,i)|0;l=c,c=s,s=r,r=a+e|0,a=i,i=o,o=t,t=e+n|0}t=t+this.A|0,o=o+this.B|0,i=i+this.C|0,a=a+this.D|0,r=r+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(t,o,i,a,r,s,c,l)}roundClean(){Fe(je)}destroy(){this.set(0,0,0,0,0,0,0,0),Fe(this.buffer)}}const Xe=/* @__PURE__ */Me(()=>new Qe);function Ke(e){const{commitment:n,version:t=1}=e,o=e.to??("string"==typeof n?"hex":"bytes"),i=Xe(T(a=n,{strict:!1})?J(a):a);var a;return i.set([t],0),"bytes"===o?i:U(i)}const Ze=761855;class _e extends v{constructor({maxSize:e,size:n}){super("Blob size is too large.",{metaMessages:[`Max: ${e} bytes`,`Given: ${n} bytes`],name:"BlobSizeTooLargeError"})}}class $e extends v{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class en extends v{constructor({hash:e,size:n}){super(`Versioned hash "${e}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${n}`],name:"InvalidVersionedHashSizeError"})}}class nn extends v{constructor({hash:e,version:n}){super(`Versioned hash "${e}" version is invalid.`,{metaMessages:["Expected: 1",`Received: ${n}`],name:"InvalidVersionedHashVersionError"})}}class tn extends v{constructor({address:e}){super(`Address "${e}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class on extends v{constructor({chainId:e}){super("number"==typeof e?`Chain ID "${e}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}class an extends v{constructor({cause:e,message:n}={}){const t=n?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${t?`with reason: ${t}`:"for an unknown reason"}.`,{cause:e,name:"ExecutionRevertedError"})}}Object.defineProperty(an,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(an,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});class rn extends v{constructor({cause:e,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${ye(n)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:"FeeCapTooHighError"})}}Object.defineProperty(rn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class sn extends v{constructor({cause:e,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${ye(n)}`:""} gwei) cannot be lower than the block base fee.`,{cause:e,name:"FeeCapTooLowError"})}}Object.defineProperty(sn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class cn extends v{constructor({cause:e,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}is higher than the next one expected.`,{cause:e,name:"NonceTooHighError"})}}Object.defineProperty(cn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class ln extends v{constructor({cause:e,nonce:n}={}){super([`Nonce provided for the transaction ${n?`(${n}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join("\n"),{cause:e,name:"NonceTooLowError"})}}Object.defineProperty(ln,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class dn extends v{constructor({cause:e,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}exceeds the maximum allowed nonce.`,{cause:e,name:"NonceMaxValueError"})}}Object.defineProperty(dn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class un extends v{constructor({cause:e}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join("\n"),{cause:e,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(un,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class fn extends v{constructor({cause:e,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(fn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class pn extends v{constructor({cause:e,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction is too low.`,{cause:e,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(pn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class mn extends v{constructor({cause:e}){super("The transaction type is not supported for this chain.",{cause:e,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(mn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class hn extends v{constructor({cause:e,maxPriorityFeePerGas:n,maxFeePerGas:t}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${n?` = ${ye(n)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${t?` = ${ye(t)} gwei`:""}).`].join("\n"),{cause:e,name:"TipAboveFeeCapError"})}}Object.defineProperty(hn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class wn extends v{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:"UnknownNodeError"})}}class bn extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const n=super.get(e);return super.has(e)&&void 0!==n&&(this.delete(e),super.set(e,n)),n}set(e,n){if(super.set(e,n),this.maxSize&&this.size>this.maxSize){const e=this.keys().next().value;e&&this.delete(e)}return this}}const gn=BigInt(0),An=BigInt(1),yn=BigInt(2),vn=BigInt(7),kn=BigInt(256),xn=BigInt(113),Cn=[],Tn=[],En=[];for(let ui=0,fi=An,pi=1,mi=0;ui<24;ui++){[pi,mi]=[mi,(2*pi+3*mi)%5],Cn.push(2*(5*mi+pi)),Tn.push((ui+1)*(ui+2)/2%64);let e=gn;for(let n=0;n<7;n++)fi=(fi<<An^(fi>>vn)*xn)%kn,fi&yn&&(e^=An<<(An<</* @__PURE__ */BigInt(n))-An);En.push(e)}const In=function(e,n=!1){const t=e.length;let o=new Uint32Array(t),i=new Uint32Array(t);for(let a=0;a<t;a++){const{h:t,l:r}=Ve(e[a],n);[o[a],i[a]]=[t,r]}return[o,i]}(En,!0),Nn=In[0],Sn=In[1],Bn=(e,n,t)=>t>32?((e,n,t)=>n<<t-32|e>>>64-t)(e,n,t):((e,n,t)=>e<<t|n>>>32-t)(e,n,t),Fn=(e,n,t)=>t>32?((e,n,t)=>e<<t-32|n>>>64-t)(e,n,t):((e,n,t)=>n<<t|e>>>32-t)(e,n,t);class Rn extends Le{constructor(e,n,t,o=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=n,this.outputLen=t,this.enableXOF=o,this.rounds=i,Ie(t),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");var a;this.state=new Uint8Array(200),this.state32=(a=this.state,new Uint32Array(a.buffer,a.byteOffset,Math.floor(a.byteLength/4)))}clone(){return this.i()}keccak(){Ue(this.state32),function(e,n=24){const t=new Uint32Array(10);for(let o=24-n;o<24;o++){for(let o=0;o<10;o++)t[o]=e[o]^e[o+10]^e[o+20]^e[o+30]^e[o+40];for(let o=0;o<10;o+=2){const n=(o+8)%10,i=(o+2)%10,a=t[i],r=t[i+1],s=Bn(a,r,1)^t[n],c=Fn(a,r,1)^t[n+1];for(let t=0;t<50;t+=10)e[o+t]^=s,e[o+t+1]^=c}let n=e[2],i=e[3];for(let t=0;t<24;t++){const o=Tn[t],a=Bn(n,i,o),r=Fn(n,i,o),s=Cn[t];n=e[s],i=e[s+1],e[s]=a,e[s+1]=r}for(let o=0;o<50;o+=10){for(let n=0;n<10;n++)t[n]=e[o+n];for(let n=0;n<10;n++)e[o+n]^=~t[(n+2)%10]&t[(n+4)%10]}e[0]^=Nn[o],e[1]^=Sn[o]}Fe(t)}(this.state32,this.rounds),Ue(this.state32),this.posOut=0,this.pos=0}update(e){Se(this),Ne(e=Pe(e));const{blockLen:n,state:t}=this,o=e.length;for(let i=0;i<o;){const a=Math.min(n-this.pos,o-i);for(let n=0;n<a;n++)t[this.pos++]^=e[i++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:n,pos:t,blockLen:o}=this;e[t]^=n,128&n&&t===o-1&&this.keccak(),e[o-1]^=128,this.keccak()}writeInto(e){Se(this,!1),Ne(e),this.finish();const n=this.state,{blockLen:t}=this;for(let o=0,i=e.length;o<i;){this.posOut>=t&&this.keccak();const a=Math.min(t-this.posOut,i-o);e.set(n.subarray(this.posOut,this.posOut+a),o),this.posOut+=a,o+=a}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Ie(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Be(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Fe(this.state)}i(e){const{blockLen:n,suffix:t,outputLen:o,rounds:i,enableXOF:a}=this;return e||(e=new Rn(n,t,o,a,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=t,e.outputLen=o,e.enableXOF=a,e.destroyed=this.destroyed,e}}const On=/* @__PURE__ */(()=>Me(()=>new Rn(136,1,32)))();function Dn(e,n){const t=n||"hex",o=On(T(e,{strict:!1})?J(e):e);return"bytes"===t?o:O(o)}const Un=/* @__PURE__ */new bn(8192),Pn=/^0x[a-fA-F0-9]{40}$/,Ln=/* @__PURE__ */new bn(8192);function Mn(e,n){const{strict:t=!0}=n??{},o=`${e}.${t}`;if(Ln.has(o))return Ln.get(o);const i=!(!Pn.test(e)||e.toLowerCase()!==e&&t&&function(e){if(Un.has(`${e}.undefined`))return Un.get(`${e}.undefined`);const n=e.substring(2).toLowerCase(),t=Dn(W(n),"bytes"),o=n.split("");for(let a=0;a<40;a+=2)t[a>>1]>>4>=8&&o[a]&&(o[a]=o[a].toUpperCase()),(15&t[a>>1])>=8&&o[a+1]&&(o[a+1]=o[a+1].toUpperCase());const i=`0x${o.join("")}`;return Un.set(`${e}.undefined`,i),i}(e)!==e);return Ln.set(o,i),i}function Hn(e,n,t,{strict:o}={}){return T(e,{strict:!1})?function(e,n,t,{strict:o}={}){Jn(e,n);const i=`0x${e.replace("0x","").slice(2*(n??0),2*(t??e.length))}`;return o&&qn(i,n,t),i}(e,n,t,{strict:o}):function(e,n,t,{strict:o}={}){Jn(e,n);const i=e.slice(n,t);return o&&qn(i,n,t),i}(e,n,t,{strict:o})}function Jn(e,n){if("number"==typeof n&&n>0&&n>E(e)-1)throw new N({offset:n,position:"start",size:E(e)})}function qn(e,n,t){if("number"==typeof n&&"number"==typeof t&&E(e)!==t-n)throw new N({offset:t,position:"end",size:E(e)})}function Gn(e){const{chainId:n,maxPriorityFeePerGas:t,maxFeePerGas:o,to:i}=e;if(n<=0)throw new on({chainId:n});if(i&&!Mn(i))throw new tn({address:i});if(o&&o>ae)throw new rn({maxFeePerGas:o});if(t&&o&&t>o)throw new hn({maxFeePerGas:o,maxPriorityFeePerGas:t})}function Yn(e){if(!e||0===e.length)return[];const n=[];for(let t=0;t<e.length;t++){const{address:o,storageKeys:i}=e[t];for(let e=0;e<i.length;e++)if(i[e].length-2!=64)throw new Ce({storageKey:i[e]});if(!Mn(o,{strict:!1}))throw new tn({address:o});n.push([o,i])}return n}function Wn(e,n){const t=function(e){if(e.type)return e.type;if(void 0!==e.authorizationList)return"eip7702";if(void 0!==e.blobs||void 0!==e.blobVersionedHashes||void 0!==e.maxFeePerBlobGas||void 0!==e.sidecars)return"eip4844";if(void 0!==e.maxFeePerGas||void 0!==e.maxPriorityFeePerGas)return"eip1559";if(void 0!==e.gasPrice)return void 0!==e.accessList?"eip2930":"legacy";throw new xe({transaction:e})}(e);return"eip1559"===t?function(e,n){const{chainId:t,gas:o,nonce:i,to:a,value:r,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:d}=e;Gn(e);const u=Yn(l);return se(["0x02",pe([P(t),i?P(i):"0x",c?P(c):"0x",s?P(s):"0x",o?P(o):"0x",a??"0x",r?P(r):"0x",d??"0x",u,...Vn(e,n)])])}(e,n):"eip2930"===t?function(e,n){const{chainId:t,gas:o,data:i,nonce:a,to:r,value:s,accessList:c,gasPrice:l}=e;!function(e){const{chainId:n,maxPriorityFeePerGas:t,gasPrice:o,maxFeePerGas:i,to:a}=e;if(n<=0)throw new on({chainId:n});if(a&&!Mn(a))throw new tn({address:a});if(t||i)throw new v("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(o&&o>ae)throw new rn({maxFeePerGas:o})}(e);const d=Yn(c);return se(["0x01",pe([P(t),a?P(a):"0x",l?P(l):"0x",o?P(o):"0x",r??"0x",s?P(s):"0x",i??"0x",d,...Vn(e,n)])])}(e,n):"eip4844"===t?function(e,n){const{chainId:t,gas:o,nonce:i,to:a,value:r,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:d,data:u}=e;!function(e){const{blobVersionedHashes:n}=e;if(n){if(0===n.length)throw new $e;for(const e of n){const n=E(e),t=j(Hn(e,0,1));if(32!==n)throw new en({hash:e,size:n});if(1!==t)throw new nn({hash:e,version:t})}}Gn(e)}(e);let f=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(void 0===f||void 0===p)){const n="string"==typeof e.blobs[0]?e.blobs:e.blobs.map(e=>U(e)),t=e.kzg,o=Te({blobs:n,kzg:t});void 0===f&&(f=function(e){const{commitments:n,version:t}=e,o=e.to??("string"==typeof n[0]?"hex":"bytes"),i=[];for(const a of n)i.push(Ke({commitment:a,to:o,version:t}));return i}({commitments:o})),void 0===p&&(p=function(e){const{data:n,kzg:t,to:o}=e,i=e.blobs??function(e){const n=e.to??("string"==typeof e.data?"hex":"bytes"),t="string"==typeof e.data?Y(e.data):e.data,o=E(t);if(!o)throw new $e;if(o>Ze)throw new _e({maxSize:Ze,size:o});const i=[];let a=!0,r=0;for(;a;){const e=fe(new Uint8Array(131072));let n=0;for(;n<4096;){const o=t.slice(r,r+31);if(e.pushByte(0),e.pushBytes(o),o.length<31){e.pushByte(128),a=!1;break}n++,r+=31}i.push(e)}return"bytes"===n?i.map(e=>e.bytes):i.map(e=>U(e.bytes))}({data:n,to:o}),a=e.commitments??Te({blobs:i,kzg:t,to:o}),r=e.proofs??Ee({blobs:i,commitments:a,kzg:t,to:o}),s=[];for(let c=0;c<i.length;c++)s.push({blob:i[c],commitment:a[c],proof:r[c]});return s}({blobs:n,commitments:o,proofs:Ee({blobs:n,commitments:o,kzg:t})}))}const m=Yn(d),h=[P(t),i?P(i):"0x",l?P(l):"0x",c?P(c):"0x",o?P(o):"0x",a??"0x",r?P(r):"0x",u??"0x",m,s?P(s):"0x",f??[],...Vn(e,n)],w=[],b=[],g=[];if(p)for(let A=0;A<p.length;A++){const{blob:e,commitment:n,proof:t}=p[A];w.push(e),b.push(n),g.push(t)}return se(["0x03",pe(p?[h,w,b,g]:h)])}(e,n):"eip7702"===t?function(e,n){const{authorizationList:t,chainId:o,gas:i,nonce:a,to:r,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:d,data:u}=e;!function(e){const{authorizationList:n}=e;if(n)for(const t of n){const{chainId:e}=t,n=t.address;if(!Mn(n))throw new tn({address:n});if(e<0)throw new on({chainId:e})}Gn(e)}(e);const f=Yn(d),p=function(e){if(!e||0===e.length)return[];const n=[];for(const t of e){const{chainId:e,nonce:o,...i}=t,a=t.address;n.push([e?O(e):"0x",a,o?O(o):"0x",...Vn({},i)])}return n}(t);return se(["0x04",pe([P(o),a?P(a):"0x",l?P(l):"0x",c?P(c):"0x",i?P(i):"0x",r??"0x",s?P(s):"0x",u??"0x",f,p,...Vn(e,n)])])}(e,n):function(e,n){const{chainId:t=0,gas:o,data:i,nonce:a,to:r,value:s,gasPrice:c}=e;!function(e){const{chainId:n,maxPriorityFeePerGas:t,gasPrice:o,maxFeePerGas:i,to:a}=e;if(a&&!Mn(a))throw new tn({address:a});if(void 0!==n&&n<=0)throw new on({chainId:n});if(t||i)throw new v("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(o&&o>ae)throw new rn({maxFeePerGas:o})}(e);let l=[a?P(a):"0x",c?P(c):"0x",o?P(o):"0x",r??"0x",s?P(s):"0x",i??"0x"];if(n){const e=(()=>{if(n.v>=35n)return(n.v-35n)/2n>0?n.v:27n+(35n===n.v?0n:1n);if(t>0)return BigInt(2*t)+BigInt(35n+n.v-27n);const e=27n+(27n===n.v?0n:1n);if(n.v!==e)throw new ke({v:n.v});return e})(),o=I(n.r),i=I(n.s);l=[...l,P(e),"0x00"===o?"0x":o,"0x00"===i?"0x":i]}else t>0&&(l=[...l,P(t),"0x","0x"]);return pe(l)}(e,n)}function Vn(e,n){const t=n??e,{v:o,yParity:i}=t;if(void 0===t.r)return[];if(void 0===t.s)return[];if(void 0===o&&void 0===i)return[];const a=I(t.r),r=I(t.s);return["number"==typeof i?i?P(1):"0x":0n===o?"0x":1n===o?P(1):27n===o?"0x":P(1),"0x00"===a?"0x":a,"0x00"===r?"0x":r]}const zn={blockTime:2e3,contracts:{gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},formatters:{block:/* @__PURE__ */$({format(e){const n=e.transactions?.map(e=>{if("string"==typeof e)return e;const n=K(e);return"0x7e"===n.typeHex&&(n.isSystemTx=e.isSystemTx,n.mint=e.mint?z(e.mint):void 0,n.sourceHash=e.sourceHash,n.type="deposit"),n});return{transactions:n,stateRoot:e.stateRoot}}}),transaction:/* @__PURE__ */Z({format(e){const n={};return"0x7e"===e.type&&(n.isSystemTx=e.isSystemTx,n.mint=e.mint?z(e.mint):void 0,n.sourceHash=e.sourceHash,n.type="deposit"),n}}),transactionReceipt:/* @__PURE__ */te({format:e=>({l1GasPrice:e.l1GasPrice?z(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?z(e.l1GasUsed):null,l1Fee:e.l1Fee?z(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null})})},serializers:{transaction:function(e,n){return function(e){return"deposit"===e.type||void 0!==e.sourceHash}(e)?function(e){!function(e){const{from:n,to:t}=e;if(n&&!Mn(n))throw new tn({address:n});if(t&&!Mn(t))throw new tn({address:t})}(e);const{sourceHash:n,data:t,from:o,gas:i,isSystemTx:a,mint:r,to:s,value:c}=e;return se(["0x7e",pe([n,o,s??"0x",r?O(r):"0x",c?O(c):"0x",i?O(i):"0x",a?"0x1":"0x",t??"0x"])])}(e):Wn(e,n)}}},jn=/* @__PURE__ */g({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:250,rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://arbiscan.io",apiUrl:"https://api.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}}),Qn=/* @__PURE__ */g({id:43114,name:"Avalanche",blockTime:1700,nativeCurrency:{decimals:18,name:"Avalanche",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax.network/ext/bc/C/rpc"]}},blockExplorers:{default:{name:"SnowTrace",url:"https://snowtrace.io",apiUrl:"https://api.snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:11907934}}}),Xn=1,Kn=/* @__PURE__ */g({...zn,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...zn.contracts,disputeGameFactory:{[Xn]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[Xn]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[Xn]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[Xn]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:1}),Zn=/* @__PURE__ */g({id:56,name:"BNB Smart Chain",blockTime:750,nativeCurrency:{decimals:18,name:"BNB",symbol:"BNB"},rpcUrls:{default:{http:["https://56.rpc.thirdweb.com"]}},blockExplorers:{default:{name:"BscScan",url:"https://bscscan.com",apiUrl:"https://api.bscscan.com/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:15921452}}});function _n(e){return"string"==typeof e?{address:e,type:"json-rpc"}:e}class $n extends v{constructor({docsPath:e}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join("\n"),{docsPath:e,docsSlug:"account",name:"AccountNotFoundError"})}}function et(e,{includeName:n=!1}={}){if("function"!==e.type&&"event"!==e.type&&"error"!==e.type)throw new lt(e.type);return`${e.name}(${nt(e.inputs,{includeName:n})})`}function nt(e,{includeName:n=!1}={}){return e?e.map(e=>function(e,{includeName:n}){return e.type.startsWith("tuple")?`(${nt(e.components,{includeName:n})})${e.type.slice(5)}`:e.type+(n&&e.name?` ${e.name}`:"")}(e,{includeName:n})).join(n?", ":","):""}class tt extends v{constructor({expectedLength:e,givenLength:n,type:t}){super([`ABI encoding array length mismatch for type ${t}.`,`Expected length: ${e}`,`Given length: ${n}`].join("\n"),{name:"AbiEncodingArrayLengthMismatchError"})}}class ot extends v{constructor({expectedSize:e,value:n}){super(`Size of bytes "${n}" (bytes${E(n)}) does not match expected size (bytes${e}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class it extends v{constructor({expectedLength:e,givenLength:n}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${e}`,`Given length (values): ${n}`].join("\n"),{name:"AbiEncodingLengthMismatchError"})}}class at extends v{constructor(e,{docsPath:n}={}){super([`Function ${e?`"${e}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join("\n"),{docsPath:n,name:"AbiFunctionNotFoundError"})}}class rt extends v{constructor(e,n){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${e.type}\` in \`${et(e.abiItem)}\`, and`,`\`${n.type}\` in \`${et(n.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}class st extends v{constructor(e,{docsPath:n}){super([`Type "${e}" is not a valid encoding type.`,"Please provide a valid ABI type."].join("\n"),{docsPath:n,name:"InvalidAbiEncodingType"})}}class ct extends v{constructor(e){super([`Value "${e}" is not a valid array.`].join("\n"),{name:"InvalidArrayError"})}}class lt extends v{constructor(e){super([`"${e}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join("\n"),{name:"InvalidDefinitionTypeError"})}}const dt=/^tuple(?<array>(\[(\d*)\])*)$/;function ut(e){let n=e.type;if(dt.test(e.type)&&"components"in e){n="(";const t=e.components.length;for(let i=0;i<t;i++)n+=ut(e.components[i]),i<t-1&&(n+=", ");const o=function(e,n){const t=e.exec(n);return t?.groups}(dt,e.type);return n+=`)${o?.array||""}`,ut({...e,type:n})}return"indexed"in e&&e.indexed&&(n=`${n} indexed`),e.name?`${n} ${e.name}`:n}function ft(e){let n="";const t=e.length;for(let o=0;o<t;o++)n+=ut(e[o]),o!==t-1&&(n+=", ");return n}function pt(e){return Dn(J(function(e){let n=!0,t="",o=0,i="",a=!1;for(let r=0;r<e.length;r++){const s=e[r];if(["(",")",","].includes(s)&&(n=!0),"("===s&&o++,")"===s&&o--,n)if(0!==o)" "!==s?(i+=s,t+=s):","!==e[r-1]&&","!==t&&",("!==t&&(t="",n=!1);else if(" "===s&&["event","function",""].includes(i))i="";else if(i+=s,")"===s){a=!0;break}}if(!a)throw new v("Unable to normalize signature.");return i}("string"==typeof(n=e)?n:"function"===(t=n).type?`function ${t.name}(${ft(t.inputs)})${t.stateMutability&&"nonpayable"!==t.stateMutability?` ${t.stateMutability}`:""}${t.outputs?.length?` returns (${ft(t.outputs)})`:""}`:"event"===t.type?`event ${t.name}(${ft(t.inputs)})`:"error"===t.type?`error ${t.name}(${ft(t.inputs)})`:"constructor"===t.type?`constructor(${ft(t.inputs)})${"payable"===t.stateMutability?" payable":""}`:"fallback"===t.type?"fallback() external"+("payable"===t.stateMutability?" payable":""):"receive() external payable")));var n,t}const mt=e=>Hn(pt(e),0,4),ht=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function wt(e,n){if(e.length!==n.length)throw new it({expectedLength:e.length,givenLength:n.length});const t=function({params:e,values:n}){const t=[];for(let o=0;o<e.length;o++)t.push(bt({param:e[o],value:n[o]}));return t}({params:e,values:n}),o=gt(t);return 0===o.length?"0x":o}function bt({param:e,value:n}){const t=function(e){const n=e.match(/^(.*)\[(\d+)?\]$/);return n?[n[2]?Number(n[2]):null,n[1]]:void 0}(e.type);if(t){const[o,i]=t;return function(e,{length:n,param:t}){const o=null===n;if(!Array.isArray(e))throw new ct(e);if(!o&&e.length!==n)throw new tt({expectedLength:n,givenLength:e.length,type:`${t.type}[${n}]`});let i=!1;const a=[];for(let r=0;r<e.length;r++){const n=bt({param:t,value:e[r]});n.dynamic&&(i=!0),a.push(n)}if(o||i){const e=gt(a);if(o){const n=P(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?re([n,e]):n}}if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:re(a.map(({encoded:e})=>e))}}(n,{length:o,param:{...e,type:i}})}if("tuple"===e.type)return function(e,{param:n}){let t=!1;const o=[];for(let i=0;i<n.components.length;i++){const a=n.components[i],r=bt({param:a,value:e[Array.isArray(e)?i:a.name]});o.push(r),r.dynamic&&(t=!0)}return{dynamic:t,encoded:t?gt(o):re(o.map(({encoded:e})=>e))}}(n,{param:e});if("address"===e.type)return function(e){if(!Mn(e))throw new tn({address:e});return{dynamic:!1,encoded:F(e.toLowerCase())}}(n);if("bool"===e.type)return function(e){if("boolean"!=typeof e)throw new v(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:F(D(e))}}(n);if(e.type.startsWith("uint")||e.type.startsWith("int")){const t=e.type.startsWith("int"),[,,o="256"]=ht.exec(e.type)??[];return function(e,{signed:n,size:t=256}){if("number"==typeof t){const o=2n**(BigInt(t)-(n?1n:0n))-1n,i=n?-o-1n:0n;if(e>o||e<i)throw new x({max:o.toString(),min:i.toString(),signed:n,size:t/8,value:e.toString()})}return{dynamic:!1,encoded:P(e,{size:32,signed:n})}}(n,{signed:t,size:Number(o)})}if(e.type.startsWith("bytes"))return function(e,{param:n}){const[,t]=n.type.split("bytes"),o=E(e);if(!t){let n=e;return o%32!=0&&(n=F(n,{dir:"right",size:32*Math.ceil((e.length-2)/2/32)})),{dynamic:!0,encoded:re([F(P(o,{size:32})),n])}}if(o!==Number.parseInt(t,10))throw new ot({expectedSize:Number.parseInt(t,10),value:e});return{dynamic:!1,encoded:F(e,{dir:"right"})}}(n,{param:e});if("string"===e.type)return function(e){const n=M(e),t=Math.ceil(E(n)/32),o=[];for(let i=0;i<t;i++)o.push(F(Hn(n,32*i,32*(i+1)),{dir:"right"}));return{dynamic:!0,encoded:re([F(P(E(n),{size:32})),...o])}}(n);throw new st(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function gt(e){let n=0;for(let a=0;a<e.length;a++){const{dynamic:t,encoded:o}=e[a];n+=t?32:E(o)}const t=[],o=[];let i=0;for(let a=0;a<e.length;a++){const{dynamic:r,encoded:s}=e[a];r?(t.push(P(n+i,{size:32})),o.push(s),i+=E(s)):t.push(s)}return re([...t,...o])}const At=pt;function yt(e,n){const t=typeof e,o=n.type;switch(o){case"address":return Mn(e,{strict:!1});case"bool":return"boolean"===t;case"function":case"string":return"string"===t;default:return"tuple"===o&&"components"in n?Object.values(n.components).every((n,o)=>"object"===t&&yt(Object.values(e)[o],n)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(o)?"number"===t||"bigint"===t:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(o)?"string"===t||e instanceof Uint8Array:!!/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(o)&&Array.isArray(e)&&e.every(e=>yt(e,{...n,type:o.replace(/(\[[0-9]{0,}\])$/,"")}))}}function vt(e,n,t){for(const o in e){const i=e[o],a=n[o];if("tuple"===i.type&&"tuple"===a.type&&"components"in i&&"components"in a)return vt(i.components,a.components,t[o]);const r=[i.type,a.type];if((()=>!(!r.includes("address")||!r.includes("bytes20"))||(r.includes("address")&&r.includes("string")||!(!r.includes("address")||!r.includes("bytes")))&&Mn(t[o],{strict:!1}))())return r}}function kt(e){return e.reduce((e,{slot:n,value:t})=>`${e} ${n}: ${t}\n`,"")}class xt extends v{constructor(e,{account:n,docsPath:t,chain:o,data:i,gas:a,gasPrice:r,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:d,value:u,stateOverride:f}){const p=n?_n(n):void 0;let m=ve({from:p?.address,to:d,value:void 0!==u&&`${Ae(u)} ${o?.nativeCurrency?.symbol||"ETH"}`,data:i,gas:a,gasPrice:void 0!==r&&`${ye(r)} gwei`,maxFeePerGas:void 0!==s&&`${ye(s)} gwei`,maxPriorityFeePerGas:void 0!==c&&`${ye(c)} gwei`,nonce:l});f&&(m+=`\n${function(e){return e.reduce((e,{address:n,...t})=>{let o=`${e} ${n}:\n`;return t.nonce&&(o+=` nonce: ${t.nonce}\n`),t.balance&&(o+=` balance: ${t.balance}\n`),t.code&&(o+=` code: ${t.code}\n`),t.state&&(o+=" state:\n",o+=kt(t.state)),t.stateDiff&&(o+=" stateDiff:\n",o+=kt(t.stateDiff)),o}," State Override:\n").slice(0,-1)}(f)}`),super(e.shortMessage,{cause:e,docsPath:t,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Raw Call Arguments:",m].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}function Ct(e,{format:n}){if(!n)return{};const t={};return function n(o){const i=Object.keys(o);for(const a of i)a in e&&(t[a]=e[a]),o[a]&&"object"==typeof o[a]&&!Array.isArray(o[a])&&n(o[a])}(n(e||{})),t}async function Tt(e,n){const{account:t=e.account}=n;if(!t)throw new $n;const o=_n(t);try{const{accessList:t,blockNumber:i,blockTag:a,data:r,gas:s,gasPrice:c,maxFeePerGas:l,maxPriorityFeePerGas:d,nonce:u,to:f,value:p,...m}=n,h=("bigint"==typeof i?P(i):void 0)||a;!function(e){const{account:n,maxFeePerGas:t,maxPriorityFeePerGas:o,to:i}=e,a=n?_n(n):void 0;if(a&&!Mn(a.address))throw new tn({address:a.address});if(i&&!Mn(i))throw new tn({address:i});if(t&&t>ae)throw new rn({maxFeePerGas:t});if(o&&t&&o>t)throw new hn({maxFeePerGas:t,maxPriorityFeePerGas:o})}(n);const w=e.chain?.formatters?.transactionRequest?.format,b=(w||ie)({...Ct(m,{format:w}),account:o,accessList:t,data:r,gas:s,gasPrice:c,maxFeePerGas:l,maxPriorityFeePerGas:d,nonce:u,to:f,value:p},"estimateGas"),{baseFeePerGas:g,gasLimit:A,priorityFeePerGas:y}=await e.request({method:"linea_estimateGas",params:h?[b,h]:[b]});return{baseFeePerGas:BigInt(g),gasLimit:BigInt(A),priorityFeePerGas:BigInt(y)}}catch(i){throw function(e,{docsPath:n,...t}){const o=(()=>{const n=function(e,n){const t=(e.details||"").toLowerCase(),o=e instanceof v?e.walk(e=>e?.code===an.code):e;return o instanceof v?new an({cause:e,message:o.details}):an.nodeMessage.test(t)?new an({cause:e,message:e.details}):rn.nodeMessage.test(t)?new rn({cause:e,maxFeePerGas:n?.maxFeePerGas}):sn.nodeMessage.test(t)?new sn({cause:e,maxFeePerGas:n?.maxFeePerGas}):cn.nodeMessage.test(t)?new cn({cause:e,nonce:n?.nonce}):ln.nodeMessage.test(t)?new ln({cause:e,nonce:n?.nonce}):dn.nodeMessage.test(t)?new dn({cause:e,nonce:n?.nonce}):un.nodeMessage.test(t)?new un({cause:e}):fn.nodeMessage.test(t)?new fn({cause:e,gas:n?.gas}):pn.nodeMessage.test(t)?new pn({cause:e,gas:n?.gas}):mn.nodeMessage.test(t)?new mn({cause:e}):hn.nodeMessage.test(t)?new hn({cause:e,maxFeePerGas:n?.maxFeePerGas,maxPriorityFeePerGas:n?.maxPriorityFeePerGas}):new wn({cause:e})}(e,t);return n instanceof wn?e:n})();return new xt(o,{docsPath:n,...t})}(i,{...n,account:o,chain:e.chain})}}async function Et({client:e,multiply:n,request:t,type:o}){try{const i=await Tt(e,{...t,account:t?.account}),{priorityFeePerGas:a}=i,r=n(BigInt(i.baseFeePerGas))+a;return"legacy"===o?{gasPrice:r}:{maxFeePerGas:r,maxPriorityFeePerGas:a}}catch{return null}}const It=/* @__PURE__ */g({fees:{estimateFeesPerGas:Et,async maxPriorityFeePerGas({block:e,client:n,request:t}){const o=await Et({block:e,client:n,multiply:e=>e,request:t,type:"eip1559"});return o?.maxPriorityFeePerGas?o.maxPriorityFeePerGas:null}},id:59144,name:"Linea Mainnet",blockTime:2e3,nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://lineascan.build",apiUrl:"https://api.lineascan.build/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:42},ensRegistry:{address:"0x50130b669B28C339991d8676FA73CF122a121267",blockCreated:6682888},ensUniversalResolver:{address:"0x4D41762915F83c76EcaF6776d9b08076aA32b492",blockCreated:22222151}},ensTlds:[".linea.eth"],testnet:!1}),Nt=/* @__PURE__ */g({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),St=1,Bt=/* @__PURE__ */g({...zn,id:10,name:"OP Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.optimism.io"]}},blockExplorers:{default:{name:"Optimism Explorer",url:"https://optimistic.etherscan.io",apiUrl:"https://api-optimistic.etherscan.io/api"}},contracts:{...zn.contracts,disputeGameFactory:{[St]:{address:"0xe5965Ab5962eDc7477C8520243A95517CD252fA9"}},l2OutputOracle:{[St]:{address:"0xdfe97868233d1aa22e815a266982f2cf17685a27"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:4286263},portal:{[St]:{address:"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"}},l1StandardBridge:{[St]:{address:"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1"}}},sourceId:1}),Ft="/docs/contract/encodeFunctionData";function Rt(e){const{args:n}=e,{abi:t,functionName:o}=1===e.abi.length&&e.functionName?.startsWith("0x")?e:function(e){const{abi:n,args:t,functionName:o}=e;let i=n[0];if(o){const e=function(e){const{abi:n,args:t=[],name:o}=e,i=T(o,{strict:!1}),a=n.filter(e=>i?"function"===e.type?mt(e)===o:"event"===e.type&&At(e)===o:"name"in e&&e.name===o);if(0===a.length)return;if(1===a.length)return a[0];let r;for(const s of a)if("inputs"in s)if(t&&0!==t.length){if(s.inputs&&0!==s.inputs.length&&s.inputs.length===t.length&&t.every((e,n)=>{const t="inputs"in s&&s.inputs[n];return!!t&&yt(e,t)})){if(r&&"inputs"in r&&r.inputs){const e=vt(s.inputs,r.inputs,t);if(e)throw new rt({abiItem:s,type:e[0]},{abiItem:r,type:e[1]})}r=s}}else if(!s.inputs||0===s.inputs.length)return s;return r||a[0]}({abi:n,args:t,name:o});if(!e)throw new at(o,{docsPath:Ft});i=e}if("function"!==i.type)throw new at(void 0,{docsPath:Ft});return{abi:[i],functionName:mt(et(i))}}(e),i=t[0];return se([o,("inputs"in i&&i.inputs?wt(i.inputs,n??[]):void 0)??"0x"])}const Ot=1,Dt={1:{...Nt,logo:"data:image/png;base64,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",chainId:1,chainType:"ether",chainTypeMoralis:"eth",customName:"Ethereum",tokenTrendingDefault:["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"],isSupported:!0},10:{...Bt,logo:"data:image/png;base64,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",chainId:10,chainType:"optimism",chainTypeMoralis:"optimism",customName:"Optimism",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0x68f180fcce6836688e9084f035309e29bf0a2095","0xc47da4cb96ce65a96844a01bfae509f9d5454534"],isSupported:!0},56:{...Zn,logo:"data:image/png;base64,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",chainId:56,chainType:"bsc",chainTypeMoralis:"bsc",customName:"BNB Chain",tokenTrendingDefault:["0x2170ed0880ac9a755fd29b2688956bd959f933f8","0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c"],isSupported:!0},137:{.../* @__PURE__ */g({id:137,name:"Polygon",blockTime:2e3,nativeCurrency:{name:"POL",symbol:"POL",decimals:18},rpcUrls:{default:{http:["https://polygon.drpc.org"]}},blockExplorers:{default:{name:"PolygonScan",url:"https://polygonscan.com",apiUrl:"https://api.etherscan.io/v2/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:25770160}}}),rpcUrls:{default:{http:["https://polygon-bor-rpc.publicnode.com"]}},logo:"data:image/png;base64,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",chainId:137,chainType:"matic",chainTypeMoralis:"polygon",tokenTrendingDefault:["0x7ceb23fd6bc0add59e62ac25578270cff1b9f619","0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6"],isSupported:!0},8453:{...Kn,logo:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAACFhJREFUeAHtnT1sHEUUx/+7pCJIuAltzjVIdppQ+lwT5A8kKG3TIYESSwhKn0sQUhwpiDJ2SSRiI5Ha55YmjpTUXrehuQY6e5j/zq19n769eTP7dfuTLne52Lm9/e97b2b2zXsBis6qmtN/NvEe7uIS8wj0s0JDP/P95NFLJ34oRN2/v0aIM1zoZ+AUR0EHBSZA0VhVDX3yV/QJXQSFgD75bolAYQIcxSIdBacoEMUQZFU19ZGs6scK3AswiUg/2tr6DrQ4beRMfoLQFYV4qC2BQiyiGET6WFrack60OBFyIHtBVtWi/tRN/djAsP8vEvvaanazFiY7QRgbAjzTjybKRabC+BfEuKYd/eoRyk0mwvgV5AvFGNFCsV3TNJgY80dwAE/4EaS87ikdSo/KFLZ8WEsI19AqQryqrBiE343fcV05d8PuLKQ6sWJa9vAi2IYj3AhiXNRhgeYTWRPpgL/swoXJBaEYIY6R/Qy7aDgRRSYIJ3lGjKqMoqR0uqJYr4/ZC5KzGI2P9Ae/rx+3h/+t86++XP8xzzkgEsVOkIzFaH4MLMwDiw3zmmKkgYKcRnr9/UyvHr41r6N3yAJrUaYXxMSMV/AsBk/8xrL+uPujrcAWCrOvL6WTt97FoSj3po0p0wniOYDzxD98oMfNn7kVYRwU58lfwNHf8MXUgX46QdaVNn73YtAFtb40FpEHtJTWc+DgGO5R+maYikVJdacyvSDr6jEcT/qytohJnOrLbe1nL64s9eQxnSBmkXAPDmGMePZt+gCdJbSW3d/hmm0tysRzOFkQD0H88dfGKooMrWR5x6m1pArykxcXuWrrSAxaw6tfii8GuTrWB3DFXPdc3sjNgqyrTVertvyCx7t6LjGP0sC49ngL2PkKbuC5nLBCPN5lORziUoTDH4oZL9LiMK504vyyMaOu8RYSxHf6GhCSWEaZxSAcljuylOQ2xUhGW4ixjjMIqYoYvTizFGMl0eDboy3EWIcI+t+qiUGcTWDHBPhhQczNpg0I2duqnhgJ/G5c6BTBAM9F2gHCET/YgpCdHJdBsoDWf/ijWf4XwYTBobd6cRA7aBVnv2Em2NMLk9sTZxY3MjTi6reQUD7n4HLIrMBJI5eABHDE1TcvGXRZOxCwuSw+wNIhHgqrOOP/imtBuCVAOO9g7Jg1eAGKLkJm6phzHxP2/MMmBNA6qjqqmoTYSrg3pkuvIEsQMIvWkeDASq7clhHEjIcbsGSaxIOqIrSSRjzCRSJIKMs43KzwnCMtvChF85LQuK3EZa3AEk6SqjwJnIZHn8OeAAt8SgSxthCm6dQYliRxRJk5YNjdB96AJbM277gJodtiHJmjhYjix1ItSB+rn8KeW1gKJQGdI6tZH10NIloF1utaYVymIo8PrygLkpwBrQVd1gIsqQUZRnhOGqI9hrW7GobTAEFgv3tLj38bsITp/u03KB1zH/i1bv7/nf8wPQHmbkGQBPdIdnMmNzab+r7Nd/BG4451xmM87K23oxWHOff71GtE1IIUjFqQgsGgzowHqzgS7/+TpsLkQPMTFJWOWJB66X0Ybsm2pEOXZV2lM6d94IXHepOPQkRBIlhyKk7Hrh7Sc8LFxXNYcmr9m9Xl3N5dkdehnq5HsISmWbutfkRLSQFdlkCQuHRF7bb6YDECay5xGuICbQg4kRxAxaDHYD0VAVoQk3kdwZJ2LcgVwnMRUQszU1c4gSU8iDIuwftAVJpDxc0CuksnAUQF6Wu3ZdyVyEJCHJoncokjCNh7WY+2nryEjIteCzG7QSNYQjG8VNIpEcIST1FS7Ox6tVfhTwjYk14hJYYF0YQ1UdrJi15BRG6LB8RiYLMGv/fuc8hg75Iu14KwmYmSBXduqp+1WHLQFltH1NtIpv8GVSBzWxRDfLWUiLgSnbSqw8A29H5BLuMiZaKmWdwqPCvzkmXRFtkuF/1zwH5BOGtX1/7Mlq1fq++66AkcFDfbH6x3MnxPXekfEsIDXfsJlYVD3JabAjS7g28NC8LxsJItOBLOWrdLmkh3E7zYtp7CBfvpqwGxWYkDGE88FJPMjaQOoxN3PMI6yGhBqJzCEzjAU4XPzHFcFHN/XDHM8XlZpneUkzalZRfFsRjROOsg4wUx90nG/uK0lFUUxsJ73zssF8t5xw2lYifX7V1Tx3DYT6pMBTG5FOQ0w5+DpcPgxky2yamkJsA7cV2E9+Bp/kVeHWbQ5rDd8XaLTprB0mRBjHk5c12E5r/51AwfM+rnkRpaxfw3XjompGpKOdllJaypPf3TD+EYui5uoHFWrNgSxgrGOC85AhyxHgapGhmkF4QFBgIcw1MnNgrDEuQr97ONL16FMER4EaTem5teEJJRRzYWs9lo+stSZ4xIGrkI03Ym4bmhC8mo5RGhpbBcBa2GmzRtLSfpRXXyppslk01SRgYtjxJy6tDGLccUhpvz5+8AH942Gyx7SbYCnL/rJq6d55JdmWFTsIS6h+E4cmibl1CLMkiOjSUT6tarCU5ar8o3ffIAeCCCvK7Sw+QQR82J3ezC5YFwrO1oyb5U8DsrN2IQucsaxLT04e3/qscVsxqeovPaNLgXhJiWF89crhIXCq7acqHQkVX04keQBDYVM9bSQDXwYhW9+BWEGGtpuWgSkysmVrTStlC1xb8gCWUVxqN7GkV2giSUQxiTMKjiZARRvvO0ZC9IgplQNlGkGMP5BPObmVLr2TWNIz9BemH/DLbLMB0aGsiWKN4bw+0YPVnoeVEMQXox62O8CcZ69KKuDWOIwA0y3Fd5oYXIKDakpXiCDGJKoS/iPSzEDbSSsrameOcchiegHZgY0ImLIrB0CBudXcQlRNp5uaK0/A/QqtacrEVArQAAAABJRU5ErkJggg==",chainId:8453,chainType:"base",chainTypeMoralis:"base",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf","0xc47da4cb96ce65a96844a01bfae509f9d5454534"],isSupported:!0},42161:{...jn,logo:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAEuFJREFUeAHlXQ1sFOeZfmd2ba+NbWwwBv8QbAjY/BuKayeQsE5Acmp0NiRcepe0IVV71zvpjnA65VRdq8JdTydFOsXRnYh6rZqgUpoqTbDbEJwG4qUtDcZOMBiojQleEv5iSGPw7/7MfP3ez5717O7MzuzszOw6fSKz49lvN+N55n2f932/+d7hIMVR5m7KyxnzuQlxLBJ5sZwHWATAlXFA8gjh8oCDvLAPEBjiODJEgPPiryKQs7zIDwAJnh3JdnV7PS1DkMLgIMVQWVtf5hScjYQnVTwQNz2xZWAiCICXktlNyWwhxH/2Yue73ZBCSAlCVtXWu0XCNzkAGs0mQAtIEH3xcIJw4HxXmweSjKQRgq4oe8y/mx5CEz2KKkgBMHII7BX4tBO9p1q8kATYTsiK6q9UAQ+7eMI9E+X/UwiUnFcFLm2f3cTYRkhlbVOZkwReoZtumEGwmxjLCWFR0njg+/QPew5mMOwixgEWYlXNtt3pAaGF0u6GGQ565VZxIDYVliwbun29/yxYBEssZKa6pzjgCXJpz1phLaZbCFoFT4TXKNWV8MVFGQ/irnml9/tuX798CkyEaRbyRdGKeMGJ0NzTeWQPmARTCEEX5SCBw+hn4S8QmL9Qwa8zw4UlTMgUGe30i8rgLxhmkZIQIZjk8RzXnswEj6S5QMzMY6+Oe7eAC0xAEjEkiqTuYufbhutjhglJJhliVh4EFq4D/31VbFsOfmwInHe8kNHXzraTgIRIMURIsshAK/AvfgAmKt26xrt6PZD2yZlkEGOYlLgJYTmGGDhjNxn+JZSICjcjJR4gGRm97ZD+ie1V9iGaq6yLV1PiIiQZAh6cWwa+yjoIFpRBIkBiMj88DM7PvGAXjAh9XISsrGkYsIsM1IbxddtViXA5OahekAGr56XD7Aye7bvrE6Hnth86b/lgIkgUP5f+cbfd+tLtzByt6/Z4dP0PdWfqq2saXqQv9WAxmE4sfQjG128HMadAccyyOWnw+LJZ7BWJkYDb9+U6YcXcdJgQCAyOCVGfFWYvYO6Po/+xqEwMgsVYQPzprsEb/e/oGazLQrAcQk9VM1gM/8IqmFj9mKpO4Ml+qNTFXvUALeaNvlH4VIEYhJ36QkDcc6HjqOY51CTEDhHX0gm88jeVuKC6KEPxfd/EOHvNcGUqvo9u7HfXJhhBSkBiZp18xWo3pkvkNV3WgpIlh60qFEo6MbFya1Q+IQF1At3TotnRVoFEnDlxDI79/AB0HW+D4aE/QUFRKWRkhhMzf5aDkYlX38f3ol0Uc5PUjZGsfCuTSxctSFYNXu8/EGtQTAuh+cYunudeAZMh5RO+JbUx3dO2JVkhwY5E3wcd0IkkfP6nsP05+XNgw6P1UPmlGsXPoZWgtaDVqAHzFxR+K6DlulQJsSrERZ1A96RmEUgAEqGmE9ev9DNruHHlMsQCErOxYTuUr1yj+P6nowK8cWk0phuzSF+GaNRVrhZ1qbqs+cVLmjkTZ/pQJzByYq5BwSpQJx4odkEDJWNuZvRhoXvqaPs1/Lbl9SirUIKfjr987oyqG8tO55kby6MXAIq+TwgPk/EYg0XL2Y9z8LKZbswVK+pStJCpGb8BMAH4h42vqofAfetUx2AugdGTmnvqPH4Uen5/IiTeRrBhC3Vj62uY5UQCc5YumrugK1OD2fkLFfhyJYFXtJAp60hobkPKJ8Y27ARhzkLFMZJO4JUqzyckoHv61Y/+D7wXe0AIJpYvoIsboN+TTiOxguLSsPec/GT+smZe7PyFXVR8minZvprAR50FM6xDck9qOoEnf8uiTGYZSkCX9N4vf6apE0aBVlL/9DcpMSWK72Mk9tZHY5brCy1ArossQEZZSKLWgYKNZMTSicb7Z0FJjnIYizrx7msHdOmEUaC+XDx9UlVf0HXq0RfM9hOxFnqefdRK2sL2yX9J1DqQDKzIKkErjD130gNdx9oS0gmjQH2pfvQxxffQSjpv+lh9TAkJhshREVeYhRQWLW7iOK4JDADd09iX/yZqPxLwRMUsJtpqOtH+y0NwseMPCeuEUaBr7PvwtKK+4DEvzktT1ResLuCEGD9uSOxdYiANrcQj7QgnZOEyvFHBUIkEyYjUDMyyn1yerWgV6JLaqU50vPOWpe5JL9CNYfCAxJSvWBPlxpAYLGYqZfuY4RvVEwJc3u3r/T+Ufg8RgksCOOAN3cKDEcjEiq1h+1Cw6xdnRY2Vyh3trx+COzevQ6oBiTl38oSqvqDr9dEw+cbItKXghWjUSqiOLCgsqjgxeOOSF38PKSsRHbs4gzPsgQXRpS50UZFQK3ekIvo+OA3eCz2wetPmKH3ZRP+2njv+sDkXvCgNC7xDRJnw4Oa0L+FgMxiESA9GDryKIt1U64/+l4ayh2YEGRLQmjHQOPjCvrDjRve1ND8tbKw4uwiMgrqtRmmbWciKB5uqOCFQBgZB0iL8rSPc1AYunksop8jJmQXV61dDTvYsKC6az/bduPkpe+29NAB9/VfY9gY6pqSoMOZ3ycfrBZLRS627esu0pURecELWbDAKrBfiUr7eU23eSZcV8FcBb9591xkR0ZR/3Fgoiyf4H775t4wMJQwPj8LOr/8T2y6mRPxk/39rfmf99m+AEaCmWAkHYdFtMyOE5/lGNiWfQkAi8CcWDv6ilVrKINvWQ8bLPz4UGp964Neyf/EfAiSl7snVQwa6LDzBiKeebAy5Mj3jCZ2rJyrz9UmEG//hq6qa8lLpvlx0PVpkIL7xj98Jjf/aV/9Kc/z+KTIQQv2/gPDItyGVgBxUud15fNA1kVLWocf1yF0VkqdlHa1HjsGvjhxn22LFw0AKFgEpXg7CmscgleAfz9rME+JIGUL0nFx0PQdfa2XbFUsXQ2PDFtBCyFVlZIFYvSO0X9ywI6VcFweknMZWpAxSAOh6nn6yUXPcfpkwv/TCv2uOlws5oRZBcuZNv0kJSiXXRavHZVTUubWQAnj+ub9j+UYsyF2Pbmv6xaQ1oSUIG3ZEjUHXJZZvgFQAYUvlUgCNDY/CI5trY47BnENyPfFYE34OIW54XHWcUPf3zFqSDgKLku6y9EZVkUKuZU2YjcuFXKx8WH0wuq4YhNkGjsvjWYujJEKv65Gso+7hWl1Cvvv5H0z/okO4xTX1IFL3lUzg1AefzOVo6Kr0nFwp50D8255vaY5HrZFn5HwPnSUdvq35OfGRpLuuvKRpiF5XJT+58VpTCL4xcL73Q9ACRmDJdl1JIyTek6uXQHlYLFQ/HrriuRt/ZD9aSLbrSgohWMXV46rkJ1cPGUigJORk7iKW+MmveAdaiW9U83vETV+DZIHHHoVgM37wPe2ZYnnOoVdrdj//X6Ft4bHJ5gryK56jOuI416b5PUimUs5iA4Z4bBgJNkKPq0LIdUCv1kgTT6xeJcvI5Vc83/UmcHeuan6fyLJ6e8sqBAmhYa9thOjVgZcjXJUWgfKkEU+ivF7F9kVc8Y6TPwVNJKGsQsNeLw17J9up2gE9lVwjQi5PGjEjD6tXTUF+xaO4O84d1fzeZFSEqaiL2vZrAvS6KnnOgfUtLUROPKlm5BFXPLouXQJva0WYnOWlhsNWAomIN+fQU99ChE08NX435tiwK57mJg4kRQs2ui46c+vleWI9IU83PKg5Rn6lY51KL4FhE08KrioSeMVLuQlPIy49uQkSmbb8IbAanODo5h1+pwcsRMWCHCjOy9QcJ885ntYxR44Iy8j1uhW84jdOR10OHRk8ghSvAKvhzB7p5ru7W4ZoxdcLFiDH5YTq8jma4947cSp0pRuJxBB661UIVv2V5yadb2h+RmWpiGlAd4V3wbNMXSTkBFgAJANJ0cILzf8f2m5+4bua4xOpV0mQFxLjIdNCsE6nk6UTjjd9qSm6KvzRgvxKRyGvpPPkWtgfScYU9IaziLBCYpxkWgKOO4wvjBCBE1rAROh1VUZyjs4Pe0LuTQl6w1kEllUwaUSw4uNAl+rY0owAWAki+KctBO8pTURHuLHPw37H9RN6XJW89qRXyL/3ny/GHoDh7MmDoBeCrKzCPqdA5vJZE7A4K7zRwOBo+MKdRJZNo35Ij83gp3dCKxgEtqOQ49pdP7z/8XDMz8hrT2yO/Kvac+TyjDwW+L7f6gpnEfLchAm8LDdBq9hReBe2zh2BDH76Vltc5nbp83CLwfUhxsF5pC3ZcgTesNtKu9kbtW/fsWtwb0K5C0+kKOstqUj3Y+mB3lI7Qp6NY27iunkBts4Zhh3z70KpK9pVKa1nT7vVC0bBCVxoeXSIkPOn3vJQMzEk7lLjSTkufjoGf33oErWW6MWS+yOEXI+r2h/njdKRV3tMTGXj2E0IF+c8szYXlmdHHzcu0DnmHY/qk4JNBYw2FEB3db6LnvsphE9Q8cSw28o8czjKjyIpD+4/Dy/+7mZon1yU9Qq5fOIpHujNxBEl5ffDE/+6l63IVWrzhKtwX+6+p7gaN6FGNRy3V/5r2KLP4oKV3aJD/DatA8fXaRKmRE0MQrBwadR7p6ievN7zGeRmOOF/9v0HDI9MupLn93wLqtev0fzunV//59Bn4j4uOvchrnxU9f1chwAN84ahJm8MMtKjA5GrNEB5s2+UWUVQITl0nT8KaYPGFyPRCHfPnWuXlZdF37rVO1FYurSI/hnaVT0FOD+/BlxwQpGUez4BftM/RGdgctm4koJcOnOo3TJdXq8yAm78LnDUJZH54ceUwYmwMX8M6guGIdcZfaZZN7pLo/B7qhejAeW1M0hGxkfGe/HjM0n+2HE0rL1G1CUhOuBVXoDdYBB4gCjyoxufVWytESiqZD8Ly1xMX0pnZ6h+l2JGbgCYmwh4u+hU8bEqZwJqZo+GRU4SUCfQLXXFaKTpuDMAmefbwHH3FiQCah37or47csftT/pvFZYuc0MCa0bQfWVcOcWWCeNiSKU2Gx8NBeGdS2ipHKwvUb4LsdM7BD29A4kvnxYCwFPXVbz2AdhCQ9jVlBCFHgZwjrql1stj0E9DWiX3hMKNVoFk8L4RSARK1oFQac9UX+YkDtPaM2HnOF9FneqY0tnpsGdTMexcMze0b3giCAffn5w7w0WXR3/6Y/jMIDHYbOaRJ56C4sX3K76POoGuSan9HwIvsPQr7zPrN6tvVpATyjEhj9yv2J4JRaawtCKfbhrSEjmwDSuGxNjpgDXOV1g+LOnLJzShXDk/E3Jplt/Wc4uRgsDF+ytrNkJu/lxmLX6d/VAwWlq/eSvU7XwK8udFh9boktoGxuH41XHVzj/ofrNO/5y9mtVSVs06EKpLb3GpWzA9MGD2raa4wF6pDYccjcvzoMQlqjaqwbXj2NQsFiq+9GXYuG2HYgirVydcfZ4EM/BoYN4hcGKdknUgYq6FXvlAw3M0GNEoHhkDPtkA3Vis3ovYMWFNjJ5aXceOQu+Hp8P2F9N8AteTx3JPR2L0wkKXhDqByZ4VIBzsunDqiGpnUs3F6atqGjDrcYMFQDIkYtSAxGCbWGz1qgR0YSd//SZbR45ZNlqGErDvFWbZduqEAjznO47UxRqgo5EyFXjRYWkjZSQG+2wl0pdRDeiSULDV+l0h0D1lnWmxtpEygaEgL6xTc1WhYwENoMDPu2+ZjyPW9X3HKxKLc1g1FvIXKobJ2KdKOqnL5qSDIGo3OsDxb9LkTs0qMI/I+uB1phVWP5mHuqrvUCHXvI9Vdz+NVTXbmunXGk4Y40Gi+oI6cZy6J7We7yxPovWnRLLs+EBeOt/xtq7WV7oJmYq62u16sjOS4Vtcy/r8qkEiZn6Wg/VXwUkjtAo1i0BIRNj1rCqMqi50vF2ud3ycD3SpL3MQvh2X74JN0KMvemCLTkRAK8RVgoFHHlkv8krQcmNqYE/WoVMDZucTmtAp4pGYUQ8FQ+glxn6dkIGSIRKbHgomIdmPzcNuoNjYXyiYds9IAn/3JovYMLFLyjMNEyADMeMfLInAMBl/kvTcQtmBJEYGwoRHr9ov9KkIIwKuhIQXfeIB4IEQi+4PngmgKWq3GWQgzGu0CPYmj6kD8tJI5ther87H4mnB1AfcD16/1EbLLHdphbjWyI0SMwpUL7AcQpO+vUNer2nRg6kWImFqxhGfXeWGLyY8dMbvWTNcVCQsIUTCitqv7KJFye9/YQR/0ir2Xeg40gwWwVSXFYnb1/q75y5c0soRPp+zqQZmHahWZI1t7z/5rgcshKUWIgcLj0XHXkrMMzCzYJl7UoJthEiYEcRggseRAyDCq4kkeUZgOyESkBgeeHeKaQytt3CtI66RZrPC2HiRNELkWFW7zU1Esgs4stlucnChEp3GauU5voWtAEgyUoIQObA+RkONKl7kGwknVplNEBIgAueh39sd5Jyt8Tx83g6kHCGRKHO787InsquoX18rgljOT7W1xeadrF9kZGGT+n/scDTZVIfzipx4lbrGAeoarw5njXiS5Yr04s84I4HsxczfIwAAAABJRU5ErkJggg==",chainId:42161,chainType:"arbitrum",chainTypeMoralis:"arbitrum",customName:"Arbitrum",tokenTrendingDefault:["0x82af49447d8a07e3bd95bd0d56f35241523fbab1","0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f"],isSupported:!0},43114:{...Qn,logo:"data:image/png;base64,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",chainId:43114,chainType:"avax",chainTypeMoralis:"avalanche",tokenTrendingDefault:["0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB","0x0555E30da8f98308EdB960aa94C0Db47230d2B9c"],isSupported:!0},59144:{...It,logo:"data:image/png;base64,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",chainId:59144,chainType:"linea",chainTypeMoralis:"linea",tokenTrendingDefault:["0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f","0x3aab2285ddcddad8edf438c1bab47e1a9d05a9b4"],isSupported:!0},130:{.../* @__PURE__ */g({...zn,id:130,name:"Unichain",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:1e3,rpcUrls:{default:{http:["https://mainnet.unichain.org/"]}},blockExplorers:{default:{name:"Uniscan",url:"https://uniscan.xyz",apiUrl:"https://api.uniscan.xyz/api"}},contracts:{...zn.contracts,multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:0},disputeGameFactory:{[Ot]:{address:"0x2F12d621a16e2d3285929C9996f478508951dFe4"}},portal:{[Ot]:{address:"0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2"}},l1StandardBridge:{[Ot]:{address:"0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA"}}},sourceId:1}),logo:"data:image/png;base64,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",chainId:130,chainType:"unichain",chainTypeMoralis:"unichain",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0x0555e30da8f98308edb960aa94c0db47230d2b9c"],isSupported:!1}},Ut=e=>{const n=Object.values(Dt).find(n=>n.chainTypeMoralis===e);return n?.chainType||null},Pt=e=>{const n=/* @__PURE__ */new Date,t=new Date(n);t.setDate(t.getDate()-1);const o=new Date(e);return o.setHours(0,0,0,0),n.setHours(0,0,0,0),t.setHours(0,0,0,0),o.getTime()===n.getTime()?"Today":o.getTime()===t.getTime()?"Yesterday":o.toLocaleDateString("en-US",{month:"short",day:"numeric",year:o.getFullYear()!==n.getFullYear()?"numeric":void 0})},Lt=e=>new Promise(n=>setTimeout(n,e||0)),Mt=(e,n=5,t=5)=>(e=e||"",e?.length<=n+t?e:`${e.substr(0,n)}...${e.substr(e.length-t,t)}`),Ht=e=>{if(!e)return"";const n=Dt[e];return n?n.chainTypeMoralis:""},Jt=e=>{if(!e)return"";const n=Dt[e];return n?n.chainType:""},qt={getItem(e){if("undefined"==typeof window)return null;try{return window.localStorage.getItem(e)}catch{return null}},setItem(e,n){if("undefined"!=typeof window)try{window.localStorage.setItem(e,n)}catch{}},removeItem(e){if("undefined"!=typeof window)try{window.localStorage.removeItem(e)}catch{}},get length(){if("undefined"==typeof window)return 0;try{return window.localStorage.length}catch{return 0}},key(e){if("undefined"==typeof window)return null;try{return window.localStorage.key(e)}catch{return null}}};class Gt extends v{constructor({value:e}){super(`Number \`${e}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}}function Yt(e,n){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new Gt({value:e});let[t,o="0"]=e.split(".");const i=t.startsWith("-");if(i&&(t=t.slice(1)),o=o.replace(/(0+)$/,""),0===n)1===Math.round(Number(`.${o}`))&&(t=`${BigInt(t)+1n}`),o="";else if(o.length>n){const[e,i,a]=[o.slice(0,n-1),o.slice(n-1,n),o.slice(n)],r=Math.round(Number(`${i}.${a}`));o=r>9?`${BigInt(e)+BigInt(1)}0`.padStart(e.length+1,"0"):`${e}${r}`,o.length>n&&(o=o.slice(1),t=`${BigInt(t)+1n}`),o=o.slice(0,n)}else o=o.padEnd(n,"0");return BigInt(`${i?"-":""}${t}${o}`)}const Wt="0x0000000000000000000000000000000000000000",Vt=s(void 0),zt=()=>{const e=c(Vt);if(!e)throw new Error("useConnect must be used within ConnectProvider");return{...e,chainData:Dt[e?.account?.chainId]||void 0,chainId:e.account?.chainId||void 0,chainType:Jt(e.account?.chainId||void 0),chainTypeMoralis:Ht(e.account?.chainId||void 0),isChainSupported:!!Dt[e?.account?.chainId]?.isSupported||!1}},jt=({children:n,initialAccount:t})=>/* @__PURE__ */e(Vt.Provider,{value:{account:t||null},children:n}),Qt=({address:o,chainId:a})=>{const[s,c]=i(!1),{isChainSupported:l}=zt(),d=r(()=>{if(!o)return;const e=o,n=()=>{c(!0),setTimeout(()=>c(!1),2e3)};try{navigator.clipboard.writeText(e).then(n).catch(()=>{const t=document.createElement("input");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),t.remove(),n()})}catch{const t=document.createElement("input");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),t.remove(),n()}},[o]);/* @__PURE__ */
|
|
5
|
-
return e(n,{children:
|
|
4
|
+
return e("button",{className:"chat-button",onClick:n,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),n())},"aria-label":o("openChat"),title:o("openChatTitle"),type:"button",children:/* @__PURE__ */e("img",{src:"data:image/png;base64,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",width:t,height:t,alt:"Ask AI"})})});function g(e){const n={formatters:void 0,fees:void 0,serializers:void 0,...e};return Object.assign(n,{extend:function e(n){return t=>{const o="function"==typeof t?t(n):t,i={...n,...o};return Object.assign(i,{extend:e(i)})}}(n)})}const A="2.47.0";let y=`viem@${A}`;class v extends Error{constructor(e,n={}){const t=n.cause instanceof v?n.cause.details:n.cause?.message?n.cause.message:n.details,o=n.cause instanceof v&&n.cause.docsPath||n.docsPath,i=(({docsBaseUrl:e,docsPath:n="",docsSlug:t})=>n?`${e??"https://viem.sh"}${n}${t?`#${t}`:""}`:void 0)?.({...n,docsPath:o});super([e||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...i?[`Docs: ${i}`]:[],...t?[`Details: ${t}`]:[],...y?[`Version: ${y}`]:[]].join("\n"),n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=t,this.docsPath=o,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=e,this.version=A}walk(e){return k(this,e)}}function k(e,n){return n?.(e)?e:e&&"object"==typeof e&&"cause"in e&&void 0!==e.cause?k(e.cause,n):n?null:e}class x extends v{constructor({max:e,min:n,signed:t,size:o,value:i}){super(`Number "${i}" is not in safe ${o?`${8*o}-bit ${t?"signed":"unsigned"} `:""}integer range ${e?`(${n} to ${e})`:`(above ${n})`}`,{name:"IntegerOutOfRangeError"})}}class C extends v{constructor({givenSize:e,maxSize:n}){super(`Size cannot exceed ${n} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}function T(e,{strict:n=!0}={}){return!!e&&"string"==typeof e&&(n?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x"))}function E(e){return T(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function I(e,{dir:n="left"}={}){let t="string"==typeof e?e.replace("0x",""):e,o=0;for(let i=0;i<t.length-1&&"0"===t["left"===n?i:t.length-i-1].toString();i++)o++;return t="left"===n?t.slice(o):t.slice(0,t.length-o),"string"==typeof e?(1===t.length&&"right"===n&&(t=`${t}0`),`0x${t.length%2==1?`0${t}`:t}`):t}class N extends v{constructor({offset:e,position:n,size:t}){super(`Slice ${"start"===n?"starting":"ending"} at offset "${e}" is out-of-bounds (size: ${t}).`,{name:"SliceOffsetOutOfBoundsError"})}}class S extends v{constructor({size:e,targetSize:n,type:t}){super(`${t.charAt(0).toUpperCase()}${t.slice(1).toLowerCase()} size (${e}) exceeds padding size (${n}).`,{name:"SizeExceedsPaddingSizeError"})}}function B(e,{dir:n,size:t=32}={}){return"string"==typeof e?F(e,{dir:n,size:t}):function(e,{dir:n,size:t=32}={}){if(null===t)return e;if(e.length>t)throw new S({size:e.length,targetSize:t,type:"bytes"});const o=new Uint8Array(t);for(let i=0;i<t;i++){const a="right"===n;o[a?i:t-i-1]=e[a?i:e.length-i-1]}return o}(e,{dir:n,size:t})}function F(e,{dir:n,size:t=32}={}){if(null===t)return e;const o=e.replace("0x","");if(o.length>2*t)throw new S({size:Math.ceil(o.length/2),targetSize:t,type:"hex"});return`0x${o["right"===n?"padEnd":"padStart"](2*t,"0")}`}const R=/* @__PURE__ */Array.from({length:256},(e,n)=>n.toString(16).padStart(2,"0"));function O(e,n={}){return"number"==typeof e||"bigint"==typeof e?U(e,n):"string"==typeof e?P(e,n):"boolean"==typeof e?D(e,n):L(e,n)}function D(e,n={}){const t=`0x${Number(e)}`;return"number"==typeof n.size?(V(t,{size:n.size}),B(t,{size:n.size})):t}function L(e,n={}){let t="";for(let i=0;i<e.length;i++)t+=R[e[i]];const o=`0x${t}`;return"number"==typeof n.size?(V(o,{size:n.size}),B(o,{dir:"right",size:n.size})):o}function U(e,n={}){const{signed:t,size:o}=n,i=BigInt(e);let a;o?a=t?(1n<<8n*BigInt(o)-1n)-1n:2n**(8n*BigInt(o))-1n:"number"==typeof e&&(a=BigInt(Number.MAX_SAFE_INTEGER));const r="bigint"==typeof a&&t?-a-1n:0;if(a&&i>a||i<r){const n="bigint"==typeof e?"n":"";throw new x({max:a?`${a}${n}`:void 0,min:`${r}${n}`,signed:t,size:o,value:`${e}${n}`})}const s=`0x${(t&&i<0?(1n<<BigInt(8*o))+BigInt(i):i).toString(16)}`;return o?B(s,{size:o}):s}const M=/* @__PURE__ */new TextEncoder;function P(e,n={}){return L(M.encode(e),n)}const H=/* @__PURE__ */new TextEncoder;function J(e,n={}){return"number"==typeof e||"bigint"==typeof e?function(e,n){return Y(U(e,n))}(e,n):"boolean"==typeof e?function(e,n={}){const t=new Uint8Array(1);return t[0]=Number(e),"number"==typeof n.size?(V(t,{size:n.size}),B(t,{size:n.size})):t}(e,n):T(e)?Y(e,n):W(e,n)}const G={zero:48,nine:57,A:65,F:70,a:97,f:102};function q(e){return e>=G.zero&&e<=G.nine?e-G.zero:e>=G.A&&e<=G.F?e-(G.A-10):e>=G.a&&e<=G.f?e-(G.a-10):void 0}function Y(e,n={}){let t=e;n.size&&(V(t,{size:n.size}),t=B(t,{dir:"right",size:n.size}));let o=t.slice(2);o.length%2&&(o=`0${o}`);const i=o.length/2,a=new Uint8Array(i);for(let r=0,s=0;r<i;r++){const e=q(o.charCodeAt(s++)),n=q(o.charCodeAt(s++));if(void 0===e||void 0===n)throw new v(`Invalid byte sequence ("${o[s-2]}${o[s-1]}" in "${o}").`);a[r]=16*e+n}return a}function W(e,n={}){const t=H.encode(e);return"number"==typeof n.size?(V(t,{size:n.size}),B(t,{dir:"right",size:n.size})):t}function V(e,{size:n}){if(E(e)>n)throw new C({givenSize:E(e),maxSize:n})}function z(e,n={}){const{signed:t}=n;n.size&&V(e,{size:n.size});const o=BigInt(e);if(!t)return o;const i=(e.length-2)/2;return o<=(1n<<8n*BigInt(i)-1n)-1n?o:o-BigInt(`0x${"f".padStart(2*i,"f")}`)-1n}function j(e,n={}){const t=z(e,n),o=Number(t);if(!Number.isSafeInteger(o))throw new x({max:`${Number.MAX_SAFE_INTEGER}`,min:`${Number.MIN_SAFE_INTEGER}`,signed:n.signed,size:n.size,value:`${t}n`});return o}function Q(e,n){return({exclude:t,format:o})=>({exclude:t,format:(e,i)=>{const a=n(e,i);if(t)for(const n of t)delete a[n];return{...a,...o(e,i)}},type:e})}const X={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function K(e,n){const t={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?j(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?j(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?X[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(t.authorizationList=e.authorizationList.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))),t.yParity=(()=>{if(e.yParity)return Number(e.yParity);if("bigint"==typeof t.v){if(0n===t.v||27n===t.v)return 0;if(1n===t.v||28n===t.v)return 1;if(t.v>=35n)return t.v%2n==0n?1:0}})(),"legacy"===t.type&&(delete t.accessList,delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas,delete t.yParity),"eip2930"===t.type&&(delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas),"eip1559"===t.type&&delete t.maxFeePerBlobGas,t}const Z=/* @__PURE__ */Q("transaction",K);function _(e,n){const t=(e.transactions??[]).map(e=>"string"==typeof e?e:K(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:t,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const $=/* @__PURE__ */Q("block",_),ee={"0x0":"reverted","0x1":"success"};function ne(e,n){const t={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(e=>function(e,{args:n,eventName:t}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):null===e.blockTimestamp?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...t?{args:n,eventName:t}:{}}}(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?j(e.transactionIndex):null,status:e.status?ee[e.status]:null,type:e.type?X[e.type]||e.type:null};return e.blobGasPrice&&(t.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(t.blobGasUsed=BigInt(e.blobGasUsed)),t}const te=/* @__PURE__ */Q("transactionReceipt",ne),oe={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function ie(e,n){const t={};return void 0!==e.authorizationList&&(t.authorizationList=e.authorizationList.map(e=>({address:e.address,r:e.r?U(BigInt(e.r)):e.r,s:e.s?U(BigInt(e.s)):e.s,chainId:U(e.chainId),nonce:U(e.nonce),...void 0!==e.yParity?{yParity:U(e.yParity)}:{},...void 0!==e.v&&void 0===e.yParity?{v:U(e.v)}:{}}))),void 0!==e.accessList&&(t.accessList=e.accessList),void 0!==e.blobVersionedHashes&&(t.blobVersionedHashes=e.blobVersionedHashes),void 0!==e.blobs&&("string"!=typeof e.blobs[0]?t.blobs=e.blobs.map(e=>L(e)):t.blobs=e.blobs),void 0!==e.data&&(t.data=e.data),e.account&&(t.from=e.account.address),void 0!==e.from&&(t.from=e.from),void 0!==e.gas&&(t.gas=U(e.gas)),void 0!==e.gasPrice&&(t.gasPrice=U(e.gasPrice)),void 0!==e.maxFeePerBlobGas&&(t.maxFeePerBlobGas=U(e.maxFeePerBlobGas)),void 0!==e.maxFeePerGas&&(t.maxFeePerGas=U(e.maxFeePerGas)),void 0!==e.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=U(e.maxPriorityFeePerGas)),void 0!==e.nonce&&(t.nonce=U(e.nonce)),void 0!==e.to&&(t.to=e.to),void 0!==e.type&&(t.type=oe[e.type]),void 0!==e.value&&(t.value=U(e.value)),t}const ae=2n**256n-1n;function re(e){return"string"==typeof e[0]?se(e):function(e){let n=0;for(const i of e)n+=i.length;const t=new Uint8Array(n);let o=0;for(const i of e)t.set(i,o),o+=i.length;return t}(e)}function se(e){return`0x${e.reduce((e,n)=>e+n.replace("0x",""),"")}`}class ce extends v{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class le extends v{constructor({length:e,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${e}\`).`,{name:"PositionOutOfBoundsError"})}}class de extends v{constructor({count:e,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${e}\`).`,{name:"RecursiveReadLimitExceededError"})}}const ue={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:/* @__PURE__ */new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new de({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new le({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new ce({offset:e});const n=this.position-e;this.assertPosition(n),this.position=n},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new ce({offset:e});const n=this.position+e;this.assertPosition(n),this.position=n},inspectByte(e){const n=e??this.position;return this.assertPosition(n),this.bytes[n]},inspectBytes(e,n){const t=n??this.position;return this.assertPosition(t+e-1),this.bytes.subarray(t,t+e)},inspectUint8(e){const n=e??this.position;return this.assertPosition(n),this.bytes[n]},inspectUint16(e){const n=e??this.position;return this.assertPosition(n+1),this.dataView.getUint16(n)},inspectUint24(e){const n=e??this.position;return this.assertPosition(n+2),(this.dataView.getUint16(n)<<8)+this.dataView.getUint8(n+2)},inspectUint32(e){const n=e??this.position;return this.assertPosition(n+3),this.dataView.getUint32(n)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,255&e),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this.o();const e=this.inspectByte();return this.position++,e},readBytes(e,n){this.assertReadLimit(),this.o();const t=this.inspectBytes(e);return this.position+=n??e,t},readUint8(){this.assertReadLimit(),this.o();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this.o();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this.o();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this.o();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const n=this.position;return this.assertPosition(e),this.position=e,()=>this.position=n},o(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function fe(e,{recursiveReadLimit:n=8192}={}){const t=Object.create(ue);return t.bytes=e,t.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),t.positionReadCount=/* @__PURE__ */new Map,t.recursiveReadLimit=n,t}function pe(e,n="hex"){const t=me(e),o=fe(new Uint8Array(t.length));return t.encode(o),"hex"===n?L(o.bytes):o.bytes}function me(e){return Array.isArray(e)?function(e){const n=e.reduce((e,n)=>e+n.length,0),t=he(n);return{length:n<=55?1+n:1+t+n,encode(o){n<=55?o.pushByte(192+n):(o.pushByte(247+t),1===t?o.pushUint8(n):2===t?o.pushUint16(n):3===t?o.pushUint24(n):o.pushUint32(n));for(const{encode:n}of e)n(o)}}}(e.map(e=>me(e))):function(e){const n="string"==typeof e?Y(e):e,t=he(n.length);return{length:1===n.length&&n[0]<128?1:n.length<=55?1+n.length:1+t+n.length,encode(e){1===n.length&&n[0]<128?e.pushBytes(n):n.length<=55?(e.pushByte(128+n.length),e.pushBytes(n)):(e.pushByte(183+t),1===t?e.pushUint8(n.length):2===t?e.pushUint16(n.length):3===t?e.pushUint24(n.length):e.pushUint32(n.length),e.pushBytes(n))}}}(e)}function he(e){if(e<256)return 1;if(e<65536)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new v("Length is too large.")}const we={gwei:9,wei:18},be={ether:-9,wei:9};function ge(e,n){let t=e.toString();const o=t.startsWith("-");o&&(t=t.slice(1)),t=t.padStart(n,"0");let[i,a]=[t.slice(0,t.length-n),t.slice(t.length-n)];return a=a.replace(/(0+)$/,""),`${o?"-":""}${i||"0"}${a?`.${a}`:""}`}function Ae(e,n="wei"){return ge(e,we[n])}function ye(e,n="wei"){return ge(e,be[n])}function ve(e){const n=Object.entries(e).map(([e,n])=>void 0===n||!1===n?null:[e,n]).filter(Boolean),t=n.reduce((e,[n])=>Math.max(e,n.length),0);return n.map(([e,n])=>` ${`${e}:`.padEnd(t+1)} ${n}`).join("\n")}class ke extends v{constructor({v:e}){super(`Invalid \`v\` value "${e}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class xe extends v{constructor({transaction:e}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",ve(e),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class Ce extends v{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}function Te(e){const{kzg:n}=e,t=e.to??("string"==typeof e.blobs[0]?"hex":"bytes"),o="string"==typeof e.blobs[0]?e.blobs.map(e=>Y(e)):e.blobs,i=[];for(const a of o)i.push(Uint8Array.from(n.blobToKzgCommitment(a)));return"bytes"===t?i:i.map(e=>L(e))}function Ee(e){const{kzg:n}=e,t=e.to??("string"==typeof e.blobs[0]?"hex":"bytes"),o="string"==typeof e.blobs[0]?e.blobs.map(e=>Y(e)):e.blobs,i="string"==typeof e.commitments[0]?e.commitments.map(e=>Y(e)):e.commitments,a=[];for(let r=0;r<o.length;r++){const e=o[r],t=i[r];a.push(Uint8Array.from(n.computeBlobKzgProof(e,t)))}return"bytes"===t?a:a.map(e=>L(e))}function Ie(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Ne(e,...n){if(!((t=e)instanceof Uint8Array||ArrayBuffer.isView(t)&&"Uint8Array"===t.constructor.name))throw new Error("Uint8Array expected");var t;if(n.length>0&&!n.includes(e.length))throw new Error("Uint8Array expected of length "+n+", got length="+e.length)}function Se(e,n=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(n&&e.finished)throw new Error("Hash#digest() has already been called")}function Be(e,n){Ne(e);const t=n.outputLen;if(e.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}function Fe(...e){for(let n=0;n<e.length;n++)e[n].fill(0)}function Re(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Oe(e,n){return e<<32-n|e>>>n}function De(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}const Le=/* @__PURE__ */(()=>68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])()?e=>e:function(e){for(let n=0;n<e.length;n++)e[n]=De(e[n]);return e};function Ue(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e)),Ne(e),e}class Me{}function Pe(e){const n=n=>e().update(Ue(n)).digest(),t=e();return n.outputLen=t.outputLen,n.blockLen=t.blockLen,n.create=()=>e(),n}function He(e,n,t){return e&n^~e&t}function Je(e,n,t){return e&n^e&t^n&t}class Ge extends Me{constructor(e,n,t,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=n,this.padOffset=t,this.isLE=o,this.buffer=new Uint8Array(e),this.view=Re(this.buffer)}update(e){Se(this),Ne(e=Ue(e));const{view:n,buffer:t,blockLen:o}=this,i=e.length;for(let a=0;a<i;){const r=Math.min(o-this.pos,i-a);if(r===o){const n=Re(e);for(;o<=i-a;a+=o)this.process(n,a);continue}t.set(e.subarray(a,a+r),this.pos),this.pos+=r,a+=r,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Se(this),Be(e,this),this.finished=!0;const{buffer:n,view:t,blockLen:o,isLE:i}=this;let{pos:a}=this;n[a++]=128,Fe(this.buffer.subarray(a)),this.padOffset>o-a&&(this.process(t,0),a=0);for(let d=a;d<o;d++)n[d]=0;!function(e,n,t,o){if("function"==typeof e.setBigUint64)return e.setBigUint64(n,t,o);const i=BigInt(32),a=BigInt(4294967295),r=Number(t>>i&a),s=Number(t&a),c=o?4:0,l=o?0:4;e.setUint32(n+c,r,o),e.setUint32(n+l,s,o)}(t,o-8,BigInt(8*this.length),i),this.process(t,0);const r=Re(e),s=this.outputLen;if(s%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=s/4,l=this.get();if(c>l.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<c;d++)r.setUint32(4*d,l[d],i)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const t=e.slice(0,n);return this.destroy(),t}i(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:t,length:o,finished:i,destroyed:a,pos:r}=this;return e.destroyed=a,e.finished=i,e.length=o,e.pos=r,o%n&&e.buffer.set(t),e}clone(){return this.i()}}const qe=/* @__PURE__ */Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ye=/* @__PURE__ */BigInt(2**32-1),We=/* @__PURE__ */BigInt(32);function Ve(e,n=!1){return n?{h:Number(e&Ye),l:Number(e>>We&Ye)}:{h:0|Number(e>>We&Ye),l:0|Number(e&Ye)}}const ze=/* @__PURE__ */Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),je=/* @__PURE__ */new Uint32Array(64);class Qe extends Ge{constructor(e=32){super(64,e,8,!1),this.A=0|qe[0],this.B=0|qe[1],this.C=0|qe[2],this.D=0|qe[3],this.E=0|qe[4],this.F=0|qe[5],this.G=0|qe[6],this.H=0|qe[7]}get(){const{A:e,B:n,C:t,D:o,E:i,F:a,G:r,H:s}=this;return[e,n,t,o,i,a,r,s]}set(e,n,t,o,i,a,r,s){this.A=0|e,this.B=0|n,this.C=0|t,this.D=0|o,this.E=0|i,this.F=0|a,this.G=0|r,this.H=0|s}process(e,n){for(let d=0;d<16;d++,n+=4)je[d]=e.getUint32(n,!1);for(let d=16;d<64;d++){const e=je[d-15],n=je[d-2],t=Oe(e,7)^Oe(e,18)^e>>>3,o=Oe(n,17)^Oe(n,19)^n>>>10;je[d]=o+je[d-7]+t+je[d-16]|0}let{A:t,B:o,C:i,D:a,E:r,F:s,G:c,H:l}=this;for(let d=0;d<64;d++){const e=l+(Oe(r,6)^Oe(r,11)^Oe(r,25))+He(r,s,c)+ze[d]+je[d]|0,n=(Oe(t,2)^Oe(t,13)^Oe(t,22))+Je(t,o,i)|0;l=c,c=s,s=r,r=a+e|0,a=i,i=o,o=t,t=e+n|0}t=t+this.A|0,o=o+this.B|0,i=i+this.C|0,a=a+this.D|0,r=r+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(t,o,i,a,r,s,c,l)}roundClean(){Fe(je)}destroy(){this.set(0,0,0,0,0,0,0,0),Fe(this.buffer)}}const Xe=/* @__PURE__ */Pe(()=>new Qe);function Ke(e){const{commitment:n,version:t=1}=e,o=e.to??("string"==typeof n?"hex":"bytes"),i=Xe(T(a=n,{strict:!1})?J(a):a);var a;return i.set([t],0),"bytes"===o?i:L(i)}const Ze=761855;class _e extends v{constructor({maxSize:e,size:n}){super("Blob size is too large.",{metaMessages:[`Max: ${e} bytes`,`Given: ${n} bytes`],name:"BlobSizeTooLargeError"})}}class $e extends v{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class en extends v{constructor({hash:e,size:n}){super(`Versioned hash "${e}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${n}`],name:"InvalidVersionedHashSizeError"})}}class nn extends v{constructor({hash:e,version:n}){super(`Versioned hash "${e}" version is invalid.`,{metaMessages:["Expected: 1",`Received: ${n}`],name:"InvalidVersionedHashVersionError"})}}class tn extends v{constructor({address:e}){super(`Address "${e}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class on extends v{constructor({chainId:e}){super("number"==typeof e?`Chain ID "${e}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}class an extends v{constructor({cause:e,message:n}={}){const t=n?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${t?`with reason: ${t}`:"for an unknown reason"}.`,{cause:e,name:"ExecutionRevertedError"})}}Object.defineProperty(an,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(an,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});class rn extends v{constructor({cause:e,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${ye(n)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:"FeeCapTooHighError"})}}Object.defineProperty(rn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class sn extends v{constructor({cause:e,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${ye(n)}`:""} gwei) cannot be lower than the block base fee.`,{cause:e,name:"FeeCapTooLowError"})}}Object.defineProperty(sn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class cn extends v{constructor({cause:e,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}is higher than the next one expected.`,{cause:e,name:"NonceTooHighError"})}}Object.defineProperty(cn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class ln extends v{constructor({cause:e,nonce:n}={}){super([`Nonce provided for the transaction ${n?`(${n}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join("\n"),{cause:e,name:"NonceTooLowError"})}}Object.defineProperty(ln,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class dn extends v{constructor({cause:e,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}exceeds the maximum allowed nonce.`,{cause:e,name:"NonceMaxValueError"})}}Object.defineProperty(dn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class un extends v{constructor({cause:e}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join("\n"),{cause:e,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(un,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class fn extends v{constructor({cause:e,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(fn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class pn extends v{constructor({cause:e,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction is too low.`,{cause:e,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(pn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class mn extends v{constructor({cause:e}){super("The transaction type is not supported for this chain.",{cause:e,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(mn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class hn extends v{constructor({cause:e,maxPriorityFeePerGas:n,maxFeePerGas:t}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${n?` = ${ye(n)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${t?` = ${ye(t)} gwei`:""}).`].join("\n"),{cause:e,name:"TipAboveFeeCapError"})}}Object.defineProperty(hn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class wn extends v{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:"UnknownNodeError"})}}class bn extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const n=super.get(e);return super.has(e)&&void 0!==n&&(this.delete(e),super.set(e,n)),n}set(e,n){if(super.set(e,n),this.maxSize&&this.size>this.maxSize){const e=this.keys().next().value;e&&this.delete(e)}return this}}const gn=BigInt(0),An=BigInt(1),yn=BigInt(2),vn=BigInt(7),kn=BigInt(256),xn=BigInt(113),Cn=[],Tn=[],En=[];for(let ui=0,fi=An,pi=1,mi=0;ui<24;ui++){[pi,mi]=[mi,(2*pi+3*mi)%5],Cn.push(2*(5*mi+pi)),Tn.push((ui+1)*(ui+2)/2%64);let e=gn;for(let n=0;n<7;n++)fi=(fi<<An^(fi>>vn)*xn)%kn,fi&yn&&(e^=An<<(An<</* @__PURE__ */BigInt(n))-An);En.push(e)}const In=function(e,n=!1){const t=e.length;let o=new Uint32Array(t),i=new Uint32Array(t);for(let a=0;a<t;a++){const{h:t,l:r}=Ve(e[a],n);[o[a],i[a]]=[t,r]}return[o,i]}(En,!0),Nn=In[0],Sn=In[1],Bn=(e,n,t)=>t>32?((e,n,t)=>n<<t-32|e>>>64-t)(e,n,t):((e,n,t)=>e<<t|n>>>32-t)(e,n,t),Fn=(e,n,t)=>t>32?((e,n,t)=>e<<t-32|n>>>64-t)(e,n,t):((e,n,t)=>n<<t|e>>>32-t)(e,n,t);class Rn extends Me{constructor(e,n,t,o=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=n,this.outputLen=t,this.enableXOF=o,this.rounds=i,Ie(t),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");var a;this.state=new Uint8Array(200),this.state32=(a=this.state,new Uint32Array(a.buffer,a.byteOffset,Math.floor(a.byteLength/4)))}clone(){return this.i()}keccak(){Le(this.state32),function(e,n=24){const t=new Uint32Array(10);for(let o=24-n;o<24;o++){for(let o=0;o<10;o++)t[o]=e[o]^e[o+10]^e[o+20]^e[o+30]^e[o+40];for(let o=0;o<10;o+=2){const n=(o+8)%10,i=(o+2)%10,a=t[i],r=t[i+1],s=Bn(a,r,1)^t[n],c=Fn(a,r,1)^t[n+1];for(let t=0;t<50;t+=10)e[o+t]^=s,e[o+t+1]^=c}let n=e[2],i=e[3];for(let t=0;t<24;t++){const o=Tn[t],a=Bn(n,i,o),r=Fn(n,i,o),s=Cn[t];n=e[s],i=e[s+1],e[s]=a,e[s+1]=r}for(let o=0;o<50;o+=10){for(let n=0;n<10;n++)t[n]=e[o+n];for(let n=0;n<10;n++)e[o+n]^=~t[(n+2)%10]&t[(n+4)%10]}e[0]^=Nn[o],e[1]^=Sn[o]}Fe(t)}(this.state32,this.rounds),Le(this.state32),this.posOut=0,this.pos=0}update(e){Se(this),Ne(e=Ue(e));const{blockLen:n,state:t}=this,o=e.length;for(let i=0;i<o;){const a=Math.min(n-this.pos,o-i);for(let n=0;n<a;n++)t[this.pos++]^=e[i++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:n,pos:t,blockLen:o}=this;e[t]^=n,128&n&&t===o-1&&this.keccak(),e[o-1]^=128,this.keccak()}writeInto(e){Se(this,!1),Ne(e),this.finish();const n=this.state,{blockLen:t}=this;for(let o=0,i=e.length;o<i;){this.posOut>=t&&this.keccak();const a=Math.min(t-this.posOut,i-o);e.set(n.subarray(this.posOut,this.posOut+a),o),this.posOut+=a,o+=a}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Ie(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Be(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Fe(this.state)}i(e){const{blockLen:n,suffix:t,outputLen:o,rounds:i,enableXOF:a}=this;return e||(e=new Rn(n,t,o,a,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=t,e.outputLen=o,e.enableXOF=a,e.destroyed=this.destroyed,e}}const On=/* @__PURE__ */(()=>Pe(()=>new Rn(136,1,32)))();function Dn(e,n){const t=n||"hex",o=On(T(e,{strict:!1})?J(e):e);return"bytes"===t?o:O(o)}const Ln=/* @__PURE__ */new bn(8192),Un=/^0x[a-fA-F0-9]{40}$/,Mn=/* @__PURE__ */new bn(8192);function Pn(e,n){const{strict:t=!0}=n??{},o=`${e}.${t}`;if(Mn.has(o))return Mn.get(o);const i=!(!Un.test(e)||e.toLowerCase()!==e&&t&&function(e){if(Ln.has(`${e}.undefined`))return Ln.get(`${e}.undefined`);const n=e.substring(2).toLowerCase(),t=Dn(W(n),"bytes"),o=n.split("");for(let a=0;a<40;a+=2)t[a>>1]>>4>=8&&o[a]&&(o[a]=o[a].toUpperCase()),(15&t[a>>1])>=8&&o[a+1]&&(o[a+1]=o[a+1].toUpperCase());const i=`0x${o.join("")}`;return Ln.set(`${e}.undefined`,i),i}(e)!==e);return Mn.set(o,i),i}function Hn(e,n,t,{strict:o}={}){return T(e,{strict:!1})?function(e,n,t,{strict:o}={}){Jn(e,n);const i=`0x${e.replace("0x","").slice(2*(n??0),2*(t??e.length))}`;return o&&Gn(i,n,t),i}(e,n,t,{strict:o}):function(e,n,t,{strict:o}={}){Jn(e,n);const i=e.slice(n,t);return o&&Gn(i,n,t),i}(e,n,t,{strict:o})}function Jn(e,n){if("number"==typeof n&&n>0&&n>E(e)-1)throw new N({offset:n,position:"start",size:E(e)})}function Gn(e,n,t){if("number"==typeof n&&"number"==typeof t&&E(e)!==t-n)throw new N({offset:t,position:"end",size:E(e)})}function qn(e){const{chainId:n,maxPriorityFeePerGas:t,maxFeePerGas:o,to:i}=e;if(n<=0)throw new on({chainId:n});if(i&&!Pn(i))throw new tn({address:i});if(o&&o>ae)throw new rn({maxFeePerGas:o});if(t&&o&&t>o)throw new hn({maxFeePerGas:o,maxPriorityFeePerGas:t})}function Yn(e){if(!e||0===e.length)return[];const n=[];for(let t=0;t<e.length;t++){const{address:o,storageKeys:i}=e[t];for(let e=0;e<i.length;e++)if(i[e].length-2!=64)throw new Ce({storageKey:i[e]});if(!Pn(o,{strict:!1}))throw new tn({address:o});n.push([o,i])}return n}function Wn(e,n){const t=function(e){if(e.type)return e.type;if(void 0!==e.authorizationList)return"eip7702";if(void 0!==e.blobs||void 0!==e.blobVersionedHashes||void 0!==e.maxFeePerBlobGas||void 0!==e.sidecars)return"eip4844";if(void 0!==e.maxFeePerGas||void 0!==e.maxPriorityFeePerGas)return"eip1559";if(void 0!==e.gasPrice)return void 0!==e.accessList?"eip2930":"legacy";throw new xe({transaction:e})}(e);return"eip1559"===t?function(e,n){const{chainId:t,gas:o,nonce:i,to:a,value:r,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:d}=e;qn(e);const u=Yn(l);return se(["0x02",pe([U(t),i?U(i):"0x",c?U(c):"0x",s?U(s):"0x",o?U(o):"0x",a??"0x",r?U(r):"0x",d??"0x",u,...Vn(e,n)])])}(e,n):"eip2930"===t?function(e,n){const{chainId:t,gas:o,data:i,nonce:a,to:r,value:s,accessList:c,gasPrice:l}=e;!function(e){const{chainId:n,maxPriorityFeePerGas:t,gasPrice:o,maxFeePerGas:i,to:a}=e;if(n<=0)throw new on({chainId:n});if(a&&!Pn(a))throw new tn({address:a});if(t||i)throw new v("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(o&&o>ae)throw new rn({maxFeePerGas:o})}(e);const d=Yn(c);return se(["0x01",pe([U(t),a?U(a):"0x",l?U(l):"0x",o?U(o):"0x",r??"0x",s?U(s):"0x",i??"0x",d,...Vn(e,n)])])}(e,n):"eip4844"===t?function(e,n){const{chainId:t,gas:o,nonce:i,to:a,value:r,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:d,data:u}=e;!function(e){const{blobVersionedHashes:n}=e;if(n){if(0===n.length)throw new $e;for(const e of n){const n=E(e),t=j(Hn(e,0,1));if(32!==n)throw new en({hash:e,size:n});if(1!==t)throw new nn({hash:e,version:t})}}qn(e)}(e);let f=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(void 0===f||void 0===p)){const n="string"==typeof e.blobs[0]?e.blobs:e.blobs.map(e=>L(e)),t=e.kzg,o=Te({blobs:n,kzg:t});void 0===f&&(f=function(e){const{commitments:n,version:t}=e,o=e.to??("string"==typeof n[0]?"hex":"bytes"),i=[];for(const a of n)i.push(Ke({commitment:a,to:o,version:t}));return i}({commitments:o})),void 0===p&&(p=function(e){const{data:n,kzg:t,to:o}=e,i=e.blobs??function(e){const n=e.to??("string"==typeof e.data?"hex":"bytes"),t="string"==typeof e.data?Y(e.data):e.data,o=E(t);if(!o)throw new $e;if(o>Ze)throw new _e({maxSize:Ze,size:o});const i=[];let a=!0,r=0;for(;a;){const e=fe(new Uint8Array(131072));let n=0;for(;n<4096;){const o=t.slice(r,r+31);if(e.pushByte(0),e.pushBytes(o),o.length<31){e.pushByte(128),a=!1;break}n++,r+=31}i.push(e)}return"bytes"===n?i.map(e=>e.bytes):i.map(e=>L(e.bytes))}({data:n,to:o}),a=e.commitments??Te({blobs:i,kzg:t,to:o}),r=e.proofs??Ee({blobs:i,commitments:a,kzg:t,to:o}),s=[];for(let c=0;c<i.length;c++)s.push({blob:i[c],commitment:a[c],proof:r[c]});return s}({blobs:n,commitments:o,proofs:Ee({blobs:n,commitments:o,kzg:t})}))}const m=Yn(d),h=[U(t),i?U(i):"0x",l?U(l):"0x",c?U(c):"0x",o?U(o):"0x",a??"0x",r?U(r):"0x",u??"0x",m,s?U(s):"0x",f??[],...Vn(e,n)],w=[],b=[],g=[];if(p)for(let A=0;A<p.length;A++){const{blob:e,commitment:n,proof:t}=p[A];w.push(e),b.push(n),g.push(t)}return se(["0x03",pe(p?[h,w,b,g]:h)])}(e,n):"eip7702"===t?function(e,n){const{authorizationList:t,chainId:o,gas:i,nonce:a,to:r,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:d,data:u}=e;!function(e){const{authorizationList:n}=e;if(n)for(const t of n){const{chainId:e}=t,n=t.address;if(!Pn(n))throw new tn({address:n});if(e<0)throw new on({chainId:e})}qn(e)}(e);const f=Yn(d),p=function(e){if(!e||0===e.length)return[];const n=[];for(const t of e){const{chainId:e,nonce:o,...i}=t,a=t.address;n.push([e?O(e):"0x",a,o?O(o):"0x",...Vn({},i)])}return n}(t);return se(["0x04",pe([U(o),a?U(a):"0x",l?U(l):"0x",c?U(c):"0x",i?U(i):"0x",r??"0x",s?U(s):"0x",u??"0x",f,p,...Vn(e,n)])])}(e,n):function(e,n){const{chainId:t=0,gas:o,data:i,nonce:a,to:r,value:s,gasPrice:c}=e;!function(e){const{chainId:n,maxPriorityFeePerGas:t,gasPrice:o,maxFeePerGas:i,to:a}=e;if(a&&!Pn(a))throw new tn({address:a});if(void 0!==n&&n<=0)throw new on({chainId:n});if(t||i)throw new v("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(o&&o>ae)throw new rn({maxFeePerGas:o})}(e);let l=[a?U(a):"0x",c?U(c):"0x",o?U(o):"0x",r??"0x",s?U(s):"0x",i??"0x"];if(n){const e=(()=>{if(n.v>=35n)return(n.v-35n)/2n>0?n.v:27n+(35n===n.v?0n:1n);if(t>0)return BigInt(2*t)+BigInt(35n+n.v-27n);const e=27n+(27n===n.v?0n:1n);if(n.v!==e)throw new ke({v:n.v});return e})(),o=I(n.r),i=I(n.s);l=[...l,U(e),"0x00"===o?"0x":o,"0x00"===i?"0x":i]}else t>0&&(l=[...l,U(t),"0x","0x"]);return pe(l)}(e,n)}function Vn(e,n){const t=n??e,{v:o,yParity:i}=t;if(void 0===t.r)return[];if(void 0===t.s)return[];if(void 0===o&&void 0===i)return[];const a=I(t.r),r=I(t.s);return["number"==typeof i?i?U(1):"0x":0n===o?"0x":1n===o?U(1):27n===o?"0x":U(1),"0x00"===a?"0x":a,"0x00"===r?"0x":r]}const zn={blockTime:2e3,contracts:{gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},formatters:{block:/* @__PURE__ */$({format(e){const n=e.transactions?.map(e=>{if("string"==typeof e)return e;const n=K(e);return"0x7e"===n.typeHex&&(n.isSystemTx=e.isSystemTx,n.mint=e.mint?z(e.mint):void 0,n.sourceHash=e.sourceHash,n.type="deposit"),n});return{transactions:n,stateRoot:e.stateRoot}}}),transaction:/* @__PURE__ */Z({format(e){const n={};return"0x7e"===e.type&&(n.isSystemTx=e.isSystemTx,n.mint=e.mint?z(e.mint):void 0,n.sourceHash=e.sourceHash,n.type="deposit"),n}}),transactionReceipt:/* @__PURE__ */te({format:e=>({l1GasPrice:e.l1GasPrice?z(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?z(e.l1GasUsed):null,l1Fee:e.l1Fee?z(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null})})},serializers:{transaction:function(e,n){return function(e){return"deposit"===e.type||void 0!==e.sourceHash}(e)?function(e){!function(e){const{from:n,to:t}=e;if(n&&!Pn(n))throw new tn({address:n});if(t&&!Pn(t))throw new tn({address:t})}(e);const{sourceHash:n,data:t,from:o,gas:i,isSystemTx:a,mint:r,to:s,value:c}=e;return se(["0x7e",pe([n,o,s??"0x",r?O(r):"0x",c?O(c):"0x",i?O(i):"0x",a?"0x1":"0x",t??"0x"])])}(e):Wn(e,n)}}},jn=/* @__PURE__ */g({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:250,rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://arbiscan.io",apiUrl:"https://api.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}}),Qn=/* @__PURE__ */g({id:43114,name:"Avalanche",blockTime:1700,nativeCurrency:{decimals:18,name:"Avalanche",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax.network/ext/bc/C/rpc"]}},blockExplorers:{default:{name:"SnowTrace",url:"https://snowtrace.io",apiUrl:"https://api.snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:11907934}}}),Xn=1,Kn=/* @__PURE__ */g({...zn,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...zn.contracts,disputeGameFactory:{[Xn]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[Xn]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[Xn]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[Xn]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:1}),Zn=/* @__PURE__ */g({id:56,name:"BNB Smart Chain",blockTime:750,nativeCurrency:{decimals:18,name:"BNB",symbol:"BNB"},rpcUrls:{default:{http:["https://56.rpc.thirdweb.com"]}},blockExplorers:{default:{name:"BscScan",url:"https://bscscan.com",apiUrl:"https://api.bscscan.com/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:15921452}}});function _n(e){return"string"==typeof e?{address:e,type:"json-rpc"}:e}class $n extends v{constructor({docsPath:e}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join("\n"),{docsPath:e,docsSlug:"account",name:"AccountNotFoundError"})}}function et(e,{includeName:n=!1}={}){if("function"!==e.type&&"event"!==e.type&&"error"!==e.type)throw new lt(e.type);return`${e.name}(${nt(e.inputs,{includeName:n})})`}function nt(e,{includeName:n=!1}={}){return e?e.map(e=>function(e,{includeName:n}){return e.type.startsWith("tuple")?`(${nt(e.components,{includeName:n})})${e.type.slice(5)}`:e.type+(n&&e.name?` ${e.name}`:"")}(e,{includeName:n})).join(n?", ":","):""}class tt extends v{constructor({expectedLength:e,givenLength:n,type:t}){super([`ABI encoding array length mismatch for type ${t}.`,`Expected length: ${e}`,`Given length: ${n}`].join("\n"),{name:"AbiEncodingArrayLengthMismatchError"})}}class ot extends v{constructor({expectedSize:e,value:n}){super(`Size of bytes "${n}" (bytes${E(n)}) does not match expected size (bytes${e}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class it extends v{constructor({expectedLength:e,givenLength:n}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${e}`,`Given length (values): ${n}`].join("\n"),{name:"AbiEncodingLengthMismatchError"})}}class at extends v{constructor(e,{docsPath:n}={}){super([`Function ${e?`"${e}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join("\n"),{docsPath:n,name:"AbiFunctionNotFoundError"})}}class rt extends v{constructor(e,n){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${e.type}\` in \`${et(e.abiItem)}\`, and`,`\`${n.type}\` in \`${et(n.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}class st extends v{constructor(e,{docsPath:n}){super([`Type "${e}" is not a valid encoding type.`,"Please provide a valid ABI type."].join("\n"),{docsPath:n,name:"InvalidAbiEncodingType"})}}class ct extends v{constructor(e){super([`Value "${e}" is not a valid array.`].join("\n"),{name:"InvalidArrayError"})}}class lt extends v{constructor(e){super([`"${e}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join("\n"),{name:"InvalidDefinitionTypeError"})}}const dt=/^tuple(?<array>(\[(\d*)\])*)$/;function ut(e){let n=e.type;if(dt.test(e.type)&&"components"in e){n="(";const t=e.components.length;for(let i=0;i<t;i++)n+=ut(e.components[i]),i<t-1&&(n+=", ");const o=function(e,n){const t=e.exec(n);return t?.groups}(dt,e.type);return n+=`)${o?.array||""}`,ut({...e,type:n})}return"indexed"in e&&e.indexed&&(n=`${n} indexed`),e.name?`${n} ${e.name}`:n}function ft(e){let n="";const t=e.length;for(let o=0;o<t;o++)n+=ut(e[o]),o!==t-1&&(n+=", ");return n}function pt(e){return Dn(J(function(e){let n=!0,t="",o=0,i="",a=!1;for(let r=0;r<e.length;r++){const s=e[r];if(["(",")",","].includes(s)&&(n=!0),"("===s&&o++,")"===s&&o--,n)if(0!==o)" "!==s?(i+=s,t+=s):","!==e[r-1]&&","!==t&&",("!==t&&(t="",n=!1);else if(" "===s&&["event","function",""].includes(i))i="";else if(i+=s,")"===s){a=!0;break}}if(!a)throw new v("Unable to normalize signature.");return i}("string"==typeof(n=e)?n:"function"===(t=n).type?`function ${t.name}(${ft(t.inputs)})${t.stateMutability&&"nonpayable"!==t.stateMutability?` ${t.stateMutability}`:""}${t.outputs?.length?` returns (${ft(t.outputs)})`:""}`:"event"===t.type?`event ${t.name}(${ft(t.inputs)})`:"error"===t.type?`error ${t.name}(${ft(t.inputs)})`:"constructor"===t.type?`constructor(${ft(t.inputs)})${"payable"===t.stateMutability?" payable":""}`:"fallback"===t.type?"fallback() external"+("payable"===t.stateMutability?" payable":""):"receive() external payable")));var n,t}const mt=e=>Hn(pt(e),0,4),ht=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function wt(e,n){if(e.length!==n.length)throw new it({expectedLength:e.length,givenLength:n.length});const t=function({params:e,values:n}){const t=[];for(let o=0;o<e.length;o++)t.push(bt({param:e[o],value:n[o]}));return t}({params:e,values:n}),o=gt(t);return 0===o.length?"0x":o}function bt({param:e,value:n}){const t=function(e){const n=e.match(/^(.*)\[(\d+)?\]$/);return n?[n[2]?Number(n[2]):null,n[1]]:void 0}(e.type);if(t){const[o,i]=t;return function(e,{length:n,param:t}){const o=null===n;if(!Array.isArray(e))throw new ct(e);if(!o&&e.length!==n)throw new tt({expectedLength:n,givenLength:e.length,type:`${t.type}[${n}]`});let i=!1;const a=[];for(let r=0;r<e.length;r++){const n=bt({param:t,value:e[r]});n.dynamic&&(i=!0),a.push(n)}if(o||i){const e=gt(a);if(o){const n=U(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?re([n,e]):n}}if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:re(a.map(({encoded:e})=>e))}}(n,{length:o,param:{...e,type:i}})}if("tuple"===e.type)return function(e,{param:n}){let t=!1;const o=[];for(let i=0;i<n.components.length;i++){const a=n.components[i],r=bt({param:a,value:e[Array.isArray(e)?i:a.name]});o.push(r),r.dynamic&&(t=!0)}return{dynamic:t,encoded:t?gt(o):re(o.map(({encoded:e})=>e))}}(n,{param:e});if("address"===e.type)return function(e){if(!Pn(e))throw new tn({address:e});return{dynamic:!1,encoded:F(e.toLowerCase())}}(n);if("bool"===e.type)return function(e){if("boolean"!=typeof e)throw new v(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:F(D(e))}}(n);if(e.type.startsWith("uint")||e.type.startsWith("int")){const t=e.type.startsWith("int"),[,,o="256"]=ht.exec(e.type)??[];return function(e,{signed:n,size:t=256}){if("number"==typeof t){const o=2n**(BigInt(t)-(n?1n:0n))-1n,i=n?-o-1n:0n;if(e>o||e<i)throw new x({max:o.toString(),min:i.toString(),signed:n,size:t/8,value:e.toString()})}return{dynamic:!1,encoded:U(e,{size:32,signed:n})}}(n,{signed:t,size:Number(o)})}if(e.type.startsWith("bytes"))return function(e,{param:n}){const[,t]=n.type.split("bytes"),o=E(e);if(!t){let n=e;return o%32!=0&&(n=F(n,{dir:"right",size:32*Math.ceil((e.length-2)/2/32)})),{dynamic:!0,encoded:re([F(U(o,{size:32})),n])}}if(o!==Number.parseInt(t,10))throw new ot({expectedSize:Number.parseInt(t,10),value:e});return{dynamic:!1,encoded:F(e,{dir:"right"})}}(n,{param:e});if("string"===e.type)return function(e){const n=P(e),t=Math.ceil(E(n)/32),o=[];for(let i=0;i<t;i++)o.push(F(Hn(n,32*i,32*(i+1)),{dir:"right"}));return{dynamic:!0,encoded:re([F(U(E(n),{size:32})),...o])}}(n);throw new st(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function gt(e){let n=0;for(let a=0;a<e.length;a++){const{dynamic:t,encoded:o}=e[a];n+=t?32:E(o)}const t=[],o=[];let i=0;for(let a=0;a<e.length;a++){const{dynamic:r,encoded:s}=e[a];r?(t.push(U(n+i,{size:32})),o.push(s),i+=E(s)):t.push(s)}return re([...t,...o])}const At=pt;function yt(e,n){const t=typeof e,o=n.type;switch(o){case"address":return Pn(e,{strict:!1});case"bool":return"boolean"===t;case"function":case"string":return"string"===t;default:return"tuple"===o&&"components"in n?Object.values(n.components).every((n,o)=>"object"===t&&yt(Object.values(e)[o],n)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(o)?"number"===t||"bigint"===t:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(o)?"string"===t||e instanceof Uint8Array:!!/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(o)&&Array.isArray(e)&&e.every(e=>yt(e,{...n,type:o.replace(/(\[[0-9]{0,}\])$/,"")}))}}function vt(e,n,t){for(const o in e){const i=e[o],a=n[o];if("tuple"===i.type&&"tuple"===a.type&&"components"in i&&"components"in a)return vt(i.components,a.components,t[o]);const r=[i.type,a.type];if((()=>!(!r.includes("address")||!r.includes("bytes20"))||(r.includes("address")&&r.includes("string")||!(!r.includes("address")||!r.includes("bytes")))&&Pn(t[o],{strict:!1}))())return r}}function kt(e){return e.reduce((e,{slot:n,value:t})=>`${e} ${n}: ${t}\n`,"")}class xt extends v{constructor(e,{account:n,docsPath:t,chain:o,data:i,gas:a,gasPrice:r,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:d,value:u,stateOverride:f}){const p=n?_n(n):void 0;let m=ve({from:p?.address,to:d,value:void 0!==u&&`${Ae(u)} ${o?.nativeCurrency?.symbol||"ETH"}`,data:i,gas:a,gasPrice:void 0!==r&&`${ye(r)} gwei`,maxFeePerGas:void 0!==s&&`${ye(s)} gwei`,maxPriorityFeePerGas:void 0!==c&&`${ye(c)} gwei`,nonce:l});f&&(m+=`\n${function(e){return e.reduce((e,{address:n,...t})=>{let o=`${e} ${n}:\n`;return t.nonce&&(o+=` nonce: ${t.nonce}\n`),t.balance&&(o+=` balance: ${t.balance}\n`),t.code&&(o+=` code: ${t.code}\n`),t.state&&(o+=" state:\n",o+=kt(t.state)),t.stateDiff&&(o+=" stateDiff:\n",o+=kt(t.stateDiff)),o}," State Override:\n").slice(0,-1)}(f)}`),super(e.shortMessage,{cause:e,docsPath:t,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Raw Call Arguments:",m].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}function Ct(e,{format:n}){if(!n)return{};const t={};return function n(o){const i=Object.keys(o);for(const a of i)a in e&&(t[a]=e[a]),o[a]&&"object"==typeof o[a]&&!Array.isArray(o[a])&&n(o[a])}(n(e||{})),t}async function Tt(e,n){const{account:t=e.account}=n;if(!t)throw new $n;const o=_n(t);try{const{accessList:t,blockNumber:i,blockTag:a,data:r,gas:s,gasPrice:c,maxFeePerGas:l,maxPriorityFeePerGas:d,nonce:u,to:f,value:p,...m}=n,h=("bigint"==typeof i?U(i):void 0)||a;!function(e){const{account:n,maxFeePerGas:t,maxPriorityFeePerGas:o,to:i}=e,a=n?_n(n):void 0;if(a&&!Pn(a.address))throw new tn({address:a.address});if(i&&!Pn(i))throw new tn({address:i});if(t&&t>ae)throw new rn({maxFeePerGas:t});if(o&&t&&o>t)throw new hn({maxFeePerGas:t,maxPriorityFeePerGas:o})}(n);const w=e.chain?.formatters?.transactionRequest?.format,b=(w||ie)({...Ct(m,{format:w}),account:o,accessList:t,data:r,gas:s,gasPrice:c,maxFeePerGas:l,maxPriorityFeePerGas:d,nonce:u,to:f,value:p},"estimateGas"),{baseFeePerGas:g,gasLimit:A,priorityFeePerGas:y}=await e.request({method:"linea_estimateGas",params:h?[b,h]:[b]});return{baseFeePerGas:BigInt(g),gasLimit:BigInt(A),priorityFeePerGas:BigInt(y)}}catch(i){throw function(e,{docsPath:n,...t}){const o=(()=>{const n=function(e,n){const t=(e.details||"").toLowerCase(),o=e instanceof v?e.walk(e=>e?.code===an.code):e;return o instanceof v?new an({cause:e,message:o.details}):an.nodeMessage.test(t)?new an({cause:e,message:e.details}):rn.nodeMessage.test(t)?new rn({cause:e,maxFeePerGas:n?.maxFeePerGas}):sn.nodeMessage.test(t)?new sn({cause:e,maxFeePerGas:n?.maxFeePerGas}):cn.nodeMessage.test(t)?new cn({cause:e,nonce:n?.nonce}):ln.nodeMessage.test(t)?new ln({cause:e,nonce:n?.nonce}):dn.nodeMessage.test(t)?new dn({cause:e,nonce:n?.nonce}):un.nodeMessage.test(t)?new un({cause:e}):fn.nodeMessage.test(t)?new fn({cause:e,gas:n?.gas}):pn.nodeMessage.test(t)?new pn({cause:e,gas:n?.gas}):mn.nodeMessage.test(t)?new mn({cause:e}):hn.nodeMessage.test(t)?new hn({cause:e,maxFeePerGas:n?.maxFeePerGas,maxPriorityFeePerGas:n?.maxPriorityFeePerGas}):new wn({cause:e})}(e,t);return n instanceof wn?e:n})();return new xt(o,{docsPath:n,...t})}(i,{...n,account:o,chain:e.chain})}}async function Et({client:e,multiply:n,request:t,type:o}){try{const i=await Tt(e,{...t,account:t?.account}),{priorityFeePerGas:a}=i,r=n(BigInt(i.baseFeePerGas))+a;return"legacy"===o?{gasPrice:r}:{maxFeePerGas:r,maxPriorityFeePerGas:a}}catch{return null}}const It=/* @__PURE__ */g({fees:{estimateFeesPerGas:Et,async maxPriorityFeePerGas({block:e,client:n,request:t}){const o=await Et({block:e,client:n,multiply:e=>e,request:t,type:"eip1559"});return o?.maxPriorityFeePerGas?o.maxPriorityFeePerGas:null}},id:59144,name:"Linea Mainnet",blockTime:2e3,nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://lineascan.build",apiUrl:"https://api.lineascan.build/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:42},ensRegistry:{address:"0x50130b669B28C339991d8676FA73CF122a121267",blockCreated:6682888},ensUniversalResolver:{address:"0x4D41762915F83c76EcaF6776d9b08076aA32b492",blockCreated:22222151}},ensTlds:[".linea.eth"],testnet:!1}),Nt=/* @__PURE__ */g({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),St=1,Bt=/* @__PURE__ */g({...zn,id:10,name:"OP Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.optimism.io"]}},blockExplorers:{default:{name:"Optimism Explorer",url:"https://optimistic.etherscan.io",apiUrl:"https://api-optimistic.etherscan.io/api"}},contracts:{...zn.contracts,disputeGameFactory:{[St]:{address:"0xe5965Ab5962eDc7477C8520243A95517CD252fA9"}},l2OutputOracle:{[St]:{address:"0xdfe97868233d1aa22e815a266982f2cf17685a27"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:4286263},portal:{[St]:{address:"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"}},l1StandardBridge:{[St]:{address:"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1"}}},sourceId:1}),Ft="/docs/contract/encodeFunctionData";function Rt(e){const{args:n}=e,{abi:t,functionName:o}=1===e.abi.length&&e.functionName?.startsWith("0x")?e:function(e){const{abi:n,args:t,functionName:o}=e;let i=n[0];if(o){const e=function(e){const{abi:n,args:t=[],name:o}=e,i=T(o,{strict:!1}),a=n.filter(e=>i?"function"===e.type?mt(e)===o:"event"===e.type&&At(e)===o:"name"in e&&e.name===o);if(0===a.length)return;if(1===a.length)return a[0];let r;for(const s of a)if("inputs"in s)if(t&&0!==t.length){if(s.inputs&&0!==s.inputs.length&&s.inputs.length===t.length&&t.every((e,n)=>{const t="inputs"in s&&s.inputs[n];return!!t&&yt(e,t)})){if(r&&"inputs"in r&&r.inputs){const e=vt(s.inputs,r.inputs,t);if(e)throw new rt({abiItem:s,type:e[0]},{abiItem:r,type:e[1]})}r=s}}else if(!s.inputs||0===s.inputs.length)return s;return r||a[0]}({abi:n,args:t,name:o});if(!e)throw new at(o,{docsPath:Ft});i=e}if("function"!==i.type)throw new at(void 0,{docsPath:Ft});return{abi:[i],functionName:mt(et(i))}}(e),i=t[0];return se([o,("inputs"in i&&i.inputs?wt(i.inputs,n??[]):void 0)??"0x"])}const Ot=1,Dt={1:{...Nt,logo:"data:image/png;base64,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",chainId:1,chainType:"ether",chainTypeMoralis:"eth",customName:"Ethereum",tokenTrendingDefault:["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"],isSupported:!0},10:{...Bt,logo:"data:image/png;base64,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",chainId:10,chainType:"optimism",chainTypeMoralis:"optimism",customName:"Optimism",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0x68f180fcce6836688e9084f035309e29bf0a2095","0xc47da4cb96ce65a96844a01bfae509f9d5454534"],isSupported:!0},56:{...Zn,logo:"data:image/png;base64,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",chainId:56,chainType:"bsc",chainTypeMoralis:"bsc",customName:"BNB Chain",tokenTrendingDefault:["0x2170ed0880ac9a755fd29b2688956bd959f933f8","0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c"],isSupported:!0},137:{.../* @__PURE__ */g({id:137,name:"Polygon",blockTime:2e3,nativeCurrency:{name:"POL",symbol:"POL",decimals:18},rpcUrls:{default:{http:["https://polygon.drpc.org"]}},blockExplorers:{default:{name:"PolygonScan",url:"https://polygonscan.com",apiUrl:"https://api.etherscan.io/v2/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:25770160}}}),rpcUrls:{default:{http:["https://polygon-bor-rpc.publicnode.com"]}},logo:"data:image/png;base64,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",chainId:137,chainType:"matic",chainTypeMoralis:"polygon",tokenTrendingDefault:["0x7ceb23fd6bc0add59e62ac25578270cff1b9f619","0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6"],isSupported:!0},8453:{...Kn,logo:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAACFhJREFUeAHtnT1sHEUUx/+7pCJIuAltzjVIdppQ+lwT5A8kKG3TIYESSwhKn0sQUhwpiDJ2SSRiI5Ha55YmjpTUXrehuQY6e5j/zq19n769eTP7dfuTLne52Lm9/e97b2b2zXsBis6qmtN/NvEe7uIS8wj0s0JDP/P95NFLJ34oRN2/v0aIM1zoZ+AUR0EHBSZA0VhVDX3yV/QJXQSFgD75bolAYQIcxSIdBacoEMUQZFU19ZGs6scK3AswiUg/2tr6DrQ4beRMfoLQFYV4qC2BQiyiGET6WFrack60OBFyIHtBVtWi/tRN/djAsP8vEvvaanazFiY7QRgbAjzTjybKRabC+BfEuKYd/eoRyk0mwvgV5AvFGNFCsV3TNJgY80dwAE/4EaS87ikdSo/KFLZ8WEsI19AqQryqrBiE343fcV05d8PuLKQ6sWJa9vAi2IYj3AhiXNRhgeYTWRPpgL/swoXJBaEYIY6R/Qy7aDgRRSYIJ3lGjKqMoqR0uqJYr4/ZC5KzGI2P9Ae/rx+3h/+t86++XP8xzzkgEsVOkIzFaH4MLMwDiw3zmmKkgYKcRnr9/UyvHr41r6N3yAJrUaYXxMSMV/AsBk/8xrL+uPujrcAWCrOvL6WTt97FoSj3po0p0wniOYDzxD98oMfNn7kVYRwU58lfwNHf8MXUgX46QdaVNn73YtAFtb40FpEHtJTWc+DgGO5R+maYikVJdacyvSDr6jEcT/qytohJnOrLbe1nL64s9eQxnSBmkXAPDmGMePZt+gCdJbSW3d/hmm0tysRzOFkQD0H88dfGKooMrWR5x6m1pArykxcXuWrrSAxaw6tfii8GuTrWB3DFXPdc3sjNgqyrTVertvyCx7t6LjGP0sC49ngL2PkKbuC5nLBCPN5lORziUoTDH4oZL9LiMK504vyyMaOu8RYSxHf6GhCSWEaZxSAcljuylOQ2xUhGW4ixjjMIqYoYvTizFGMl0eDboy3EWIcI+t+qiUGcTWDHBPhhQczNpg0I2duqnhgJ/G5c6BTBAM9F2gHCET/YgpCdHJdBsoDWf/ijWf4XwYTBobd6cRA7aBVnv2Em2NMLk9sTZxY3MjTi6reQUD7n4HLIrMBJI5eABHDE1TcvGXRZOxCwuSw+wNIhHgqrOOP/imtBuCVAOO9g7Jg1eAGKLkJm6phzHxP2/MMmBNA6qjqqmoTYSrg3pkuvIEsQMIvWkeDASq7clhHEjIcbsGSaxIOqIrSSRjzCRSJIKMs43KzwnCMtvChF85LQuK3EZa3AEk6SqjwJnIZHn8OeAAt8SgSxthCm6dQYliRxRJk5YNjdB96AJbM277gJodtiHJmjhYjix1ItSB+rn8KeW1gKJQGdI6tZH10NIloF1utaYVymIo8PrygLkpwBrQVd1gIsqQUZRnhOGqI9hrW7GobTAEFgv3tLj38bsITp/u03KB1zH/i1bv7/nf8wPQHmbkGQBPdIdnMmNzab+r7Nd/BG4451xmM87K23oxWHOff71GtE1IIUjFqQgsGgzowHqzgS7/+TpsLkQPMTFJWOWJB66X0Ybsm2pEOXZV2lM6d94IXHepOPQkRBIlhyKk7Hrh7Sc8LFxXNYcmr9m9Xl3N5dkdehnq5HsISmWbutfkRLSQFdlkCQuHRF7bb6YDECay5xGuICbQg4kRxAxaDHYD0VAVoQk3kdwZJ2LcgVwnMRUQszU1c4gSU8iDIuwftAVJpDxc0CuksnAUQF6Wu3ZdyVyEJCHJoncokjCNh7WY+2nryEjIteCzG7QSNYQjG8VNIpEcIST1FS7Ox6tVfhTwjYk14hJYYF0YQ1UdrJi15BRG6LB8RiYLMGv/fuc8hg75Iu14KwmYmSBXduqp+1WHLQFltH1NtIpv8GVSBzWxRDfLWUiLgSnbSqw8A29H5BLuMiZaKmWdwqPCvzkmXRFtkuF/1zwH5BOGtX1/7Mlq1fq++66AkcFDfbH6x3MnxPXekfEsIDXfsJlYVD3JabAjS7g28NC8LxsJItOBLOWrdLmkh3E7zYtp7CBfvpqwGxWYkDGE88FJPMjaQOoxN3PMI6yGhBqJzCEzjAU4XPzHFcFHN/XDHM8XlZpneUkzalZRfFsRjROOsg4wUx90nG/uK0lFUUxsJ73zssF8t5xw2lYifX7V1Tx3DYT6pMBTG5FOQ0w5+DpcPgxky2yamkJsA7cV2E9+Bp/kVeHWbQ5rDd8XaLTprB0mRBjHk5c12E5r/51AwfM+rnkRpaxfw3XjompGpKOdllJaypPf3TD+EYui5uoHFWrNgSxgrGOC85AhyxHgapGhmkF4QFBgIcw1MnNgrDEuQr97ONL16FMER4EaTem5teEJJRRzYWs9lo+stSZ4xIGrkI03Ym4bmhC8mo5RGhpbBcBa2GmzRtLSfpRXXyppslk01SRgYtjxJy6tDGLccUhpvz5+8AH942Gyx7SbYCnL/rJq6d55JdmWFTsIS6h+E4cmibl1CLMkiOjSUT6tarCU5ar8o3ffIAeCCCvK7Sw+QQR82J3ezC5YFwrO1oyb5U8DsrN2IQucsaxLT04e3/qscVsxqeovPaNLgXhJiWF89crhIXCq7acqHQkVX04keQBDYVM9bSQDXwYhW9+BWEGGtpuWgSkysmVrTStlC1xb8gCWUVxqN7GkV2giSUQxiTMKjiZARRvvO0ZC9IgplQNlGkGMP5BPObmVLr2TWNIz9BemH/DLbLMB0aGsiWKN4bw+0YPVnoeVEMQXox62O8CcZ69KKuDWOIwA0y3Fd5oYXIKDakpXiCDGJKoS/iPSzEDbSSsrameOcchiegHZgY0ImLIrB0CBudXcQlRNp5uaK0/A/QqtacrEVArQAAAABJRU5ErkJggg==",chainId:8453,chainType:"base",chainTypeMoralis:"base",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf","0xc47da4cb96ce65a96844a01bfae509f9d5454534"],isSupported:!0},42161:{...jn,logo:"data:image/png;base64,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",chainId:42161,chainType:"arbitrum",chainTypeMoralis:"arbitrum",customName:"Arbitrum",tokenTrendingDefault:["0x82af49447d8a07e3bd95bd0d56f35241523fbab1","0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f"],isSupported:!0},43114:{...Qn,logo:"data:image/png;base64,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",chainId:43114,chainType:"avax",chainTypeMoralis:"avalanche",tokenTrendingDefault:["0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB","0x0555E30da8f98308EdB960aa94C0Db47230d2B9c"],isSupported:!0},59144:{...It,logo:"data:image/png;base64,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",chainId:59144,chainType:"linea",chainTypeMoralis:"linea",tokenTrendingDefault:["0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f","0x3aab2285ddcddad8edf438c1bab47e1a9d05a9b4"],isSupported:!0},130:{.../* @__PURE__ */g({...zn,id:130,name:"Unichain",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:1e3,rpcUrls:{default:{http:["https://mainnet.unichain.org/"]}},blockExplorers:{default:{name:"Uniscan",url:"https://uniscan.xyz",apiUrl:"https://api.uniscan.xyz/api"}},contracts:{...zn.contracts,multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:0},disputeGameFactory:{[Ot]:{address:"0x2F12d621a16e2d3285929C9996f478508951dFe4"}},portal:{[Ot]:{address:"0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2"}},l1StandardBridge:{[Ot]:{address:"0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA"}}},sourceId:1}),logo:"data:image/png;base64,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",chainId:130,chainType:"unichain",chainTypeMoralis:"unichain",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0x0555e30da8f98308edb960aa94c0db47230d2b9c"],isSupported:!1}},Lt=e=>{const n=Object.values(Dt).find(n=>n.chainTypeMoralis===e);return n?.chainType||null},Ut=e=>{const n=/* @__PURE__ */new Date,t=new Date(n);t.setDate(t.getDate()-1);const o=new Date(e);return o.setHours(0,0,0,0),n.setHours(0,0,0,0),t.setHours(0,0,0,0),o.getTime()===n.getTime()?"Today":o.getTime()===t.getTime()?"Yesterday":o.toLocaleDateString("en-US",{month:"short",day:"numeric",year:o.getFullYear()!==n.getFullYear()?"numeric":void 0})},Mt=e=>new Promise(n=>setTimeout(n,e||0)),Pt=(e,n=5,t=5)=>(e=e||"",e?.length<=n+t?e:`${e.substr(0,n)}...${e.substr(e.length-t,t)}`),Ht=e=>{if(!e)return"";const n=Dt[e];return n?n.chainTypeMoralis:""},Jt=e=>{if(!e)return"";const n=Dt[e];return n?n.chainType:""},Gt={getItem(e){if("undefined"==typeof window)return null;try{return window.localStorage.getItem(e)}catch{return null}},setItem(e,n){if("undefined"!=typeof window)try{window.localStorage.setItem(e,n)}catch{}},removeItem(e){if("undefined"!=typeof window)try{window.localStorage.removeItem(e)}catch{}},get length(){if("undefined"==typeof window)return 0;try{return window.localStorage.length}catch{return 0}},key(e){if("undefined"==typeof window)return null;try{return window.localStorage.key(e)}catch{return null}}};class qt extends v{constructor({value:e}){super(`Number \`${e}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}}function Yt(e,n){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new qt({value:e});let[t,o="0"]=e.split(".");const i=t.startsWith("-");if(i&&(t=t.slice(1)),o=o.replace(/(0+)$/,""),0===n)1===Math.round(Number(`.${o}`))&&(t=`${BigInt(t)+1n}`),o="";else if(o.length>n){const[e,i,a]=[o.slice(0,n-1),o.slice(n-1,n),o.slice(n)],r=Math.round(Number(`${i}.${a}`));o=r>9?`${BigInt(e)+BigInt(1)}0`.padStart(e.length+1,"0"):`${e}${r}`,o.length>n&&(o=o.slice(1),t=`${BigInt(t)+1n}`),o=o.slice(0,n)}else o=o.padEnd(n,"0");return BigInt(`${i?"-":""}${t}${o}`)}const Wt="0x0000000000000000000000000000000000000000",Vt=s(void 0),zt=()=>{const e=c(Vt);if(!e)throw new Error("useConnect must be used within ConnectProvider");return{...e,chainData:Dt[e?.account?.chainId]||void 0,chainId:e.account?.chainId||void 0,chainType:Jt(e.account?.chainId||void 0),chainTypeMoralis:Ht(e.account?.chainId||void 0),isChainSupported:!!Dt[e?.account?.chainId]?.isSupported||!1}},jt=({children:n,initialAccount:t})=>/* @__PURE__ */e(Vt.Provider,{value:{account:t||null},children:n}),Qt=({address:o,chainId:a})=>{const[s,c]=i(!1),{isChainSupported:l}=zt(),d=r(()=>{if(!o)return;const e=o,n=()=>{c(!0),setTimeout(()=>c(!1),2e3)};try{navigator.clipboard.writeText(e).then(n).catch(()=>{const t=document.createElement("input");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),t.remove(),n()})}catch{const t=document.createElement("input");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),t.remove(),n()}},[o]);/* @__PURE__ */
|
|
5
|
+
return e(n,{children:Pn(o||"")&&/* @__PURE__ */t("div",{className:"chat-user-info",children:[
|
|
6
6
|
/* @__PURE__ */t("span",{className:"user-wallet",children:[
|
|
7
7
|
/* @__PURE__ */t("span",{className:"mr-2",children:[Dt[a]?.customName||Dt[a]?.name||`Chain ${a}`,":"]}),
|
|
8
|
-
/* @__PURE__ */e("a",{style:{pointerEvents:l?"auto":"none"},href:Dt[a]?.blockExplorers?.default?.url+"/address/"+o,target:"_blank",rel:"noopener noreferrer",children:
|
|
9
|
-
/* @__PURE__ */e("button",{className:"copy-address-btn",onClick:d,"aria-label":"Copy wallet address",type:"button",title:s?"Copied!":"Copy address",children:/* @__PURE__ */e("svg",s?{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:/* @__PURE__ */e("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:"#0B3988",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}:{width:"14",height:"14",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:/* @__PURE__ */e("path",{d:"M8.1 15.75H13.23C12.9638 16.4152 12.5041 16.9852 11.9105 17.3863C11.3168 17.7874 10.6165 18.0012 9.9 18H3.6C2.64522 18 1.72955 17.6207 1.05442 16.9456C0.379285 16.2704 0 15.3548 0 14.4V7.2C0.00104929 6.32332 0.321408 5.47704 0.901163 4.81944C1.48092 4.16183 2.28037 3.73792 3.15 3.627V10.8C3.15238 12.1121 3.67466 13.3698 4.60245 14.2975C5.53024 15.2253 6.78791 15.7476 8.1 15.75ZM15.75 3.825H17.658C17.6027 3.74389 17.5393 3.66852 17.469 3.6L14.4 0.531C14.3337 0.460854 14.258 0.400274 14.175 0.351V2.25C14.1769 2.66713 14.3434 3.06664 14.6384 3.3616C14.9334 3.65656 15.3329 3.8231 15.75 3.825ZM15.75 5.175C14.9747 5.17357 14.2315 4.86494 13.6833 4.31671C13.1351 3.76847 12.8264 3.02532 12.825 2.25V0H8.1C7.14522 0 6.22955 0.379285 5.55442 1.05442C4.87928 1.72955 4.5 2.64522 4.5 3.6V10.8C4.5 11.7548 4.87928 12.6704 5.55442 13.3456C6.22955 14.0207 7.14522 14.4 8.1 14.4H14.4C15.3548 14.4 16.2705 14.0207 16.9456 13.3456C17.6207 12.6704 18 11.7548 18 10.8V5.175H15.75Z",fill:"#0B3988"})})})]})})},Xt="chat_widget_messages",Kt=200,Zt="welcome-message";function _t(e){return[{id:Zt,text:e,sender:"bot",timestamp:/* @__PURE__ */new Date}]}function $t(e){return e.map(e=>({...e,timestamp:new Date(e.timestamp)}))}function eo(){const e=qt.getItem(Xt);if(!e)return null;try{const n=JSON.parse(e);if(n&&void 0!==n.owner&&Array.isArray(n.messages))return{owner:n.owner,messages:$t(n.messages)};if(Array.isArray(n))return{owner:"",messages:$t(n)}}catch{}return null}function no(e,n){qt.setItem(Xt,JSON.stringify({owner:e,messages:n}))}const to=s(void 0),oo=({children:n,initialConfig:t})=>/* @__PURE__ */e(to.Provider,{value:{config:t||null},children:n});var io=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,ao=Math.ceil,ro=Math.floor,so="[BigNumber Error] ",co=so+"Number primitive has more than 15 significant digits: ",lo=1e14,uo=14,fo=9007199254740991,po=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],mo=1e7,ho=1e9;function wo(e){var n=0|e;return e>0||e===n?n:n-1}function bo(e){for(var n,t,o=1,i=e.length,a=e[0]+"";o<i;){for(n=e[o++]+"",t=uo-n.length;t--;n="0"+n);a+=n}for(i=a.length;48===a.charCodeAt(--i););return a.slice(0,i+1||1)}function go(e,n){var t,o,i=e.c,a=n.c,r=e.s,s=n.s,c=e.e,l=n.e;if(!r||!s)return null;if(t=i&&!i[0],o=a&&!a[0],t||o)return t?o?0:-s:r;if(r!=s)return r;if(t=r<0,o=c==l,!i||!a)return o?0:!i^t?1:-1;if(!o)return c>l^t?1:-1;for(s=(c=i.length)<(l=a.length)?c:l,r=0;r<s;r++)if(i[r]!=a[r])return i[r]>a[r]^t?1:-1;return c==l?0:c>l^t?1:-1}function Ao(e,n,t,o){if(e<n||e>t||e!==ro(e))throw Error(so+(o||"Argument")+("number"==typeof e?e<n||e>t?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function yo(e){var n=e.c.length-1;return wo(e.e/uo)==n&&e.c[n]%2!=0}function vo(e,n){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(n<0?"e":"e+")+n}function ko(e,n,t){var o,i;if(n<0){for(i=t+".";++n;i+=t);e=i+e}else if(++n>(o=e.length)){for(i=t,n-=o;--n;i+=t);e+=i}else n<o&&(e=e.slice(0,n)+"."+e.slice(n));return e}var xo=function e(n){var t,o,i,a,r,s=v.prototype={constructor:v,toString:null,valueOf:null},c=new v(1),l=20,d=4,u=-7,f=21,p=-1e7,m=1e7,h=!1,w=1,b=0,g={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},A="0123456789abcdefghijklmnopqrstuvwxyz",y=!0;function v(e,n){var t,a,r,s,c,u,f,h,w=this;if(!(w instanceof v))return new v(e,n);if(null==n){if(e&&!0===e.u)return w.s=e.s,void(!e.c||e.e>m?w.c=w.e=null:e.e<p?w.c=[w.e=0]:(w.e=e.e,w.c=e.c.slice()));if((u="number"==typeof e)&&0*e==0){if(w.s=1/e<0?(e=-e,-1):1,e===~~e){for(s=0,c=e;c>=10;c/=10,s++);return void(s>m?w.c=w.e=null:(w.e=s,w.c=[e]))}h=String(e)}else{if(!io.test(h=String(e)))return i(w,h,u);w.s=45==h.charCodeAt(0)?(h=h.slice(1),-1):1}(s=h.indexOf("."))>-1&&(h=h.replace(".","")),(c=h.search(/e/i))>0?(s<0&&(s=c),s+=+h.slice(c+1),h=h.substring(0,c)):s<0&&(s=h.length)}else{if(Ao(n,2,A.length,"Base"),10==n&&y)return T(w=new v(e),l+w.e+1,d);if(h=String(e),u="number"==typeof e){if(0*e!=0)return i(w,h,u,n);if(w.s=1/e<0?(h=h.slice(1),-1):1,v.DEBUG&&h.replace(/^0\.0*|\./,"").length>15)throw Error(co+e)}else w.s=45===h.charCodeAt(0)?(h=h.slice(1),-1):1;for(t=A.slice(0,n),s=c=0,f=h.length;c<f;c++)if(t.indexOf(a=h.charAt(c))<0){if("."==a){if(c>s){s=f;continue}}else if(!r&&(h==h.toUpperCase()&&(h=h.toLowerCase())||h==h.toLowerCase()&&(h=h.toUpperCase()))){r=!0,c=-1,s=0;continue}return i(w,String(e),u,n)}u=!1,(s=(h=o(h,n,10,w.s)).indexOf("."))>-1?h=h.replace(".",""):s=h.length}for(c=0;48===h.charCodeAt(c);c++);for(f=h.length;48===h.charCodeAt(--f););if(h=h.slice(c,++f)){if(f-=c,u&&v.DEBUG&&f>15&&(e>fo||e!==ro(e)))throw Error(co+w.s*e);if((s=s-c-1)>m)w.c=w.e=null;else if(s<p)w.c=[w.e=0];else{if(w.e=s,w.c=[],c=(s+1)%uo,s<0&&(c+=uo),c<f){for(c&&w.c.push(+h.slice(0,c)),f-=uo;c<f;)w.c.push(+h.slice(c,c+=uo));c=uo-(h=h.slice(c)).length}else c-=f;for(;c--;h+="0");w.c.push(+h)}}else w.c=[w.e=0]}function k(e,n,t,o){var i,a,r,s,c;if(null==t?t=d:Ao(t,0,8),!e.c)return e.toString();if(i=e.c[0],r=e.e,null==n)c=bo(e.c),c=1==o||2==o&&(r<=u||r>=f)?vo(c,r):ko(c,r,"0");else if(a=(e=T(new v(e),n,t)).e,s=(c=bo(e.c)).length,1==o||2==o&&(n<=a||a<=u)){for(;s<n;c+="0",s++);c=vo(c,a)}else if(n-=r+(2===o&&a>r),c=ko(c,a,"0"),a+1>s){if(--n>0)for(c+=".";n--;c+="0");}else if((n+=a-s)>0)for(a+1==s&&(c+=".");n--;c+="0");return e.s<0&&i?"-"+c:c}function x(e,n){for(var t,o,i=1,a=new v(e[0]);i<e.length;i++)(!(o=new v(e[i])).s||(t=go(a,o))===n||0===t&&a.s===n)&&(a=o);return a}function C(e,n,t){for(var o=1,i=n.length;!n[--i];n.pop());for(i=n[0];i>=10;i/=10,o++);return(t=o+t*uo-1)>m?e.c=e.e=null:t<p?e.c=[e.e=0]:(e.e=t,e.c=n),e}function T(e,n,t,o){var i,a,r,s,c,l,d,u=e.c,f=po;if(u){e:{for(i=1,s=u[0];s>=10;s/=10,i++);if((a=n-i)<0)a+=uo,r=n,c=u[l=0],d=ro(c/f[i-r-1]%10);else if((l=ao((a+1)/uo))>=u.length){if(!o)break e;for(;u.length<=l;u.push(0));c=d=0,i=1,r=(a%=uo)-uo+1}else{for(c=s=u[l],i=1;s>=10;s/=10,i++);d=(r=(a%=uo)-uo+i)<0?0:ro(c/f[i-r-1]%10)}if(o=o||n<0||null!=u[l+1]||(r<0?c:c%f[i-r-1]),o=t<4?(d||o)&&(0==t||t==(e.s<0?3:2)):d>5||5==d&&(4==t||o||6==t&&(a>0?r>0?c/f[i-r]:0:u[l-1])%10&1||t==(e.s<0?8:7)),n<1||!u[0])return u.length=0,o?(n-=e.e+1,u[0]=f[(uo-n%uo)%uo],e.e=-n||0):u[0]=e.e=0,e;if(0==a?(u.length=l,s=1,l--):(u.length=l+1,s=f[uo-a],u[l]=r>0?ro(c/f[i-r]%f[r])*s:0),o)for(;;){if(0==l){for(a=1,r=u[0];r>=10;r/=10,a++);for(r=u[0]+=s,s=1;r>=10;r/=10,s++);a!=s&&(e.e++,u[0]==lo&&(u[0]=1));break}if(u[l]+=s,u[l]!=lo)break;u[l--]=0,s=1}for(a=u.length;0===u[--a];u.pop());}e.e>m?e.c=e.e=null:e.e<p&&(e.c=[e.e=0])}return e}function E(e){var n,t=e.e;return null===t?e.toString():(n=bo(e.c),n=t<=u||t>=f?vo(n,t):ko(n,t,"0"),e.s<0?"-"+n:n)}return v.clone=e,v.ROUND_UP=0,v.ROUND_DOWN=1,v.ROUND_CEIL=2,v.ROUND_FLOOR=3,v.ROUND_HALF_UP=4,v.ROUND_HALF_DOWN=5,v.ROUND_HALF_EVEN=6,v.ROUND_HALF_CEIL=7,v.ROUND_HALF_FLOOR=8,v.EUCLID=9,v.config=v.set=function(e){var n,t;if(null!=e){if("object"!=typeof e)throw Error(so+"Object expected: "+e);if(e.hasOwnProperty(n="DECIMAL_PLACES")&&(Ao(t=e[n],0,ho,n),l=t),e.hasOwnProperty(n="ROUNDING_MODE")&&(Ao(t=e[n],0,8,n),d=t),e.hasOwnProperty(n="EXPONENTIAL_AT")&&((t=e[n])&&t.pop?(Ao(t[0],-ho,0,n),Ao(t[1],0,ho,n),u=t[0],f=t[1]):(Ao(t,-ho,ho,n),u=-(f=t<0?-t:t))),e.hasOwnProperty(n="RANGE"))if((t=e[n])&&t.pop)Ao(t[0],-ho,-1,n),Ao(t[1],1,ho,n),p=t[0],m=t[1];else{if(Ao(t,-ho,ho,n),!t)throw Error(so+n+" cannot be zero: "+t);p=-(m=t<0?-t:t)}if(e.hasOwnProperty(n="CRYPTO")){if((t=e[n])!==!!t)throw Error(so+n+" not true or false: "+t);if(t){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw h=!t,Error(so+"crypto unavailable");h=t}else h=t}if(e.hasOwnProperty(n="MODULO_MODE")&&(Ao(t=e[n],0,9,n),w=t),e.hasOwnProperty(n="POW_PRECISION")&&(Ao(t=e[n],0,ho,n),b=t),e.hasOwnProperty(n="FORMAT")){if("object"!=typeof(t=e[n]))throw Error(so+n+" not an object: "+t);g=t}if(e.hasOwnProperty(n="ALPHABET")){if("string"!=typeof(t=e[n])||/^.?$|[+\-.\s]|(.).*\1/.test(t))throw Error(so+n+" invalid: "+t);y="0123456789"==t.slice(0,10),A=t}}return{DECIMAL_PLACES:l,ROUNDING_MODE:d,EXPONENTIAL_AT:[u,f],RANGE:[p,m],CRYPTO:h,MODULO_MODE:w,POW_PRECISION:b,FORMAT:g,ALPHABET:A}},v.isBigNumber=function(e){if(!e||!0!==e.u)return!1;if(!v.DEBUG)return!0;var n,t,o=e.c,i=e.e,a=e.s;e:if("[object Array]"=={}.toString.call(o)){if((1===a||-1===a)&&i>=-ho&&i<=ho&&i===ro(i)){if(0===o[0]){if(0===i&&1===o.length)return!0;break e}if((n=(i+1)%uo)<1&&(n+=uo),String(o[0]).length==n){for(n=0;n<o.length;n++)if((t=o[n])<0||t>=lo||t!==ro(t))break e;if(0!==t)return!0}}}else if(null===o&&null===i&&(null===a||1===a||-1===a))return!0;throw Error(so+"Invalid BigNumber: "+e)},v.maximum=v.max=function(){return x(arguments,-1)},v.minimum=v.min=function(){return x(arguments,1)},v.random=(a=9007199254740992,r=Math.random()*a&2097151?function(){return ro(Math.random()*a)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var n,t,o,i,a,s=0,d=[],u=new v(c);if(null==e?e=l:Ao(e,0,ho),i=ao(e/uo),h)if(crypto.getRandomValues){for(n=crypto.getRandomValues(new Uint32Array(i*=2));s<i;)(a=131072*n[s]+(n[s+1]>>>11))>=9e15?(t=crypto.getRandomValues(new Uint32Array(2)),n[s]=t[0],n[s+1]=t[1]):(d.push(a%1e14),s+=2);s=i/2}else{if(!crypto.randomBytes)throw h=!1,Error(so+"crypto unavailable");for(n=crypto.randomBytes(i*=7);s<i;)(a=281474976710656*(31&n[s])+1099511627776*n[s+1]+4294967296*n[s+2]+16777216*n[s+3]+(n[s+4]<<16)+(n[s+5]<<8)+n[s+6])>=9e15?crypto.randomBytes(7).copy(n,s):(d.push(a%1e14),s+=7);s=i/7}if(!h)for(;s<i;)(a=r())<9e15&&(d[s++]=a%1e14);for(i=d[--s],e%=uo,i&&e&&(a=po[uo-e],d[s]=ro(i/a)*a);0===d[s];d.pop(),s--);if(s<0)d=[o=0];else{for(o=-1;0===d[0];d.splice(0,1),o-=uo);for(s=1,a=d[0];a>=10;a/=10,s++);s<uo&&(o-=uo-s)}return u.e=o,u.c=d,u}),v.sum=function(){for(var e=1,n=arguments,t=new v(n[0]);e<n.length;)t=t.plus(n[e++]);return t},o=/* @__PURE__ */function(){var e="0123456789";function n(e,n,t,o){for(var i,a,r=[0],s=0,c=e.length;s<c;){for(a=r.length;a--;r[a]*=n);for(r[0]+=o.indexOf(e.charAt(s++)),i=0;i<r.length;i++)r[i]>t-1&&(null==r[i+1]&&(r[i+1]=0),r[i+1]+=r[i]/t|0,r[i]%=t)}return r.reverse()}return function(o,i,a,r,s){var c,u,f,p,m,h,w,g,y=o.indexOf("."),k=l,x=d;for(y>=0&&(p=b,b=0,o=o.replace(".",""),h=(g=new v(i)).pow(o.length-y),b=p,g.c=n(ko(bo(h.c),h.e,"0"),10,a,e),g.e=g.c.length),f=p=(w=n(o,i,a,s?(c=A,e):(c=e,A))).length;0==w[--p];w.pop());if(!w[0])return c.charAt(0);if(y<0?--f:(h.c=w,h.e=f,h.s=r,w=(h=t(h,g,k,x,a)).c,m=h.r,f=h.e),y=w[u=f+k+1],p=a/2,m=m||u<0||null!=w[u+1],m=x<4?(null!=y||m)&&(0==x||x==(h.s<0?3:2)):y>p||y==p&&(4==x||m||6==x&&1&w[u-1]||x==(h.s<0?8:7)),u<1||!w[0])o=m?ko(c.charAt(1),-k,c.charAt(0)):c.charAt(0);else{if(w.length=u,m)for(--a;++w[--u]>a;)w[u]=0,u||(++f,w=[1].concat(w));for(p=w.length;!w[--p];);for(y=0,o="";y<=p;o+=c.charAt(w[y++]));o=ko(o,f,c.charAt(0))}return o}}(),t=/* @__PURE__ */function(){function e(e,n,t){var o,i,a,r,s=0,c=e.length,l=n%mo,d=n/mo|0;for(e=e.slice();c--;)s=((i=l*(a=e[c]%mo)+(o=d*a+(r=e[c]/mo|0)*l)%mo*mo+s)/t|0)+(o/mo|0)+d*r,e[c]=i%t;return s&&(e=[s].concat(e)),e}function n(e,n,t,o){var i,a;if(t!=o)a=t>o?1:-1;else for(i=a=0;i<t;i++)if(e[i]!=n[i]){a=e[i]>n[i]?1:-1;break}return a}function t(e,n,t,o){for(var i=0;t--;)e[t]-=i,i=e[t]<n[t]?1:0,e[t]=i*o+e[t]-n[t];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(o,i,a,r,s){var c,l,d,u,f,p,m,h,w,b,g,A,y,k,x,C,E,I=o.s==i.s?1:-1,N=o.c,S=i.c;if(!(N&&N[0]&&S&&S[0]))return new v(o.s&&i.s&&(N?!S||N[0]!=S[0]:S)?N&&0==N[0]||!S?0*I:I/0:NaN);for(w=(h=new v(I)).c=[],I=a+(l=o.e-i.e)+1,s||(s=lo,l=wo(o.e/uo)-wo(i.e/uo),I=I/uo|0),d=0;S[d]==(N[d]||0);d++);if(S[d]>(N[d]||0)&&l--,I<0)w.push(1),u=!0;else{for(k=N.length,C=S.length,d=0,I+=2,(f=ro(s/(S[0]+1)))>1&&(S=e(S,f,s),N=e(N,f,s),C=S.length,k=N.length),y=C,g=(b=N.slice(0,C)).length;g<C;b[g++]=0);E=S.slice(),E=[0].concat(E),x=S[0],S[1]>=s/2&&x++;do{if(f=0,(c=n(S,b,C,g))<0){if(A=b[0],C!=g&&(A=A*s+(b[1]||0)),(f=ro(A/x))>1)for(f>=s&&(f=s-1),m=(p=e(S,f,s)).length,g=b.length;1==n(p,b,m,g);)f--,t(p,C<m?E:S,m,s),m=p.length,c=1;else 0==f&&(c=f=1),m=(p=S.slice()).length;if(m<g&&(p=[0].concat(p)),t(b,p,g,s),g=b.length,-1==c)for(;n(S,b,C,g)<1;)f++,t(b,C<g?E:S,g,s),g=b.length}else 0===c&&(f++,b=[0]);w[d++]=f,b[0]?b[g++]=N[y]||0:(b=[N[y]],g=1)}while((y++<k||null!=b[0])&&I--);u=null!=b[0],w[0]||w.splice(0,1)}if(s==lo){for(d=1,I=w[0];I>=10;I/=10,d++);T(h,a+(h.e=d+l*uo-1)+1,r,u)}else h.e=l,h.r=+u;return h}}(),i=/* @__PURE__ */function(){var e=/^(-?)0([xbo])(?=\w[\w.]*$)/i,n=/^([^.]+)\.$/,t=/^\.([^.]+)$/,o=/^-?(Infinity|NaN)$/,i=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(a,r,s,c){var l,d=s?r:r.replace(i,"");if(o.test(d))a.s=isNaN(d)?null:d<0?-1:1;else{if(!s&&(d=d.replace(e,function(e,n,t){return l="x"==(t=t.toLowerCase())?16:"b"==t?2:8,c&&c!=l?e:n}),c&&(l=c,d=d.replace(n,"$1").replace(t,"0.$1")),r!=d))return new v(d,l);if(v.DEBUG)throw Error(so+"Not a"+(c?" base "+c:"")+" number: "+r);a.s=null}a.c=a.e=null}}(),s.absoluteValue=s.abs=function(){var e=new v(this);return e.s<0&&(e.s=1),e},s.comparedTo=function(e,n){return go(this,new v(e,n))},s.decimalPlaces=s.dp=function(e,n){var t,o,i,a=this;if(null!=e)return Ao(e,0,ho),null==n?n=d:Ao(n,0,8),T(new v(a),e+a.e+1,n);if(!(t=a.c))return null;if(o=((i=t.length-1)-wo(this.e/uo))*uo,i=t[i])for(;i%10==0;i/=10,o--);return o<0&&(o=0),o},s.dividedBy=s.div=function(e,n){return t(this,new v(e,n),l,d)},s.dividedToIntegerBy=s.idiv=function(e,n){return t(this,new v(e,n),0,1)},s.exponentiatedBy=s.pow=function(e,n){var t,o,i,a,r,s,l,u,f=this;if((e=new v(e)).c&&!e.isInteger())throw Error(so+"Exponent not an integer: "+E(e));if(null!=n&&(n=new v(n)),r=e.e>14,!f.c||!f.c[0]||1==f.c[0]&&!f.e&&1==f.c.length||!e.c||!e.c[0])return u=new v(Math.pow(+E(f),r?e.s*(2-yo(e)):+E(e))),n?u.mod(n):u;if(s=e.s<0,n){if(n.c?!n.c[0]:!n.s)return new v(NaN);(o=!s&&f.isInteger()&&n.isInteger())&&(f=f.mod(n))}else{if(e.e>9&&(f.e>0||f.e<-1||(0==f.e?f.c[0]>1||r&&f.c[1]>=24e7:f.c[0]<8e13||r&&f.c[0]<=9999975e7)))return a=f.s<0&&yo(e)?-0:0,f.e>-1&&(a=1/a),new v(s?1/a:a);b&&(a=ao(b/uo+2))}for(r?(t=new v(.5),s&&(e.s=1),l=yo(e)):l=(i=Math.abs(+E(e)))%2,u=new v(c);;){if(l){if(!(u=u.times(f)).c)break;a?u.c.length>a&&(u.c.length=a):o&&(u=u.mod(n))}if(i){if(0===(i=ro(i/2)))break;l=i%2}else if(T(e=e.times(t),e.e+1,1),e.e>14)l=yo(e);else{if(0===(i=+E(e)))break;l=i%2}f=f.times(f),a?f.c&&f.c.length>a&&(f.c.length=a):o&&(f=f.mod(n))}return o?u:(s&&(u=c.div(u)),n?u.mod(n):a?T(u,b,d,void 0):u)},s.integerValue=function(e){var n=new v(this);return null==e?e=d:Ao(e,0,8),T(n,n.e+1,e)},s.isEqualTo=s.eq=function(e,n){return 0===go(this,new v(e,n))},s.isFinite=function(){return!!this.c},s.isGreaterThan=s.gt=function(e,n){return go(this,new v(e,n))>0},s.isGreaterThanOrEqualTo=s.gte=function(e,n){return 1===(n=go(this,new v(e,n)))||0===n},s.isInteger=function(){return!!this.c&&wo(this.e/uo)>this.c.length-2},s.isLessThan=s.lt=function(e,n){return go(this,new v(e,n))<0},s.isLessThanOrEqualTo=s.lte=function(e,n){return-1===(n=go(this,new v(e,n)))||0===n},s.isNaN=function(){return!this.s},s.isNegative=function(){return this.s<0},s.isPositive=function(){return this.s>0},s.isZero=function(){return!!this.c&&0==this.c[0]},s.minus=function(e,n){var t,o,i,a,r=this,s=r.s;if(n=(e=new v(e,n)).s,!s||!n)return new v(NaN);if(s!=n)return e.s=-n,r.plus(e);var c=r.e/uo,l=e.e/uo,u=r.c,f=e.c;if(!c||!l){if(!u||!f)return u?(e.s=-n,e):new v(f?r:NaN);if(!u[0]||!f[0])return f[0]?(e.s=-n,e):new v(u[0]?r:3==d?-0:0)}if(c=wo(c),l=wo(l),u=u.slice(),s=c-l){for((a=s<0)?(s=-s,i=u):(l=c,i=f),i.reverse(),n=s;n--;i.push(0));i.reverse()}else for(o=(a=(s=u.length)<(n=f.length))?s:n,s=n=0;n<o;n++)if(u[n]!=f[n]){a=u[n]<f[n];break}if(a&&(i=u,u=f,f=i,e.s=-e.s),(n=(o=f.length)-(t=u.length))>0)for(;n--;u[t++]=0);for(n=lo-1;o>s;){if(u[--o]<f[o]){for(t=o;t&&!u[--t];u[t]=n);--u[t],u[o]+=lo}u[o]-=f[o]}for(;0==u[0];u.splice(0,1),--l);return u[0]?C(e,u,l):(e.s=3==d?-1:1,e.c=[e.e=0],e)},s.modulo=s.mod=function(e,n){var o,i,a=this;return e=new v(e,n),!a.c||!e.s||e.c&&!e.c[0]?new v(NaN):!e.c||a.c&&!a.c[0]?new v(a):(9==w?(i=e.s,e.s=1,o=t(a,e,0,3),e.s=i,o.s*=i):o=t(a,e,0,w),(e=a.minus(o.times(e))).c[0]||1!=w||(e.s=a.s),e)},s.multipliedBy=s.times=function(e,n){var t,o,i,a,r,s,c,l,d,u,f,p,m,h,w,b=this,g=b.c,A=(e=new v(e,n)).c;if(!(g&&A&&g[0]&&A[0]))return!b.s||!e.s||g&&!g[0]&&!A||A&&!A[0]&&!g?e.c=e.e=e.s=null:(e.s*=b.s,g&&A?(e.c=[0],e.e=0):e.c=e.e=null),e;for(o=wo(b.e/uo)+wo(e.e/uo),e.s*=b.s,(c=g.length)<(u=A.length)&&(m=g,g=A,A=m,i=c,c=u,u=i),i=c+u,m=[];i--;m.push(0));for(h=lo,w=mo,i=u;--i>=0;){for(t=0,f=A[i]%w,p=A[i]/w|0,a=i+(r=c);a>i;)t=((l=f*(l=g[--r]%w)+(s=p*l+(d=g[r]/w|0)*f)%w*w+m[a]+t)/h|0)+(s/w|0)+p*d,m[a--]=l%h;m[a]=t}return t?++o:m.splice(0,1),C(e,m,o)},s.negated=function(){var e=new v(this);return e.s=-e.s||null,e},s.plus=function(e,n){var t,o=this,i=o.s;if(n=(e=new v(e,n)).s,!i||!n)return new v(NaN);if(i!=n)return e.s=-n,o.minus(e);var a=o.e/uo,r=e.e/uo,s=o.c,c=e.c;if(!a||!r){if(!s||!c)return new v(i/0);if(!s[0]||!c[0])return c[0]?e:new v(s[0]?o:0*i)}if(a=wo(a),r=wo(r),s=s.slice(),i=a-r){for(i>0?(r=a,t=c):(i=-i,t=s),t.reverse();i--;t.push(0));t.reverse()}for((i=s.length)-(n=c.length)<0&&(t=c,c=s,s=t,n=i),i=0;n;)i=(s[--n]=s[n]+c[n]+i)/lo|0,s[n]=lo===s[n]?0:s[n]%lo;return i&&(s=[i].concat(s),++r),C(e,s,r)},s.precision=s.sd=function(e,n){var t,o,i,a=this;if(null!=e&&e!==!!e)return Ao(e,1,ho),null==n?n=d:Ao(n,0,8),T(new v(a),e,n);if(!(t=a.c))return null;if(o=(i=t.length-1)*uo+1,i=t[i]){for(;i%10==0;i/=10,o--);for(i=t[0];i>=10;i/=10,o++);}return e&&a.e+1>o&&(o=a.e+1),o},s.shiftedBy=function(e){return Ao(e,-9007199254740991,fo),this.times("1e"+e)},s.squareRoot=s.sqrt=function(){var e,n,o,i,a,r=this,s=r.c,c=r.s,u=r.e,f=l+4,p=new v("0.5");if(1!==c||!s||!s[0])return new v(!c||c<0&&(!s||s[0])?NaN:s?r:1/0);if(0==(c=Math.sqrt(+E(r)))||c==1/0?(((n=bo(s)).length+u)%2==0&&(n+="0"),c=Math.sqrt(+n),u=wo((u+1)/2)-(u<0||u%2),o=new v(n=c==1/0?"5e"+u:(n=c.toExponential()).slice(0,n.indexOf("e")+1)+u)):o=new v(c+""),o.c[0])for((c=(u=o.e)+f)<3&&(c=0);;)if(a=o,o=p.times(a.plus(t(r,a,f,1))),bo(a.c).slice(0,c)===(n=bo(o.c)).slice(0,c)){if(o.e<u&&--c,"9999"!=(n=n.slice(c-3,c+1))&&(i||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(T(o,o.e+l+2,1),e=!o.times(o).eq(r));break}if(!i&&(T(a,a.e+l+2,0),a.times(a).eq(r))){o=a;break}f+=4,c+=4,i=1}return T(o,o.e+l+1,d,e)},s.toExponential=function(e,n){return null!=e&&(Ao(e,0,ho),e++),k(this,e,n,1)},s.toFixed=function(e,n){return null!=e&&(Ao(e,0,ho),e=e+this.e+1),k(this,e,n)},s.toFormat=function(e,n,t){var o,i=this;if(null==t)null!=e&&n&&"object"==typeof n?(t=n,n=null):e&&"object"==typeof e?(t=e,e=n=null):t=g;else if("object"!=typeof t)throw Error(so+"Argument not an object: "+t);if(o=i.toFixed(e,n),i.c){var a,r=o.split("."),s=+t.groupSize,c=+t.secondaryGroupSize,l=t.groupSeparator||"",d=r[0],u=r[1],f=i.s<0,p=f?d.slice(1):d,m=p.length;if(c&&(a=s,s=c,c=a,m-=a),s>0&&m>0){for(a=m%s||s,d=p.substr(0,a);a<m;a+=s)d+=l+p.substr(a,s);c>0&&(d+=l+p.slice(a)),f&&(d="-"+d)}o=u?d+(t.decimalSeparator||"")+((c=+t.fractionGroupSize)?u.replace(new RegExp("\\d{"+c+"}\\B","g"),"$&"+(t.fractionGroupSeparator||"")):u):d}return(t.prefix||"")+o+(t.suffix||"")},s.toFraction=function(e){var n,o,i,a,r,s,l,u,f,p,h,w,b=this,g=b.c;if(null!=e&&(!(l=new v(e)).isInteger()&&(l.c||1!==l.s)||l.lt(c)))throw Error(so+"Argument "+(l.isInteger()?"out of range: ":"not an integer: ")+E(l));if(!g)return new v(b);for(n=new v(c),f=o=new v(c),i=u=new v(c),w=bo(g),r=n.e=w.length-b.e-1,n.c[0]=po[(s=r%uo)<0?uo+s:s],e=!e||l.comparedTo(n)>0?r>0?n:f:l,s=m,m=1/0,l=new v(w),u.c[0]=0;p=t(l,n,0,1),1!=(a=o.plus(p.times(i))).comparedTo(e);)o=i,i=a,f=u.plus(p.times(a=f)),u=a,n=l.minus(p.times(a=n)),l=a;return a=t(e.minus(o),i,0,1),u=u.plus(a.times(f)),o=o.plus(a.times(i)),u.s=f.s=b.s,h=t(f,i,r*=2,d).minus(b).abs().comparedTo(t(u,o,r,d).minus(b).abs())<1?[f,i]:[u,o],m=s,h},s.toNumber=function(){return+E(this)},s.toPrecision=function(e,n){return null!=e&&Ao(e,1,ho),k(this,e,n,2)},s.toString=function(e){var n,t=this,i=t.s,a=t.e;return null===a?i?(n="Infinity",i<0&&(n="-"+n)):n="NaN":(null==e?n=a<=u||a>=f?vo(bo(t.c),a):ko(bo(t.c),a,"0"):10===e&&y?n=ko(bo((t=T(new v(t),l+a+1,d)).c),t.e,"0"):(Ao(e,2,A.length,"Base"),n=o(ko(bo(t.c),a,"0"),10,e,i,!0)),i<0&&t.c[0]&&(n="-"+n)),n},s.valueOf=s.toJSON=function(){return E(this)},s.u=!0,s[Symbol.toStringTag]="BigNumber",s[/* @__PURE__ */Symbol.for("nodejs.util.inspect.custom")]=s.valueOf,null!=n&&v.set(n),v}();class Co{baseUrl;constructor(e){this.baseUrl=e}buildUrl(e,n){const t=new URL(e,this.baseUrl);return n&&Object.entries(n).forEach(([e,n])=>{null!=n&&t.searchParams.append(e,String(n))}),t.toString()}async get(e,n={}){const t=this.buildUrl(e,n.query),o=await fetch(t,{method:"GET",headers:n.headers||{}});if(!o.ok){let e=null;try{e=await o.json()}catch{try{const n=await o.text();n&&(e={message:n})}catch{}}const n=new Error(e?.message||e?.errorMessage||`HTTP ${o.status}: ${o.statusText}`);throw n.status=o.status,n.statusText=o.statusText,e&&(n.data=e),n}return{data:await o.json(),status:o.status}}async post(e,n,t={}){const o=this.buildUrl(e,t.query),i=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",...t.headers},body:JSON.stringify(n)});if(!i.ok){let e=null;try{e=await i.json()}catch{try{const n=await i.text();n&&(e={message:n})}catch{}}const n=new Error(e?.message||e?.errorMessage||`HTTP ${i.status}: ${i.statusText}`);throw n.status=i.status,n.statusText=i.statusText,e&&(n.data=e),n}return{data:await i.json(),status:i.status}}}const To=new Co("https://wallet-api.pantograph.app"),Eo="https://nft-demo.keyring.app",Io=new Co(Eo);async function No(e){const{address:n,chain:t="base",token_addresses:o,exclude_spam:i,exclude_unverified_contracts:a}=e;if(!n)throw new Error("Address is required");try{const e={chain:t,exclude_spam:i??!1,exclude_unverified_contracts:a??!1};o&&(e.token_addresses=o);const s=(await Io.get(`api/moralis/proxy/wallets/${encodeURIComponent(n)}/tokens`,{query:e})).data;if(s?.result?.length>0){s.result=s.result.filter(e=>new xo(e?.balance||0).gt(0)),s.result=s.result.map(e=>({...e,token_address:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"===e.token_address?Wt:e.token_address}));try{if(s.result.length>0){const e=Ut(t)??t,n=s.result.map(e=>e.token_address),o=await To.get(`/keyrings/tokens/${e}/v2`,{query:{addresses:n.join(",")}});if(Array.isArray(o.data)){const e=/* @__PURE__ */new Map;for(const n of o.data)n.address&&e.set(n.address.toLowerCase(),{price:null!=n.price?parseFloat(String(n.price)):NaN,icon_image:n.icon_image});s.result=s.result.map(n=>{const t=e.get(n.token_address.toLowerCase());if(!t)return n;const o={...n};return t.icon_image&&(o.logo=t.icon_image,o.thumbnail=t.icon_image),isNaN(t.price)||(o.usd_price=t.price,o.usd_value=xo(n.balance_formatted||"0").multipliedBy(t.price).toNumber()),o}),s.result=s.result.filter(e=>null==e.usd_value||new xo(e.usd_value).gte(.01))}}}catch(r){}}return{success:!0,data:s}}catch(s){return{success:!1,error:s instanceof Error?s.message:"Unknown error"}}}async function So(e){const{address:n,chain:t="base"}=e;if(!n)throw new Error("Token address is required");try{const e=Ut(t)??t,o=await To.get(`/keyrings/tokens/${e}/v2`,{query:{addresses:n}}),i=n===Wt,a=(Array.isArray(o.data)?o.data:[]).find(e=>e.address?.toLowerCase()===n.toLowerCase()||i&&""===e.address)??null;if(a)return{success:!0,data:{token_address:a.address??n,name:a.name??"",symbol:a.symbol??"",decimals:null!=a.decimals?Number(a.decimals):18,logo:a.icon_image||a.logo,thumbnail:a.icon_image||a.logo,usd_price:null!=a.price?parseFloat(a.price):void 0,usd_price_24hr_percent_change:a.price_change_percentage_24h??void 0,usd_price_24hr_usd_change:a.price_change_24h??void 0}};const[r,s]=await Promise.allSettled([Io.get("api/moralis/proxy/erc20/metadata",{query:{chain:t,addresses:[n]}}),Io.get(`api/moralis/proxy/erc20/${encodeURIComponent(n)}/price`,{query:{chain:t,include:"percent_change"}})]),c="fulfilled"===r.status?r.value.data:[];if(!c||0===c.length)return{success:!1,error:"Token metadata not found"};const l=c[0],d="fulfilled"===s.status?s.value.data:void 0;return{success:!0,data:{token_address:l.token_address,name:l.name,symbol:l.symbol,decimals:l.decimals,logo:l.logo||l.thumbnail,thumbnail:l.thumbnail,usd_price:d?.usdPrice??void 0,usd_price_24hr_percent_change:d?.["24hrPercentChange"]?parseFloat(d["24hrPercentChange"]):void 0,usd_price_24hr_usd_change:d?.usdPriceChange24hr??void 0}}}catch(o){return{success:!1,error:o instanceof Error?o.message:"Unknown error"}}}async function Bo(e){const{address:n,chain:t="base",limit:o=100,exclude_spam:i=!0,cursor:a}=e;if(!n)throw new Error("Address is required");try{const e={chain:t,format:"decimal",limit:o,exclude_spam:i,media_items:!0,normalizeMetadata:!0};a&&(e.cursor=a);return{success:!0,data:(await Io.get(`api/moralis/proxy/${encodeURIComponent(n)}/nft`,{query:e})).data}}catch(r){return{success:!1,error:r instanceof Error?r.message:"Unknown error"}}}const Fo=new class extends Co{constructor(){super("https://wallet-api.pantograph.app")}async getTokensDetails(e,n="base"){try{if(!e||!Array.isArray(e)||0===e.length)throw new Error("Addresses must be a non-empty array");const t=e.join(","),o=await this.get(`/keyrings/tokens/${n}/v2`,{query:{addresses:t}});return Array.isArray(o.data)&&(o.data=o.data.filter((e,n,t)=>n===t.findIndex(n=>n.address.toLowerCase()===e.address.toLowerCase())),Array.isArray(e)&&e.length>0&&(o.data=o.data.filter(n=>e.some(e=>e.toLowerCase()===n.address.toLowerCase())),o.data.sort((n,t)=>e.findIndex(e=>e.toLowerCase()===n.address.toLowerCase())-e.findIndex(e=>e.toLowerCase()===t.address.toLowerCase())))),o}catch(t){throw t}}async getTokenDetail(e,n="base"){try{if(!e)throw new Error("Address is required");const t=await this.getTokensDetails([e],n);return{data:t.data[0]||null,status:t.status}}catch(t){throw t}}async getTopGainers(e="base",n="24h",t=3){try{return await this.get(`/token-list/top-gainers/${e}`,{query:{duration:n,limit:t}})}catch(o){throw o}}},Ro=new Co("https://dln.debridge.finance");async function Oo(e){const{chainId:n,tokenIn:t,tokenInAmount:o,tokenOut:i,accesstoken:a,slippage:r="auto",tokenOutRecipient:s}=e;if(!(n&&t&&o&&i))throw new Error("Missing required parameters: chainId, tokenIn, tokenInAmount, tokenOut");try{const e=await fetch("https://exchange-api.keyring.app/admin/setting?configs=others",{method:"GET"}),c=await e.json(),l=c?.others||{},d=l?.AFFILIATE_FEE_PERENT,u=l?.AFFILIATE_FEE_RECIPIENT,f=await Ro.get("/v1.0/chain/transaction",{query:{chainId:String(n),tokenIn:t,tokenInAmount:o,tokenOut:i,slippage:String(r),tokenOutRecipient:s,accesstoken:a,affiliateFeePercent:d,affiliateFeeRecipient:u}});if(f.data?.error)throw new Error(`DeBridge API Error: ${f.data.error}`);return{success:!0,data:f.data}}catch(c){let e=c instanceof Error?c.message:"Unknown error";const n=c;n.data?.errorMessage?e=n.data.errorMessage:n.response?.data?.errorMessage?e=n.response.data.errorMessage:n.data?.message?e=n.data.message:n.response?.data?.message&&(e=n.response.data.message);const t=n.status||n.response?.status||n.statusCode||n.data?.status;return{success:!1,error:c instanceof Error?c.message:"Unknown error",status:t,errorMessage:e,errorCode:n.data?.errorCode,errorId:n.data?.errorId}}}const Do={send_native:{label:"actionSendNativeLabel",description:"actionSendNativeDesc",fields:[{key:"to_address",label:"fieldToAddress",type:"address",placeholder:"0x...",required:!0,validation:"address"},{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},send_token:{label:"actionSendTokenLabel",description:"actionSendTokenDesc",fields:[{key:"contract_address",label:"fieldTokenContract",type:"address",placeholder:"0x... token contract",required:!0,validation:"address",editable:!1},{key:"token_symbol",label:"fieldTokenSymbol",type:"text",placeholder:"e.g. USDC",required:!1,editable:!1},{key:"decimals",label:"fieldDecimals",type:"number",placeholder:"18",required:!1,editable:!1},{key:"to_address",label:"fieldToAddress",type:"address",placeholder:"0x...",required:!0,validation:"address"},{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},swap_token:{label:"actionSwapTokenLabel",description:"actionSwapTokenDesc",fields:[{key:"token_in",label:"fieldTokenIn",type:"address",placeholder:"0x... or native",required:!0,editable:!1},{key:"token_in_symbol",label:"fieldTokenInSymbol",type:"text",placeholder:"e.g. ETH",required:!1,editable:!1},{key:"token_out",label:"fieldTokenOut",type:"address",placeholder:"0x...",required:!0,editable:!1},{key:"token_out_symbol",label:"fieldTokenOutSymbol",type:"text",placeholder:"e.g. USDC",required:!1,editable:!1},{key:"token_in_decimals",label:"fieldTokenInDecimals",type:"number",placeholder:"18",required:!1,editable:!1},{key:"token_out_decimals",label:"fieldTokenOutDecimals",type:"number",placeholder:"18",required:!1,editable:!1},{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},approve_token:{label:"actionApproveTokenLabel",description:"actionApproveTokenDesc",fields:[{key:"contract_address",label:"fieldTokenContract",type:"address",placeholder:"0x... token contract",required:!0,validation:"address",editable:!1},{key:"token_symbol",label:"fieldTokenSymbol",type:"text",placeholder:"e.g. USDC",required:!1,editable:!1},{key:"spender_address",label:"fieldSpenderAddress",type:"address",placeholder:"0x... spender contract",required:!0,validation:"address",editable:!1},{key:"amount",label:"fieldAmountUnlimited",type:"amount",placeholder:"0.0 or leave empty for max",required:!1,validation:"amount"},{key:"decimals",label:"fieldDecimals",type:"number",placeholder:"18",required:!1,editable:!1}]},wrap_native:{label:"actionWrapNativeLabel",description:"actionWrapNativeDesc",fields:[{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},unwrap_native:{label:"actionUnwrapNativeLabel",description:"actionUnwrapNativeDesc",fields:[{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},send_nft:{label:"actionSendNftLabel",description:"actionSendNftDesc",fields:[{key:"contract_address",label:"fieldNftContract",type:"address",placeholder:"0x... NFT contract",required:!0,validation:"address",editable:!1},{key:"token_id",label:"fieldTokenId",type:"text",placeholder:"e.g. 1234",required:!0,editable:!1},{key:"to_address",label:"fieldToAddress",type:"address",placeholder:"0x...",required:!0,validation:"address"},{key:"token_standard",label:"fieldTokenStandard",type:"text",placeholder:"ERC721 or ERC1155",required:!0,editable:!1},{key:"amount",label:"fieldAmount",type:"text",placeholder:"1",required:!0},{key:"maxAmount",label:"fieldMaxAmount",type:"text",placeholder:"",required:!1,editable:!1,hidden:!0},{key:"nft_name",label:"fieldNftName",type:"text",placeholder:"e.g. Bored Ape #1234",required:!1,editable:!1}]}};function Uo(e){if(!e||""===e?.trim())return!1;const n=parseFloat(e);return!isNaN(n)&&n>0}const Po=({action:n,initialValues:o,onSubmit:a,onCancel:s,isSubmitting:c=!1,tokenInfo:l,nftInfo:d,disabled:u=!1})=>{const{t:f,ti:p}=w(),m=Do[n],[h,b]=i(()=>{if(!m)return{};const e={};return m.fields.forEach(n=>{e[n.key]=o[n.key]||""}),e}),[g]=i(()=>["send_native","send_token","swap_token"].includes(n)&&!l&&h.contract_address?f("formTokenNotFound"):null),[A,y]=i(()=>{const e={};if(["send_native","send_token","swap_token"].includes(n)&&l){const n=parseFloat(l.balanceFormatted||"0");if(n<=0)e.amount=p("formNoBalance",{symbol:l.symbol??""});else{const t=o.amount?.trim();t&&Uo(t)&&parseFloat(t)>n&&(e.amount=p("formInsufficientBalance",{balance:l.balanceFormatted,symbol:l.symbol??""}))}}return e}),v=r((e,n)=>{b(t=>({...t,[e]:n})),A[e]&&y(n=>{const t={...n};return delete t[e],t})},[A]),k=r(()=>{if(!m)return!1;const e={};if(m.fields.forEach(t=>{const o=h[t.key]?.trim()||"";!t.required||o||"send_nft"===n&&"amount"===t.key?o&&("address"!==t.validation||Mn(o)||(e[t.key]=f("formInvalidAddress")),"amount"!==t.validation||Uo(o)||(e[t.key]=f("formMustBePositive")),"amount"===t.key&&o&&Uo(o)&&l?.balanceFormatted&&parseFloat(o)>parseFloat(l.balanceFormatted)&&(e[t.key]=p("formInsufficientBalance",{balance:l.balanceFormatted,symbol:l.symbol??""})),"positive_number"===t.validation&&(isNaN(Number(o))||Number(o)<0)&&(e[t.key]=f("formMustBeValidNumber"))):e[t.key]=p("formFieldRequired",{field:f(t.label)})}),"send_nft"===n&&"ERC1155"===h.token_standard?.toUpperCase()){const n=h.amount?.trim();if(n)if(!/^\d+$/.test(n)||parseInt(n,10)<1)e.amount=f("formMustBePositiveInteger");else{const t=parseInt(o.maxAmount||"0",10);t>0&&parseInt(n,10)>t&&(e.amount=p("formAmountExceedsNft",{max:String(t)}))}else e.amount=p("formFieldRequired",{field:f("fieldAmount")})}return y(e),0===Object.keys(e).length},[m,h,l,n,o,f,p]),x=r(()=>{k()&&a(n,h)},[k,a,n,h]);return m?/* @__PURE__ */t("div",{className:"action-form",children:[
|
|
8
|
+
/* @__PURE__ */e("a",{style:{pointerEvents:l?"auto":"none"},href:Dt[a]?.blockExplorers?.default?.url+"/address/"+o,target:"_blank",rel:"noopener noreferrer",children:Pt(o)||"Not connected"})]}),
|
|
9
|
+
/* @__PURE__ */e("button",{className:"copy-address-btn",onClick:d,"aria-label":"Copy wallet address",type:"button",title:s?"Copied!":"Copy address",children:/* @__PURE__ */e("svg",s?{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:/* @__PURE__ */e("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:"#0B3988",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}:{width:"14",height:"14",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:/* @__PURE__ */e("path",{d:"M8.1 15.75H13.23C12.9638 16.4152 12.5041 16.9852 11.9105 17.3863C11.3168 17.7874 10.6165 18.0012 9.9 18H3.6C2.64522 18 1.72955 17.6207 1.05442 16.9456C0.379285 16.2704 0 15.3548 0 14.4V7.2C0.00104929 6.32332 0.321408 5.47704 0.901163 4.81944C1.48092 4.16183 2.28037 3.73792 3.15 3.627V10.8C3.15238 12.1121 3.67466 13.3698 4.60245 14.2975C5.53024 15.2253 6.78791 15.7476 8.1 15.75ZM15.75 3.825H17.658C17.6027 3.74389 17.5393 3.66852 17.469 3.6L14.4 0.531C14.3337 0.460854 14.258 0.400274 14.175 0.351V2.25C14.1769 2.66713 14.3434 3.06664 14.6384 3.3616C14.9334 3.65656 15.3329 3.8231 15.75 3.825ZM15.75 5.175C14.9747 5.17357 14.2315 4.86494 13.6833 4.31671C13.1351 3.76847 12.8264 3.02532 12.825 2.25V0H8.1C7.14522 0 6.22955 0.379285 5.55442 1.05442C4.87928 1.72955 4.5 2.64522 4.5 3.6V10.8C4.5 11.7548 4.87928 12.6704 5.55442 13.3456C6.22955 14.0207 7.14522 14.4 8.1 14.4H14.4C15.3548 14.4 16.2705 14.0207 16.9456 13.3456C17.6207 12.6704 18 11.7548 18 10.8V5.175H15.75Z",fill:"#0B3988"})})})]})})},Xt="chat_widget_messages",Kt=200,Zt="welcome-message";function _t(e){return[{id:Zt,text:e,sender:"bot",timestamp:/* @__PURE__ */new Date}]}function $t(e){return e.map(e=>({...e,timestamp:new Date(e.timestamp)}))}function eo(){const e=Gt.getItem(Xt);if(!e)return null;try{const n=JSON.parse(e);if(n&&void 0!==n.owner&&Array.isArray(n.messages))return{owner:n.owner,messages:$t(n.messages)};if(Array.isArray(n))return{owner:"",messages:$t(n)}}catch{}return null}function no(e,n){Gt.setItem(Xt,JSON.stringify({owner:e,messages:n}))}const to=s(void 0),oo=({children:n,initialConfig:t})=>/* @__PURE__ */e(to.Provider,{value:{config:t||null},children:n});var io=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,ao=Math.ceil,ro=Math.floor,so="[BigNumber Error] ",co=so+"Number primitive has more than 15 significant digits: ",lo=1e14,uo=14,fo=9007199254740991,po=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],mo=1e7,ho=1e9;function wo(e){var n=0|e;return e>0||e===n?n:n-1}function bo(e){for(var n,t,o=1,i=e.length,a=e[0]+"";o<i;){for(n=e[o++]+"",t=uo-n.length;t--;n="0"+n);a+=n}for(i=a.length;48===a.charCodeAt(--i););return a.slice(0,i+1||1)}function go(e,n){var t,o,i=e.c,a=n.c,r=e.s,s=n.s,c=e.e,l=n.e;if(!r||!s)return null;if(t=i&&!i[0],o=a&&!a[0],t||o)return t?o?0:-s:r;if(r!=s)return r;if(t=r<0,o=c==l,!i||!a)return o?0:!i^t?1:-1;if(!o)return c>l^t?1:-1;for(s=(c=i.length)<(l=a.length)?c:l,r=0;r<s;r++)if(i[r]!=a[r])return i[r]>a[r]^t?1:-1;return c==l?0:c>l^t?1:-1}function Ao(e,n,t,o){if(e<n||e>t||e!==ro(e))throw Error(so+(o||"Argument")+("number"==typeof e?e<n||e>t?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function yo(e){var n=e.c.length-1;return wo(e.e/uo)==n&&e.c[n]%2!=0}function vo(e,n){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(n<0?"e":"e+")+n}function ko(e,n,t){var o,i;if(n<0){for(i=t+".";++n;i+=t);e=i+e}else if(++n>(o=e.length)){for(i=t,n-=o;--n;i+=t);e+=i}else n<o&&(e=e.slice(0,n)+"."+e.slice(n));return e}var xo=function e(n){var t,o,i,a,r,s=v.prototype={constructor:v,toString:null,valueOf:null},c=new v(1),l=20,d=4,u=-7,f=21,p=-1e7,m=1e7,h=!1,w=1,b=0,g={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},A="0123456789abcdefghijklmnopqrstuvwxyz",y=!0;function v(e,n){var t,a,r,s,c,u,f,h,w=this;if(!(w instanceof v))return new v(e,n);if(null==n){if(e&&!0===e.u)return w.s=e.s,void(!e.c||e.e>m?w.c=w.e=null:e.e<p?w.c=[w.e=0]:(w.e=e.e,w.c=e.c.slice()));if((u="number"==typeof e)&&0*e==0){if(w.s=1/e<0?(e=-e,-1):1,e===~~e){for(s=0,c=e;c>=10;c/=10,s++);return void(s>m?w.c=w.e=null:(w.e=s,w.c=[e]))}h=String(e)}else{if(!io.test(h=String(e)))return i(w,h,u);w.s=45==h.charCodeAt(0)?(h=h.slice(1),-1):1}(s=h.indexOf("."))>-1&&(h=h.replace(".","")),(c=h.search(/e/i))>0?(s<0&&(s=c),s+=+h.slice(c+1),h=h.substring(0,c)):s<0&&(s=h.length)}else{if(Ao(n,2,A.length,"Base"),10==n&&y)return T(w=new v(e),l+w.e+1,d);if(h=String(e),u="number"==typeof e){if(0*e!=0)return i(w,h,u,n);if(w.s=1/e<0?(h=h.slice(1),-1):1,v.DEBUG&&h.replace(/^0\.0*|\./,"").length>15)throw Error(co+e)}else w.s=45===h.charCodeAt(0)?(h=h.slice(1),-1):1;for(t=A.slice(0,n),s=c=0,f=h.length;c<f;c++)if(t.indexOf(a=h.charAt(c))<0){if("."==a){if(c>s){s=f;continue}}else if(!r&&(h==h.toUpperCase()&&(h=h.toLowerCase())||h==h.toLowerCase()&&(h=h.toUpperCase()))){r=!0,c=-1,s=0;continue}return i(w,String(e),u,n)}u=!1,(s=(h=o(h,n,10,w.s)).indexOf("."))>-1?h=h.replace(".",""):s=h.length}for(c=0;48===h.charCodeAt(c);c++);for(f=h.length;48===h.charCodeAt(--f););if(h=h.slice(c,++f)){if(f-=c,u&&v.DEBUG&&f>15&&(e>fo||e!==ro(e)))throw Error(co+w.s*e);if((s=s-c-1)>m)w.c=w.e=null;else if(s<p)w.c=[w.e=0];else{if(w.e=s,w.c=[],c=(s+1)%uo,s<0&&(c+=uo),c<f){for(c&&w.c.push(+h.slice(0,c)),f-=uo;c<f;)w.c.push(+h.slice(c,c+=uo));c=uo-(h=h.slice(c)).length}else c-=f;for(;c--;h+="0");w.c.push(+h)}}else w.c=[w.e=0]}function k(e,n,t,o){var i,a,r,s,c;if(null==t?t=d:Ao(t,0,8),!e.c)return e.toString();if(i=e.c[0],r=e.e,null==n)c=bo(e.c),c=1==o||2==o&&(r<=u||r>=f)?vo(c,r):ko(c,r,"0");else if(a=(e=T(new v(e),n,t)).e,s=(c=bo(e.c)).length,1==o||2==o&&(n<=a||a<=u)){for(;s<n;c+="0",s++);c=vo(c,a)}else if(n-=r+(2===o&&a>r),c=ko(c,a,"0"),a+1>s){if(--n>0)for(c+=".";n--;c+="0");}else if((n+=a-s)>0)for(a+1==s&&(c+=".");n--;c+="0");return e.s<0&&i?"-"+c:c}function x(e,n){for(var t,o,i=1,a=new v(e[0]);i<e.length;i++)(!(o=new v(e[i])).s||(t=go(a,o))===n||0===t&&a.s===n)&&(a=o);return a}function C(e,n,t){for(var o=1,i=n.length;!n[--i];n.pop());for(i=n[0];i>=10;i/=10,o++);return(t=o+t*uo-1)>m?e.c=e.e=null:t<p?e.c=[e.e=0]:(e.e=t,e.c=n),e}function T(e,n,t,o){var i,a,r,s,c,l,d,u=e.c,f=po;if(u){e:{for(i=1,s=u[0];s>=10;s/=10,i++);if((a=n-i)<0)a+=uo,r=n,c=u[l=0],d=ro(c/f[i-r-1]%10);else if((l=ao((a+1)/uo))>=u.length){if(!o)break e;for(;u.length<=l;u.push(0));c=d=0,i=1,r=(a%=uo)-uo+1}else{for(c=s=u[l],i=1;s>=10;s/=10,i++);d=(r=(a%=uo)-uo+i)<0?0:ro(c/f[i-r-1]%10)}if(o=o||n<0||null!=u[l+1]||(r<0?c:c%f[i-r-1]),o=t<4?(d||o)&&(0==t||t==(e.s<0?3:2)):d>5||5==d&&(4==t||o||6==t&&(a>0?r>0?c/f[i-r]:0:u[l-1])%10&1||t==(e.s<0?8:7)),n<1||!u[0])return u.length=0,o?(n-=e.e+1,u[0]=f[(uo-n%uo)%uo],e.e=-n||0):u[0]=e.e=0,e;if(0==a?(u.length=l,s=1,l--):(u.length=l+1,s=f[uo-a],u[l]=r>0?ro(c/f[i-r]%f[r])*s:0),o)for(;;){if(0==l){for(a=1,r=u[0];r>=10;r/=10,a++);for(r=u[0]+=s,s=1;r>=10;r/=10,s++);a!=s&&(e.e++,u[0]==lo&&(u[0]=1));break}if(u[l]+=s,u[l]!=lo)break;u[l--]=0,s=1}for(a=u.length;0===u[--a];u.pop());}e.e>m?e.c=e.e=null:e.e<p&&(e.c=[e.e=0])}return e}function E(e){var n,t=e.e;return null===t?e.toString():(n=bo(e.c),n=t<=u||t>=f?vo(n,t):ko(n,t,"0"),e.s<0?"-"+n:n)}return v.clone=e,v.ROUND_UP=0,v.ROUND_DOWN=1,v.ROUND_CEIL=2,v.ROUND_FLOOR=3,v.ROUND_HALF_UP=4,v.ROUND_HALF_DOWN=5,v.ROUND_HALF_EVEN=6,v.ROUND_HALF_CEIL=7,v.ROUND_HALF_FLOOR=8,v.EUCLID=9,v.config=v.set=function(e){var n,t;if(null!=e){if("object"!=typeof e)throw Error(so+"Object expected: "+e);if(e.hasOwnProperty(n="DECIMAL_PLACES")&&(Ao(t=e[n],0,ho,n),l=t),e.hasOwnProperty(n="ROUNDING_MODE")&&(Ao(t=e[n],0,8,n),d=t),e.hasOwnProperty(n="EXPONENTIAL_AT")&&((t=e[n])&&t.pop?(Ao(t[0],-ho,0,n),Ao(t[1],0,ho,n),u=t[0],f=t[1]):(Ao(t,-ho,ho,n),u=-(f=t<0?-t:t))),e.hasOwnProperty(n="RANGE"))if((t=e[n])&&t.pop)Ao(t[0],-ho,-1,n),Ao(t[1],1,ho,n),p=t[0],m=t[1];else{if(Ao(t,-ho,ho,n),!t)throw Error(so+n+" cannot be zero: "+t);p=-(m=t<0?-t:t)}if(e.hasOwnProperty(n="CRYPTO")){if((t=e[n])!==!!t)throw Error(so+n+" not true or false: "+t);if(t){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw h=!t,Error(so+"crypto unavailable");h=t}else h=t}if(e.hasOwnProperty(n="MODULO_MODE")&&(Ao(t=e[n],0,9,n),w=t),e.hasOwnProperty(n="POW_PRECISION")&&(Ao(t=e[n],0,ho,n),b=t),e.hasOwnProperty(n="FORMAT")){if("object"!=typeof(t=e[n]))throw Error(so+n+" not an object: "+t);g=t}if(e.hasOwnProperty(n="ALPHABET")){if("string"!=typeof(t=e[n])||/^.?$|[+\-.\s]|(.).*\1/.test(t))throw Error(so+n+" invalid: "+t);y="0123456789"==t.slice(0,10),A=t}}return{DECIMAL_PLACES:l,ROUNDING_MODE:d,EXPONENTIAL_AT:[u,f],RANGE:[p,m],CRYPTO:h,MODULO_MODE:w,POW_PRECISION:b,FORMAT:g,ALPHABET:A}},v.isBigNumber=function(e){if(!e||!0!==e.u)return!1;if(!v.DEBUG)return!0;var n,t,o=e.c,i=e.e,a=e.s;e:if("[object Array]"=={}.toString.call(o)){if((1===a||-1===a)&&i>=-ho&&i<=ho&&i===ro(i)){if(0===o[0]){if(0===i&&1===o.length)return!0;break e}if((n=(i+1)%uo)<1&&(n+=uo),String(o[0]).length==n){for(n=0;n<o.length;n++)if((t=o[n])<0||t>=lo||t!==ro(t))break e;if(0!==t)return!0}}}else if(null===o&&null===i&&(null===a||1===a||-1===a))return!0;throw Error(so+"Invalid BigNumber: "+e)},v.maximum=v.max=function(){return x(arguments,-1)},v.minimum=v.min=function(){return x(arguments,1)},v.random=(a=9007199254740992,r=Math.random()*a&2097151?function(){return ro(Math.random()*a)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var n,t,o,i,a,s=0,d=[],u=new v(c);if(null==e?e=l:Ao(e,0,ho),i=ao(e/uo),h)if(crypto.getRandomValues){for(n=crypto.getRandomValues(new Uint32Array(i*=2));s<i;)(a=131072*n[s]+(n[s+1]>>>11))>=9e15?(t=crypto.getRandomValues(new Uint32Array(2)),n[s]=t[0],n[s+1]=t[1]):(d.push(a%1e14),s+=2);s=i/2}else{if(!crypto.randomBytes)throw h=!1,Error(so+"crypto unavailable");for(n=crypto.randomBytes(i*=7);s<i;)(a=281474976710656*(31&n[s])+1099511627776*n[s+1]+4294967296*n[s+2]+16777216*n[s+3]+(n[s+4]<<16)+(n[s+5]<<8)+n[s+6])>=9e15?crypto.randomBytes(7).copy(n,s):(d.push(a%1e14),s+=7);s=i/7}if(!h)for(;s<i;)(a=r())<9e15&&(d[s++]=a%1e14);for(i=d[--s],e%=uo,i&&e&&(a=po[uo-e],d[s]=ro(i/a)*a);0===d[s];d.pop(),s--);if(s<0)d=[o=0];else{for(o=-1;0===d[0];d.splice(0,1),o-=uo);for(s=1,a=d[0];a>=10;a/=10,s++);s<uo&&(o-=uo-s)}return u.e=o,u.c=d,u}),v.sum=function(){for(var e=1,n=arguments,t=new v(n[0]);e<n.length;)t=t.plus(n[e++]);return t},o=/* @__PURE__ */function(){var e="0123456789";function n(e,n,t,o){for(var i,a,r=[0],s=0,c=e.length;s<c;){for(a=r.length;a--;r[a]*=n);for(r[0]+=o.indexOf(e.charAt(s++)),i=0;i<r.length;i++)r[i]>t-1&&(null==r[i+1]&&(r[i+1]=0),r[i+1]+=r[i]/t|0,r[i]%=t)}return r.reverse()}return function(o,i,a,r,s){var c,u,f,p,m,h,w,g,y=o.indexOf("."),k=l,x=d;for(y>=0&&(p=b,b=0,o=o.replace(".",""),h=(g=new v(i)).pow(o.length-y),b=p,g.c=n(ko(bo(h.c),h.e,"0"),10,a,e),g.e=g.c.length),f=p=(w=n(o,i,a,s?(c=A,e):(c=e,A))).length;0==w[--p];w.pop());if(!w[0])return c.charAt(0);if(y<0?--f:(h.c=w,h.e=f,h.s=r,w=(h=t(h,g,k,x,a)).c,m=h.r,f=h.e),y=w[u=f+k+1],p=a/2,m=m||u<0||null!=w[u+1],m=x<4?(null!=y||m)&&(0==x||x==(h.s<0?3:2)):y>p||y==p&&(4==x||m||6==x&&1&w[u-1]||x==(h.s<0?8:7)),u<1||!w[0])o=m?ko(c.charAt(1),-k,c.charAt(0)):c.charAt(0);else{if(w.length=u,m)for(--a;++w[--u]>a;)w[u]=0,u||(++f,w=[1].concat(w));for(p=w.length;!w[--p];);for(y=0,o="";y<=p;o+=c.charAt(w[y++]));o=ko(o,f,c.charAt(0))}return o}}(),t=/* @__PURE__ */function(){function e(e,n,t){var o,i,a,r,s=0,c=e.length,l=n%mo,d=n/mo|0;for(e=e.slice();c--;)s=((i=l*(a=e[c]%mo)+(o=d*a+(r=e[c]/mo|0)*l)%mo*mo+s)/t|0)+(o/mo|0)+d*r,e[c]=i%t;return s&&(e=[s].concat(e)),e}function n(e,n,t,o){var i,a;if(t!=o)a=t>o?1:-1;else for(i=a=0;i<t;i++)if(e[i]!=n[i]){a=e[i]>n[i]?1:-1;break}return a}function t(e,n,t,o){for(var i=0;t--;)e[t]-=i,i=e[t]<n[t]?1:0,e[t]=i*o+e[t]-n[t];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(o,i,a,r,s){var c,l,d,u,f,p,m,h,w,b,g,A,y,k,x,C,E,I=o.s==i.s?1:-1,N=o.c,S=i.c;if(!(N&&N[0]&&S&&S[0]))return new v(o.s&&i.s&&(N?!S||N[0]!=S[0]:S)?N&&0==N[0]||!S?0*I:I/0:NaN);for(w=(h=new v(I)).c=[],I=a+(l=o.e-i.e)+1,s||(s=lo,l=wo(o.e/uo)-wo(i.e/uo),I=I/uo|0),d=0;S[d]==(N[d]||0);d++);if(S[d]>(N[d]||0)&&l--,I<0)w.push(1),u=!0;else{for(k=N.length,C=S.length,d=0,I+=2,(f=ro(s/(S[0]+1)))>1&&(S=e(S,f,s),N=e(N,f,s),C=S.length,k=N.length),y=C,g=(b=N.slice(0,C)).length;g<C;b[g++]=0);E=S.slice(),E=[0].concat(E),x=S[0],S[1]>=s/2&&x++;do{if(f=0,(c=n(S,b,C,g))<0){if(A=b[0],C!=g&&(A=A*s+(b[1]||0)),(f=ro(A/x))>1)for(f>=s&&(f=s-1),m=(p=e(S,f,s)).length,g=b.length;1==n(p,b,m,g);)f--,t(p,C<m?E:S,m,s),m=p.length,c=1;else 0==f&&(c=f=1),m=(p=S.slice()).length;if(m<g&&(p=[0].concat(p)),t(b,p,g,s),g=b.length,-1==c)for(;n(S,b,C,g)<1;)f++,t(b,C<g?E:S,g,s),g=b.length}else 0===c&&(f++,b=[0]);w[d++]=f,b[0]?b[g++]=N[y]||0:(b=[N[y]],g=1)}while((y++<k||null!=b[0])&&I--);u=null!=b[0],w[0]||w.splice(0,1)}if(s==lo){for(d=1,I=w[0];I>=10;I/=10,d++);T(h,a+(h.e=d+l*uo-1)+1,r,u)}else h.e=l,h.r=+u;return h}}(),i=/* @__PURE__ */function(){var e=/^(-?)0([xbo])(?=\w[\w.]*$)/i,n=/^([^.]+)\.$/,t=/^\.([^.]+)$/,o=/^-?(Infinity|NaN)$/,i=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(a,r,s,c){var l,d=s?r:r.replace(i,"");if(o.test(d))a.s=isNaN(d)?null:d<0?-1:1;else{if(!s&&(d=d.replace(e,function(e,n,t){return l="x"==(t=t.toLowerCase())?16:"b"==t?2:8,c&&c!=l?e:n}),c&&(l=c,d=d.replace(n,"$1").replace(t,"0.$1")),r!=d))return new v(d,l);if(v.DEBUG)throw Error(so+"Not a"+(c?" base "+c:"")+" number: "+r);a.s=null}a.c=a.e=null}}(),s.absoluteValue=s.abs=function(){var e=new v(this);return e.s<0&&(e.s=1),e},s.comparedTo=function(e,n){return go(this,new v(e,n))},s.decimalPlaces=s.dp=function(e,n){var t,o,i,a=this;if(null!=e)return Ao(e,0,ho),null==n?n=d:Ao(n,0,8),T(new v(a),e+a.e+1,n);if(!(t=a.c))return null;if(o=((i=t.length-1)-wo(this.e/uo))*uo,i=t[i])for(;i%10==0;i/=10,o--);return o<0&&(o=0),o},s.dividedBy=s.div=function(e,n){return t(this,new v(e,n),l,d)},s.dividedToIntegerBy=s.idiv=function(e,n){return t(this,new v(e,n),0,1)},s.exponentiatedBy=s.pow=function(e,n){var t,o,i,a,r,s,l,u,f=this;if((e=new v(e)).c&&!e.isInteger())throw Error(so+"Exponent not an integer: "+E(e));if(null!=n&&(n=new v(n)),r=e.e>14,!f.c||!f.c[0]||1==f.c[0]&&!f.e&&1==f.c.length||!e.c||!e.c[0])return u=new v(Math.pow(+E(f),r?e.s*(2-yo(e)):+E(e))),n?u.mod(n):u;if(s=e.s<0,n){if(n.c?!n.c[0]:!n.s)return new v(NaN);(o=!s&&f.isInteger()&&n.isInteger())&&(f=f.mod(n))}else{if(e.e>9&&(f.e>0||f.e<-1||(0==f.e?f.c[0]>1||r&&f.c[1]>=24e7:f.c[0]<8e13||r&&f.c[0]<=9999975e7)))return a=f.s<0&&yo(e)?-0:0,f.e>-1&&(a=1/a),new v(s?1/a:a);b&&(a=ao(b/uo+2))}for(r?(t=new v(.5),s&&(e.s=1),l=yo(e)):l=(i=Math.abs(+E(e)))%2,u=new v(c);;){if(l){if(!(u=u.times(f)).c)break;a?u.c.length>a&&(u.c.length=a):o&&(u=u.mod(n))}if(i){if(0===(i=ro(i/2)))break;l=i%2}else if(T(e=e.times(t),e.e+1,1),e.e>14)l=yo(e);else{if(0===(i=+E(e)))break;l=i%2}f=f.times(f),a?f.c&&f.c.length>a&&(f.c.length=a):o&&(f=f.mod(n))}return o?u:(s&&(u=c.div(u)),n?u.mod(n):a?T(u,b,d,void 0):u)},s.integerValue=function(e){var n=new v(this);return null==e?e=d:Ao(e,0,8),T(n,n.e+1,e)},s.isEqualTo=s.eq=function(e,n){return 0===go(this,new v(e,n))},s.isFinite=function(){return!!this.c},s.isGreaterThan=s.gt=function(e,n){return go(this,new v(e,n))>0},s.isGreaterThanOrEqualTo=s.gte=function(e,n){return 1===(n=go(this,new v(e,n)))||0===n},s.isInteger=function(){return!!this.c&&wo(this.e/uo)>this.c.length-2},s.isLessThan=s.lt=function(e,n){return go(this,new v(e,n))<0},s.isLessThanOrEqualTo=s.lte=function(e,n){return-1===(n=go(this,new v(e,n)))||0===n},s.isNaN=function(){return!this.s},s.isNegative=function(){return this.s<0},s.isPositive=function(){return this.s>0},s.isZero=function(){return!!this.c&&0==this.c[0]},s.minus=function(e,n){var t,o,i,a,r=this,s=r.s;if(n=(e=new v(e,n)).s,!s||!n)return new v(NaN);if(s!=n)return e.s=-n,r.plus(e);var c=r.e/uo,l=e.e/uo,u=r.c,f=e.c;if(!c||!l){if(!u||!f)return u?(e.s=-n,e):new v(f?r:NaN);if(!u[0]||!f[0])return f[0]?(e.s=-n,e):new v(u[0]?r:3==d?-0:0)}if(c=wo(c),l=wo(l),u=u.slice(),s=c-l){for((a=s<0)?(s=-s,i=u):(l=c,i=f),i.reverse(),n=s;n--;i.push(0));i.reverse()}else for(o=(a=(s=u.length)<(n=f.length))?s:n,s=n=0;n<o;n++)if(u[n]!=f[n]){a=u[n]<f[n];break}if(a&&(i=u,u=f,f=i,e.s=-e.s),(n=(o=f.length)-(t=u.length))>0)for(;n--;u[t++]=0);for(n=lo-1;o>s;){if(u[--o]<f[o]){for(t=o;t&&!u[--t];u[t]=n);--u[t],u[o]+=lo}u[o]-=f[o]}for(;0==u[0];u.splice(0,1),--l);return u[0]?C(e,u,l):(e.s=3==d?-1:1,e.c=[e.e=0],e)},s.modulo=s.mod=function(e,n){var o,i,a=this;return e=new v(e,n),!a.c||!e.s||e.c&&!e.c[0]?new v(NaN):!e.c||a.c&&!a.c[0]?new v(a):(9==w?(i=e.s,e.s=1,o=t(a,e,0,3),e.s=i,o.s*=i):o=t(a,e,0,w),(e=a.minus(o.times(e))).c[0]||1!=w||(e.s=a.s),e)},s.multipliedBy=s.times=function(e,n){var t,o,i,a,r,s,c,l,d,u,f,p,m,h,w,b=this,g=b.c,A=(e=new v(e,n)).c;if(!(g&&A&&g[0]&&A[0]))return!b.s||!e.s||g&&!g[0]&&!A||A&&!A[0]&&!g?e.c=e.e=e.s=null:(e.s*=b.s,g&&A?(e.c=[0],e.e=0):e.c=e.e=null),e;for(o=wo(b.e/uo)+wo(e.e/uo),e.s*=b.s,(c=g.length)<(u=A.length)&&(m=g,g=A,A=m,i=c,c=u,u=i),i=c+u,m=[];i--;m.push(0));for(h=lo,w=mo,i=u;--i>=0;){for(t=0,f=A[i]%w,p=A[i]/w|0,a=i+(r=c);a>i;)t=((l=f*(l=g[--r]%w)+(s=p*l+(d=g[r]/w|0)*f)%w*w+m[a]+t)/h|0)+(s/w|0)+p*d,m[a--]=l%h;m[a]=t}return t?++o:m.splice(0,1),C(e,m,o)},s.negated=function(){var e=new v(this);return e.s=-e.s||null,e},s.plus=function(e,n){var t,o=this,i=o.s;if(n=(e=new v(e,n)).s,!i||!n)return new v(NaN);if(i!=n)return e.s=-n,o.minus(e);var a=o.e/uo,r=e.e/uo,s=o.c,c=e.c;if(!a||!r){if(!s||!c)return new v(i/0);if(!s[0]||!c[0])return c[0]?e:new v(s[0]?o:0*i)}if(a=wo(a),r=wo(r),s=s.slice(),i=a-r){for(i>0?(r=a,t=c):(i=-i,t=s),t.reverse();i--;t.push(0));t.reverse()}for((i=s.length)-(n=c.length)<0&&(t=c,c=s,s=t,n=i),i=0;n;)i=(s[--n]=s[n]+c[n]+i)/lo|0,s[n]=lo===s[n]?0:s[n]%lo;return i&&(s=[i].concat(s),++r),C(e,s,r)},s.precision=s.sd=function(e,n){var t,o,i,a=this;if(null!=e&&e!==!!e)return Ao(e,1,ho),null==n?n=d:Ao(n,0,8),T(new v(a),e,n);if(!(t=a.c))return null;if(o=(i=t.length-1)*uo+1,i=t[i]){for(;i%10==0;i/=10,o--);for(i=t[0];i>=10;i/=10,o++);}return e&&a.e+1>o&&(o=a.e+1),o},s.shiftedBy=function(e){return Ao(e,-9007199254740991,fo),this.times("1e"+e)},s.squareRoot=s.sqrt=function(){var e,n,o,i,a,r=this,s=r.c,c=r.s,u=r.e,f=l+4,p=new v("0.5");if(1!==c||!s||!s[0])return new v(!c||c<0&&(!s||s[0])?NaN:s?r:1/0);if(0==(c=Math.sqrt(+E(r)))||c==1/0?(((n=bo(s)).length+u)%2==0&&(n+="0"),c=Math.sqrt(+n),u=wo((u+1)/2)-(u<0||u%2),o=new v(n=c==1/0?"5e"+u:(n=c.toExponential()).slice(0,n.indexOf("e")+1)+u)):o=new v(c+""),o.c[0])for((c=(u=o.e)+f)<3&&(c=0);;)if(a=o,o=p.times(a.plus(t(r,a,f,1))),bo(a.c).slice(0,c)===(n=bo(o.c)).slice(0,c)){if(o.e<u&&--c,"9999"!=(n=n.slice(c-3,c+1))&&(i||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(T(o,o.e+l+2,1),e=!o.times(o).eq(r));break}if(!i&&(T(a,a.e+l+2,0),a.times(a).eq(r))){o=a;break}f+=4,c+=4,i=1}return T(o,o.e+l+1,d,e)},s.toExponential=function(e,n){return null!=e&&(Ao(e,0,ho),e++),k(this,e,n,1)},s.toFixed=function(e,n){return null!=e&&(Ao(e,0,ho),e=e+this.e+1),k(this,e,n)},s.toFormat=function(e,n,t){var o,i=this;if(null==t)null!=e&&n&&"object"==typeof n?(t=n,n=null):e&&"object"==typeof e?(t=e,e=n=null):t=g;else if("object"!=typeof t)throw Error(so+"Argument not an object: "+t);if(o=i.toFixed(e,n),i.c){var a,r=o.split("."),s=+t.groupSize,c=+t.secondaryGroupSize,l=t.groupSeparator||"",d=r[0],u=r[1],f=i.s<0,p=f?d.slice(1):d,m=p.length;if(c&&(a=s,s=c,c=a,m-=a),s>0&&m>0){for(a=m%s||s,d=p.substr(0,a);a<m;a+=s)d+=l+p.substr(a,s);c>0&&(d+=l+p.slice(a)),f&&(d="-"+d)}o=u?d+(t.decimalSeparator||"")+((c=+t.fractionGroupSize)?u.replace(new RegExp("\\d{"+c+"}\\B","g"),"$&"+(t.fractionGroupSeparator||"")):u):d}return(t.prefix||"")+o+(t.suffix||"")},s.toFraction=function(e){var n,o,i,a,r,s,l,u,f,p,h,w,b=this,g=b.c;if(null!=e&&(!(l=new v(e)).isInteger()&&(l.c||1!==l.s)||l.lt(c)))throw Error(so+"Argument "+(l.isInteger()?"out of range: ":"not an integer: ")+E(l));if(!g)return new v(b);for(n=new v(c),f=o=new v(c),i=u=new v(c),w=bo(g),r=n.e=w.length-b.e-1,n.c[0]=po[(s=r%uo)<0?uo+s:s],e=!e||l.comparedTo(n)>0?r>0?n:f:l,s=m,m=1/0,l=new v(w),u.c[0]=0;p=t(l,n,0,1),1!=(a=o.plus(p.times(i))).comparedTo(e);)o=i,i=a,f=u.plus(p.times(a=f)),u=a,n=l.minus(p.times(a=n)),l=a;return a=t(e.minus(o),i,0,1),u=u.plus(a.times(f)),o=o.plus(a.times(i)),u.s=f.s=b.s,h=t(f,i,r*=2,d).minus(b).abs().comparedTo(t(u,o,r,d).minus(b).abs())<1?[f,i]:[u,o],m=s,h},s.toNumber=function(){return+E(this)},s.toPrecision=function(e,n){return null!=e&&Ao(e,1,ho),k(this,e,n,2)},s.toString=function(e){var n,t=this,i=t.s,a=t.e;return null===a?i?(n="Infinity",i<0&&(n="-"+n)):n="NaN":(null==e?n=a<=u||a>=f?vo(bo(t.c),a):ko(bo(t.c),a,"0"):10===e&&y?n=ko(bo((t=T(new v(t),l+a+1,d)).c),t.e,"0"):(Ao(e,2,A.length,"Base"),n=o(ko(bo(t.c),a,"0"),10,e,i,!0)),i<0&&t.c[0]&&(n="-"+n)),n},s.valueOf=s.toJSON=function(){return E(this)},s.u=!0,s[Symbol.toStringTag]="BigNumber",s[/* @__PURE__ */Symbol.for("nodejs.util.inspect.custom")]=s.valueOf,null!=n&&v.set(n),v}();class Co{baseUrl;constructor(e){this.baseUrl=e}buildUrl(e,n){const t=new URL(e,this.baseUrl);return n&&Object.entries(n).forEach(([e,n])=>{null!=n&&t.searchParams.append(e,String(n))}),t.toString()}async get(e,n={}){const t=this.buildUrl(e,n.query),o=await fetch(t,{method:"GET",headers:n.headers||{}});if(!o.ok){let e=null;try{e=await o.json()}catch{try{const n=await o.text();n&&(e={message:n})}catch{}}const n=new Error(e?.message||e?.errorMessage||`HTTP ${o.status}: ${o.statusText}`);throw n.status=o.status,n.statusText=o.statusText,e&&(n.data=e),n}return{data:await o.json(),status:o.status}}async post(e,n,t={}){const o=this.buildUrl(e,t.query),i=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",...t.headers},body:JSON.stringify(n)});if(!i.ok){let e=null;try{e=await i.json()}catch{try{const n=await i.text();n&&(e={message:n})}catch{}}const n=new Error(e?.message||e?.errorMessage||`HTTP ${i.status}: ${i.statusText}`);throw n.status=i.status,n.statusText=i.statusText,e&&(n.data=e),n}return{data:await i.json(),status:i.status}}}const To=new Co("https://wallet-api.pantograph.app"),Eo="https://nft-demo.keyring.app",Io=new Co(Eo);async function No(e){const{address:n,chain:t="base",token_addresses:o,exclude_spam:i,exclude_unverified_contracts:a}=e;if(!n)throw new Error("Address is required");try{const e={chain:t,exclude_spam:i??!1,exclude_unverified_contracts:a??!1};o&&(e.token_addresses=o);const s=(await Io.get(`api/moralis/proxy/wallets/${encodeURIComponent(n)}/tokens`,{query:e})).data;if(s?.result?.length>0){s.result=s.result.filter(e=>new xo(e?.balance||0).gt(0)),s.result=s.result.map(e=>({...e,token_address:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"===e.token_address?Wt:e.token_address}));try{if(s.result.length>0){const e=Lt(t)??t,n=s.result.map(e=>e.token_address),o=await To.get(`/keyrings/tokens/${e}/v2`,{query:{addresses:n.join(",")}});if(Array.isArray(o.data)){const e=/* @__PURE__ */new Map;for(const n of o.data)n.address&&e.set(n.address.toLowerCase(),{price:null!=n.price?parseFloat(String(n.price)):NaN,icon_image:n.icon_image});s.result=s.result.map(n=>{const t=e.get(n.token_address.toLowerCase());if(!t)return n;const o={...n};return t.icon_image&&(o.logo=t.icon_image,o.thumbnail=t.icon_image),isNaN(t.price)||(o.usd_price=t.price,o.usd_value=xo(n.balance_formatted||"0").multipliedBy(t.price).toNumber()),o}),s.result=s.result.filter(e=>null==e.usd_value||new xo(e.usd_value).gte(.01))}}}catch(r){}}return{success:!0,data:s}}catch(s){return{success:!1,error:s instanceof Error?s.message:"Unknown error"}}}async function So(e){const{address:n,chain:t="base"}=e;if(!n)throw new Error("Token address is required");try{const e=Lt(t)??t,o=await To.get(`/keyrings/tokens/${e}/v2`,{query:{addresses:n}}),i=n===Wt,a=(Array.isArray(o.data)?o.data:[]).find(e=>e.address?.toLowerCase()===n.toLowerCase()||i&&""===e.address)??null;if(a)return{success:!0,data:{token_address:a.address??n,name:a.name??"",symbol:a.symbol??"",decimals:null!=a.decimals?Number(a.decimals):18,logo:a.icon_image||a.logo,thumbnail:a.icon_image||a.logo,usd_price:null!=a.price?parseFloat(a.price):void 0,usd_price_24hr_percent_change:a.price_change_percentage_24h??void 0,usd_price_24hr_usd_change:a.price_change_24h??void 0}};const[r,s]=await Promise.allSettled([Io.get("api/moralis/proxy/erc20/metadata",{query:{chain:t,addresses:[n]}}),Io.get(`api/moralis/proxy/erc20/${encodeURIComponent(n)}/price`,{query:{chain:t,include:"percent_change"}})]),c="fulfilled"===r.status?r.value.data:[];if(!c||0===c.length)return{success:!1,error:"Token metadata not found"};const l=c[0],d="fulfilled"===s.status?s.value.data:void 0;return{success:!0,data:{token_address:l.token_address,name:l.name,symbol:l.symbol,decimals:l.decimals,logo:l.logo||l.thumbnail,thumbnail:l.thumbnail,usd_price:d?.usdPrice??void 0,usd_price_24hr_percent_change:d?.["24hrPercentChange"]?parseFloat(d["24hrPercentChange"]):void 0,usd_price_24hr_usd_change:d?.usdPriceChange24hr??void 0}}}catch(o){return{success:!1,error:o instanceof Error?o.message:"Unknown error"}}}async function Bo(e){const{address:n,chain:t="base",limit:o=100,exclude_spam:i=!0,cursor:a}=e;if(!n)throw new Error("Address is required");try{const e={chain:t,format:"decimal",limit:o,exclude_spam:i,media_items:!0,normalizeMetadata:!0};a&&(e.cursor=a);return{success:!0,data:(await Io.get(`api/moralis/proxy/${encodeURIComponent(n)}/nft`,{query:e})).data}}catch(r){return{success:!1,error:r instanceof Error?r.message:"Unknown error"}}}const Fo=new class extends Co{constructor(){super("https://wallet-api.pantograph.app")}async getTokensDetails(e,n="base"){try{if(!e||!Array.isArray(e)||0===e.length)throw new Error("Addresses must be a non-empty array");const t=e.join(","),o=await this.get(`/keyrings/tokens/${n}/v2`,{query:{addresses:t}});return Array.isArray(o.data)&&(o.data=o.data.filter((e,n,t)=>n===t.findIndex(n=>n.address.toLowerCase()===e.address.toLowerCase())),Array.isArray(e)&&e.length>0&&(o.data=o.data.filter(n=>e.some(e=>e.toLowerCase()===n.address.toLowerCase())),o.data.sort((n,t)=>e.findIndex(e=>e.toLowerCase()===n.address.toLowerCase())-e.findIndex(e=>e.toLowerCase()===t.address.toLowerCase())))),o}catch(t){throw t}}async getTokenDetail(e,n="base"){try{if(!e)throw new Error("Address is required");const t=await this.getTokensDetails([e],n);return{data:t.data[0]||null,status:t.status}}catch(t){throw t}}async getTopGainers(e="base",n="24h",t=3){try{return await this.get(`/token-list/top-gainers/${e}`,{query:{duration:n,limit:t}})}catch(o){throw o}}},Ro=new Co("https://dln.debridge.finance");async function Oo(e){const{chainId:n,tokenIn:t,tokenInAmount:o,tokenOut:i,accesstoken:a,slippage:r="auto",tokenOutRecipient:s}=e;if(!(n&&t&&o&&i))throw new Error("Missing required parameters: chainId, tokenIn, tokenInAmount, tokenOut");try{const e=await fetch("https://exchange-api.keyring.app/admin/setting?configs=others",{method:"GET"}),c=await e.json(),l=c?.others||{},d=l?.AFFILIATE_FEE_PERENT,u=l?.AFFILIATE_FEE_RECIPIENT,f=await Ro.get("/v1.0/chain/transaction",{query:{chainId:String(n),tokenIn:t,tokenInAmount:o,tokenOut:i,slippage:String(r),tokenOutRecipient:s,accesstoken:a,affiliateFeePercent:d,affiliateFeeRecipient:u}});if(f.data?.error)throw new Error(`DeBridge API Error: ${f.data.error}`);return{success:!0,data:f.data}}catch(c){let e=c instanceof Error?c.message:"Unknown error";const n=c;n.data?.errorMessage?e=n.data.errorMessage:n.response?.data?.errorMessage?e=n.response.data.errorMessage:n.data?.message?e=n.data.message:n.response?.data?.message&&(e=n.response.data.message);const t=n.status||n.response?.status||n.statusCode||n.data?.status;return{success:!1,error:c instanceof Error?c.message:"Unknown error",status:t,errorMessage:e,errorCode:n.data?.errorCode,errorId:n.data?.errorId}}}const Do={send_native:{label:"actionSendNativeLabel",description:"actionSendNativeDesc",fields:[{key:"to_address",label:"fieldToAddress",type:"address",placeholder:"0x...",required:!0,validation:"address"},{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},send_token:{label:"actionSendTokenLabel",description:"actionSendTokenDesc",fields:[{key:"contract_address",label:"fieldTokenContract",type:"address",placeholder:"0x... token contract",required:!0,validation:"address",editable:!1},{key:"token_symbol",label:"fieldTokenSymbol",type:"text",placeholder:"e.g. USDC",required:!1,editable:!1},{key:"decimals",label:"fieldDecimals",type:"number",placeholder:"18",required:!1,editable:!1},{key:"to_address",label:"fieldToAddress",type:"address",placeholder:"0x...",required:!0,validation:"address"},{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},swap_token:{label:"actionSwapTokenLabel",description:"actionSwapTokenDesc",fields:[{key:"token_in",label:"fieldTokenIn",type:"address",placeholder:"0x... or native",required:!0,editable:!1},{key:"token_in_symbol",label:"fieldTokenInSymbol",type:"text",placeholder:"e.g. ETH",required:!1,editable:!1},{key:"token_out",label:"fieldTokenOut",type:"address",placeholder:"0x...",required:!0,editable:!1},{key:"token_out_symbol",label:"fieldTokenOutSymbol",type:"text",placeholder:"e.g. USDC",required:!1,editable:!1},{key:"token_in_decimals",label:"fieldTokenInDecimals",type:"number",placeholder:"18",required:!1,editable:!1},{key:"token_out_decimals",label:"fieldTokenOutDecimals",type:"number",placeholder:"18",required:!1,editable:!1},{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},approve_token:{label:"actionApproveTokenLabel",description:"actionApproveTokenDesc",fields:[{key:"contract_address",label:"fieldTokenContract",type:"address",placeholder:"0x... token contract",required:!0,validation:"address",editable:!1},{key:"token_symbol",label:"fieldTokenSymbol",type:"text",placeholder:"e.g. USDC",required:!1,editable:!1},{key:"spender_address",label:"fieldSpenderAddress",type:"address",placeholder:"0x... spender contract",required:!0,validation:"address",editable:!1},{key:"amount",label:"fieldAmountUnlimited",type:"amount",placeholder:"0.0 or leave empty for max",required:!1,validation:"amount"},{key:"decimals",label:"fieldDecimals",type:"number",placeholder:"18",required:!1,editable:!1}]},wrap_native:{label:"actionWrapNativeLabel",description:"actionWrapNativeDesc",fields:[{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},unwrap_native:{label:"actionUnwrapNativeLabel",description:"actionUnwrapNativeDesc",fields:[{key:"amount",label:"fieldAmount",type:"amount",placeholder:"0.0",required:!0,validation:"amount"}]},send_nft:{label:"actionSendNftLabel",description:"actionSendNftDesc",fields:[{key:"contract_address",label:"fieldNftContract",type:"address",placeholder:"0x... NFT contract",required:!0,validation:"address",editable:!1},{key:"token_id",label:"fieldTokenId",type:"text",placeholder:"e.g. 1234",required:!0,editable:!1},{key:"to_address",label:"fieldToAddress",type:"address",placeholder:"0x...",required:!0,validation:"address"},{key:"token_standard",label:"fieldTokenStandard",type:"text",placeholder:"ERC721 or ERC1155",required:!0,editable:!1},{key:"amount",label:"fieldAmount",type:"text",placeholder:"1",required:!0},{key:"maxAmount",label:"fieldMaxAmount",type:"text",placeholder:"",required:!1,editable:!1,hidden:!0},{key:"nft_name",label:"fieldNftName",type:"text",placeholder:"e.g. Bored Ape #1234",required:!1,editable:!1}]}};function Lo(e){if(!e||""===e?.trim())return!1;const n=parseFloat(e);return!isNaN(n)&&n>0}const Uo=({action:n,initialValues:o,onSubmit:a,onCancel:s,isSubmitting:c=!1,tokenInfo:l,nftInfo:d,disabled:u=!1})=>{const{t:f,ti:p}=w(),m=Do[n],[h,b]=i(()=>{if(!m)return{};const e={};return m.fields.forEach(n=>{e[n.key]=o[n.key]||""}),e}),[g]=i(()=>["send_native","send_token","swap_token"].includes(n)&&!l&&h.contract_address?f("formTokenNotFound"):null),[A,y]=i(()=>{const e={};if(["send_native","send_token","swap_token"].includes(n)&&l){const n=parseFloat(l.balanceFormatted||"0");if(n<=0)e.amount=p("formNoBalance",{symbol:l.symbol??""});else{const t=o.amount?.trim();t&&Lo(t)&&parseFloat(t)>n&&(e.amount=p("formInsufficientBalance",{balance:l.balanceFormatted,symbol:l.symbol??""}))}}return e}),v=r((e,n)=>{b(t=>({...t,[e]:n})),A[e]&&y(n=>{const t={...n};return delete t[e],t})},[A]),k=r(()=>{if(!m)return!1;const e={};if(m.fields.forEach(t=>{const o=h[t.key]?.trim()||"";!t.required||o||"send_nft"===n&&"amount"===t.key?o&&("address"!==t.validation||Pn(o)||(e[t.key]=f("formInvalidAddress")),"amount"!==t.validation||Lo(o)||(e[t.key]=f("formMustBePositive")),"amount"===t.key&&o&&Lo(o)&&l?.balanceFormatted&&parseFloat(o)>parseFloat(l.balanceFormatted)&&(e[t.key]=p("formInsufficientBalance",{balance:l.balanceFormatted,symbol:l.symbol??""})),"positive_number"===t.validation&&(isNaN(Number(o))||Number(o)<0)&&(e[t.key]=f("formMustBeValidNumber"))):e[t.key]=p("formFieldRequired",{field:f(t.label)})}),"send_nft"===n&&"ERC1155"===h.token_standard?.toUpperCase()){const n=h.amount?.trim();if(n)if(!/^\d+$/.test(n)||parseInt(n,10)<1)e.amount=f("formMustBePositiveInteger");else{const t=parseInt(o.maxAmount||"0",10);t>0&&parseInt(n,10)>t&&(e.amount=p("formAmountExceedsNft",{max:String(t)}))}else e.amount=p("formFieldRequired",{field:f("fieldAmount")})}return y(e),0===Object.keys(e).length},[m,h,l,n,o,f,p]),x=r(()=>{k()&&a(n,h)},[k,a,n,h]);return m?/* @__PURE__ */t("div",{className:"action-form",children:[
|
|
10
10
|
/* @__PURE__ */e("div",{className:"action-form-title",children:/* @__PURE__ */e("span",{children:f(m.label)})}),g&&/* @__PURE__ */t("div",{className:"action-form-general-error",children:["⚠️ ",g]}),l&&/* @__PURE__ */e("div",{className:"action-form-token-info",children:/* @__PURE__ */t("div",{className:"token-info-row",children:[l.logo&&/* @__PURE__ */e("img",{src:l.logo,alt:l.symbol,className:"token-info-logo",width:20,height:20}),
|
|
11
11
|
/* @__PURE__ */t("div",{className:"token-info-details",children:[
|
|
12
12
|
/* @__PURE__ */t("span",{className:"token-info-name",children:[l.name," (",l.symbol,")"]}),
|
|
@@ -16,7 +16,7 @@ return e(n,{children:Mn(o||"")&&/* @__PURE__ */t("div",{className:"chat-user-inf
|
|
|
16
16
|
/* @__PURE__ */t("div",{className:"action-form-field-label",children:[f(i.label),i.required&&" *"]}),"amount"===i.key&&l&&"send_nft"!==n&&/* @__PURE__ */t("div",{className:"action-form-pct-btns",children:[[25,50,75].map(e=>/* @__PURE__ */t("button",{type:"button",className:"action-form-pct-btn",onClick:()=>v("amount",(parseFloat(l.balanceFormatted)*e/100).toString()),disabled:c||u,children:[e,"%"]},e)),
|
|
17
17
|
/* @__PURE__ */e("button",{type:"button",className:"action-form-pct-btn action-form-max-btn",onClick:()=>v("amount",l.balanceFormatted),disabled:c||u,children:f("formMax")})]})]}),(()=>{const n=!1===i.editable&&!!o[i.key]||u,t=c||n,a=[A[i.key]?"error":"",n?"readonly":""].filter(Boolean).join(" ");return"address"===i.type?/* @__PURE__ */e("textarea",{rows:2,placeholder:i.placeholder,value:h[i.key]||"",onChange:e=>v(i.key,e.target.value),className:a,disabled:t||u}):/* @__PURE__ */e("input",{type:"number"===i.type?"number":"text",placeholder:i.placeholder,value:h[i.key]||"",onChange:e=>v(i.key,e.target.value),className:a,disabled:t||u})})(),A[i.key]&&/* @__PURE__ */e("span",{className:"field-error",children:A[i.key]})]},i.key))}),!u&&/* @__PURE__ */t("div",{className:"action-form-actions",children:[
|
|
18
18
|
/* @__PURE__ */e("button",{className:"message-button",onClick:s,type:"button",disabled:c,children:f("formCancel")}),
|
|
19
|
-
/* @__PURE__ */e("button",{className:"message-button",onClick:x,type:"button",disabled:c,children:f(c?"formProcessing":"formExecute")})]})]}):null},Lo=({scrollContainerRef:n,threshold:t=200})=>{const[o,r]=i(!1);return a(()=>{const e=n.current;if(!e)return;const o=()=>{const{scrollTop:n,scrollHeight:o,clientHeight:i}=e;r(o-n-i>t)};return e.addEventListener("scroll",o,{passive:!0}),o(),()=>{e.removeEventListener("scroll",o)}},[n,t]),o?/* @__PURE__ */e("button",{className:"scroll-to-bottom-btn",onClick:()=>{n.current?.scrollTo({top:n.current.scrollHeight,behavior:"smooth"})},"aria-label":"Scroll to bottom",type:"button",children:/* @__PURE__ */e("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",children:/* @__PURE__ */e("path",{d:"M9 3V15M9 15L4 10M9 15L14 10",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}):null},Mo={1:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",10:"0x4200000000000000000000000000000000000006",56:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",137:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",8453:"0x4200000000000000000000000000000000000006",42161:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"},Ho=[{name:"transfer",type:"function",stateMutability:"nonpayable",inputs:[{name:"to",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"approve",type:"function",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"allowance",type:"function",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],outputs:[{name:"",type:"uint256"}]}],Jo=[{name:"deposit",type:"function",stateMutability:"payable",inputs:[],outputs:[]},{name:"withdraw",type:"function",stateMutability:"nonpayable",inputs:[{name:"wad",type:"uint256"}],outputs:[]}],qo=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"tokenId",type:"uint256"}],outputs:[]}],Go=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"id",type:"uint256"},{name:"amount",type:"uint256"},{name:"data",type:"bytes"}],outputs:[]}];function Yo(e,n){if(n)return n;const t=Dt[e];return t?.rpcUrls?.default?.http?.[0]}async function Wo(e){const{transactionHash:n,chainId:t,pollingInterval:o=3e3,timeout:i=12e4,rpcUrl:a}=e,r=Yo(t,a);if(!r)throw new Error(`No RPC endpoint for chain ${t}`);const s=Date.now();for(;Date.now()-s<i;){try{const e=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getTransactionReceipt",params:[n]})}),t=await e.json();if(t.result){const e=t.result;return{status:"0x1"===e.status?"success":"fail",blockNumber:e.blockNumber,gasUsed:e.gasUsed,effectiveGasPrice:e.effectiveGasPrice}}}catch(c){}await new Promise(e=>setTimeout(e,o))}throw new Error(`Transaction ${n} was not mined within ${i/1e3}s`)}async function Vo(e){const{tokenAddress:n,ownerAddress:t,spenderAddress:o,chainId:i,rpcUrl:a}=e,r=Yo(i,a);if(!r)return BigInt(0);try{const e=Rt({abi:Ho,functionName:"allowance",args:[t,o]}),i=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_call",params:[{to:n,data:e},"latest"]})}),a=await i.json();return a.result&&"0x"!==a.result?BigInt(a.result):BigInt(0)}catch(s){return BigInt(0)}}function zo(e){const{tokenAddress:n,spenderAddress:t,fromAddress:o,chainId:i,tokenSymbol:a,amount:r}=e,s=r&&BigInt(r)>0n?BigInt(r):ae;return{from:o,to:n,data:Rt({abi:Ho,functionName:"approve",args:[t,s]}),value:"0",chainId:i,description:`Approve ${a||"token"} for swap`}}async function jo(e){const{address:n,chainId:t,rpcUrl:o}=e,i=Yo(t,o);if(!i)return new xo(0);try{const e=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getBalance",params:[n,"latest"]})}),t=await e.json();return t.result&&"0x"!==t.result?new xo(BigInt(t.result).toString()):new xo(0)}catch(a){return new xo(0)}}async function Qo(e){const{from:n,to:t,data:o,value:i,chainId:a,rpcUrl:r}=e,s=Yo(a,r);if(!s)return new xo(0);try{const[e,a]=await Promise.all([fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[{from:n,to:t,data:o,...i&&"0"!==i?{value:i}:{}}]})}),fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:2,method:"eth_gasPrice",params:[]})})]),[r,c]=await Promise.all([e.json(),a.json()]),l=r.result?new xo(BigInt(r.result).toString()):new xo(0),d=c.result?new xo(BigInt(c.result).toString()):new xo(0);return l.times(d).times(1.1)}catch(c){return new xo(0)}}async function Xo(e){const{chainId:n,rpcUrl:t}=e,o=Yo(n,t);if(!o)return new xo(0);try{const e=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_gasPrice",params:[]})}),n=await e.json();return n.result&&"0x"!==n.result?new xo(BigInt(n.result).toString()):new xo(0)}catch(i){return new xo(0)}}var Ko,Zo,_o={},$o={exports:{}},ei=$o.exports;var ni=function(){if(Zo)return _o;Zo=1,Object.defineProperty(_o,"p",{value:!0});var e,n,t,i=o,a=(e=i)&&"object"==typeof e&&"default"in e?e.default:e,r=(Ko||(Ko=1,n=$o,t=$o.exports,function(e,o){var i="function",a="undefined",r="object",s="string",c="major",l="model",d="name",u="type",f="vendor",p="version",m="architecture",h="console",w="mobile",b="tablet",g="smarttv",A="wearable",y="embedded",v="Amazon",k="Apple",x="ASUS",C="BlackBerry",T="Browser",E="Chrome",I="Firefox",N="Google",S="Honor",B="Huawei",F="LG",R="Microsoft",O="Motorola",D="Nvidia",U="OnePlus",P="Opera",L="OPPO",M="Samsung",H="Sharp",J="Sony",q="Xiaomi",G="Zebra",Y="Facebook",W="Chromium OS",V="Mac OS",z=" Browser",j=function(e){for(var n={},t=0;t<e.length;t++)n[e[t].toUpperCase()]=e[t];return n},Q=function(e,n){return typeof e===s&&-1!==X(n).indexOf(X(e))},X=function(e){return e.toLowerCase()},K=function(e,n){if(typeof e===s)return e=e.replace(/^\s\s*/,""),typeof n===a?e:e.substring(0,500)},Z=function(e,n){for(var t,a,s,c,l,d,u=0;u<n.length&&!l;){var f=n[u],p=n[u+1];for(t=a=0;t<f.length&&!l&&f[t];)if(l=f[t++].exec(e))for(s=0;s<p.length;s++)d=l[++a],typeof(c=p[s])===r&&c.length>0?2===c.length?typeof c[1]==i?this[c[0]]=c[1].call(this,d):this[c[0]]=c[1]:3===c.length?typeof c[1]!==i||c[1].exec&&c[1].test?this[c[0]]=d?d.replace(c[1],c[2]):o:this[c[0]]=d?c[1].call(this,d,c[2]):o:4===c.length&&(this[c[0]]=d?c[3].call(this,d.replace(c[1],c[2])):o):this[c]=d||o;u+=2}},_=function(e,n){for(var t in n)if(typeof n[t]===r&&n[t].length>0){for(var i=0;i<n[t].length;i++)if(Q(n[t][i],e))return"?"===t?o:t}else if(Q(n[t],e))return"?"===t?o:t;return n.hasOwnProperty("*")?n["*"]:e},$={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},ee={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[p,[d,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[p,[d,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[d,p],[/opios[\/ ]+([\w\.]+)/i],[p,[d,P+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[p,[d,P+" GX"]],[/\bopr\/([\w\.]+)/i],[p,[d,P]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[p,[d,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[p,[d,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i,/(heytap|ovi|115)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[d,p],[/quark(?:pc)?\/([-\w\.]+)/i],[p,[d,"Quark"]],[/\bddg\/([\w\.]+)/i],[p,[d,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[p,[d,"UC"+T]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[p,[d,"WeChat"]],[/konqueror\/([\w\.]+)/i],[p,[d,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[p,[d,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[p,[d,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[p,[d,"Smart Lenovo "+T]],[/(avast|avg)\/([\w\.]+)/i],[[d,/(.+)/,"$1 Secure "+T],p],[/\bfocus\/([\w\.]+)/i],[p,[d,I+" Focus"]],[/\bopt\/([\w\.]+)/i],[p,[d,P+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[p,[d,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[p,[d,"Dolphin"]],[/coast\/([\w\.]+)/i],[p,[d,P+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[p,[d,"MIUI"+z]],[/fxios\/([\w\.-]+)/i],[p,[d,I]],[/\bqihoobrowser\/?([\w\.]*)/i],[p,[d,"360"]],[/\b(qq)\/([\w\.]+)/i],[[d,/(.+)/,"$1Browser"],p],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[d,/(.+)/,"$1"+z],p],[/samsungbrowser\/([\w\.]+)/i],[p,[d,M+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[p,[d,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[d,"Sogou Mobile"],p],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[d,p],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[d],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[p,d],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[d,Y],p],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[d,p],[/\bgsa\/([\w\.]+) .*safari\//i],[p,[d,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[p,[d,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[p,[d,E+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[d,E+" WebView"],p],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[p,[d,"Android "+T]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[d,p],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[p,[d,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[p,d],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[d,[p,_,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[d,p],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[d,"Netscape"],p],[/(wolvic|librewolf)\/([\w\.]+)/i],[d,p],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[p,[d,I+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[d,[p,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[d,[p,/master.|lts./,""]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[m,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[m,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[m,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[m,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[m,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[m,/ower/,"",X]],[/ sun4\w[;\)]/i],[[m,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[m,X]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[l,[f,M],[u,b]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[l,[f,M],[u,w]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[l,[f,k],[u,w]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[l,[f,k],[u,b]],[/(macintosh);/i],[l,[f,k]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[l,[f,H],[u,w]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[l,[f,S],[u,b]],[/honor([-\w ]+)[;\)]/i],[l,[f,S],[u,w]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[l,[f,B],[u,b]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[l,[f,B],[u,w]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[l,/_/g," "],[f,q],[u,b]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[l,/_/g," "],[f,q],[u,w]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[l,[f,L],[u,w]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[l,[f,_,{OnePlus:["304","403","203"],"*":L}],[u,b]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[l,[f,"Vivo"],[u,w]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[l,[f,"Realme"],[u,w]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto(?! 360)[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[l,[f,O],[u,w]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[l,[f,O],[u,b]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[l,[f,F],[u,b]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv|watch)\w+)/i,/\blg-?([\d\w]+) bui/i],[l,[f,F],[u,w]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[l,[f,"Lenovo"],[u,b]],[/(nokia) (t[12][01])/i],[f,l,[u,b]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[l,/_/g," "],[u,w],[f,"Nokia"]],[/(pixel (c|tablet))\b/i],[l,[f,N],[u,b]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[l,[f,N],[u,w]],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[l,[f,J],[u,w]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[l,"Xperia Tablet"],[f,J],[u,b]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[l,[f,U],[u,w]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[l,[f,v],[u,b]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[l,/(.+)/g,"Fire Phone $1"],[f,v],[u,w]],[/(playbook);[-\w\),; ]+(rim)/i],[l,f,[u,b]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[l,[f,C],[u,w]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[l,[f,x],[u,b]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[l,[f,x],[u,w]],[/(nexus 9)/i],[l,[f,"HTC"],[u,b]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[f,[l,/_/g," "],[u,w]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[l,[f,"TCL"],[u,b]],[/(itel) ((\w+))/i],[[f,X],l,[u,_,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[l,[f,"Acer"],[u,b]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[l,[f,"Meizu"],[u,w]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[l,[f,"Ulefone"],[u,w]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[l,[f,"Energizer"],[u,w]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[l,[f,"Cat"],[u,w]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[l,[f,"Smartfren"],[u,w]],[/droid.+; (a(?:015|06[35]|142p?))/i],[l,[f,"Nothing"],[u,w]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[l,[f,"Archos"],[u,b]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[l,[f,"Archos"],[u,w]],[/(imo) (tab \w+)/i,/(infinix) (x1101b?)/i],[f,l,[u,b]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (hmd|imo) ([\w ]+?)(?: bui|\))/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i,/(oppo) ?([\w ]+) bui/i],[f,l,[u,w]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[f,l,[u,b]],[/(surface duo)/i],[l,[f,R],[u,b]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[l,[f,"Fairphone"],[u,w]],[/(u304aa)/i],[l,[f,"AT&T"],[u,w]],[/\bsie-(\w*)/i],[l,[f,"Siemens"],[u,w]],[/\b(rct\w+) b/i],[l,[f,"RCA"],[u,b]],[/\b(venue[\d ]{2,7}) b/i],[l,[f,"Dell"],[u,b]],[/\b(q(?:mv|ta)\w+) b/i],[l,[f,"Verizon"],[u,b]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[l,[f,"Barnes & Noble"],[u,b]],[/\b(tm\d{3}\w+) b/i],[l,[f,"NuVision"],[u,b]],[/\b(k88) b/i],[l,[f,"ZTE"],[u,b]],[/\b(nx\d{3}j) b/i],[l,[f,"ZTE"],[u,w]],[/\b(gen\d{3}) b.+49h/i],[l,[f,"Swiss"],[u,w]],[/\b(zur\d{3}) b/i],[l,[f,"Swiss"],[u,b]],[/\b((zeki)?tb.*\b) b/i],[l,[f,"Zeki"],[u,b]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[f,"Dragon Touch"],l,[u,b]],[/\b(ns-?\w{0,9}) b/i],[l,[f,"Insignia"],[u,b]],[/\b((nxa|next)-?\w{0,9}) b/i],[l,[f,"NextBook"],[u,b]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[f,"Voice"],l,[u,w]],[/\b(lvtel\-)?(v1[12]) b/i],[[f,"LvTel"],l,[u,w]],[/\b(ph-1) /i],[l,[f,"Essential"],[u,w]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[l,[f,"Envizen"],[u,b]],[/\b(trio[-\w\. ]+) b/i],[l,[f,"MachSpeed"],[u,b]],[/\btu_(1491) b/i],[l,[f,"Rotor"],[u,b]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[l,[f,D],[u,b]],[/(sprint) (\w+)/i],[f,l,[u,w]],[/(kin\.[onetw]{3})/i],[[l,/\./g," "],[f,R],[u,w]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[l,[f,G],[u,b]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[l,[f,G],[u,w]],[/smart-tv.+(samsung)/i],[f,[u,g]],[/hbbtv.+maple;(\d+)/i],[[l,/^/,"SmartTV"],[f,M],[u,g]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[f,F],[u,g]],[/(apple) ?tv/i],[f,[l,k+" TV"],[u,g]],[/crkey/i],[[l,E+"cast"],[f,N],[u,g]],[/droid.+aft(\w+)( bui|\))/i],[l,[f,v],[u,g]],[/(shield \w+ tv)/i],[l,[f,D],[u,g]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[l,[f,H],[u,g]],[/(bravia[\w ]+)( bui|\))/i],[l,[f,J],[u,g]],[/(mi(tv|box)-?\w+) bui/i],[l,[f,q],[u,g]],[/Hbbtv.*(technisat) (.*);/i],[f,l,[u,g]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[f,K],[l,K],[u,g]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[l,[u,g]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[u,g]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[f,l,[u,h]],[/droid.+; (shield)( bui|\))/i],[l,[f,D],[u,h]],[/(playstation \w+)/i],[l,[f,J],[u,h]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[l,[f,R],[u,h]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[l,[f,M],[u,A]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[f,l,[u,A]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[l,[f,L],[u,A]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[l,[f,k],[u,A]],[/(opwwe\d{3})/i],[l,[f,U],[u,A]],[/(moto 360)/i],[l,[f,O],[u,A]],[/(smartwatch 3)/i],[l,[f,J],[u,A]],[/(g watch r)/i],[l,[f,F],[u,A]],[/droid.+; (wt63?0{2,3})\)/i],[l,[f,G],[u,A]],[/droid.+; (glass) \d/i],[l,[f,N],[u,A]],[/(pico) (4|neo3(?: link|pro)?)/i],[f,l,[u,A]],[/; (quest( \d| pro)?)/i],[l,[f,Y],[u,A]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[f,[u,y]],[/(aeobc)\b/i],[l,[f,v],[u,y]],[/(homepod).+mac os/i],[l,[f,k],[u,y]],[/windows iot/i],[[u,y]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[l,[u,w]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[l,[u,b]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[u,b]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[u,w]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[l,[f,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[p,[d,"EdgeHTML"]],[/(arkweb)\/([\w\.]+)/i],[d,p],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[p,[d,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[d,p],[/ladybird\//i],[[d,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[p,d]],os:[[/microsoft (windows) (vista|xp)/i],[d,p],[/(windows (?:phone(?: os)?|mobile|iot))[\/ ]?([\d\.\w ]*)/i],[d,[p,_,$]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[p,_,$],[d,"Windows"]],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[p,/_/g,"."],[d,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[d,V],[p,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[p,d],[/(ubuntu) ([\w\.]+) like android/i],[[d,/(.+)/,"$1 Touch"],p],[/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/; ]?([\d\.]*)/i],[d,p],[/\(bb(10);/i],[p,[d,C]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[p,[d,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[p,[d,I+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[p,[d,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[p,[d,"watchOS"]],[/crkey\/([\d\.]+)/i],[p,[d,E+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[d,W],p],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux)(?: arm\w*| x86\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[d,p],[/(sunos) ?([\w\.\d]*)/i],[[d,"Solaris"],p],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[d,p]]},ne=function(n,t){if(typeof n===r&&(t=n,n=o),!(this instanceof ne))return new ne(n,t).getResult();var h=typeof e!==a&&e.navigator?e.navigator:o,g=n||(h&&h.userAgent?h.userAgent:""),A=h&&h.userAgentData?h.userAgentData:o,y=t?function(e,n){var t={};for(var o in e)n[o]&&n[o].length%2==0?t[o]=n[o].concat(e[o]):t[o]=e[o];return t}(ee,t):ee,v=h&&h.userAgent==g;return this.getBrowser=function(){var e,n={};return n[d]=o,n[p]=o,Z.call(n,g,y.browser),n[c]=typeof(e=n[p])===s?e.replace(/[^\d\.]/g,"").split(".")[0]:o,v&&h&&h.brave&&typeof h.brave.isBrave==i&&(n[d]="Brave"),n},this.getCPU=function(){var e={};return e[m]=o,Z.call(e,g,y.cpu),e},this.getDevice=function(){var e={};return e[f]=o,e[l]=o,e[u]=o,Z.call(e,g,y.device),v&&!e[u]&&A&&A.mobile&&(e[u]=w),v&&"Macintosh"==e[l]&&h&&typeof h.standalone!==a&&h.maxTouchPoints&&h.maxTouchPoints>2&&(e[l]="iPad",e[u]=b),e},this.getEngine=function(){var e={};return e[d]=o,e[p]=o,Z.call(e,g,y.engine),e},this.getOS=function(){var e={};return e[d]=o,e[p]=o,Z.call(e,g,y.os),v&&!e[d]&&A&&A.platform&&"Unknown"!=A.platform&&(e[d]=A.platform.replace(/chrome os/i,W).replace(/macos/i,V)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return g},this.setUA=function(e){return g=typeof e===s&&e.length>500?K(e,500):e,this},this.setUA(g),this};ne.VERSION="1.0.41",ne.BROWSER=j([d,p,c]),ne.CPU=j([m]),ne.DEVICE=j([l,f,u,h,w,g,b,A,y]),ne.ENGINE=ne.OS=j([d,p]),n.exports&&(t=n.exports=ne),t.UAParser=ne;var te=typeof e!==a&&(e.jQuery||e.Zepto);if(te&&!te.ua){var oe=new ne;te.ua=oe.getResult(),te.ua.get=function(){return oe.getUA()},te.ua.set=function(e){oe.setUA(e);var n=oe.getResult();for(var t in n)te.ua[t]=n[t]}}}("object"==typeof window?window:ei)),$o.exports),s=new r,c=s.getBrowser(),l=s.getCPU(),d=s.getDevice(),u=s.getEngine(),f=s.getOS(),p=s.getUA(),m=function(e){return s.setUA(e)},h=function(e){if(e){var n=new r(e);return{UA:n,browser:n.getBrowser(),cpu:n.getCPU(),device:n.getDevice(),engine:n.getEngine(),os:n.getOS(),ua:n.getUA(),setUserAgent:function(e){return n.setUA(e)}}}},w=/* @__PURE__ */Object.freeze({ClientUAInstance:s,browser:c,cpu:l,device:d,engine:u,os:f,ua:p,setUa:m,parseUserAgent:h});function b(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,o)}return t}function g(e){return(g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function A(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function y(){return y=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},y.apply(this,arguments)}function v(e){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function k(e,n){return(k=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e})(e,n)}function x(e,n){if(null==e)return{};var t,o,i=function(e,n){if(null==e)return{};var t,o,i={},a=Object.keys(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}function C(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function T(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=new Array(n);t<n;t++)o[t]=e[t];return o}var E="mobile",I="tablet",N="smarttv",S="console",B="wearable",F="embedded",R=void 0,O={Chrome:"Chrome",Firefox:"Firefox",Opera:"Opera",Yandex:"Yandex",Safari:"Safari",InternetExplorer:"Internet Explorer",Edge:"Edge",Chromium:"Chromium",Ie:"IE",MobileSafari:"Mobile Safari",EdgeChromium:"Edge Chromium",MIUI:"MIUI Browser",SamsungBrowser:"Samsung Browser"},D={IOS:"iOS",Android:"Android",WindowsPhone:"Windows Phone",Windows:"Windows",MAC_OS:"Mac OS"},U={isMobile:!1,isTablet:!1,isBrowser:!1,isSmartTV:!1,isConsole:!1,isWearable:!1},P=function(e){return e||(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"none")},L=function(){return!("undefined"==typeof window||!window.navigator&&!navigator)&&(window.navigator||navigator)},M=function(e){var n=L();return n&&n.platform&&(-1!==n.platform.indexOf(e)||"MacIntel"===n.platform&&n.maxTouchPoints>1&&!window.MSStream)},H=function(e){return e.type===E},J=function(e){return e.type===I},q=function(e){var n=e.type;return n===E||n===I},G=function(e){return e.type===N},Y=function(e){return e.type===R},W=function(e){return e.type===B},V=function(e){return e.type===S},z=function(e){return e.type===F},j=function(e){var n=e.vendor;return P(n)},Q=function(e){var n=e.model;return P(n)},X=function(e){var n=e.type;return P(n,"browser")},K=function(e){return e.name===D.Android},Z=function(e){return e.name===D.Windows},_=function(e){return e.name===D.MAC_OS},$=function(e){return e.name===D.WindowsPhone},ee=function(e){return e.name===D.IOS},ne=function(e){var n=e.version;return P(n)},te=function(e){var n=e.name;return P(n)},oe=function(e){return e.name===O.Chrome},ie=function(e){return e.name===O.Firefox},ae=function(e){return e.name===O.Chromium},re=function(e){return e.name===O.Edge},se=function(e){return e.name===O.Yandex},ce=function(e){var n=e.name;return n===O.Safari||n===O.MobileSafari},le=function(e){return e.name===O.MobileSafari},de=function(e){return e.name===O.Opera},ue=function(e){var n=e.name;return n===O.InternetExplorer||n===O.Ie},fe=function(e){return e.name===O.MIUI},pe=function(e){return e.name===O.SamsungBrowser},me=function(e){var n=e.version;return P(n)},he=function(e){var n=e.major;return P(n)},we=function(e){var n=e.name;return P(n)},be=function(e){var n=e.name;return P(n)},ge=function(e){var n=e.version;return P(n)},Ae=function(){var e=L(),n=e&&e.userAgent&&e.userAgent.toLowerCase();return"string"==typeof n&&/electron/.test(n)},ye=function(e){return"string"==typeof e&&-1!==e.indexOf("Edg/")},ve=function(){var e=L();return e&&(/iPad|iPhone|iPod/.test(e.platform)||"MacIntel"===e.platform&&e.maxTouchPoints>1)&&!window.MSStream},ke=function(){return M("iPad")},xe=function(){return M("iPhone")},Ce=function(){return M("iPod")},Te=function(e){return P(e)};function Ee(e){var n=e||w,t=n.device,o=n.browser,i=n.os,a=n.engine,r=n.ua;return{isSmartTV:G(t),isConsole:V(t),isWearable:W(t),isEmbedded:z(t),isMobileSafari:le(o)||ke(),isChromium:ae(o),isMobile:q(t)||ke(),isMobileOnly:H(t),isTablet:J(t)||ke(),isBrowser:Y(t),isDesktop:Y(t),isAndroid:K(i),isWinPhone:$(i),isIOS:ee(i)||ke(),isChrome:oe(o),isFirefox:ie(o),isSafari:ce(o),isOpera:de(o),isIE:ue(o),osVersion:ne(i),osName:te(i),fullBrowserVersion:me(o),browserVersion:he(o),browserName:we(o),mobileVendor:j(t),mobileModel:Q(t),engineName:be(a),engineVersion:ge(a),getUA:Te(r),isEdge:re(o)||ye(r),isYandex:se(o),deviceType:X(t),isIOS13:ve(),isIPad13:ke(),isIPhone13:xe(),isIPod13:Ce(),isElectron:Ae(),isEdgeChromium:ye(r),isLegacyEdge:re(o)&&!ye(r),isWindows:Z(i),isMacOs:_(i),isMIUI:fe(o),isSamsungBrowser:pe(o)}}var Ie=G(d),Ne=V(d),Se=W(d),Be=z(d),Fe=le(c)||ke(),Re=ae(c),Oe=q(d)||ke(),De=H(d),Ue=J(d)||ke(),Pe=Y(d),Le=Y(d),Me=K(f),He=$(f),Je=ee(f)||ke(),qe=oe(c),Ge=ie(c),Ye=ce(c),We=de(c),Ve=ue(c),ze=ne(f),je=te(f),Qe=me(c),Xe=he(c),Ke=we(c),Ze=j(d),_e=Q(d),$e=be(u),en=ge(u),nn=Te(p),tn=re(c)||ye(p),on=se(c),an=X(d),rn=ve(),sn=ke(),cn=xe(),ln=Ce(),dn=Ae(),un=ye(p),fn=re(c)&&!ye(p),pn=Z(f),mn=_(f),hn=fe(c),wn=pe(c);function bn(e){var n=e||window.navigator.userAgent;return h(n)}return _o.AndroidView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Me?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.BrowserTypes=O,_o.BrowserView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Pe?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.ConsoleView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Ne?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.CustomView=function(e){var n=e.renderWithFragment,t=e.children;e.viewClassName,e.style;var o=e.condition,r=x(e,["renderWithFragment","children","viewClassName","style","condition"]);return o?n?a.createElement(i.Fragment,null,t):a.createElement("div",r,t):null},_o.IEView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Ve?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.IOSView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Je?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.MobileOnlyView=function(e){var n=e.renderWithFragment,t=e.children;e.viewClassName,e.style;var o=x(e,["renderWithFragment","children","viewClassName","style"]);return De?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.MobileView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Oe?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.OsTypes=D,_o.SmartTVView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Ie?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.TabletView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Ue?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.WearableView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Se?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.WinPhoneView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return He?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.browserName=Ke,_o.browserVersion=Xe,_o.deviceDetect=function(e){var n=e?h(e):w,t=n.device,o=n.browser,i=n.engine,a=n.os,r=n.ua,s=function(e){switch(e){case E:return{isMobile:!0};case I:return{isTablet:!0};case N:return{isSmartTV:!0};case S:return{isConsole:!0};case B:return{isWearable:!0};case R:return{isBrowser:!0};case F:return{isEmbedded:!0};default:return U}}(t.type),c=s.isBrowser,l=s.isMobile,d=s.isTablet,u=s.isSmartTV,f=s.isConsole,p=s.isWearable,m=s.isEmbedded;return c?function(e,n,t,o,i){return{isBrowser:e,browserMajorVersion:P(n.major),browserFullVersion:P(n.version),browserName:P(n.name),engineName:P(t.name),engineVersion:P(t.version),osName:P(o.name),osVersion:P(o.version),userAgent:P(i)}}(c,o,i,a,r):u?function(e,n,t,o){return{isSmartTV:e,engineName:P(n.name),engineVersion:P(n.version),osName:P(t.name),osVersion:P(t.version),userAgent:P(o)}}(u,i,a,r):f?function(e,n,t,o){return{isConsole:e,engineName:P(n.name),engineVersion:P(n.version),osName:P(t.name),osVersion:P(t.version),userAgent:P(o)}}(f,i,a,r):l||d?function(e,n,t,o){return function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?b(Object(t),!0).forEach(function(n){A(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):b(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}({},e,{vendor:P(n.vendor),model:P(n.model),os:P(t.name),osVersion:P(t.version),ua:P(o)})}(s,t,a,r):p?function(e,n,t,o){return{isWearable:e,engineName:P(n.name),engineVersion:P(n.version),osName:P(t.name),osVersion:P(t.version),userAgent:P(o)}}(p,i,a,r):m?function(e,n,t,o,i){return{isEmbedded:e,vendor:P(n.vendor),model:P(n.model),engineName:P(t.name),engineVersion:P(t.version),osName:P(o.name),osVersion:P(o.version),userAgent:P(i)}}(m,t,i,a,r):void 0},_o.deviceType=an,_o.engineName=$e,_o.engineVersion=en,_o.fullBrowserVersion=Qe,_o.getSelectorsByUserAgent=function(e){if(e&&"string"==typeof e){var n=h(e);return Ee({device:n.device,browser:n.browser,os:n.os,engine:n.engine,ua:n.ua})}},_o.getUA=nn,_o.isAndroid=Me,_o.isBrowser=Pe,_o.isChrome=qe,_o.isChromium=Re,_o.isConsole=Ne,_o.isDesktop=Le,_o.isEdge=tn,_o.isEdgeChromium=un,_o.isElectron=dn,_o.isEmbedded=Be,_o.isFirefox=Ge,_o.isIE=Ve,_o.isIOS=Je,_o.isIOS13=rn,_o.isIPad13=sn,_o.isIPhone13=cn,_o.isIPod13=ln,_o.isLegacyEdge=fn,_o.isMIUI=hn,_o.isMacOs=mn,_o.isMobile=Oe,_o.isMobileOnly=De,_o.isMobileSafari=Fe,_o.isOpera=We,_o.isSafari=Ye,_o.isSamsungBrowser=wn,_o.isSmartTV=Ie,_o.isTablet=Ue,_o.isWearable=Se,_o.isWinPhone=He,_o.isWindows=pn,_o.isYandex=on,_o.mobileModel=_e,_o.mobileVendor=Ze,_o.osName=je,_o.osVersion=ze,_o.parseUserAgent=h,_o.setUserAgent=function(e){return m(e)},_o.useDeviceData=bn,_o.useDeviceSelectors=function(e){var n=bn(e||window.navigator.userAgent);return[Ee(n),n]},_o.useMobileOrientation=function(){var e,n,t=(e=i.useState(function(){var e=window.innerWidth>window.innerHeight?90:0;return{isPortrait:0===e,isLandscape:90===e,orientation:0===e?"portrait":"landscape"}}),n=2,function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var o,i,a=[],r=!0,s=!1;try{for(t=t.call(e);!(r=(o=t.next()).done)&&(a.push(o.value),!n||a.length!==n);r=!0);}catch(c){s=!0,i=c}finally{try{r||null==t.return||t.return()}finally{if(s)throw i}}return a}}(e,n)||function(e,n){if(e){if("string"==typeof e)return T(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?T(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=t[0],a=t[1],r=i.useCallback(function(){var e=window.innerWidth>window.innerHeight?90:0,n={isPortrait:0===e,isLandscape:90===e,orientation:0===e?"portrait":"landscape"};o.orientation!==n.orientation&&a(n)},[o.orientation]);return i.useEffect(function(){return void 0!==("undefined"==typeof window?"undefined":g(window))&&Oe&&(r(),window.addEventListener("load",r,!1),window.addEventListener("resize",r,!1)),function(){window.removeEventListener("resize",r,!1),window.removeEventListener("load",r,!1)}},[r]),o},_o.withOrientationChange=function(e){/* @__PURE__ */
|
|
19
|
+
/* @__PURE__ */e("button",{className:"message-button",onClick:x,type:"button",disabled:c,children:f(c?"formProcessing":"formExecute")})]})]}):null},Mo=({scrollContainerRef:n,threshold:t=200})=>{const[o,r]=i(!1);return a(()=>{const e=n.current;if(!e)return;const o=()=>{const{scrollTop:n,scrollHeight:o,clientHeight:i}=e;r(o-n-i>t)};return e.addEventListener("scroll",o,{passive:!0}),o(),()=>{e.removeEventListener("scroll",o)}},[n,t]),o?/* @__PURE__ */e("button",{className:"scroll-to-bottom-btn",onClick:()=>{n.current?.scrollTo({top:n.current.scrollHeight,behavior:"smooth"})},"aria-label":"Scroll to bottom",type:"button",children:/* @__PURE__ */e("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",children:/* @__PURE__ */e("path",{d:"M9 3V15M9 15L4 10M9 15L14 10",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}):null},Po={1:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",10:"0x4200000000000000000000000000000000000006",56:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",137:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",8453:"0x4200000000000000000000000000000000000006",42161:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"},Ho=[{name:"transfer",type:"function",stateMutability:"nonpayable",inputs:[{name:"to",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"approve",type:"function",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"allowance",type:"function",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],outputs:[{name:"",type:"uint256"}]}],Jo=[{name:"deposit",type:"function",stateMutability:"payable",inputs:[],outputs:[]},{name:"withdraw",type:"function",stateMutability:"nonpayable",inputs:[{name:"wad",type:"uint256"}],outputs:[]}],Go=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"tokenId",type:"uint256"}],outputs:[]}],qo=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"id",type:"uint256"},{name:"amount",type:"uint256"},{name:"data",type:"bytes"}],outputs:[]}];function Yo(e,n){if(n)return n;const t=Dt[e];return t?.rpcUrls?.default?.http?.[0]}async function Wo(e){const{transactionHash:n,chainId:t,pollingInterval:o=3e3,timeout:i=12e4,rpcUrl:a}=e,r=Yo(t,a);if(!r)throw new Error(`No RPC endpoint for chain ${t}`);const s=Date.now();for(;Date.now()-s<i;){try{const e=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getTransactionReceipt",params:[n]})}),t=await e.json();if(t.result){const e=t.result;return{status:"0x1"===e.status?"success":"fail",blockNumber:e.blockNumber,gasUsed:e.gasUsed,effectiveGasPrice:e.effectiveGasPrice}}}catch(c){}await new Promise(e=>setTimeout(e,o))}throw new Error(`Transaction ${n} was not mined within ${i/1e3}s`)}async function Vo(e){const{tokenAddress:n,ownerAddress:t,spenderAddress:o,chainId:i,rpcUrl:a}=e,r=Yo(i,a);if(!r)return BigInt(0);try{const e=Rt({abi:Ho,functionName:"allowance",args:[t,o]}),i=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_call",params:[{to:n,data:e},"latest"]})}),a=await i.json();return a.result&&"0x"!==a.result?BigInt(a.result):BigInt(0)}catch(s){return BigInt(0)}}function zo(e){const{tokenAddress:n,spenderAddress:t,fromAddress:o,chainId:i,tokenSymbol:a,amount:r}=e,s=r&&BigInt(r)>0n?BigInt(r):ae;return{from:o,to:n,data:Rt({abi:Ho,functionName:"approve",args:[t,s]}),value:"0",chainId:i,description:`Approve ${a||"token"} for swap`}}async function jo(e){const{address:n,chainId:t,rpcUrl:o}=e,i=Yo(t,o);if(!i)return new xo(0);try{const e=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getBalance",params:[n,"latest"]})}),t=await e.json();return t.result&&"0x"!==t.result?new xo(BigInt(t.result).toString()):new xo(0)}catch(a){return new xo(0)}}async function Qo(e){const{from:n,to:t,data:o,value:i,chainId:a,rpcUrl:r}=e,s=Yo(a,r);if(!s)return new xo(0);try{const[e,a]=await Promise.all([fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[{from:n,to:t,data:o,...i&&"0"!==i?{value:i}:{}}]})}),fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:2,method:"eth_gasPrice",params:[]})})]),[r,c]=await Promise.all([e.json(),a.json()]),l=r.result?new xo(BigInt(r.result).toString()):new xo(0),d=c.result?new xo(BigInt(c.result).toString()):new xo(0);return l.times(d).times(1.1)}catch(c){return new xo(0)}}async function Xo(e){const{chainId:n,rpcUrl:t}=e,o=Yo(n,t);if(!o)return new xo(0);try{const e=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_gasPrice",params:[]})}),n=await e.json();return n.result&&"0x"!==n.result?new xo(BigInt(n.result).toString()):new xo(0)}catch(i){return new xo(0)}}var Ko,Zo,_o={},$o={exports:{}},ei=$o.exports;var ni=function(){if(Zo)return _o;Zo=1,Object.defineProperty(_o,"p",{value:!0});var e,n,t,i=o,a=(e=i)&&"object"==typeof e&&"default"in e?e.default:e,r=(Ko||(Ko=1,n=$o,t=$o.exports,function(e,o){var i="function",a="undefined",r="object",s="string",c="major",l="model",d="name",u="type",f="vendor",p="version",m="architecture",h="console",w="mobile",b="tablet",g="smarttv",A="wearable",y="embedded",v="Amazon",k="Apple",x="ASUS",C="BlackBerry",T="Browser",E="Chrome",I="Firefox",N="Google",S="Honor",B="Huawei",F="LG",R="Microsoft",O="Motorola",D="Nvidia",L="OnePlus",U="Opera",M="OPPO",P="Samsung",H="Sharp",J="Sony",G="Xiaomi",q="Zebra",Y="Facebook",W="Chromium OS",V="Mac OS",z=" Browser",j=function(e){for(var n={},t=0;t<e.length;t++)n[e[t].toUpperCase()]=e[t];return n},Q=function(e,n){return typeof e===s&&-1!==X(n).indexOf(X(e))},X=function(e){return e.toLowerCase()},K=function(e,n){if(typeof e===s)return e=e.replace(/^\s\s*/,""),typeof n===a?e:e.substring(0,500)},Z=function(e,n){for(var t,a,s,c,l,d,u=0;u<n.length&&!l;){var f=n[u],p=n[u+1];for(t=a=0;t<f.length&&!l&&f[t];)if(l=f[t++].exec(e))for(s=0;s<p.length;s++)d=l[++a],typeof(c=p[s])===r&&c.length>0?2===c.length?typeof c[1]==i?this[c[0]]=c[1].call(this,d):this[c[0]]=c[1]:3===c.length?typeof c[1]!==i||c[1].exec&&c[1].test?this[c[0]]=d?d.replace(c[1],c[2]):o:this[c[0]]=d?c[1].call(this,d,c[2]):o:4===c.length&&(this[c[0]]=d?c[3].call(this,d.replace(c[1],c[2])):o):this[c]=d||o;u+=2}},_=function(e,n){for(var t in n)if(typeof n[t]===r&&n[t].length>0){for(var i=0;i<n[t].length;i++)if(Q(n[t][i],e))return"?"===t?o:t}else if(Q(n[t],e))return"?"===t?o:t;return n.hasOwnProperty("*")?n["*"]:e},$={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},ee={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[p,[d,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[p,[d,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[d,p],[/opios[\/ ]+([\w\.]+)/i],[p,[d,U+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[p,[d,U+" GX"]],[/\bopr\/([\w\.]+)/i],[p,[d,U]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[p,[d,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[p,[d,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i,/(heytap|ovi|115)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[d,p],[/quark(?:pc)?\/([-\w\.]+)/i],[p,[d,"Quark"]],[/\bddg\/([\w\.]+)/i],[p,[d,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[p,[d,"UC"+T]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[p,[d,"WeChat"]],[/konqueror\/([\w\.]+)/i],[p,[d,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[p,[d,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[p,[d,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[p,[d,"Smart Lenovo "+T]],[/(avast|avg)\/([\w\.]+)/i],[[d,/(.+)/,"$1 Secure "+T],p],[/\bfocus\/([\w\.]+)/i],[p,[d,I+" Focus"]],[/\bopt\/([\w\.]+)/i],[p,[d,U+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[p,[d,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[p,[d,"Dolphin"]],[/coast\/([\w\.]+)/i],[p,[d,U+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[p,[d,"MIUI"+z]],[/fxios\/([\w\.-]+)/i],[p,[d,I]],[/\bqihoobrowser\/?([\w\.]*)/i],[p,[d,"360"]],[/\b(qq)\/([\w\.]+)/i],[[d,/(.+)/,"$1Browser"],p],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[d,/(.+)/,"$1"+z],p],[/samsungbrowser\/([\w\.]+)/i],[p,[d,P+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[p,[d,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[d,"Sogou Mobile"],p],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[d,p],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[d],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[p,d],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[d,Y],p],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[d,p],[/\bgsa\/([\w\.]+) .*safari\//i],[p,[d,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[p,[d,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[p,[d,E+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[d,E+" WebView"],p],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[p,[d,"Android "+T]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[d,p],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[p,[d,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[p,d],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[d,[p,_,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[d,p],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[d,"Netscape"],p],[/(wolvic|librewolf)\/([\w\.]+)/i],[d,p],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[p,[d,I+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[d,[p,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[d,[p,/master.|lts./,""]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[m,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[m,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[m,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[m,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[m,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[m,/ower/,"",X]],[/ sun4\w[;\)]/i],[[m,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[m,X]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[l,[f,P],[u,b]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[l,[f,P],[u,w]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[l,[f,k],[u,w]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[l,[f,k],[u,b]],[/(macintosh);/i],[l,[f,k]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[l,[f,H],[u,w]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[l,[f,S],[u,b]],[/honor([-\w ]+)[;\)]/i],[l,[f,S],[u,w]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[l,[f,B],[u,b]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[l,[f,B],[u,w]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[l,/_/g," "],[f,G],[u,b]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[l,/_/g," "],[f,G],[u,w]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[l,[f,M],[u,w]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[l,[f,_,{OnePlus:["304","403","203"],"*":M}],[u,b]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[l,[f,"Vivo"],[u,w]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[l,[f,"Realme"],[u,w]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto(?! 360)[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[l,[f,O],[u,w]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[l,[f,O],[u,b]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[l,[f,F],[u,b]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv|watch)\w+)/i,/\blg-?([\d\w]+) bui/i],[l,[f,F],[u,w]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[l,[f,"Lenovo"],[u,b]],[/(nokia) (t[12][01])/i],[f,l,[u,b]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[l,/_/g," "],[u,w],[f,"Nokia"]],[/(pixel (c|tablet))\b/i],[l,[f,N],[u,b]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[l,[f,N],[u,w]],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[l,[f,J],[u,w]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[l,"Xperia Tablet"],[f,J],[u,b]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[l,[f,L],[u,w]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[l,[f,v],[u,b]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[l,/(.+)/g,"Fire Phone $1"],[f,v],[u,w]],[/(playbook);[-\w\),; ]+(rim)/i],[l,f,[u,b]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[l,[f,C],[u,w]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[l,[f,x],[u,b]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[l,[f,x],[u,w]],[/(nexus 9)/i],[l,[f,"HTC"],[u,b]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[f,[l,/_/g," "],[u,w]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[l,[f,"TCL"],[u,b]],[/(itel) ((\w+))/i],[[f,X],l,[u,_,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[l,[f,"Acer"],[u,b]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[l,[f,"Meizu"],[u,w]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[l,[f,"Ulefone"],[u,w]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[l,[f,"Energizer"],[u,w]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[l,[f,"Cat"],[u,w]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[l,[f,"Smartfren"],[u,w]],[/droid.+; (a(?:015|06[35]|142p?))/i],[l,[f,"Nothing"],[u,w]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[l,[f,"Archos"],[u,b]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[l,[f,"Archos"],[u,w]],[/(imo) (tab \w+)/i,/(infinix) (x1101b?)/i],[f,l,[u,b]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (hmd|imo) ([\w ]+?)(?: bui|\))/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i,/(oppo) ?([\w ]+) bui/i],[f,l,[u,w]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[f,l,[u,b]],[/(surface duo)/i],[l,[f,R],[u,b]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[l,[f,"Fairphone"],[u,w]],[/(u304aa)/i],[l,[f,"AT&T"],[u,w]],[/\bsie-(\w*)/i],[l,[f,"Siemens"],[u,w]],[/\b(rct\w+) b/i],[l,[f,"RCA"],[u,b]],[/\b(venue[\d ]{2,7}) b/i],[l,[f,"Dell"],[u,b]],[/\b(q(?:mv|ta)\w+) b/i],[l,[f,"Verizon"],[u,b]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[l,[f,"Barnes & Noble"],[u,b]],[/\b(tm\d{3}\w+) b/i],[l,[f,"NuVision"],[u,b]],[/\b(k88) b/i],[l,[f,"ZTE"],[u,b]],[/\b(nx\d{3}j) b/i],[l,[f,"ZTE"],[u,w]],[/\b(gen\d{3}) b.+49h/i],[l,[f,"Swiss"],[u,w]],[/\b(zur\d{3}) b/i],[l,[f,"Swiss"],[u,b]],[/\b((zeki)?tb.*\b) b/i],[l,[f,"Zeki"],[u,b]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[f,"Dragon Touch"],l,[u,b]],[/\b(ns-?\w{0,9}) b/i],[l,[f,"Insignia"],[u,b]],[/\b((nxa|next)-?\w{0,9}) b/i],[l,[f,"NextBook"],[u,b]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[f,"Voice"],l,[u,w]],[/\b(lvtel\-)?(v1[12]) b/i],[[f,"LvTel"],l,[u,w]],[/\b(ph-1) /i],[l,[f,"Essential"],[u,w]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[l,[f,"Envizen"],[u,b]],[/\b(trio[-\w\. ]+) b/i],[l,[f,"MachSpeed"],[u,b]],[/\btu_(1491) b/i],[l,[f,"Rotor"],[u,b]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[l,[f,D],[u,b]],[/(sprint) (\w+)/i],[f,l,[u,w]],[/(kin\.[onetw]{3})/i],[[l,/\./g," "],[f,R],[u,w]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[l,[f,q],[u,b]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[l,[f,q],[u,w]],[/smart-tv.+(samsung)/i],[f,[u,g]],[/hbbtv.+maple;(\d+)/i],[[l,/^/,"SmartTV"],[f,P],[u,g]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[f,F],[u,g]],[/(apple) ?tv/i],[f,[l,k+" TV"],[u,g]],[/crkey/i],[[l,E+"cast"],[f,N],[u,g]],[/droid.+aft(\w+)( bui|\))/i],[l,[f,v],[u,g]],[/(shield \w+ tv)/i],[l,[f,D],[u,g]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[l,[f,H],[u,g]],[/(bravia[\w ]+)( bui|\))/i],[l,[f,J],[u,g]],[/(mi(tv|box)-?\w+) bui/i],[l,[f,G],[u,g]],[/Hbbtv.*(technisat) (.*);/i],[f,l,[u,g]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[f,K],[l,K],[u,g]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[l,[u,g]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[u,g]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[f,l,[u,h]],[/droid.+; (shield)( bui|\))/i],[l,[f,D],[u,h]],[/(playstation \w+)/i],[l,[f,J],[u,h]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[l,[f,R],[u,h]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[l,[f,P],[u,A]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[f,l,[u,A]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[l,[f,M],[u,A]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[l,[f,k],[u,A]],[/(opwwe\d{3})/i],[l,[f,L],[u,A]],[/(moto 360)/i],[l,[f,O],[u,A]],[/(smartwatch 3)/i],[l,[f,J],[u,A]],[/(g watch r)/i],[l,[f,F],[u,A]],[/droid.+; (wt63?0{2,3})\)/i],[l,[f,q],[u,A]],[/droid.+; (glass) \d/i],[l,[f,N],[u,A]],[/(pico) (4|neo3(?: link|pro)?)/i],[f,l,[u,A]],[/; (quest( \d| pro)?)/i],[l,[f,Y],[u,A]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[f,[u,y]],[/(aeobc)\b/i],[l,[f,v],[u,y]],[/(homepod).+mac os/i],[l,[f,k],[u,y]],[/windows iot/i],[[u,y]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[l,[u,w]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[l,[u,b]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[u,b]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[u,w]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[l,[f,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[p,[d,"EdgeHTML"]],[/(arkweb)\/([\w\.]+)/i],[d,p],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[p,[d,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[d,p],[/ladybird\//i],[[d,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[p,d]],os:[[/microsoft (windows) (vista|xp)/i],[d,p],[/(windows (?:phone(?: os)?|mobile|iot))[\/ ]?([\d\.\w ]*)/i],[d,[p,_,$]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[p,_,$],[d,"Windows"]],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[p,/_/g,"."],[d,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[d,V],[p,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[p,d],[/(ubuntu) ([\w\.]+) like android/i],[[d,/(.+)/,"$1 Touch"],p],[/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/; ]?([\d\.]*)/i],[d,p],[/\(bb(10);/i],[p,[d,C]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[p,[d,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[p,[d,I+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[p,[d,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[p,[d,"watchOS"]],[/crkey\/([\d\.]+)/i],[p,[d,E+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[d,W],p],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux)(?: arm\w*| x86\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[d,p],[/(sunos) ?([\w\.\d]*)/i],[[d,"Solaris"],p],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[d,p]]},ne=function(n,t){if(typeof n===r&&(t=n,n=o),!(this instanceof ne))return new ne(n,t).getResult();var h=typeof e!==a&&e.navigator?e.navigator:o,g=n||(h&&h.userAgent?h.userAgent:""),A=h&&h.userAgentData?h.userAgentData:o,y=t?function(e,n){var t={};for(var o in e)n[o]&&n[o].length%2==0?t[o]=n[o].concat(e[o]):t[o]=e[o];return t}(ee,t):ee,v=h&&h.userAgent==g;return this.getBrowser=function(){var e,n={};return n[d]=o,n[p]=o,Z.call(n,g,y.browser),n[c]=typeof(e=n[p])===s?e.replace(/[^\d\.]/g,"").split(".")[0]:o,v&&h&&h.brave&&typeof h.brave.isBrave==i&&(n[d]="Brave"),n},this.getCPU=function(){var e={};return e[m]=o,Z.call(e,g,y.cpu),e},this.getDevice=function(){var e={};return e[f]=o,e[l]=o,e[u]=o,Z.call(e,g,y.device),v&&!e[u]&&A&&A.mobile&&(e[u]=w),v&&"Macintosh"==e[l]&&h&&typeof h.standalone!==a&&h.maxTouchPoints&&h.maxTouchPoints>2&&(e[l]="iPad",e[u]=b),e},this.getEngine=function(){var e={};return e[d]=o,e[p]=o,Z.call(e,g,y.engine),e},this.getOS=function(){var e={};return e[d]=o,e[p]=o,Z.call(e,g,y.os),v&&!e[d]&&A&&A.platform&&"Unknown"!=A.platform&&(e[d]=A.platform.replace(/chrome os/i,W).replace(/macos/i,V)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return g},this.setUA=function(e){return g=typeof e===s&&e.length>500?K(e,500):e,this},this.setUA(g),this};ne.VERSION="1.0.41",ne.BROWSER=j([d,p,c]),ne.CPU=j([m]),ne.DEVICE=j([l,f,u,h,w,g,b,A,y]),ne.ENGINE=ne.OS=j([d,p]),n.exports&&(t=n.exports=ne),t.UAParser=ne;var te=typeof e!==a&&(e.jQuery||e.Zepto);if(te&&!te.ua){var oe=new ne;te.ua=oe.getResult(),te.ua.get=function(){return oe.getUA()},te.ua.set=function(e){oe.setUA(e);var n=oe.getResult();for(var t in n)te.ua[t]=n[t]}}}("object"==typeof window?window:ei)),$o.exports),s=new r,c=s.getBrowser(),l=s.getCPU(),d=s.getDevice(),u=s.getEngine(),f=s.getOS(),p=s.getUA(),m=function(e){return s.setUA(e)},h=function(e){if(e){var n=new r(e);return{UA:n,browser:n.getBrowser(),cpu:n.getCPU(),device:n.getDevice(),engine:n.getEngine(),os:n.getOS(),ua:n.getUA(),setUserAgent:function(e){return n.setUA(e)}}}},w=/* @__PURE__ */Object.freeze({ClientUAInstance:s,browser:c,cpu:l,device:d,engine:u,os:f,ua:p,setUa:m,parseUserAgent:h});function b(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,o)}return t}function g(e){return(g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function A(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function y(){return y=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},y.apply(this,arguments)}function v(e){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function k(e,n){return(k=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e})(e,n)}function x(e,n){if(null==e)return{};var t,o,i=function(e,n){if(null==e)return{};var t,o,i={},a=Object.keys(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}function C(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function T(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=new Array(n);t<n;t++)o[t]=e[t];return o}var E="mobile",I="tablet",N="smarttv",S="console",B="wearable",F="embedded",R=void 0,O={Chrome:"Chrome",Firefox:"Firefox",Opera:"Opera",Yandex:"Yandex",Safari:"Safari",InternetExplorer:"Internet Explorer",Edge:"Edge",Chromium:"Chromium",Ie:"IE",MobileSafari:"Mobile Safari",EdgeChromium:"Edge Chromium",MIUI:"MIUI Browser",SamsungBrowser:"Samsung Browser"},D={IOS:"iOS",Android:"Android",WindowsPhone:"Windows Phone",Windows:"Windows",MAC_OS:"Mac OS"},L={isMobile:!1,isTablet:!1,isBrowser:!1,isSmartTV:!1,isConsole:!1,isWearable:!1},U=function(e){return e||(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"none")},M=function(){return!("undefined"==typeof window||!window.navigator&&!navigator)&&(window.navigator||navigator)},P=function(e){var n=M();return n&&n.platform&&(-1!==n.platform.indexOf(e)||"MacIntel"===n.platform&&n.maxTouchPoints>1&&!window.MSStream)},H=function(e){return e.type===E},J=function(e){return e.type===I},G=function(e){var n=e.type;return n===E||n===I},q=function(e){return e.type===N},Y=function(e){return e.type===R},W=function(e){return e.type===B},V=function(e){return e.type===S},z=function(e){return e.type===F},j=function(e){var n=e.vendor;return U(n)},Q=function(e){var n=e.model;return U(n)},X=function(e){var n=e.type;return U(n,"browser")},K=function(e){return e.name===D.Android},Z=function(e){return e.name===D.Windows},_=function(e){return e.name===D.MAC_OS},$=function(e){return e.name===D.WindowsPhone},ee=function(e){return e.name===D.IOS},ne=function(e){var n=e.version;return U(n)},te=function(e){var n=e.name;return U(n)},oe=function(e){return e.name===O.Chrome},ie=function(e){return e.name===O.Firefox},ae=function(e){return e.name===O.Chromium},re=function(e){return e.name===O.Edge},se=function(e){return e.name===O.Yandex},ce=function(e){var n=e.name;return n===O.Safari||n===O.MobileSafari},le=function(e){return e.name===O.MobileSafari},de=function(e){return e.name===O.Opera},ue=function(e){var n=e.name;return n===O.InternetExplorer||n===O.Ie},fe=function(e){return e.name===O.MIUI},pe=function(e){return e.name===O.SamsungBrowser},me=function(e){var n=e.version;return U(n)},he=function(e){var n=e.major;return U(n)},we=function(e){var n=e.name;return U(n)},be=function(e){var n=e.name;return U(n)},ge=function(e){var n=e.version;return U(n)},Ae=function(){var e=M(),n=e&&e.userAgent&&e.userAgent.toLowerCase();return"string"==typeof n&&/electron/.test(n)},ye=function(e){return"string"==typeof e&&-1!==e.indexOf("Edg/")},ve=function(){var e=M();return e&&(/iPad|iPhone|iPod/.test(e.platform)||"MacIntel"===e.platform&&e.maxTouchPoints>1)&&!window.MSStream},ke=function(){return P("iPad")},xe=function(){return P("iPhone")},Ce=function(){return P("iPod")},Te=function(e){return U(e)};function Ee(e){var n=e||w,t=n.device,o=n.browser,i=n.os,a=n.engine,r=n.ua;return{isSmartTV:q(t),isConsole:V(t),isWearable:W(t),isEmbedded:z(t),isMobileSafari:le(o)||ke(),isChromium:ae(o),isMobile:G(t)||ke(),isMobileOnly:H(t),isTablet:J(t)||ke(),isBrowser:Y(t),isDesktop:Y(t),isAndroid:K(i),isWinPhone:$(i),isIOS:ee(i)||ke(),isChrome:oe(o),isFirefox:ie(o),isSafari:ce(o),isOpera:de(o),isIE:ue(o),osVersion:ne(i),osName:te(i),fullBrowserVersion:me(o),browserVersion:he(o),browserName:we(o),mobileVendor:j(t),mobileModel:Q(t),engineName:be(a),engineVersion:ge(a),getUA:Te(r),isEdge:re(o)||ye(r),isYandex:se(o),deviceType:X(t),isIOS13:ve(),isIPad13:ke(),isIPhone13:xe(),isIPod13:Ce(),isElectron:Ae(),isEdgeChromium:ye(r),isLegacyEdge:re(o)&&!ye(r),isWindows:Z(i),isMacOs:_(i),isMIUI:fe(o),isSamsungBrowser:pe(o)}}var Ie=q(d),Ne=V(d),Se=W(d),Be=z(d),Fe=le(c)||ke(),Re=ae(c),Oe=G(d)||ke(),De=H(d),Le=J(d)||ke(),Ue=Y(d),Me=Y(d),Pe=K(f),He=$(f),Je=ee(f)||ke(),Ge=oe(c),qe=ie(c),Ye=ce(c),We=de(c),Ve=ue(c),ze=ne(f),je=te(f),Qe=me(c),Xe=he(c),Ke=we(c),Ze=j(d),_e=Q(d),$e=be(u),en=ge(u),nn=Te(p),tn=re(c)||ye(p),on=se(c),an=X(d),rn=ve(),sn=ke(),cn=xe(),ln=Ce(),dn=Ae(),un=ye(p),fn=re(c)&&!ye(p),pn=Z(f),mn=_(f),hn=fe(c),wn=pe(c);function bn(e){var n=e||window.navigator.userAgent;return h(n)}return _o.AndroidView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Pe?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.BrowserTypes=O,_o.BrowserView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Ue?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.ConsoleView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Ne?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.CustomView=function(e){var n=e.renderWithFragment,t=e.children;e.viewClassName,e.style;var o=e.condition,r=x(e,["renderWithFragment","children","viewClassName","style","condition"]);return o?n?a.createElement(i.Fragment,null,t):a.createElement("div",r,t):null},_o.IEView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Ve?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.IOSView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Je?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.MobileOnlyView=function(e){var n=e.renderWithFragment,t=e.children;e.viewClassName,e.style;var o=x(e,["renderWithFragment","children","viewClassName","style"]);return De?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.MobileView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Oe?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.OsTypes=D,_o.SmartTVView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Ie?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.TabletView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Le?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.WearableView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return Se?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.WinPhoneView=function(e){var n=e.renderWithFragment,t=e.children,o=x(e,["renderWithFragment","children"]);return He?n?a.createElement(i.Fragment,null,t):a.createElement("div",o,t):null},_o.browserName=Ke,_o.browserVersion=Xe,_o.deviceDetect=function(e){var n=e?h(e):w,t=n.device,o=n.browser,i=n.engine,a=n.os,r=n.ua,s=function(e){switch(e){case E:return{isMobile:!0};case I:return{isTablet:!0};case N:return{isSmartTV:!0};case S:return{isConsole:!0};case B:return{isWearable:!0};case R:return{isBrowser:!0};case F:return{isEmbedded:!0};default:return L}}(t.type),c=s.isBrowser,l=s.isMobile,d=s.isTablet,u=s.isSmartTV,f=s.isConsole,p=s.isWearable,m=s.isEmbedded;return c?function(e,n,t,o,i){return{isBrowser:e,browserMajorVersion:U(n.major),browserFullVersion:U(n.version),browserName:U(n.name),engineName:U(t.name),engineVersion:U(t.version),osName:U(o.name),osVersion:U(o.version),userAgent:U(i)}}(c,o,i,a,r):u?function(e,n,t,o){return{isSmartTV:e,engineName:U(n.name),engineVersion:U(n.version),osName:U(t.name),osVersion:U(t.version),userAgent:U(o)}}(u,i,a,r):f?function(e,n,t,o){return{isConsole:e,engineName:U(n.name),engineVersion:U(n.version),osName:U(t.name),osVersion:U(t.version),userAgent:U(o)}}(f,i,a,r):l||d?function(e,n,t,o){return function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?b(Object(t),!0).forEach(function(n){A(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):b(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}({},e,{vendor:U(n.vendor),model:U(n.model),os:U(t.name),osVersion:U(t.version),ua:U(o)})}(s,t,a,r):p?function(e,n,t,o){return{isWearable:e,engineName:U(n.name),engineVersion:U(n.version),osName:U(t.name),osVersion:U(t.version),userAgent:U(o)}}(p,i,a,r):m?function(e,n,t,o,i){return{isEmbedded:e,vendor:U(n.vendor),model:U(n.model),engineName:U(t.name),engineVersion:U(t.version),osName:U(o.name),osVersion:U(o.version),userAgent:U(i)}}(m,t,i,a,r):void 0},_o.deviceType=an,_o.engineName=$e,_o.engineVersion=en,_o.fullBrowserVersion=Qe,_o.getSelectorsByUserAgent=function(e){if(e&&"string"==typeof e){var n=h(e);return Ee({device:n.device,browser:n.browser,os:n.os,engine:n.engine,ua:n.ua})}},_o.getUA=nn,_o.isAndroid=Pe,_o.isBrowser=Ue,_o.isChrome=Ge,_o.isChromium=Re,_o.isConsole=Ne,_o.isDesktop=Me,_o.isEdge=tn,_o.isEdgeChromium=un,_o.isElectron=dn,_o.isEmbedded=Be,_o.isFirefox=qe,_o.isIE=Ve,_o.isIOS=Je,_o.isIOS13=rn,_o.isIPad13=sn,_o.isIPhone13=cn,_o.isIPod13=ln,_o.isLegacyEdge=fn,_o.isMIUI=hn,_o.isMacOs=mn,_o.isMobile=Oe,_o.isMobileOnly=De,_o.isMobileSafari=Fe,_o.isOpera=We,_o.isSafari=Ye,_o.isSamsungBrowser=wn,_o.isSmartTV=Ie,_o.isTablet=Le,_o.isWearable=Se,_o.isWinPhone=He,_o.isWindows=pn,_o.isYandex=on,_o.mobileModel=_e,_o.mobileVendor=Ze,_o.osName=je,_o.osVersion=ze,_o.parseUserAgent=h,_o.setUserAgent=function(e){return m(e)},_o.useDeviceData=bn,_o.useDeviceSelectors=function(e){var n=bn(e||window.navigator.userAgent);return[Ee(n),n]},_o.useMobileOrientation=function(){var e,n,t=(e=i.useState(function(){var e=window.innerWidth>window.innerHeight?90:0;return{isPortrait:0===e,isLandscape:90===e,orientation:0===e?"portrait":"landscape"}}),n=2,function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var o,i,a=[],r=!0,s=!1;try{for(t=t.call(e);!(r=(o=t.next()).done)&&(a.push(o.value),!n||a.length!==n);r=!0);}catch(c){s=!0,i=c}finally{try{r||null==t.return||t.return()}finally{if(s)throw i}}return a}}(e,n)||function(e,n){if(e){if("string"==typeof e)return T(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?T(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=t[0],a=t[1],r=i.useCallback(function(){var e=window.innerWidth>window.innerHeight?90:0,n={isPortrait:0===e,isLandscape:90===e,orientation:0===e?"portrait":"landscape"};o.orientation!==n.orientation&&a(n)},[o.orientation]);return i.useEffect(function(){return void 0!==("undefined"==typeof window?"undefined":g(window))&&Oe&&(r(),window.addEventListener("load",r,!1),window.addEventListener("resize",r,!1)),function(){window.removeEventListener("resize",r,!1),window.removeEventListener("load",r,!1)}},[r]),o},_o.withOrientationChange=function(e){/* @__PURE__ */
|
|
20
20
|
return function(n){function t(e){var n;return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t),(n=function(e,n){if(n&&("object"==typeof n||"function"==typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return C(e)}(this,v(t).call(this,e))).isEventListenerAdded=!1,n.handleOrientationChange=n.handleOrientationChange.bind(C(n)),n.onOrientationChange=n.onOrientationChange.bind(C(n)),n.onPageLoad=n.onPageLoad.bind(C(n)),n.state={isLandscape:!1,isPortrait:!1},n}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),n&&k(e,n)}(t,n),o=t,(i=[{key:"handleOrientationChange",value:function(){this.isEventListenerAdded||(this.isEventListenerAdded=!0);var e=window.innerWidth>window.innerHeight?90:0;this.setState({isPortrait:0===e,isLandscape:90===e})}},{key:"onOrientationChange",value:function(){this.handleOrientationChange()}},{key:"onPageLoad",value:function(){this.handleOrientationChange()}},{key:"componentDidMount",value:function(){void 0!==("undefined"==typeof window?"undefined":g(window))&&Oe&&(this.isEventListenerAdded?window.removeEventListener("load",this.onPageLoad,!1):(this.handleOrientationChange(),window.addEventListener("load",this.onPageLoad,!1)),window.addEventListener("resize",this.onOrientationChange,!1))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onOrientationChange,!1)}},{key:"render",value:function(){return a.createElement(e,y({},this.props,{isLandscape:this.state.isLandscape,isPortrait:this.state.isPortrait}))}}])&&function(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}(o.prototype,i),t;var o,i}(a.Component)},_o}();const ti=new class extends Co{enableGoogleSearch=!0;constructor(){super("https://nft-demo.keyring.app")}async generateContent(e,n){try{const t=`\nBelow is the system context and conversation history. Use it for context but prioritize the instructions at the end.\n---\nSYSTEM CONTEXT & HISTORY:\n${n}\n---\n\n---\nCURRENT USER QUESTION:\n${e}\n---\n\n---\n### MANDATORY RULES:\n1. **LANGUAGE ADHERENCE**:\n - **DETECT** the language of the section labeled "CURRENT USER QUESTION" below.\n - **RESPOND ONLY** in that same language.\n - **IGNORE** any language bias from the context or history.\n2. **HISTORY CLEANING**:\n - If any assistant response in the conversation history says it **"doesn't know"**, **"doesn't have data"**, **"cannot find info"**, or similar, you MUST **IGNORE that specific history segment**. \n - Do not let previous data failures prevent you from answering the CURRENT USER QUESTION if the information is available now or in your core knowledge.\n3. **BREVITY**: Keep your answer extremely concise (under 3000 characters).\n4. **DATA INTEGRITY**: Do not mention data gaps or historical missing info; just answer based on available info.\n5. **DATA INTEGRITY**: Just answer based on available info; do not mention data gaps.\n---\n`,o="/api/gemini-cortex/proxy",i={model:"gemini-2.5-flash-lite",data:{contents:[{parts:[{text:t}]}],tools:[{googleSearch:{}}]}};this.enableGoogleSearch||delete i.data.tools;const a=await this.post(o,i);return a?.data?.data?.candidates?.[0]?.content?.parts?.[0]?.text||a?.data?.candidates?.[0]?.content?.parts?.[0]?.text}catch(t){if((t?.message?.includes("search_grounding_request_per_project_per_day")||t?.data?.error?.message?.includes("search_grounding_request_per_project_per_day"))&&this.enableGoogleSearch)return this.enableGoogleSearch=!1,await this.generateContent(e,n);throw t}}async checkTypeQuestion(e,n){try{const t=n+`---\nCURRENT USER QUESTION:\n${e}\n---\n\nAnalyze this question and determine its category.\nIMPORTANT: The following topics should ALWAYS be classified as "yes" (crypto-related):\n- Greetings (in ANY language): hello, hi, xin chào, bonjour, etc.\n- Cryptocurrency, blockchain, crypto trading, DeFi, NFT\n- Wallet/Account questions (in ANY language): account, wallet, address, balance, portfolio, holdings\n- Registration/Sign-up questions (in ANY language): register, sign up, create account, create wallet, new account, new wallet, registration\n- Wallet access questions (in ANY language): open wallet, open account, start wallet, launch wallet, access wallet, access account\n- Token/coin questions: prices, market data, trading, trending tokens, hot tokens, top tokens, token list, show tokens, token hot, xem token, danh sách token, token nào hot, token trending\n- Chain questions: ETH, Base, Optimism, BSC, Polygon, Arbitrum\n- Smart contracts, gas fees, transactions\n- Action phrases (in ANY language): send token, swap token, send nft, buy token, bridge token, info token, check balance, etc.\n\nCRITICAL: Detect these concepts in ANY language (English, Japanese, Chinese, Vietnamese, Korean, Spanish, etc.)\nThe user may ask in their native language, so recognize the MEANING, not just specific words.\n\nIf the question is about ANY of the above topics, respond with ONLY the word "yes" (lowercase, nothing else).\nOtherwise, respond with ONLY the word "no" (lowercase, nothing else).\nDo not provide any explanation or additional text.`,o="/api/gemini-cortex/proxy",i={model:"gemini-2.0-flash-lite",data:{contents:[{parts:[{text:t}]}]}},a=await this.post(o,i);return a?.data?.data?.candidates?.[0]?.content?.parts?.[0]?.text||a?.data?.candidates?.[0]?.content?.parts?.[0]?.text}catch(t){throw t}}};function oi(n){const t=[],o=/!\[([^\]]*)\]\(([^)]+)\)|\[([^\]]*)\]\(([^)]+)\)|(https?:\/\/[^\s<>]+)|\*\*(.+?)\*\*|__(.+?)__|\*(.+?)\*|_(.+?)_|~~(.+?)~~|`([^`]+)`/g;let i,a=0;for(;null!==(i=o.exec(n));)i.index>a&&t.push(n.slice(a,i.index)),void 0!==i[1]||void 0!==i[2]?t.push(
|
|
21
21
|
/* @__PURE__ */e("img",{src:i[2],alt:i[1],className:"mc-image",onError:e=>{e.target.src="data:image/svg+xml,%3csvg%20width='180'%20height='180'%20viewBox='0%200%20180%20180'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='0.1'%3e%3cpath%20d='M102.392%20118.157L102.417%20109.35L89.7594%20102.042C89.5768%20101.937%2089.3953%20101.826%2089.2149%20101.71L89.1861%20101.692C89.012%20101.581%2088.839%20101.47%2088.666%20101.346C88.6061%20101.305%2088.5473%20101.262%2088.4874%20101.22C88.3765%20101.139%2088.259%20101.057%2088.1459%20100.972C88.0749%20100.919%2088.0051%20100.861%2087.9352%20100.811C87.8321%20100.733%2087.73%20100.653%2087.6291%20100.571C87.5552%20100.51%2087.4813%20100.449%2087.4073%20100.387C87.3098%20100.306%2087.2125%20100.224%2087.1157%20100.141C87.0418%20100.075%2086.9678%20100.009%2086.8939%2099.9421C86.7985%2099.8578%2086.7039%2099.772%2086.61%2099.6848C86.5346%2099.6149%2086.4592%2099.5462%2086.3882%2099.4752C86.2929%2099.3843%2086.1986%2099.2922%2086.1044%2099.2002C86.0356%2099.1325%2085.9657%2099.0649%2085.897%2098.9961C85.7983%2098.8963%2085.7007%2098.7954%2085.6031%2098.6934C85.541%2098.628%2085.4778%2098.5637%2085.4168%2098.4982C85.3059%2098.3763%2085.195%2098.2521%2085.0786%2098.1267L84.9533%2097.9881C84.7995%2097.8137%2084.648%2097.6366%2084.4986%2097.457C84.4643%2097.4159%2084.4321%2097.3738%2084.3977%2097.3328C84.2868%2097.1919%2084.1671%2097.05%2084.054%2096.9069C83.9172%2096.7325%2083.7826%2096.5558%2083.6503%2096.3769L83.5827%2096.2881C83.3675%2095.9965%2083.1591%2095.6971%2082.955%2095.3943L82.8441%2095.228C82.5876%2094.8421%2082.341%2094.4495%2082.1045%2094.0503L82.0135%2093.8984C81.8487%2093.616%2081.6886%2093.3306%2081.5334%2093.0423C81.4768%2092.937%2081.4225%2092.8316%2081.3681%2092.7263C81.3138%2092.6209%2081.2572%2092.5045%2081.1952%2092.3936C81.1164%2092.2361%2081.0399%2092.0787%2080.9634%2091.9201C80.939%2091.8691%2080.9135%2091.8181%2080.8891%2091.7671C80.793%2091.5623%2080.6995%2091.3564%2080.6085%2091.1494C80.5852%2091.095%2080.562%2091.0385%2080.5398%2090.9875C80.4732%2090.8337%2080.4082%2090.6792%2080.3446%2090.524L80.2592%2090.3121C80.2008%2090.1643%2080.1435%2090.0164%2080.0873%2089.8686C80.0629%2089.8043%2080.0385%2089.7388%2080.0141%2089.6745C79.9454%2089.486%2079.8789%2089.2971%2079.8145%2089.1079L79.789%2089.0347C79.7151%2088.8218%2079.6471%2088.6088%2079.585%2088.3959C79.5639%2088.3283%2079.5451%2088.2606%2079.5262%2088.193C79.483%2088.0444%2079.4397%2087.8958%2079.3998%2087.7494C79.3776%2087.6685%2079.3566%2087.5875%2079.3355%2087.5066C79.3%2087.3691%2079.2656%2087.2319%2079.2324%2087.0952C79.2131%2087.0138%2079.1943%2086.9325%2079.1758%2086.8512C79.1436%2086.7104%2079.1137%2086.5695%2079.0849%2086.4298C79.0693%2086.3555%2079.0538%2086.2801%2079.0394%2086.208C79.0047%2086.0276%2078.9725%2085.848%2078.9429%2085.6691C78.9429%2085.638%2078.9318%2085.607%2078.9274%2085.5759C78.8941%2085.366%2078.8646%2085.1564%2078.8387%2084.9472C78.832%2084.8906%2078.8265%2084.8363%2078.8198%2084.7775C78.8028%2084.6259%2078.7873%2084.4748%2078.7733%2084.3239C78.7666%2084.253%2078.7622%2084.182%2078.7566%2084.1121C78.7455%2083.9702%2078.7378%2083.8294%2078.7311%2083.6885C78.7311%2083.622%2078.7245%2083.5544%2078.7222%2083.4878C78.7156%2083.2882%2078.71%2083.0897%2078.7112%2082.8934L78.7466%2069.3645L77.6377%2068.7258L71.9567%2065.45C70.7912%2064.7503%2069.5073%2064.2703%2068.1686%2064.0339V64.0417C68.1597%2064.1105%2068.1542%2064.1825%2068.1464%2064.2513C68.1387%2064.32%2068.1298%2064.4021%2068.1231%2064.4797C68.1231%2064.5119%2068.1165%2064.5418%2068.1132%2064.574C68.1043%2064.676%2068.0999%2064.7802%2068.0943%2064.8845C68.0943%2064.941%2068.0865%2064.9954%2068.0843%2065.0541V65.0952C68.0769%2065.2704%2068.0729%2065.4482%2068.0721%2065.6286V65.6607L68.0078%2089.1023C68.0078%2089.2679%2068.01%2089.4339%2068.0145%2089.6002C68.0145%2089.6324%2068.0145%2089.6634%2068.0145%2089.6956C68.0145%2089.7632%2068.0211%2089.832%2068.0244%2089.8996C68.0278%2089.9673%2068.03%2090.056%2068.0355%2090.1347C68.0355%2090.1957%2068.0455%2090.2578%2068.05%2090.3199C68.0544%2090.382%2068.061%2090.463%2068.0677%2090.535C68.0677%2090.5805%2068.0743%2090.6271%2068.0788%2090.6725C68.0888%2090.7757%2068.1021%2090.8799%2068.1132%2090.9842C68.1198%2091.0418%2068.1254%2091.095%2068.132%2091.1583L68.1387%2091.2137C68.1623%2091.3985%2068.1886%2091.5833%2068.2174%2091.7682V91.7837C68.2174%2091.8147%2068.2285%2091.8469%2068.234%2091.8779C68.2584%2092.0277%2068.2839%2092.1774%2068.3117%2092.3282C68.3172%2092.357%2068.3239%2092.3858%2068.3294%2092.4147C68.3438%2092.4901%2068.3604%2092.5655%2068.376%2092.6365C68.3915%2092.7074%2068.4104%2092.8128%2068.4292%2092.9004C68.4403%2092.9525%2068.4536%2093.0046%2068.4658%2093.0556C68.4843%2093.1362%2068.5031%2093.2172%2068.5224%2093.2985C68.5368%2093.3595%2068.5501%2093.4205%2068.5645%2093.4803C68.5789%2093.5402%2068.6055%2093.6345%2068.6255%2093.711C68.6454%2093.7875%2068.6676%2093.8729%2068.6887%2093.9527C68.6998%2093.9916%2068.7087%2094.0304%2068.7186%2094.0636C68.7486%2094.1745%2068.7818%2094.2854%2068.8151%2094.3963C68.8351%2094.464%2068.8539%2094.5316%2068.8739%2094.5993L68.8894%2094.6547C68.9478%2094.8462%2069.0092%2095.0376%2069.0735%2095.2291V95.2391L69.099%2095.3123C69.1533%2095.4731%2069.2099%2095.6339%2069.2676%2095.7947C69.2775%2095.8224%2069.2886%2095.8501%2069.2986%2095.8778C69.3219%2095.9422%2069.3463%2096.0054%2069.3707%2096.0697C69.4039%2096.1595%2069.4372%2096.2482%2069.4716%2096.338C69.4949%2096.3979%2069.5193%2096.4567%2069.5437%2096.5166L69.628%2096.7262C69.649%2096.7761%2069.6679%2096.8271%2069.6889%2096.877C69.7322%2096.9812%2069.7777%2097.0855%2069.8231%2097.1897C69.8464%2097.244%2069.8686%2097.3006%2069.893%2097.3516L69.9174%2097.4082C69.9972%2097.5878%2070.0789%2097.7671%2070.1625%2097.946L70.1735%2097.9704C70.1979%2098.0214%2070.2234%2098.0724%2070.2478%2098.1234C70.3133%2098.2598%2070.3776%2098.3973%2070.4452%2098.5326L70.4785%2098.5969C70.5351%2098.7078%2070.5894%2098.8187%2070.6515%2098.9296C70.6981%2099.0194%2070.7424%2099.1093%2070.7901%2099.198L70.8167%2099.2456C70.9712%2099.534%2071.1313%2099.8193%2071.2969%20100.102C71.3113%20100.126%2071.3235%20100.151%2071.3379%20100.175C71.3523%20100.199%2071.3723%20100.227%2071.3878%20100.254C71.6244%20100.653%2071.8709%20101.045%2072.1275%20101.431C72.1419%20101.452%2072.1541%20101.475%2072.1685%20101.497C72.1829%20101.519%2072.2173%20101.564%2072.2406%20101.6C72.4446%20101.902%2072.652%20102.201%2072.8682%20102.493L72.9314%20102.575C73.0645%20102.754%2073.1994%20102.931%2073.3362%20103.107L73.3595%20103.137C73.4704%20103.272%2073.5746%20103.405%2073.6833%20103.537L73.7798%20103.656L73.7875%20103.665C73.9287%20103.835%2074.0718%20104.002%2074.2167%20104.167L74.2344%20104.187L74.3597%20104.326C74.4551%20104.437%2074.5516%20104.541%2074.6481%20104.646L74.698%20104.698C74.7601%20104.764%2074.8222%20104.828%2074.8843%20104.893C74.9464%20104.959%2075.0284%20105.046%2075.106%20105.122L75.1814%20105.197C75.2502%20105.266%2075.319%20105.334%2075.3888%20105.401C75.4587%20105.469%2075.5108%20105.524%2075.5729%20105.583L75.6727%20105.676C75.747%20105.747%2075.8224%20105.817%2075.8945%20105.886C75.9488%20105.936%2076.0054%20105.987%2076.0564%20106.036L76.1784%20106.146L76.4002%20106.345C76.4478%20106.386%2076.4944%20106.429%2076.5432%20106.469C76.592%20106.509%2076.643%20106.55%2076.6918%20106.59L76.9136%20106.774C76.9535%20106.806%2076.9923%20106.84%2077.0322%20106.872C77.0943%20106.921%2077.1576%20106.967%2077.2197%20107.015C77.2818%20107.062%2077.3594%20107.126%2077.4292%20107.174L77.5168%20107.241C77.6011%20107.303%2077.6876%20107.362%2077.7719%20107.423C77.8307%20107.465%2077.8894%20107.508%2077.9493%20107.549L77.997%20107.584C78.1523%20107.69%2078.3086%20107.794%2078.4661%20107.894L78.4905%20107.91C78.6357%20108.002%2078.7821%20108.092%2078.9341%20108.178L79.0449%20108.241L98.4999%20119.478C98.6175%20119.546%2098.7346%20119.611%2098.8515%20119.674L98.9867%20119.744L99.1653%20119.836C99.2119%20119.859%2099.2584%20119.885%2099.3039%20119.908C99.3793%20119.946%2099.4547%20119.979%2099.5257%20120.019L99.6832%20120.093L99.7464%20120.123C99.8942%20120.19%20100.042%20120.252%20100.19%20120.311L100.208%20120.317C100.35%20120.374%20100.492%20120.428%20100.633%20120.477L100.693%20120.497L100.856%20120.55C100.93%20120.575%20101.004%20120.6%20101.078%20120.622L101.189%20120.655L101.385%20120.709C101.434%20120.722%20101.484%20120.738%20101.532%20120.75C101.579%20120.762%20101.643%20120.773%20101.693%20120.785L101.888%20120.829L101.986%20120.851L102.085%20120.867C102.158%20120.553%20102.219%20120.227%20102.266%20119.886C102.346%20119.313%20102.388%20118.736%20102.392%20118.157Z'%20fill='url(%23paint0_linear_302_6100)'/%3e%3cpath%20d='M91.4307%2064.3019L78.0005%2056.5472L75.8214%2055.2885L71.9957%2053.0796C59.9427%2046.1222%2050.1032%2051.73%2050.0633%2065.5794L50.0001%2087.9076C49.9613%20101.769%2059.7365%20118.694%2071.7894%20125.652L91.2244%20136.872C103.276%20143.831%20113.117%20138.227%20113.156%20124.373L113.183%20114.546V113.668L113.217%20102.041C113.259%2088.1926%20103.482%2071.2604%2091.4307%2064.3019ZM102.419%20108.881V109.349L102.395%20118.156C102.394%20118.733%20102.355%20119.309%20102.278%20119.881C102.232%20120.222%20102.167%20120.547%20102.097%20120.863C100.943%20125.853%2096.5184%20127.534%2091.2621%20124.5L71.8249%20113.283C65.708%20109.753%2060.7478%20101.16%2060.7678%2094.1275L60.831%2071.7949C60.8454%2066.777%2063.3948%2063.8927%2067.0787%2063.9382C67.4454%2063.9447%2067.8112%2063.9777%2068.1732%2064.0369C69.5103%2064.2737%2070.7927%2064.7537%2071.9568%2065.453L77.6312%2068.7232L78.7401%2069.3619L91.3974%2076.6697C97.512%2080.205%20102.476%2088.7947%20102.452%2095.8275L102.419%20108.881Z'%20fill='url(%23paint1_linear_302_6100)'/%3e%3cpath%20d='M129.993%2090.9695C129.993%2090.9063%20129.987%2090.842%20129.985%2090.7788C129.985%2090.648%20129.972%2090.516%20129.966%2090.3851C129.958%2090.2288%20129.953%2090.0746%20129.944%2089.9172C129.936%2089.7952%20129.924%2089.671%20129.914%2089.5479C129.904%2089.4248%20129.892%2089.2707%20129.88%2089.1309C129.873%2089.04%20129.867%2088.9491%20129.858%2088.8582C129.838%2088.6519%20129.813%2088.4445%20129.789%2088.2383C129.776%2088.1274%20129.766%2088.0165%20129.752%2087.9056C129.752%2087.869%20129.744%2087.8324%20129.739%2087.7947C129.694%2087.431%20129.642%2087.0658%20129.583%2086.6991L129.578%2086.6669C129.568%2086.6037%20129.555%2086.5405%20129.544%2086.4773C129.497%2086.1845%20129.448%2085.8918%20129.392%2085.5979C129.381%2085.5391%20129.368%2085.4815%20129.357%2085.4227C129.328%2085.2752%20129.297%2085.1277%20129.267%2084.9791C129.232%2084.805%20129.199%2084.632%20129.156%2084.459C129.134%2084.3559%20129.107%2084.2528%20129.084%2084.1497C129.048%2083.99%20129.011%2083.8303%20128.973%2083.6706C128.944%2083.5519%20128.92%2083.4333%20128.89%2083.3146C128.852%2083.1627%20128.809%2083.0097%20128.77%2082.8566C128.731%2082.7036%20128.688%2082.5395%20128.645%2082.3809C128.625%2082.3055%20128.606%2082.2301%20128.585%2082.1591C128.524%2081.9373%20128.458%2081.7222%20128.393%2081.5038C128.354%2081.3729%20128.318%2081.2409%20128.282%2081.1101C128.271%2081.0746%20128.262%2081.0391%20128.251%2080.9992C128.135%2080.6214%20128.014%2080.244%20127.889%2079.867L127.881%2079.8448C127.863%2079.7927%20127.844%2079.7417%20127.827%2079.6896C127.716%2079.3768%20127.613%2079.063%20127.494%2078.7503C127.474%2078.6948%20127.452%2078.6394%20127.432%2078.584C127.385%2078.4564%20127.336%2078.3289%20127.288%2078.2014C127.222%2078.0273%20127.159%2077.8532%20127.091%2077.6791C127.046%2077.5615%20126.997%2077.4451%20126.949%2077.3275C126.894%2077.1886%20126.838%2077.0499%20126.782%2076.9117C126.742%2076.813%20126.704%2076.7143%20126.663%2076.6167C126.577%2076.4094%20126.487%2076.2042%20126.398%2075.9979C126.353%2075.8871%20126.308%2075.7861%20126.262%2075.6797L126.215%2075.5688C126.059%2075.2147%20125.898%2074.8617%20125.733%2074.5098L125.711%2074.4632C125.661%2074.3523%20125.608%2074.2525%20125.558%2074.146C125.431%2073.881%20125.305%2073.616%20125.174%2073.3532C125.153%2073.311%20125.13%2073.2689%20125.109%2073.2256C124.998%2073.0038%20124.887%2072.7821%20124.768%2072.5669C124.677%2072.3906%20124.589%2072.2143%20124.495%2072.0391C124.478%2072.0069%20124.459%2071.9759%20124.441%2071.9426C124.136%2071.3756%20123.821%2070.8137%20123.495%2070.257C123.467%2070.2094%20123.443%2070.1617%20123.415%2070.114C123.333%2069.9743%20123.247%2069.8379%20123.164%2069.6992C123.024%2069.4675%20122.885%2069.2357%20122.742%2069.0062C122.618%2068.8066%20122.492%2068.6092%20122.365%2068.4118C122.22%2068.19%20122.076%2067.9604%20121.927%2067.7364C121.877%2067.6599%20121.829%2067.5823%20121.778%2067.5069C121.727%2067.4315%20121.682%2067.3727%20121.635%2067.304C121.233%2066.7085%20120.824%2066.1196%20120.4%2065.5441L120.395%2065.5352C120.354%2065.4787%20120.309%2065.4243%20120.268%2065.3689C120.006%2065.017%20119.741%2064.6688%20119.472%2064.3243L119.425%2064.2633C119.215%2063.996%20119%2063.7343%20118.786%2063.4715C118.722%2063.395%20118.661%2063.3163%20118.598%2063.2398L118.584%2063.222C118.306%2062.8879%20118.024%2062.5581%20117.739%2062.2328L117.702%2062.1929C117.621%2062.0998%20117.537%2062.0111%20117.455%2061.919C117.266%2061.7083%20117.078%2061.4954%20116.886%2061.2892L116.788%2061.1871C116.666%2061.0563%20116.542%2060.9288%20116.418%2060.799C116.276%2060.6504%20116.135%2060.4985%20115.991%2060.3554C115.942%2060.3055%20115.891%2060.2579%20115.841%2060.208C115.706%2060.0716%20115.57%2059.9385%20115.433%2059.8043C115.297%2059.6701%20115.193%2059.5626%20115.071%2059.445C115.005%2059.3829%20114.939%2059.323%20114.873%2059.2609C114.726%2059.1212%20114.577%2058.9837%20114.43%2058.8473C114.319%2058.7497%20114.219%2058.6488%20114.112%2058.5523C114.034%2058.4814%20113.953%2058.4137%20113.873%2058.3427C113.725%2058.2104%20113.575%2058.0796%20113.424%2057.9502C113.33%2057.8692%20113.238%2057.7849%20113.142%2057.7051C113.047%2057.6253%20112.946%2057.5465%20112.848%2057.4656C112.7%2057.3443%20112.553%2057.2242%20112.405%2057.1052C112.326%2057.042%20112.248%2056.9754%20112.169%2056.9122C112.045%2056.8157%20111.921%2056.7248%20111.798%2056.6294C111.675%2056.5341%20111.523%2056.4176%20111.386%2056.3145C111.328%2056.2713%20111.275%2056.2258%20111.213%2056.1826C111.045%2056.0595%20110.88%2055.943%20110.707%2055.8233C110.596%2055.7412%20110.476%2055.6569%20110.36%2055.5771L110.265%2055.5094C109.958%2055.2995%20109.651%2055.0958%20109.341%2054.8984H109.334L109.288%2054.8696C109%2054.6877%20108.711%2054.5092%20108.42%2054.3384L108.206%2054.2142L88.7824%2042.9941C88.551%2042.8603%2088.3204%2042.7313%2088.0904%2042.6071C88.0017%2042.5594%2087.9141%2042.5162%2087.8254%2042.4696L87.4717%2042.2866C87.3807%2042.24%2087.2887%2042.1901%2087.1989%2042.1447C87.0492%2042.0704%2086.9017%2042.0049%2086.7553%2041.9351C86.6511%2041.8863%2086.5479%2041.8353%2086.4448%2041.7887L86.3195%2041.7299C86.0238%2041.5991%2085.7332%2041.476%2085.4479%2041.3607L85.4035%2041.344C85.1252%2041.2331%2084.8491%2041.1289%2084.5729%2041.0313L84.4465%2040.9847C84.3356%2040.9481%2084.2336%2040.9149%2084.1271%2040.8805C83.9819%2040.8328%2083.8366%2040.7818%2083.6924%2040.7385C83.6159%2040.7153%2083.5405%2040.6975%2083.464%2040.6753C83.3354%2040.6376%2083.2078%2040.6033%2083.0792%2040.5644C82.9827%2040.5389%2082.8851%2040.5079%2082.7898%2040.4846C82.6944%2040.4613%2082.5802%2040.4436%2082.4737%2040.4192C82.3462%2040.3903%2082.2176%2040.3604%2082.0912%2040.3327C82.0268%2040.3194%2081.9603%2040.3016%2081.896%2040.2894C81.7729%2040.265%2081.6531%2040.2506%2081.53%2040.2295C81.3826%2040.204%2081.234%2040.1774%2081.0865%2040.1564C81.0388%2040.1508%2080.9878%2040.1397%2080.939%2040.1331C80.8148%2040.1109%2080.6928%2040.1109%2080.5697%2040.0954C80.4122%2040.0776%2080.2548%2040.0599%2080.0995%2040.0477C80.0563%2040.0477%2080.0108%2040.0377%2079.9676%2040.0344C79.8567%2040.0266%2079.7558%2040.0288%2079.6482%2040.0233C79.4608%2040.0144%2079.2756%2040.0067%2079.0893%2040C79.0394%2040%2078.9884%2040%2078.9385%2040C78.8575%2040%2078.7799%2040.01%2078.699%2040.0111C78.4661%2040.0111%2078.2354%2040.0266%2078.0081%2040.0432C77.9405%2040.0432%2077.8706%2040.0432%2077.8041%2040.0532C77.7054%2040.0621%2077.61%2040.0765%2077.5124%2040.0876L77.3017%2040.1109C77.0455%2040.1453%2076.7916%2040.1841%2076.5421%2040.2351L76.5144%2040.244C76.4401%2040.2595%2076.368%2040.2794%2076.2926%2040.2961C76.0897%2040.3415%2075.8878%2040.3892%2075.6904%2040.4447C75.5895%2040.4735%2075.4919%2040.5068%2075.3921%2040.5389C75.2646%2040.5789%2075.1349%2040.6143%2075.0085%2040.6598C74.9752%2040.6709%2074.9441%2040.6875%2074.912%2040.6986C74.7146%2040.7707%2074.5239%2040.8517%2074.332%2040.9348C74.2389%2040.9747%2074.1435%2041.0113%2074.0526%2041.0535C73.7731%2041.1843%2073.4981%2041.3252%2073.2331%2041.4793L62.5375%2047.6893C62.8036%2047.5351%2063.0775%2047.3943%2063.3559%2047.2635C63.4479%2047.2202%2063.5433%2047.1847%2063.6364%2047.1437C63.8272%2047.0605%2064.019%2046.9796%2064.2153%2046.9075C64.3727%2046.8498%2064.5335%2046.7966%2064.6954%2046.7478C64.7952%2046.7168%2064.8928%2046.6824%2064.9937%2046.6536C65.1911%2046.5981%2065.3941%2046.5504%2065.5959%2046.505C65.6691%2046.4883%2065.7412%2046.4684%2065.8177%2046.4528C66.0761%2046.4007%2066.3389%2046.3586%2066.605%2046.3231C66.6749%2046.3142%2066.7458%2046.3065%2066.8157%2046.2987C66.9798%2046.2798%2067.1484%2046.2665%2067.3114%2046.2543C67.5387%2046.2366%2067.7694%2046.2266%2068.0023%2046.2211C68.132%2046.2211%2068.2606%2046.2133%2068.3915%2046.2144C68.5756%2046.2144%2068.763%2046.2244%2068.946%2046.2333C69.0957%2046.2399%2069.2454%2046.2455%2069.3973%2046.2577C69.5492%2046.2699%2069.71%2046.2887%2069.8675%2046.3054C70.0249%2046.322%2070.2112%2046.3431%2070.3865%2046.3675C70.5328%2046.3885%2070.6803%2046.4151%2070.83%2046.4406C71.0163%2046.4728%2071.2026%2046.505%2071.3911%2046.5449C71.5176%2046.5715%2071.6462%2046.6003%2071.7737%2046.6303C71.9748%2046.6768%2072.177%2046.7271%2072.3803%2046.7811C72.5078%2046.8155%2072.6365%2046.8498%2072.764%2046.892C72.9858%2046.9552%2073.2076%2047.025%2073.4293%2047.0971C73.5402%2047.1315%2073.6411%2047.1648%2073.7476%2047.2014C74.0625%2047.3123%2074.3786%2047.4231%2074.698%2047.5529L74.7423%2047.5695C75.075%2047.7026%2075.4077%2047.8479%2075.7403%2047.9998C75.8435%2048.0464%2075.9466%2048.0974%2076.0508%2048.1462C76.2896%2048.2585%2076.5295%2048.3757%2076.7705%2048.4977C76.8881%2048.5576%2077.006%2048.6186%2077.1243%2048.6807C77.4414%2048.8481%2077.7597%2049.0189%2078.0802%2049.2041L97.5219%2060.4253C97.8834%2060.6338%2098.2427%2060.8515%2098.5997%2061.0785L98.6507%2061.1095C98.9945%2061.3313%2099.3361%2061.5531%2099.6754%2061.7915C99.7918%2061.8724%2099.9072%2061.9567%20100.022%2062.0388C100.244%2062.1996%20100.476%2062.3626%20100.701%2062.53C100.839%2062.6332%20100.975%2062.7385%20101.113%2062.8439C101.316%2062.9999%20101.518%2063.1588%20101.72%2063.3207C101.868%2063.439%20102.016%2063.5588%20102.164%2063.68C102.357%2063.8397%20102.549%2064.0016%20102.739%2064.1657C102.887%2064.2951%20103.035%2064.4256%20103.183%2064.5572C103.37%2064.7228%20103.555%2064.8909%20103.737%2065.0617C103.886%2065.1981%20104.035%2065.3356%20104.181%2065.4753C104.369%2065.6539%20104.557%2065.8357%20104.743%2066.0187C104.878%2066.1518%20105.015%2066.2849%20105.149%2066.4202C105.343%2066.6153%20105.534%2066.8149%20105.726%2067.0145C105.85%2067.1443%20105.974%2067.2718%20106.097%2067.4038C106.319%2067.6433%20106.541%2067.8884%20106.763%2068.1334C106.845%2068.2255%20106.929%2068.3153%20107.011%2068.4085C107.313%2068.7522%20107.612%2069.1015%20107.907%2069.4564C107.97%2069.5329%20108.031%2069.6116%20108.094%2069.6882C108.325%2069.9698%20108.556%2070.2526%20108.781%2070.5409C109.05%2070.8847%20109.315%2071.2329%20109.576%2071.5855C109.619%2071.6443%20109.665%2071.6964%20109.709%2071.7607C110.133%2072.3363%20110.543%2072.9251%20110.944%2073.5195C111.042%2073.6637%20111.141%2073.8078%20111.236%2073.9531C111.383%2074.1749%20111.529%2074.4022%20111.674%2074.6284C111.8%2074.8258%20111.927%2075.0232%20112.051%2075.2228C112.194%2075.4524%20112.333%2075.6841%20112.472%2075.9159C112.583%2076.1011%20112.694%2076.2863%20112.805%2076.4703C113.13%2077.027%20113.446%2077.5893%20113.751%2078.157C113.862%2078.3633%20113.973%2078.5706%20114.076%2078.7769C114.179%2078.9832%20114.307%2079.2205%20114.417%2079.4423C114.57%2079.7472%20114.72%2080.0544%20114.867%2080.3616C114.918%2080.4725%20114.97%2080.5723%20115.02%2080.6787C115.209%2081.0816%20115.394%2081.4882%20115.574%2081.8985C115.621%2082.0094%20115.666%2082.1126%20115.712%2082.2201C115.842%2082.5232%20115.97%2082.8274%20116.095%2083.1328C116.152%2083.2718%20116.208%2083.4104%20116.263%2083.5486C116.379%2083.8399%20116.49%2084.1315%20116.595%2084.4236C116.643%2084.5511%20116.692%2084.6786%20116.74%2084.8061C116.874%2085.1758%20117.004%2085.5454%20117.129%2085.9151C117.147%2085.9661%20117.165%2086.0182%20117.183%2086.0692C117.324%2086.4891%20117.457%2086.909%20117.585%2087.3289C117.624%2087.4609%20117.661%2087.5929%20117.695%2087.7248C117.782%2088.0176%20117.866%2088.3103%20117.945%2088.6031C117.988%2088.7628%20118.029%2088.9225%20118.071%2089.0833C118.142%2089.3531%20118.209%2089.6229%20118.273%2089.8928C118.312%2090.0532%20118.349%2090.2133%20118.384%2090.3729C118.447%2090.6494%20118.506%2090.9259%20118.561%2091.2024C118.591%2091.3499%20118.622%2091.4974%20118.651%2091.646C118.719%2091.9986%20118.782%2092.3502%20118.839%2092.7006C118.849%2092.7638%20118.862%2092.827%20118.872%2092.8902C118.938%2093.3042%20118.996%2093.7167%20119.046%2094.1278C119.061%2094.2387%20119.07%2094.3496%20119.084%2094.4604C119.118%2094.7562%20119.148%2095.0537%20119.175%2095.3531C119.187%2095.4929%20119.198%2095.6315%20119.208%2095.7701C119.229%2096.0495%20119.246%2096.3279%20119.259%2096.6051C119.266%2096.7371%20119.272%2096.869%20119.278%2097.001C119.292%2097.3936%20119.301%2097.7839%20119.3%2098.172L119.237%20120.505C119.237%20120.912%20119.225%20121.31%20119.207%20121.702C119.207%20121.813%20119.192%20121.924%20119.187%20122.035C119.171%20122.304%20119.154%20122.572%20119.129%20122.835C119.116%20122.986%20119.099%20123.135%20119.083%20123.285C119.058%20123.507%20119.033%20123.728%20119.003%20123.95C118.981%20124.11%20118.957%20124.266%20118.932%20124.423C118.9%20124.624%20118.866%20124.822%20118.829%20125.018C118.795%20125.193%20118.761%20125.367%20118.725%20125.538C118.688%20125.71%20118.648%20125.884%20118.605%20126.06C118.556%20126.262%20118.504%20126.461%20118.449%20126.657C118.406%20126.811%20118.363%20126.964%20118.316%20127.115C118.244%20127.349%20118.168%20127.577%20118.088%20127.804C118.044%20127.928%20118.001%20128.053%20117.956%20128.175C117.811%20128.557%20117.657%20128.928%20117.488%20129.284C117.357%20129.561%20117.221%20129.832%20117.077%20130.092C117.061%20130.121%20117.042%20130.148%20117.027%20130.177C116.895%20130.412%20116.758%20130.64%20116.616%20130.862C116.582%20130.915%20116.545%20130.966%20116.506%20131.02C116.386%20131.199%20116.263%20131.375%20116.136%20131.546C116.084%20131.616%20116.031%20131.686%20115.978%20131.755C115.855%20131.913%20115.729%20132.067%20115.6%20132.216C115.552%20132.273%20115.504%20132.327%20115.455%20132.385C115.279%20132.582%20115.097%20132.774%20114.91%20132.956C114.881%20132.983%20114.85%20133.01%20114.821%20133.038C114.66%20133.191%20114.495%20133.339%20114.327%20133.481C114.264%20133.533%20114.2%20133.584%20114.137%20133.635C113.989%20133.753%20113.841%20133.866%20113.693%20133.975C113.63%20134.02%20113.568%20134.067%20113.504%20134.11C113.292%20134.255%20113.077%20134.395%20112.855%20134.524L123.549%20128.314C123.771%20128.185%20123.986%20128.045%20124.199%20127.9C124.264%20127.857%20124.326%20127.81%20124.388%20127.765C124.539%20127.656%20124.687%20127.543%20124.831%20127.425C124.895%20127.374%20124.959%20127.323%20125.021%20127.271C125.19%20127.129%20125.356%20126.982%20125.518%20126.828C125.547%20126.801%20125.577%20126.776%20125.604%20126.748C125.792%20126.566%20125.974%20126.374%20126.15%20126.177C126.199%20126.121%20126.246%20126.066%20126.295%20126.007C126.424%20125.859%20126.55%20125.706%20126.673%20125.546C126.727%20125.477%20126.784%20125.407%20126.832%20125.337C126.958%20125.167%20127.081%20124.991%20127.2%20124.812C127.236%20124.759%20127.272%20124.707%20127.311%20124.653L127.344%20124.604C127.475%20124.399%20127.598%20124.186%20127.72%20123.971C127.737%20123.941%20127.756%20123.915%20127.772%20123.885C127.911%20123.633%20128.044%20123.375%20128.17%20123.108L128.184%20123.076C128.352%20122.72%20128.506%20122.349%20128.652%20121.967C128.665%20121.933%20128.68%20121.902%20128.694%20121.868C128.726%20121.78%20128.753%20121.686%20128.784%20121.597C128.863%20121.375%20128.941%20121.141%20129.013%20120.907C129.033%20120.843%20129.056%20120.783%20129.075%20120.719C129.101%20120.632%20129.121%20120.539%20129.145%20120.451C129.2%20120.255%20129.252%20120.056%20129.301%20119.854C129.321%20119.769%20129.347%20119.691%20129.366%20119.605C129.385%20119.52%20129.401%20119.423%20129.42%20119.334C129.457%20119.161%20129.492%20118.987%20129.525%20118.811C129.543%20118.719%20129.564%20118.631%20129.581%20118.537C129.598%20118.444%20129.612%20118.323%20129.629%20118.218C129.653%20118.062%20129.677%20117.904%20129.7%20117.745C129.711%20117.661%20129.726%20117.582%20129.736%20117.497C129.753%20117.362%20129.764%20117.221%20129.779%20117.085C129.795%20116.948%20129.813%20116.785%20129.826%20116.632C129.832%20116.57%20129.84%20116.51%20129.845%20116.448C129.861%20116.249%20129.87%20116.041%20129.883%20115.837C129.889%20115.726%20129.898%20115.615%20129.904%20115.505C129.904%20115.477%20129.904%20115.45%20129.904%20115.422C129.918%20115.077%20129.927%20114.726%20129.928%20114.37V114.308L129.991%2091.9753C130.002%2091.6331%20130.003%2091.2978%20129.993%2090.9695Z'%20fill='%230B0E11'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_302_6100'%20x1='68.0078'%20y1='92.449'%20x2='102.417'%20y2='92.449'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23313131'/%3e%3cstop%20offset='1'%20stop-color='%230B0E11'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_302_6100'%20x1='50.0001'%20y1='94.977'%20x2='113.22'%20y2='94.977'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%234E4E4E'/%3e%3cstop%20offset='1'%20stop-color='%230B0E11'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e"}},i.index)):void 0!==i[3]?t.push(
|
|
22
22
|
/* @__PURE__ */e("a",{href:i[4],target:"_blank",rel:"noopener noreferrer",className:"mc-link",children:i[3]},i.index)):void 0!==i[5]?t.push(
|
|
@@ -27,7 +27,7 @@ return function(n){function t(e){var n;return function(e,n){if(!(e instanceof n)
|
|
|
27
27
|
/* @__PURE__ */e("div",{className:`mc-heading mc-h${n}`,children:oi(t)},`h-${a}`)),a++;continue}if(n.trimStart().startsWith("> ")){const n=[];for(;a<o.length&&o[a].trimStart().startsWith("> ");)n.push(o[a].replace(/^\s*>\s?/,"")),a++;i.push(
|
|
28
28
|
/* @__PURE__ */e("div",{className:"mc-blockquote",children:n.map((n,t)=>/* @__PURE__ */e("div",{children:oi(n)},t))},`bq-${a}`));continue}""!==n?.trim()?(i.push(
|
|
29
29
|
/* @__PURE__ */e("div",{className:"mc-line",children:oi(n)},`line-${a}`)),a++):(i.push(/* @__PURE__ */e("div",{className:"mc-empty-line"},`empty-${a}`)),a++)}/* @__PURE__ */
|
|
30
|
-
return e("div",{className:"message-content",children:i})},ai="https://nft-demo.keyring.app";function ri(e,n,t){if(!e)return e;const o=e.toLowerCase().trim();if("max"===o||"all"===o)return n||e;const i=o.match(/^(\d+(?:\.\d+)?)%$/);if(i){const e=parseFloat(i[1])/100;return((parseFloat(n)||0)*e).toFixed(8).replace(/\.?0+$/,"")||"0"}const a=o.match(/^\$?(\d+(?:\.\d+)?)\$?$/);if(a&&(o.startsWith("$")||o.endsWith("$"))){const n=parseFloat(a[1]);return t&&t>0?(n/t).toFixed(8).replace(/\.?0+$/,"")||"0":e}return e}const si=({isOpen:o,onClose:s,onTransaction:l,position:f="bottom-right",modalChatStyle:p={}})=>{const{t:m,ti:h}=w(),{messages:b,addMessage:g,updateMessageAction:A,updateMessageActionParameters:y,updateMessageText:v,clearMessagesById:k,updateMessageType:x}=function(){const{account:e}=zt(),{t:n}=w(),t=(o=e?.address,s=e?.chainId,o&&s?`${o}_${s}`:"");var o,s;const c=d(()=>_t(n("welcomeMessage")),[n]),[l,u]=i(()=>t||"pending"),[f,p]=i(()=>{const e=eo();return t?e&&e.owner===t?e.messages:_t(n("welcomeMessage")):e?.messages??_t(n("welcomeMessage"))});if("pending"===l&&t){const e=eo();e&&e.owner===t?p(e.messages):no(t,f),u(t)}else"pending"!==l&&t&&l!==t&&(p(c),no(t,c),u(t));const m=d(()=>f.map(e=>e.id===Zt?{...e,text:n("welcomeMessage")}:e),[f,n]);a(()=>{"pending"!==l&&no(l,f)},[f,l]),a(()=>{const e=[];for(let n=0;n<qt.length;n++){const t=qt.key(n);t&&t.startsWith(Xt+"_")&&e.push(t)}e.forEach(e=>qt.removeItem(e))},[]);const h=r(()=>{p(c),no(t,c)},[t,c]),b=r(e=>{p(n=>{const t=n.filter(n=>!e.includes(n.id));return t.length>Kt?t.slice(t.length-Kt):t})},[]);return{messages:m,setMessages:p,addMessage:(e,n,t,o,i,a="web3")=>{const r=t?f.find(e=>e.id===t):void 0,s={id:Math.random().toString(36).substring(2,12),text:e,sender:n,timestamp:/* @__PURE__ */new Date,typeChat:a,...r&&{replyTo:{id:r.id,text:r.text,sender:r.sender}},...o&&{buttons:o},...i&&{actionData:i}};return p(e=>{const n=[...e,s];return n.length>Kt?n.slice(n.length-Kt):n}),s},updateMessageAction:(e,n)=>{p(t=>t.map(t=>t.id===e&&t.actionData?{...t,actionData:{...t.actionData,status:n}}:t))},updateMessageActionParameters:(e,n)=>{p(t=>t.map(t=>t.id===e&&t.actionData?{...t,actionData:{...t.actionData,parameters:{...t.actionData.parameters,...n}}}:t))},updateMessageText:(e,n)=>{p(t=>t.map(t=>t.id===e?{...t,text:n}:t))},getMessageById:e=>f.find(n=>n.id===e),clearMessages:h,clearMessagesById:b,updateMessageType:(e,n)=>{p(t=>t.map(t=>t.id===e?{...t,typeChat:n}:t))}}}(),[C,T]=i(""),[E,I]=i(!1),[N,S]=i(!0),[B,F]=i(null),R=u(null),O=u(null),D=u(null),U=u(null),P=u(null),L=u(!1),M=u(N);a(()=>{M.current=N},[N]);const{account:H,chainData:J,chainType:q,chainTypeMoralis:G,chainId:Y,isChainSupported:W}=zt(),{config:V}=(()=>{const e=c(to);if(!e)throw new Error("useConfig must be used within ConfigProvider");return e})(),z=Y&&V?.rpcUrls?.[Y]||void 0,j=r(()=>{const e=qt.getItem("dataBuyToken");if(e)try{return JSON.parse(e)}catch{return{srcTokenAddress:"",descTokenAddress:"",amount:"",srcTokenDecimals:18,descTokenDecimals:18}}return{srcTokenAddress:"",descTokenAddress:"",amount:"",srcTokenDecimals:18,descTokenDecimals:18}},[]),Q=r(e=>{qt.setItem("dataBuyToken",JSON.stringify(e))},[]),X=r(e=>{const n={...j(),...e};Q(n)},[j,Q]),K=r(e=>{F(e),ni.isDesktop&&D.current?.focus()},[]),Z=r(async(e,n)=>{X({descTokenAddress:e,descTokenDecimals:n||18});try{I(!0);const e=await No({address:H?.address||"",chain:G});if(e?.success&&e?.data?.result){const n=e.data.result;if(n?.length>0){const e=n.map(e=>({id:e.token_address,text:`${e.name}: ${e.balance_formatted} ${e.symbol} ($${xo(e.usd_value||0)?.decimalPlaces(2).toFormat()||"0"})`,value:h("buttonBuyWith",{symbol:e.symbol}),action:"click_balance_item_user_to_buy_button",fullWidth:!0,extraData:{tokenAddress:e.token_address,symbol:e.symbol,balance:e.balance_formatted,usdValue:e.usd_value,decimals:e.decimals}}));g(h("walletBalanceSpendable",{chain:J?.name||"unknown"}),"bot",void 0,e)}else g(h("walletNoTokensFound",{chain:J?.name||"unknown"}),"bot")}else g(m("walletFetchFailed"),"bot")}catch(t){g(m("walletFetchError"),"bot")}finally{I(!1)}},[X,H?.address,G,g,J?.name,m,h]),_=r(async(e,n,t,o)=>{X({srcTokenAddress:e,srcTokenDecimals:o||18});let i=t||"0";if(e===Wt)try{const e=await Xo({chainId:Y,rpcUrl:z});if(e.isGreaterThan(0)){const n=e.times(1e6),a=new xo(Yt(t,o||18).toString()).minus(n);i=a.isGreaterThan(0)?xo(ge(BigInt(a.toFixed(0)),18)).toFixed():"0"}}catch(r){}const a=[25,50,75,100].map(t=>({id:`percent-${t}`,text:`${t}%`,value:h("buttonUsePercent",{percent:String(t),symbol:n}),action:"select_percent",extraData:{percent:t,tokenAddress:e,tokenSymbol:n,tokenDecimals:o||18,tokenBalance:i}}));xo(i).isZero()?g(h("insufficientFeeToken",{symbol:n}),"bot"):g(h("selectAmountOf",{symbol:n,balance:i}),"bot",void 0,a)},[g,Y,z,X,h]),$=r(async(e,n,t,o)=>{const i={amount:xo(n).times(e/100).decimalPlaces(6,xo.ROUND_DOWN).toFixed()};void 0!==t&&(i.srcTokenAddress=t),void 0!==o&&(i.srcTokenDecimals=o),X(i);const a=j(),r=Yt(a.amount,a.srcTokenDecimals||18).toString(),s=await Oo({chainId:Y,tokenIn:a.srcTokenAddress,tokenInAmount:r,tokenOut:a.descTokenAddress,tokenOutRecipient:H?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(s.success&&s.data){const e=s.data,n=e.tokenIn,t=e.tokenOut,o=xo(ge(BigInt(n.amount||0),n.decimals)).decimalPlaces(6).toFormat(),i=xo(ge(BigInt(t.amount||0),t.decimals)).decimalPlaces(6).toFormat();let l=!1;if(a.srcTokenAddress!==Wt&&""!==a.srcTokenAddress&&H?.address&&e.tx?.to)try{const n=await Vo({tokenAddress:a.srcTokenAddress,ownerAddress:H.address,spenderAddress:e.tx.to,chainId:Y,rpcUrl:z});l=xo(n.toString()).isLessThan(r)}catch(c){l=!0}const d=e.estimatedTransactionFee?.total?xo(e.estimatedTransactionFee.total):xo(0);let u=xo(0);if(l&&H?.address)try{const n=zo({tokenAddress:a.srcTokenAddress,spenderAddress:e.tx?.to||"",fromAddress:H.address,chainId:Y,amount:r});u=await Qo({from:H.address,to:n.to,data:n.data,chainId:Y,rpcUrl:z})}catch(c){}const f=d.plus(u),p=J?.nativeCurrency?.symbol||"native";let w="",b=!1;if(H?.address&&f.isGreaterThan(0))try{const e=await jo({address:H.address,chainId:Y,rpcUrl:z});if(e.isLessThan(f)){b=!0;const n=xo(ge(BigInt(e.toFixed(0)),18)).decimalPlaces(6).toFormat(),t=xo(ge(BigInt(f.toFixed(0)),18)).decimalPlaces(6).toFormat();w=h("swapFeeWarning",{symbol:p,balance:n,needed:t})}}catch(c){}const A=`From: ${o} ${n.symbol}\n⬇️\nTo: ${i} ${t.symbol}\n\n`+w+"\n";if(b)g(A,"bot");else if(l){const t=A+h("swapNeedApprove",{symbol:n.symbol}),o=[{id:"approve-for-swap",text:h("swapApproveButton",{symbol:n.symbol}),value:h("swapApproveValue",{symbol:n.symbol}),action:"approve_for_swap",fullWidth:!0,extraData:{tokenAddress:a.srcTokenAddress,spenderAddress:e.tx.to,tokenSymbol:n.symbol,amountInWei:r,tx:e.tx}}];g(t,"bot",void 0,o)}else{const n=[{id:"confirm-swap",text:m("swapConfirmButton"),value:m("swapConfirmValue"),action:"confirm_swap",extraData:{tx:e.tx}}];g(A+m("swapReadyToProceed"),"bot",void 0,n)}}else g(h("swapEstimationError",{error:s.errorMessage||s.error||"Unknown error"}),"bot")},[j,X,g,Y,H?.address,J?.nativeCurrency?.symbol,z,m,h]),ee=r(async(e,n,t)=>{try{if("suggested_action"===n)return U.current=e,void T(e);if(g(e,"user"),S(!1),I(!0),n)switch(await Lt(500),n){case"click_buy_item_token_button":await Z(t?.tokenAddress||"",t?.decimals||18);break;case"click_balance_item_user_to_buy_button":await _(t?.tokenAddress||"",t?.symbol||"",t?.balance||"",t?.decimals||18);break;case"select_percent":await $(t?.percent||0,t?.tokenBalance||"",t?.tokenAddress||void 0,t?.tokenDecimals||void 0);break;case"confirm_swap":if(t?.tx&&l){const e=t.tx,n={from:H?.address||"",to:e.to,data:e.data,value:e.value,chainId:Y},a=g(m("txProcessing"),"bot");try{I(!1);const e=await l(n);if("success"===e.status&&e.transactionHash){const n=J?.blockExplorers?.default?.url,t=n?` [View on Explorer](${n}/tx/${e.transactionHash})`:` Tx: ${e.transactionHash}`;v(a.id,m("txSubmitted")+t);try{await Lt(2e3),"success"===(await Wo({transactionHash:e.transactionHash,chainId:Y||1,rpcUrl:z})).status?v(a.id,m("txConfirmedSwap")+t):v(a.id,m("txRevertedSwap")+t)}catch(o){v(a.id,m("txTimeout")+t)}}else if("success"===e.status)v(a.id,m("txSuccessfulSwap"));else{const n=e.error?`\nError: ${e.error}`:"";v(a.id,m("txFailed")+n)}}catch(i){v(a.id,m("txFailed"))}}else g(m("txDataNotAvailable"),"bot");break;case"approve_for_swap":{const e=t?.tokenAddress||"",n=t?.spenderAddress||"",a=t?.tokenSymbol||"token",r=t?.tx;if(!e||!n||!l){g(m("approvalDataNotAvailable"),"bot");break}const s=t?.amountInWei||void 0,c=zo({tokenAddress:e,spenderAddress:n,fromAddress:H?.address||"",chainId:Y,tokenSymbol:a,amount:s}),d={from:c.from,to:c.to,data:c.data,value:c.value,chainId:c.chainId};g(h("approving",{symbol:a}),"bot");try{I(!1);const e=await l(d);let n="success"===e.status;if("success"===e.status&&e.transactionHash)try{n="success"===(await Wo({transactionHash:e.transactionHash,chainId:Y||1,rpcUrl:z})).status}catch(o){n=!0}if(n){g(h("approvalSuccess",{symbol:a}),"bot");const e=[{id:"confirm-swap-after-approve",text:m("confirmSwapButton"),value:m("swapConfirmValue"),action:"confirm_swap",fullWidth:!0,extraData:{tx:r}}];g(m("approvalConfirmSwap"),"bot",void 0,e)}else{const n=e.error?`\nError: ${e.error}`:"";g(m("approvalFailed")+n,"bot")}}catch(i){g(m("approvalFailed"),"bot")}break}case"click_swap_dest_token":{const e=t?.tokenAddress||"",n=t?.symbol||"";X({descTokenAddress:e,descTokenDecimals:t?.decimals||18});const o=j(),i=o.srcTokenAddress||"",r=i===Wt;try{const e=await No({address:H?.address||"",chain:G});if(e?.success&&e?.data?.result){const t=e.data.result;let a="",s="0";if(r){const e=t.find(e=>e.native_token);a=J?.nativeCurrency?.symbol||"ETH",s=e?.balance_formatted||"0"}else{const e=t.find(e=>e.token_address.toLowerCase()===i.toLowerCase());e&&(a=e.symbol,s=e.balance_formatted)}if(a&&parseFloat(s)>0){const e=[25,50,75,100],t=o.srcTokenDecimals||18,r=e.map(e=>({id:`percent-${e}`,text:`${e}%`,value:h("buttonUsePercent",{percent:String(e),symbol:a}),action:"select_percent",extraData:{percent:e,tokenAddress:i,tokenSymbol:a,tokenDecimals:t,tokenBalance:s}}));g(h("swapSelectAmount",{from:a,to:n,balance:s}),"bot",void 0,r)}else g(m("swapNoSourceToken"),"bot")}else g(m("couldNotFetchBalance"),"bot")}catch(a){g(m("couldNotLoadBalance"),"bot")}break}case"select_nft_to_send":{const e=t?.name||"NFT",n=t?.contractAddress||"",o=t?.tokenId||"",i=t?.tokenStandard||"ERC721",a=t?.amount||"1",r=t?.image||"",s={contract_address:n,token_id:o,to_address:t?.toAddress||"",token_standard:i,amount:"1",maxAmount:a,nft_name:e};g(h("nftSendReview",{name:e,standard:i,tokenId:o}),"bot",void 0,void 0,{action:"send_nft",parameters:s,status:"pending",nftInfo:{name:e,image:r||void 0,tokenId:o,contractAddress:n,tokenStandard:i}});break}default:g(h("actionExecutedFor",{action:n,value:e}),"bot")}else await Lt(500),g(h("receivedButtonValue",{value:e}),"bot");I(!1),ni.isDesktop&&D.current?.focus()}catch(i){g(m("errorProcessingRequest"),"bot"),I(!1)}},[H?.address,g,v,J?.blockExplorers?.default?.url,J?.nativeCurrency?.symbol,Y,G,j,Z,_,l,$,X,z,m,h]),ne=r(async()=>{try{I(!0);const e=J?.tokenTrendingDefault||[],[n,t]=await Promise.allSettled([Fo.getTopGainers(q,"24h",5),Fo.getTokensDetails(e,q)]);let o=[];"fulfilled"===n.status&&n.value?.data&&(o=[...n.value.data]),"fulfilled"===t.status&&t.value?.data&&(o=[...t.value.data,...o]),o=o.filter((e,n,t)=>n===t.findIndex(n=>n.address.toLowerCase()===e.address.toLowerCase()));const i=o.map(e=>({id:e?.symbol,text:e?.symbol,value:h("buttonBuyToken",{name:e.name,symbol:e?.symbol||""}),action:"click_buy_item_token_button",extraData:{tokenAddress:e?.address||"",symbol:e?.symbol||"",decimals:e?.decimals||18}}));await Lt(1e3),I(!1),g(h("trendingTokensHeader",{chain:J?.name||"Unknown"}),"bot");const a=o.map((e,n)=>`${n+1}. ${e.name} (${e?.auditGoplus?.token_symbol||e.symbol||"Unknown"})\n$${xo(e?.price||0).decimalPlaces(4).toFormat()} (${e.price_change_percentage_24h||e.priceChange}%)\n\n---\n`).join("\n");g(`${a}${m("trendingTokensQuestion")}`,"bot",void 0,i)}catch(e){g(m("trendingTokensError"),"bot")}finally{I(!1)}},[g,J?.name,J?.tokenTrendingDefault,q,m,h]),te=r(async()=>{try{g(h("viewNftViaWebsite",{link:ai}),"bot"),I(!1)}catch(e){I(!1),g(m("nftFetchError"),"bot")}},[g,m,h]),oe=r(async()=>{try{I(!0);const e=await No({address:H?.address||"",chain:G});if(e?.success&&e?.data?.result&&e.data.result.length>0){const n=e.data.result.map((e,n)=>{const t=void 0!==e.usd_value?` ≈ $${xo(e.usd_value).decimalPlaces(2).toFormat()}`:"";return`${n+1}. **${e.name}** (${e.symbol})\n Balance: ${e.balance_formatted}${t}`}).join("\n\n");await Lt(500),I(!1),g(h("viewBalancesHeader",{chain:J?.name||"this chain",list:n}),"bot",void 0)}else I(!1),g(m("viewBalancesEmpty"),"bot")}catch(e){I(!1),g(m("viewBalancesFetchError"),"bot")}},[H?.address,G,g,J?.name,m,h]),ie=d(()=>[{id:"ask",icon:"❓",text:m("suggestionAskText"),action:async()=>{S(!1),I(!0),g(m("suggestionAskUserMessage"),"user"),await Lt(1e3),I(!1),g(m("suggestionAskBotReply"),"bot")}},{id:"buy",icon:"💰",text:m("suggestionBuyText"),action:async()=>{S(!1),g(m("suggestionBuyText"),"user"),Mn(H?.address||"")&&W?await ne():(I(!0),await Lt(1e3),Mn(H?.address||"")&&!W?g(m("walletConnectedChainUnsupported"),"bot"):g(m("walletNotConnected"),"bot"),I(!1))}}],[g,H?.address,ne,m,W]),re=e=>{if(0===e)return!0;const n=b[e],t=b[e-1],o=new Date(n.timestamp),i=new Date(t.timestamp);return o.setHours(0,0,0,0),i.setHours(0,0,0,0),o.getTime()!==i.getTime()};a(()=>{R.current?.scrollIntoView({behavior:"smooth"})},[b]),a(()=>{o?(D.current&&ni.isDesktop&&D.current.focus(),R.current?.scrollIntoView({behavior:"instant"}),L.current&&P.current?Date.now()-P.current>12e5&&S(!0):S(!0),P.current=null,L.current=!1,setTimeout(()=>{R.current?.scrollIntoView({behavior:"smooth"})},50)):(P.current=Date.now(),L.current=!M.current)},[o]),a(()=>{const e=e=>{"Escape"===e.key&&o&&s()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[o,s]);const se=r(async()=>{if(""===C?.trim()||E)return;const e=B,n=g(C?.trim(),"user",B?.id);T(""),F(null),I(!0),S(!1),I(!0);try{let l,d;const u=b.slice(-20);let f="";if(u.length>0){f="\n\n## CONVERSATION HISTORY:\n";for(const e of u)"user"===e.sender?f+=`User: ${e.text}\n`:f+=`Assistant: ${e.text.length>400?e.text.substring(0,400)+"...":e.text}\n`;f+="\n---\n"}let p=C?.trim();e&&(p=`[Replying to ${"user"===e.sender?"my previous":"your"} message: "${e.text}"]\n\n${p}`);try{const e=await ti.checkTypeQuestion(p,f);if(e?.startsWith("no")){x(n.id,"normal");const e=b.filter(e=>"normal"===e.typeChat);let t="";if(e.slice(-20).length>0){t="\n\n## CONVERSATION HISTORY:\n";for(const n of e.slice(-20))"normal"===n.typeChat&&("user"===n.sender?t+=`User: ${n.text}\n`:t+=`Assistant: ${n.text.length>400?n.text.substring(0,400)+"...":n.text}\n\n`)}const o=await ti.generateContent(p,t);let i=null;try{let e=o?.trim();e.startsWith("```json")?e=e.replace(/^```json\s*/,"").replace(/\s*```$/,""):e.startsWith("```")&&(e=e.replace(/^```\s*/,"").replace(/\s*```$/,"")),i=JSON.parse(e)}catch{i=null}return I(!1),void g(i?.message||o,"bot",void 0,void 0,void 0,"normal")}}catch(o){}if(H?.address&&W)try{const[e,n]=await Promise.allSettled([No({address:H.address,chain:G}),Bo({address:H.address,chain:G,limit:100,exclude_spam:!0})]);"fulfilled"===e.status&&e.value?.success&&e.value?.data?.result&&(l=e.value.data.result.map(e=>({symbol:e.symbol,name:e.name,balance_formatted:e.balance_formatted,usd_value:e.usd_value,native_token:e.native_token,token_address:e.token_address,price:e.usd_price}))),"fulfilled"===n.status&&n.value?.success&&n.value?.data?.result&&(d=n.value.data.result.map(e=>({name:e.normalized_metadata?.name||e.name||`#${e.token_id}`,token_address:e.token_address,token_id:e.token_id,contract_type:e.contract_type||"",amount:e.amount||"1"})))}catch{}const w=function(e){const{walletAddress:n,chainName:t,chainId:o,nativeSymbol:i,walletTokens:a,walletNfts:r}=e;if(!n)return'You are a Web3 wallet assistant for the Keyring crypto EVM wallet app.\nThe user is currently NOT connected to any wallet.\n\n## YOUR ROLE:\n- You are a friendly, knowledgeable assistant that can talk about ANY topic naturally\n- You can freely answer general questions, discuss crypto tokens, prices, market info, provide token details, etc. — these do NOT require a wallet connection\n- ONLY ask the user to connect their wallet when their request explicitly requires their personal wallet/address, such as:\n - Sending tokens or NFTs\n - Swapping tokens\n - Approving token spending\n - Wrapping/unwrapping tokens\n - Checking THEIR OWN balance ("what is MY balance?", "how much ETH do I have?")\n - Viewing THEIR OWN NFT collection\n - Any action that reads or writes to THEIR wallet address\n- For all other requests (token info, prices, general crypto questions, market data, etc.), respond normally and helpfully\n- **CRITICAL - LANGUAGE**: You MUST detect the language of the user\'s CURRENT question and respond ONLY in that exact language. Ignore the language of previous messages in conversation history — only the current question matters. If the current question is in English, respond in English. If in Vietnamese, respond in Vietnamese. NEVER default to Chinese or any other language.\n\n## RESPONSE FORMAT:\nAlways respond with a valid JSON object:\n{"action":"chat","message":"<your friendly response to the user>", "suggested_actions":[{"label":"<short button text>","prompt":"<message sent when clicked>"}]}\n\n## RULES:\n- suggested_actions: include when your message offers the user interactive choices or asks a follow-up question. NEVER include suggested_actions that ask the user to connect their wallet (e.g., "Connect wallet", "Connect now", etc.) — the app handles wallet connection separately\n- **CRITICAL**: NEVER include any "Buy" actions (e.g., "Buy USDC", "Buy ETH", "Purchase token", etc.) in suggested_actions. The app handles Buy buttons separately. Only include non-buy actions in suggested_actions (e.g., "Send token", "Swap token", "Check balance", "Show my NFTs").\n- For wallet-required actions, politely explain the user needs to connect their wallet first, and put this in the "message" field\n- ALWAYS respond with raw JSON only, never wrap in ```json code blocks\n- **CRITICAL - LANGUAGE**: Respond in the language of the user\'s CURRENT question only. Do NOT follow language from conversation history.';if(n&&!Dt[o]?.isSupported)return`You are a Web3 wallet assistant for the Keyring crypto EVM wallet app.\n The user's wallet address is: ${n}\n The user is selected on (chainId: ${o}) an UNSUPPORTED chain.\n\n ## YOUR ROLE:\n - You are a friendly, knowledgeable assistant that can talk about ANY topic naturally\n - You can freely answer general questions, discuss crypto tokens, prices, market info, token details, etc. — these do NOT require a supported chain\n - **BLOCKED on unsupported chain** — if the user asks for any of the following, politely inform them that chain (chainId: ${o}) is not currently supported and the action cannot be performed:\n - Checking THEIR OWN balance ("what is my balance?", "how much ETH do I have?")\n - Sending tokens or NFTs\n - Swapping or buying tokens\n - Approving token spending\n - Wrapping/unwrapping tokens\n - Viewing or transferring their NFT collection\n - Any action that reads or writes to their wallet on the current chain\n - **ALLOWED on unsupported chain** — respond normally and helpfully for:\n - General questions (weather, coding, history, math, etc.)\n - Token information, prices, market data, token details\n - Any query that does NOT require interacting with the user's wallet on the current chain\n - **CRITICAL - LANGUAGE**: Respond in the language of the user's CURRENT question only. Ignore language from previous messages in conversation history. If current question is English → English. Vietnamese → Vietnamese. NEVER default to Chinese or any other language.\n\n ## RESPONSE FORMAT:\n Always respond with a valid JSON object:\n {"action":"chat","message":"<your response>", suggested_actions:[{"label":"<short button text>","prompt":"<message sent when clicked>"}]}\n\n ## RULES:\n - suggested_actions: include when your message offers the user interactive choices or asks a follow-up question. NEVER include suggested_actions that ask the user to connect their wallet (e.g., "Connect wallet", "Connect now", etc.) — the app handles wallet connection separately\n - **CRITICAL**: NEVER include any "Buy" actions (e.g., "Buy USDC", "Buy ETH", "Purchase token", etc.) in suggested_actions. The app handles Buy buttons separately. Only include non-buy actions in suggested_actions (e.g., "Send token", "Swap token", "Check balance", "Show my NFTs").\n - For wallet-required actions, politely explain the user needs to connect their wallet first, and put this in the "message" field\n - ALWAYS respond with raw JSON only, never wrap in \`\`\`json code blocks\n - **CRITICAL - LANGUAGE**: Respond in the language of the user's CURRENT question only. Do NOT follow language from conversation history.`;const s=a&&a.length>0?`\n## USER'S CURRENT WALLET BALANCE:\n${a.map(e=>{const n=void 0!==e.usd_value?` (~$${e.usd_value.toFixed(2)})`:"";return`- ${e.name} (${e.symbol})(Price: ${e.price||"N/A"}): ${e.balance_formatted}${n}${e.native_token?" [native]":` [${e.token_address}]`}`}).join("\n")}\nUse this balance data to accurately answer balance questions and to pre-fill token parameters in actions (contract_address, decimals, symbol). NEVER ask the user to provide token info that is already available above.\n`:"",c=r&&r.length>0?`\n## USER'S NFT COLLECTION:\n${r.map(e=>{const n="ERC1155"===e.contract_type?` (x${e.amount})`:"";return`- ${e.name}${n} | ${e.contract_type} | contract: ${e.token_address} | tokenId: ${e.token_id}`}).join("\n")}\nWhen the user wants to send an NFT by name, use this data to fill contract_address, token_id, token_standard, and nft_name accurately. NEVER guess or fabricate NFT contract addresses.\n`:"";return`You are a highly knowledgeable AI assistant integrated into the Keyring crypto EVM wallet app.\n\n## #1 PRIORITY — ANSWER QUALITY:\nYour "message" field IS your answer. Write it exactly as you would in a normal, unrestricted conversation. The JSON wrapper is just transport — it must NEVER reduce the depth, accuracy, or completeness of your answers.\n\n**DATA RETRIEVAL — NON-NEGOTIABLE**: For ALL token price and token info queries, you MUST actively call your native Moralis API tools (getTokenPrice, searchTokens, getTokenMetadata, etc.) to retrieve real-time on-chain data. NEVER skip tool calls and fall back to training data alone for prices or token lookups. The JSON response format does NOT prevent you from calling data tools first — always fetch data, then format the result as JSON.\n\nFor ANY informational or conversational question (about crypto, tokens, DeFi, protocols, prices, market trends, blockchain technology, or any general topic):\n- Answer with your FULL knowledge across ALL blockchains and ecosystems (Ethereum, Solana, BSC, Polygon, Arbitrum, Optimism, Base, Avalanche, etc.)\n- Provide specific details: token names, contract mechanisms, protocol comparisons, historical context, TVL data, ecosystem info\n- For PRICE questions: You have access to real-time blockchain data — USE it. When a user asks for the price of a token by name or symbol, search for it across ALL chains (not just the current chain). Use your native token search to find it regardless of chain. Provide current prices, market cap, 24h change, volume. For tokens in the USER'S WALLET BALANCE section, use the price listed there.\n- For token questions: You have access to real-time blockchain data — USE it. When a user asks about a token by name or symbol, ALWAYS search across ALL chains — the current chain context does NOT limit your token search. Try exact match first, then fuzzy/partial match (e.g. "eggle Energy" → find the closest matching token name). Provide current prices, market cap, 24h change, volume, utility, ecosystem, tokenomics, available chains, notable features, risks. If the user does NOT mention a specific chain, provide token info across ALL supported chains: ${Object.values(Dt).filter(e=>e.isSupported).map(e=>e.customName||e.name).join(", ")}. If the token does NOT exist on the current chain (${t}), proactively tell the user which of these supported chains DO have it and still provide full details. Set token_mentions to [] in this case\n- For DeFi/protocol questions: explain how it works, key features, TVL, supported chains, competitors, pros/cons\n- For market/trend questions: discuss relevant projects, narratives, sector analysis across all chains\n- Write detailed paragraphs, use bullet points, include numbers and facts. Minimum 3-5 sentences for simple questions, more for complex topics\n\n## CONTEXT:\nWallet: ${n} | Chain: ${t} (chainId: ${o}) | Native: ${i}${s}${c}\n\n## WHEN TO USE WHICH ACTION:\n- User asks to PERFORM a wallet operation (send, swap, buy, approve, wrap, unwrap) → return that action type with parameters. Chain-specific: use chainId ${o} only.\n- User asks to VIEW balances → "view_balances". User asks to VIEW NFTs → "view_nfts".\n- EVERYTHING ELSE (questions, info, token details, greetings, etc.) → "chat" action. No chain restriction — use cross-chain knowledge freely.\n\n## OUTPUT FORMAT:\nRaw JSON only. No markdown code blocks. Respond in the language of the user's CURRENT question (ignore conversation history language).\n\nWallet action: {"action":"<type>","message":"<explanation>","parameters":{...}}\nChat/info: {"action":"chat","message":"<YOUR FULL DETAILED ANSWER>","parameters":{},"token_mentions":[],"suggested_actions":[]}\n\n## WALLET ACTION RULES:\n- Return action type IMMEDIATELY even if params are missing (leave as ""). Ask for missing info in "message".\n- For ERC20 actions: provide correct contract_address on chainId ${o}. If token doesn't exist on this chain, inform user.\n- send_native: ONLY for ${i}. If user says "send ETH" but native ≠ ETH, use send_token.\n- Amount: "max"/"all" → "max". "X%" → "50%". "$5" → "$5". Otherwise exact number.\n- Decimals & symbol: always accurate.\n- send_nft: contract_address optional — use nft_name if NFT known by name.\n\n## suggested_actions & token_mentions:\n- suggested_actions: include when offering choices. {"label":"<2-6 words>","prompt":"<message>"}. Max 4. Never include "Buy" (app handles separately).\n- token_mentions: ONLY include when the token EXISTS on the CURRENT chain (chainId ${o}). If the token is on another chain or doesn't exist on the current chain, set token_mentions to [] — but still answer the question fully with cross-chain info (which chains have it, contract addresses on those chains, etc.). Format: {"symbol":"","contract_address":"<address on chainId ${o}>","decimals":<n>}. 2+ tokens → [], use suggested_actions. Non-crypto → [].\n\n## ACTION PARAMS REFERENCE:\n1. send_native: {"to_address":"","amount":""}\n2. send_token: {"contract_address":"(REQ)","token_symbol":"","to_address":"","amount":"","decimals":""}\n3. swap_token: {"token_in":"<addr or 'native'>","token_in_symbol":"","token_in_decimals":"","token_out":"<addr>","token_out_symbol":"","token_out_decimals":"","amount":""}\n No tokens specified → all params "". Native → token_in:"native".\n4. buy_token: {"token_symbol":"","contract_address":"(REQ)","decimals":""}. Both tokens → swap_token.\n5. approve_token: {"contract_address":"(REQ)","token_symbol":"","spender_address":"","amount":"","decimals":""}\n6. wrap_native: {"amount":""}\n7. unwrap_native: {"amount":""}\n8. send_nft: {"contract_address":"(opt)","token_id":"","to_address":"","token_standard":"","amount":"(def 1)","nft_name":""}\n9. view_nfts: {}\n10. view_balances: {} (single-token query like "how much ETH?" → use "chat")\n11. chat: {} + token_mentions + suggested_actions\n\n## EXAMPLES:\n\nUser: "send 0.5 ${i} to 0x1234"\n→ {"action":"send_native","message":"Sending 0.5 ${i} to 0x1234.","parameters":{"to_address":"0x1234","amount":"0.5"}}\n\nUser: "swap 1 ETH to USDC"\n→ {"action":"swap_token","message":"Swapping 1 ETH to USDC.","parameters":{"token_in":"native","token_in_symbol":"${i}","token_in_decimals":"18","token_out":"<USDC addr>","token_out_symbol":"USDC","token_out_decimals":"6","amount":"1"}}\n\nUser: "tell me about PEPE token" (and PEPE exists on current chain)\n→ {"action":"chat","message":"**PEPE** is one of the most popular meme tokens in crypto...\\n\\n**Tokenomics:** 420.69T supply, 0% tax, burn mechanism...\\n**Available on:** Ethereum, Base, Arbitrum, BSC...\\n**Risks:** Highly volatile, no utility...","parameters":{},"token_mentions":[{"symbol":"PEPE","contract_address":"<PEPE address on current chainId ${o}>","decimals":18}]}\n\nUser: "tell me about PEPE token" (but PEPE does NOT exist on current chain)\n→ {"action":"chat","message":"**PEPE** is one of the most popular meme tokens in crypto, inspired by the Pepe the Frog meme.\\n\\n**Note:** PEPE is not available on ${t}. It is available on these chains:\\n- **Ethereum**: 0x6982508145454Ce325dDbE47a25d4ec3d2311933\\n- **Base**: 0x...\\n- **Arbitrum**: 0x...\\n- **BSC**: 0x...\\n\\n**Tokenomics:** 420.69T supply, 0% tax, burn mechanism, redistribution to holders\\n**Category:** Meme token | **Launched:** April 2023\\n**Risks:** Highly volatile, no utility, sentiment-driven","parameters":{},"token_mentions":[]}\n\nUser: "what tokens are trending on Solana?"\n→ {"action":"chat","message":"Here are some notable trending tokens and narratives on Solana:\\n\\n**Top Solana Ecosystem Tokens:**\\n\\n1. **SOL** — The native token, powering the fastest L1 with 400ms block times and sub-$0.01 fees\\n2. **JUP** — Jupiter Aggregator, the #1 DEX aggregator on Solana handling 50%+ of all swap volume\\n3. **RAY** — Raydium, the leading AMM and liquidity protocol\\n4. **BONK** — The original Solana meme token, airdropped to the community in late 2022\\n5. **WIF** — Dogwifhat, a meme token that reached $4B+ market cap\\n6. **ORCA** — Orca DEX, known for user-friendly concentrated liquidity\\n7. **PYTH** — Pyth Network, providing real-time price oracle data across 40+ chains\\n\\n**Trending Narratives on Solana:**\\n- Meme tokens (BONK, WIF, POPCAT)\\n- DePIN (Helium/HNT, Render/RNDR)\\n- Liquid staking (Marinade/MNDE, Jito/JTO)\\n- AI tokens on Solana\\n\\nSolana's ecosystem has grown significantly with high throughput and low fees making it attractive for retail traders.","parameters":{},"token_mentions":[],"suggested_actions":[{"label":"Tell me about JUP","prompt":"Tell me about Jupiter JUP token"},{"label":"Tell me about BONK","prompt":"Tell me about BONK token"},{"label":"Tell me about WIF","prompt":"Tell me about WIF token"}]}\n\nUser: "hello"\n→ {"action":"chat","message":"Hello! I'm your crypto wallet assistant. I can help you:\\n\\n• **Send tokens or NFTs** to any address\\n• **Swap tokens** instantly\\n• **Check your balance** and portfolio\\n• **Get detailed token info** — prices, tokenomics, DeFi protocols from any chain\\n• **Answer any question** — crypto, DeFi, market trends, general knowledge\\n\\nWhat would you like to do?","parameters":{},"token_mentions":[],"suggested_actions":[{"label":"Check my balance","prompt":"What is my balance?"},{"label":"Trending tokens","prompt":"Show me trending tokens"},{"label":"Show my NFTs","prompt":"Show my NFTs"}]}`}({walletAddress:H?.address||void 0,chainName:J?.name||void 0,chainId:Y||void 0,nativeSymbol:J?.nativeCurrency?.symbol||void 0,walletTokens:l,walletNfts:d}),A=await async function(e){const{prompt:n,model:t="gpt-4.1-mini",stream:i=!1,systemPrompt:a}=e;if(!n)throw new Error("Prompt is required");try{const e=new Co(Eo),o=a?`${a}\n\n---\n\n Current User's question: ${n}`:n;return{success:!0,data:(await e.post("api/moralis-cortex/proxy/chat",{prompt:o,model:t,stream:i},{headers:{Accept:"application/json","Content-Type":"application/json"}})).data}}catch(o){return{success:!1,error:o instanceof Error?o.message:"Unknown error"}}}({prompt:p,model:"gpt-4.1-mini",stream:!1,systemPrompt:w+f});if(A.success&&A.data){const e=A.data.text||"";let l=null;try{let n=e?.trim();n.startsWith("```json")?n=n.replace(/^```json\s*/,"").replace(/\s*```$/,""):n.startsWith("```")&&(n=n.replace(/^```\s*/,"").replace(/\s*```$/,"")),l=JSON.parse(n)}catch{l=null}if(l&&l.action&&"chat"!==l.action)if("buy_token"===l.action){const e=l.parameters?.token_symbol||"";let t=l.parameters?.contract_address||"",o=18;if("native"===t.toLowerCase()&&(t=Wt),t&&t!==Wt)try{const e=await Fo.getTokensDetails([t],q);e?.data?.[0]&&(o=e.data[0].decimals||18)}catch(i){}if(!t&&e&&H?.address)try{const n=await No({address:H.address,chain:G});if(n?.success&&n?.data?.result){const i=n.data.result,a=i.find(e=>e.token_address.toLowerCase()===t.toLowerCase())||i.find(n=>n.symbol.toUpperCase()===e.toUpperCase());a&&(t=a.token_address,o=a.decimals)}if(!t){const n=J.tokenTrendingDefault||[],[i,a]=await Promise.allSettled([Fo.getTopGainers(q,"24h",10),Fo.getTokensDetails(n,q)]),r=[];"fulfilled"===i.status&&i.value?.data&&r.push(...i.value.data),"fulfilled"===a.status&&a.value?.data&&r.push(...a.value.data);const s=r.find(e=>e.address?.toLowerCase()===t.toLowerCase())||r.find(n=>n.symbol?.toUpperCase()===e.toUpperCase());s&&(t=s.address,o=s.decimals||18)}}catch(i){}t?(g(l.message||h("buyTokenHelp",{symbol:e}),"bot",n.id),await Z(t,o)):(g(l.message||h("tokenNotFoundOnChain",{symbol:e}),"bot",n.id),await ne())}else if("swap_token"===l.action){const e={...l.parameters||{}},t="native"===e.token_in||e.token_in_symbol?.toUpperCase()===J?.nativeCurrency?.symbol?.toUpperCase(),o="native"===e.token_out||e.token_out_symbol?.toUpperCase()===J?.nativeCurrency?.symbol?.toUpperCase();if(o&&(e.token_out=Wt),!t&&(e.token_in||e.token_in_symbol)&&H?.address)try{const n=await No({address:H.address,chain:G});if(n?.success&&n?.data?.result){const t=n.data.result,o=e.token_in?t.find(n=>n.token_address.toLowerCase()===e.token_in.toLowerCase()):t.find(n=>n.symbol.toUpperCase()===e.token_in_symbol.toUpperCase());o&&(e.token_in=o.token_address,e.token_in_decimals=String(o.decimals))}}catch(i){}if(!o&&(e.token_out||e.token_out_symbol)&&H?.address)try{const n=await No({address:H.address,chain:G});if(n?.success&&n?.data?.result){const t=n.data.result,o=e.token_out?t.find(n=>n.token_address.toLowerCase()===e.token_out.toLowerCase()):t.find(n=>n.symbol.toUpperCase()===e.token_out_symbol.toUpperCase());o&&(e.token_out=o.token_address,e.token_out_decimals=String(o.decimals))}}catch(i){}const d=!(!e.token_in&&!t),u=!!e.token_out,f=!!e.amount;if(d&&u&&f){g(l.message||m("swapPreparing"),"bot",n.id);try{const n=[];e.token_out&&n.push(e.token_out),e.token_in&&!t&&n.push(e.token_in);let o=18,c=18;if(n.length>0)try{const i=await Fo.getTokensDetails(n,q);if(i?.data)for(const n of i.data)t||n.address.toLowerCase()!==e.token_in?.toLowerCase()||(o=n.decimals||18),n.address.toLowerCase()===e.token_out?.toLowerCase()&&(c=n.decimals||18)}catch(a){}if(H?.address)try{const n=await No({address:H.address,chain:G});if(n?.success&&n?.data?.result){const o=n.data.result;if(t){const n=o.find(e=>e.native_token);let t=n?.balance_formatted||"0";try{const e=await Xo({chainId:Y,rpcUrl:z});if(e.isGreaterThan(0)){const o=e.times(1e6),i=new xo(n?.balance||"0").minus(o);t=i.isGreaterThan(0)?xo(ge(BigInt(i.toFixed(0)),n?.decimals||18)).toFixed():"0"}}catch(r){}e.amount=ri(e.amount,t,n?.usd_price);const i=parseFloat(t),a=parseFloat(e.amount);if(xo(i).lte(0))return g(h("formInsufficientBalance",{balance:xo(i).decimalPlaces(6).toFixed(),symbol:J?.nativeCurrency?.symbol||"native"}),"bot"),void I(!1);if(xo(i).lt(a))return g(h("swapInsufficientNativeBalance",{balance:xo(i).decimalPlaces(6).toFixed(),symbol:J?.nativeCurrency?.symbol||"native",amount:e.amount}),"bot"),void I(!1)}else{const n=o.find(n=>n.token_address.toLowerCase()===e.token_in?.toLowerCase());if(!n)return g(h("swapTokenNotInWallet",{symbol:e.token_in_symbol||e.token_in}),"bot"),void I(!1);e.amount=ri(e.amount,n.balance_formatted||"0",n.usd_price);const t=parseFloat(n.balance_formatted||"0"),i=parseFloat(e.amount);if(xo(t).lt(i))return g(h("swapInsufficientTokenBalance",{balance:xo(t).decimalPlaces(6).toFixed(),symbol:n.symbol,amount:e.amount}),"bot"),void I(!1)}}}catch(s){}const l=t?Wt:e.token_in;X({srcTokenAddress:l,descTokenAddress:e.token_out,amount:e.amount,srcTokenDecimals:o,descTokenDecimals:c});const d=Yt(e.amount,o).toString(),u=await Oo({chainId:Y,tokenIn:l,tokenInAmount:d,tokenOut:e.token_out,tokenOutRecipient:H?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(u.success&&u.data){const e=u.data,n=e.tokenIn,o=e.tokenOut,a=xo(ge(BigInt(n.amount||0),n.decimals)).decimalPlaces(6).toFormat(),r=xo(ge(BigInt(o.amount||0),o.decimals)).decimalPlaces(6).toFormat();let s=!1;if(!t&&H?.address&&e.tx?.to)try{const n=await Vo({tokenAddress:l,ownerAddress:H.address,spenderAddress:e.tx.to,chainId:Y,rpcUrl:z});s=xo(n.toString()).isLessThan(d)}catch(i){s=!0}const c=e.estimatedTransactionFee?.total?xo(e.estimatedTransactionFee.total):xo(0);let f=xo(0);if(s&&H?.address)try{const n=zo({tokenAddress:l,spenderAddress:e.tx?.to||"",fromAddress:H.address,chainId:Y,amount:d});f=await Qo({from:H.address,to:n.to,data:n.data,chainId:Y,rpcUrl:z})}catch(i){}const p=c.plus(f),w=J?.nativeCurrency?.symbol||"native";let b="",A=!1;if(H?.address&&p.isGreaterThan(0))try{const e=await jo({address:H.address,chainId:Y,rpcUrl:z});if(e.isLessThan(p)){A=!0;const n=xo(ge(BigInt(e.toFixed(0)),18)).decimalPlaces(6).toFormat(),t=xo(ge(BigInt(p.toFixed(0)),18)).decimalPlaces(6).toFormat();b=h("swapFeeWarning",{symbol:w,balance:n,needed:t})}}catch(i){}const y=`From: ${a} ${n.symbol}\n⬇️\nTo: ${r} ${o.symbol}\n\n`+b+"\n";if(A)g(y,"bot");else if(s){const t=[{id:"approve-for-swap",text:h("swapApproveButton",{symbol:n.symbol}),value:h("swapApproveValue",{symbol:n.symbol}),action:"approve_for_swap",fullWidth:!0,extraData:{tokenAddress:l,spenderAddress:e.tx.to,tokenSymbol:n.symbol,amountInWei:d,tx:e.tx}}];g(y+h("swapNeedApprove",{symbol:n.symbol}),"bot",void 0,t)}else{const n=[{id:"confirm-swap",text:m("swapConfirmYes"),value:m("swapConfirmValue"),action:"confirm_swap",extraData:{tx:e.tx}}];g(y+m("swapReadyToProceed"),"bot",void 0,n)}}else g(h("swapEstimationError",{error:u.errorMessage||u.error||"Unknown error"}),"bot")}catch(c){g(m("swapEstimationFailed"),"bot")}}else if(d&&u&&!f){let o=t?18:parseInt(e.token_in_decimals||"18",10),s=parseInt(e.token_out_decimals||"18",10);const c=[];if(e.token_out&&c.push(e.token_out),e.token_in&&!t&&c.push(e.token_in),c.length>0)try{const n=await Fo.getTokensDetails(c,q);if(n?.data)for(const i of n.data)t||i.address.toLowerCase()!==e.token_in?.toLowerCase()||(o=i.decimals||o),i.address.toLowerCase()===e.token_out?.toLowerCase()&&(s=i.decimals||s)}catch(a){}if(X({descTokenAddress:e.token_out,descTokenDecimals:s}),t)try{const e=await No({address:H?.address||"",chain:G});if(e?.success&&e?.data?.result){const t=e.data.result.find(e=>e.native_token),i=J?.nativeCurrency?.symbol||"ETH";let a=t?.balance_formatted||"0";try{const e=await Xo({chainId:Y,rpcUrl:z});if(e.isGreaterThan(0)){const n=e.times(1e6),o=new xo(t?.balance||"0").minus(n);a=o.isGreaterThan(0)?xo(ge(BigInt(o.toFixed(0)),t?.decimals||18)).toFixed():"0"}}catch(r){}X({srcTokenAddress:Wt,srcTokenDecimals:o});const s=[25,50,75,100].map(e=>({id:`percent-${e}`,text:`${e}%`,value:h("buttonUsePercent",{percent:String(e),symbol:i}),action:"select_percent",extraData:{percent:e,tokenAddress:Wt,tokenSymbol:i,tokenDecimals:o,tokenBalance:a}}));g(h("selectAmountToSwap",{symbol:i,balance:a}),"bot",n.id,s)}else g(m("couldNotFetchBalance"),"bot")}catch(i){g(m("couldNotFetchBalanceRetry"),"bot")}else{const t=e.token_in_symbol||"Token";X({srcTokenAddress:e.token_in,srcTokenDecimals:o});try{const o=await No({address:H?.address||"",chain:G});if(o?.success&&o?.data?.result){const i=o.data.result.find(n=>n.token_address.toLowerCase()===e.token_in?.toLowerCase());if(!i)return g(h("swapTokenNotInWallet",{symbol:t}),"bot"),void I(!1);const a=[25,50,75,100].map(e=>({id:`percent-${e}`,text:`${e}%`,value:h("buttonUsePercent",{percent:String(e),symbol:i.symbol}),action:"select_percent",extraData:{percent:e,tokenAddress:i.token_address,tokenSymbol:i.symbol,tokenDecimals:i.decimals||18,tokenBalance:i.balance_formatted}}));g(h("selectAmountToSwap",{symbol:i.symbol,balance:`${i.balance_formatted} (~$${i.usd_value?.toFixed(2)||"0"})`}),"bot",n.id,a)}else g(m("couldNotFetchBalance"),"bot")}catch(i){g(m("couldNotFetchBalanceRetry"),"bot")}}}else if(!d&&u){g(l.message||m("swapChooseFrom"),"bot",n.id);let t=parseInt(e.token_out_decimals||"18",10);if(e.token_out)try{const n=await Fo.getTokensDetails([e.token_out],q);n?.data?.[0]&&(t=n.data[0].decimals||t)}catch(a){}await Z(e.token_out,t)}else if(d&&!u){let o=t?18:parseInt(e.token_in_decimals||"18",10);if(e.token_in&&!t)try{const n=await Fo.getTokensDetails([e.token_in],q);n?.data?.[0]&&(o=n.data[0].decimals||o)}catch(a){}X(t?{srcTokenAddress:Wt,srcTokenDecimals:18}:{srcTokenAddress:e.token_in,srcTokenDecimals:o}),g(l.message||h("swapChooseTo",{symbol:e.token_in_symbol||"your token"}),"bot",n.id);try{I(!0);const e=J?.tokenTrendingDefault||[],[n,t]=await Promise.allSettled([Fo.getTopGainers(q,"24h",5),Fo.getTokensDetails(e,q)]);let o=[];"fulfilled"===n.status&&n.value?.data&&(o=[...n.value.data]),"fulfilled"===t.status&&t.value?.data&&(o=[...t.value.data,...o]),o=o.filter((e,n,t)=>n===t.findIndex(n=>n.address.toLowerCase()===e.address.toLowerCase()));const i=o.map(e=>({id:e?.symbol,text:e?.symbol,value:h("buttonSwapTo",{name:e.name,symbol:e?.symbol||""}),action:"click_swap_dest_token",extraData:{tokenAddress:e?.address||"",symbol:e?.symbol||"",decimals:e?.decimals||18}}));g(h("trendingTokensForReceive",{chain:J?.name||"Unknown"}),"bot",void 0,i)}catch(i){g(m("couldNotLoadTokenList"),"bot")}finally{I(!1)}}else if(g(l.message||m("swapChooseToken"),"bot",n.id),H?.address)try{I(!0);const e=await No({address:H.address,chain:G});if(e?.success&&e?.data?.result&&e.data.result.length>0){const n=e.data.result.map(e=>({id:`swap-select-${e.token_address}`,text:`${e.name}: ${e.balance_formatted} ${e.symbol} ($${xo(e?.usd_value||0).decimalPlaces(2).toFixed()||"0"})`,value:`Swap ${e.symbol}`,action:"suggested_action",fullWidth:!0}));await Lt(500),I(!1),g(h("walletBalanceSpendable",{chain:J?.name||"this chain"}),"bot",void 0,n)}else I(!1),g(h("walletNoTokensFound",{chain:J?.name||"this chain"}),"bot")}catch(i){I(!1),g(m("walletFetchError"),"bot")}}else if("view_balances"===l.action)g(l.message||m("viewBalancesLoading"),"bot",n.id),await oe();else if("view_nfts"===l.action)await te();else if("send_token"!==l.action||l.parameters?.contract_address||l.parameters?.token_symbol||!H?.address)if("send_nft"!==l.action||l.parameters?.contract_address||l.parameters?.token_id||l.parameters?.nft_name||!H?.address)if("send_nft"===l.action&&!Mn(l.parameters?.contract_address||"")&&(l.parameters?.nft_name||l.parameters?.token_id)&&H?.address)try{I(!0);const e=await Bo({address:H.address,chain:G,limit:100,exclude_spam:!1});if(e?.success&&e?.data?.result){const t=e.data.result,o=(l.parameters?.nft_name||"").toLowerCase(),i=l.parameters?.token_id||"",a=e=>{const n=(e.normalized_metadata?.name||e.name||"").toLowerCase(),t=(e.name||"").toLowerCase(),a=o&&(n.includes(o)||t.includes(o)),r=i&&e.token_id===i;return o&&i?a&&r:o?a:r},r=!o&&!!i,s=r?t.filter(a):[],c=r?1===s.length?s[0]:null:t.find(a);if(r&&s.length>1){const e=s.map(e=>{const n=e.normalized_metadata?.name||e.name||`#${e.token_id}`,t=e.normalized_metadata?.image||e.media?.original_media_url||"";return{id:`${e.token_address}-${e.token_id}`,text:`${n} (${e.symbol||e.contract_type}) #${e.token_id}`,value:h("buttonSendNft",{name:n}),action:"select_nft_to_send",fullWidth:!0,extraData:{contractAddress:e.token_address,tokenId:e.token_id,tokenStandard:e.contract_type,name:n,symbol:e.symbol,amount:e.amount,image:t,toAddress:l.parameters?.to_address||""}}}),t=s.map((e,n)=>{const t=e.normalized_metadata?.name||e.name||`#${e.token_id}`,o=e.normalized_metadata?.image||e.media?.original_media_url||"";return`${n+1}. ${o?`\n`:"🖼️ "}**${t}**\n ${e.symbol||e.contract_type} | Token ID: ${e.token_id}`}).join("\n\n");I(!1),g(h("nftMultipleMatchesForTokenId",{count:String(s.length),tokenId:i})+"\n\n"+t,"bot",n.id,e)}else if(c){const e=c.normalized_metadata?.name||c.name||`#${c.token_id}`,t=c.normalized_metadata?.image||c.media?.original_media_url||"",o={contract_address:c.token_address,token_id:c.token_id,to_address:l.parameters?.to_address||"",token_standard:c.contract_type||"",amount:"1",maxAmount:c.amount||"1",nft_name:e};g(l.message||h("nftSendReview",{name:e,standard:c.contract_type||"NFT",tokenId:c.token_id}),"bot",n.id,void 0,{action:"send_nft",parameters:o,status:"pending",nftInfo:{name:e,image:t||void 0,tokenId:c.token_id,contractAddress:c.token_address,tokenStandard:c.contract_type||void 0}})}else g(h("nftNotFoundInWallet",{name:o||i}),"bot",n.id)}else g(m("nftNoCollection"),"bot",n.id)}catch(i){g(m("nftFetchError"),"bot",n.id)}finally{I(!1)}else{const a=(t=l.action,["send_native","send_token","approve_token","wrap_native","unwrap_native","send_nft"].includes(t));let s,c,d={...l.parameters||{}};const u=["send_token","approve_token"].includes(l.action)&&(d.contract_address||d.token_symbol),f="send_native"===l.action,p="send_nft"===l.action&&d.contract_address;if(u&&H?.address)try{const e=await No({address:H.address,chain:G});if(e?.success&&e?.data?.result){const n=e.data.result,t=d.contract_address?n.find(e=>e.token_address.toLowerCase()===d.contract_address.toLowerCase()):n.find(e=>e.symbol.toUpperCase()===d.token_symbol.toUpperCase());t&&(d={...d,contract_address:t.token_address,decimals:String(t.decimals)},s={symbol:t.symbol,name:t.name,balance:t.balance,balanceFormatted:t.balance_formatted,usdValue:t.usd_value,usdPrice:t.usd_price,decimals:t.decimals,logo:t.logo||t.thumbnail,contractAddress:t.token_address})}}catch(i){}if(u&&!s&&"send_token"===l.action){const e=d.token_symbol||d.contract_address||"this token";return g(h("sendTokenNotInWallet",{symbol:e}),"bot",n.id),void I(!1)}if(u&&!s&&d.contract_address)try{const e=await So({address:d.contract_address,chain:G});if(e?.success&&e?.data){const n=e.data;s={symbol:n.symbol,name:n.name,balance:"0",balanceFormatted:"0",usdPrice:n.usd_price,decimals:n.decimals,logo:n.logo,contractAddress:d.contract_address},d={...d,decimals:String(n.decimals)}}}catch(i){}if(f&&H?.address)try{const e=await No({address:H.address,chain:G});if(e?.success&&e?.data?.result){const n=e.data.result.find(e=>e.native_token);if(n){let e=n.balance_formatted,t=n.balance;try{const o=new xo(n.balance),i="0x"+BigInt(o.toFixed(0)).toString(16),a=await Qo({from:H.address,to:H.address,data:"0x",value:i,chainId:Y,rpcUrl:z});if(a.isGreaterThan(0)){const i=o.minus(a);i.isGreaterThan(0)?(t=i.toFixed(0),e=xo(ge(BigInt(i.toFixed(0)),n.decimals)).toFixed()):(t="0",e="0")}}catch(r){}s={symbol:n.symbol,name:n.name,balance:t,balanceFormatted:e,usdValue:n.usd_value,usdPrice:n.usd_price,decimals:n.decimals,logo:n.logo||n.thumbnail,contractAddress:Wt}}else{const e=await So({address:Wt,chain:G});if(e?.success&&e?.data){const n=e.data;s={symbol:n.symbol,name:n.name,balance:"0",balanceFormatted:"0",usdValue:0,usdPrice:n.usd_price,decimals:n.decimals,logo:n.logo||n.thumbnail,contractAddress:Wt}}}}}catch(i){}if(p){try{const e=await async function(e){const{address:n,chain:t="base"}=e;if(!n)throw new Error("Contract address is required");try{return{success:!0,data:(await Io.get(`api/moralis/proxy/nft/${encodeURIComponent(n)}/metadata`,{query:{chain:t}})).data}}catch(o){return{success:!1,error:o instanceof Error?o.message:"Unknown error"}}}({address:d.contract_address,chain:G});if(e?.success&&e?.data){const n=e.data;n.contract_type&&(d={...d,token_standard:n.contract_type}),!d.nft_name&&n.name&&(d={...d,nft_name:n.name})}}catch(i){}if(H?.address)try{const e=await Bo({address:H.address,chain:G,limit:100,exclude_spam:!1});if(e?.success&&e?.data?.result){const t=e.data.result.find(e=>e.token_address.toLowerCase()===d.contract_address.toLowerCase()&&e.token_id===d.token_id);if(!t){const e=d.nft_name||`#${d.token_id||d.contract_address}`;return g(h("nftNotFoundInWallet",{name:e}),"bot",n.id),void I(!1)}{d={...d,amount:"1",maxAmount:t.amount||"1"};const e=t.normalized_metadata?.image||t.media?.original_media_url||"";c={name:t.normalized_metadata?.name||t.name||d.nft_name||`#${t.token_id}`,image:e||void 0,tokenId:t.token_id,contractAddress:t.token_address,tokenStandard:t.contract_type||d.token_standard||void 0}}}}catch(i){}}if(d.amount&&s?.balanceFormatted&&("send_token"===l.action||"send_native"===l.action)&&(d.amount=ri(d.amount,s.balanceFormatted,s.usdPrice)),a){const e=l.message||"Please review and complete the form below.";g(e,"bot",n.id,void 0,{action:l.action,parameters:d,status:"pending",tokenInfo:s,nftInfo:c})}else g(l.message||e,"bot",n.id)}else g(h("sendNftViaWebsite",{link:ai}),"bot");else try{const e=await No({address:H.address,chain:G});if(e?.success&&e?.data?.result&&e.data.result.length>0){g(m("sendTokenChoose"),"bot",n.id),I(!0),await Lt(500);const t=e.data.result.map(e=>({id:`send-select-${e.token_address}`,text:`${e.name}: ${e.balance_formatted} ${e.symbol} ($${xo(e?.usd_value||0).decimalPlaces(2).toFixed()||"0"})`,value:h("buttonSendToken",{symbol:e.symbol}),action:"suggested_action",fullWidth:!0}));await Lt(500),I(!1),g(h("walletBalanceSpendable",{chain:J?.name||"this chain"}),"bot",void 0,t)}else I(!1),g(h("walletNoTokensFound",{chain:J?.name||"this chain"}),"bot")}catch(i){I(!1),g(m("walletFetchError"),"bot")}else if(l&&"chat"===l.action){const t=l.token_mentions||[],o=l.suggested_actions||[],i=[];t.length>0&&t.forEach(e=>{i.push({id:`buy-${e.symbol}`,text:`💰 Buy ${e.symbol}`,value:h("buttonBuySymbol",{symbol:e.symbol}),action:"click_buy_item_token_button",extraData:{tokenAddress:e.contract_address||"",symbol:e.symbol,decimals:e.decimals||18},fullWidth:!0})}),o.length>0&&o.forEach((e,n)=>{i.push({id:`suggested-${n}-${e.label}`,text:e.label,value:e.prompt,action:"suggested_action",fullWidth:!0})}),i.length>0?g(l.message||e,"bot",n.id,i):g(l.message||e,"bot",n.id)}else g(e,"bot",n.id)}else g(m("errorProcessingRequest"),"bot",n.id)}catch(o){g(m("errorProcessingRequest"),"bot",n.id)}var t;I(!1),await Lt(50),ni.isDesktop&&D.current?.focus()},[C,E,B,g,b,H?.address,W,J?.name,J?.nativeCurrency?.symbol,J?.tokenTrendingDefault,Y,x,G,q,h,Z,ne,m,X,z,oe,te]);a(()=>{U.current&&C===U.current&&(U.current=null,se())},[C,se]);const ce=r(async(e,n,t)=>{try{if(S(!1),A(t,"submitted"),"swap_token"===e){let e=18;if(n.token_in&&n.token_in!==Wt)try{const t=await Fo.getTokensDetails([n.token_in],q);t?.data?.[0]&&(e=t.data[0].decimals||18)}catch(o){}const a=Yt(n.amount||"0",e).toString(),r=await Oo({chainId:Y,tokenIn:n.token_in||"",tokenInAmount:a,tokenOut:n.token_out||"",tokenOutRecipient:H?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(r.success&&r.data){const e=r.data,o=e.tokenIn,s=e.tokenOut,c=xo(ge(BigInt(o.amount||0),o.decimals)).decimalPlaces(6).toFormat(),l=xo(ge(BigInt(s.amount||0),s.decimals)).decimalPlaces(6).toFormat(),d=!n.token_in||n.token_in===Wt;let u=!1;if(!d&&H?.address&&e.tx?.to)try{const t=await Vo({tokenAddress:n.token_in,ownerAddress:H.address,spenderAddress:e.tx.to,chainId:Y,rpcUrl:z});u=xo(t.toString()).isLessThan(a)}catch(i){}const f=e.estimatedTransactionFee?.total?xo(e.estimatedTransactionFee.total):xo(0);let p=xo(0);if(u&&H?.address)try{const t=zo({tokenAddress:n.token_in,spenderAddress:e.tx?.to||"",fromAddress:H.address,chainId:Y,amount:a});p=await Qo({from:H.address,to:t.to,data:t.data,chainId:Y,rpcUrl:z})}catch(i){}const w=f.plus(p),b=J?.nativeCurrency?.symbol||"native";let y="",v=!1;if(H?.address&&w.isGreaterThan(0))try{const e=await jo({address:H.address,chainId:Y,rpcUrl:z});if(e.isLessThan(w)){v=!0;const n=xo(ge(BigInt(e.toFixed(0)),18)).decimalPlaces(6).toFormat(),t=xo(ge(BigInt(w.toFixed(0)),18)).decimalPlaces(6).toFormat();y=h("swapFeeWarning",{symbol:b,balance:n,needed:t})}}catch(i){}const k=`From: ${c} ${o.symbol}\n⬇️\nTo: ${l} ${s.symbol}\n\n`+y+"\n";if(v)A(t,"pending"),g(k,"bot");else if(u){const i=[{id:"approve-swap-actionform",text:h("swapApproveButton",{symbol:o.symbol}),value:h("swapApproveValue",{symbol:o.symbol}),action:"approve_for_swap",extraData:{tokenAddress:n.token_in,spenderAddress:e.tx.to,tokenSymbol:o.symbol,amountInWei:a,tx:e.tx},fullWidth:!0}];A(t,"success"),g(k+h("swapApprovalRequired",{symbol:o.symbol}),"bot",void 0,i)}else{const n=[{id:"confirm-swap-actionform",text:m("swapConfirmYes"),value:m("swapConfirmValue"),action:"confirm_swap",extraData:{tx:e.tx}}];A(t,"success"),g(k+m("swapReadyToProceed"),"bot",void 0,n)}}else A(t,"pending"),g(h("swapEstimationError",{error:r.errorMessage||r.error||"Unknown error"}),"bot")}else{const o=function(e){const{action:n,parameters:t,fromAddress:o,chainId:i}=e;switch(n){case"send_native":return function(e,n,t){const{to_address:o,amount:i}=e;if(!o)throw new Error("Recipient address is required");if(!i)throw new Error("Amount is required");return{from:n,to:o,data:"0x",value:Yt(i,18).toString(),chainId:t,description:`Send ${i} native token to ${o}`}}(t,o,i);case"send_token":return function(e,n,t){const{contract_address:o,to_address:i,amount:a,decimals:r,token_symbol:s}=e;if(!o)throw new Error("Token contract address is required");if(!i)throw new Error("Recipient address is required");if(!a)throw new Error("Amount is required");const c=Yt(a,parseInt(r)||18);return{from:n,to:o,data:Rt({abi:Ho,functionName:"transfer",args:[i,c]}),value:"0",chainId:t,description:`Send ${a} ${s||"tokens"} to ${i}`}}(t,o,i);case"approve_token":return function(e,n,t){const{contract_address:o,spender_address:i,amount:a,token_symbol:r}=e;if(!o)throw new Error("Token contract address is required");if(!i)throw new Error("Spender address is required");const s=a&&""!==a?.trim()?Yt(a,18):ae;return{from:n,to:o,data:Rt({abi:Ho,functionName:"approve",args:[i,s]}),value:"0",chainId:t,description:`Approve ${a||"unlimited"} ${r||"tokens"} for ${i}`}}(t,o,i);case"wrap_native":return function(e,n,t){const{amount:o}=e;if(!o)throw new Error("Amount is required");const i=Mo[t];if(!i)throw new Error(`WETH not supported on chain ${t}`);const a=Yt(o,18).toString();return{from:n,to:i,data:Rt({abi:Jo,functionName:"deposit"}),value:a,chainId:t,description:`Wrap ${o} native token`}}(t,o,i);case"unwrap_native":return function(e,n,t){const{amount:o}=e;if(!o)throw new Error("Amount is required");const i=Mo[t];if(!i)throw new Error(`WETH not supported on chain ${t}`);const a=Yt(o,18);return{from:n,to:i,data:Rt({abi:Jo,functionName:"withdraw",args:[a]}),value:"0",chainId:t,description:`Unwrap ${o} WETH`}}(t,o,i);case"send_nft":return function(e,n,t){const{contract_address:o,token_id:i,to_address:a,token_standard:r,amount:s,nft_name:c}=e;if(!o)throw new Error("NFT contract address is required");if(!i)throw new Error("Token ID is required");if(!a)throw new Error("Recipient address is required");const l=(r||"ERC721").toUpperCase(),d=BigInt(i);let u,f;if("ERC1155"===l){const e=BigInt(s||"1");u=Rt({abi:Go,functionName:"safeTransferFrom",args:[n,a,d,e,"0x"]}),f=`Send ${e>1n?e.toString()+"x ":""}${c||"NFT"} (ERC1155 #${i}) to ${a}`}else u=Rt({abi:qo,functionName:"safeTransferFrom",args:[n,a,d]}),f=`Send ${c||"NFT"} (ERC721 #${i}) to ${a}`;return{from:n,to:o,data:u,value:"0",chainId:t,description:f}}(t,o,i);default:throw new Error(`Action "${n}" does not produce a transaction`)}}({action:e,parameters:n,fromAddress:H?.address||"",chainId:Y||1}),i={from:o.from,to:o.to,data:o.data,value:o.value,chainId:o.chainId};if(("send_token"===e||"send_native"===e||"send_nft"===e)&&H?.address)try{const e=J?.nativeCurrency?.symbol||"native",n=await Qo({from:o.from,to:o.to,data:o.data,value:o.value&&"0"!==o.value?`0x${BigInt(o.value).toString(16)}`:void 0,chainId:Y,rpcUrl:z});if(n.isGreaterThan(0)){const o=await jo({address:H.address,chainId:Y,rpcUrl:z});if(o.isLessThan(n)){const i=xo(ge(BigInt(o.toFixed(0)),18)).decimalPlaces(6).toFormat(),a=xo(ge(BigInt(n.toFixed(0)),18)).decimalPlaces(6).toFormat();return A(t,"pending"),void g(h("txInsufficientGas",{symbol:e,balance:i,fee:a}),"bot")}}}catch(a){}if(l){I(!1);const o=await l(i);if("success"===o.status&&o.transactionHash){const i=J?.blockExplorers?.default?.url,a=i?` [View on Explorer](${i}/tx/${o.transactionHash})`:` Tx: ${o.transactionHash}`;try{if(await Lt(4e3),"success"===(await Wo({transactionHash:o.transactionHash,chainId:Y||1,rpcUrl:z})).status){if(A(t,"success"),y(t,n),"approve_token"===e&&g(h("approvalSuccess",{symbol:n.token_symbol||n.contract_address||"Token"})+a,"bot"),"send_token"===e||"send_native"===e||"send_nft"===e){const t=n.to_address||n.recipient||"",o=t?`${t.slice(0,6)}...${t.slice(-4)}`:"";g("send_nft"===e?h("txSuccessfulSendNft",{name:n.nft_name||n.token_symbol||"NFT",tokenId:n.token_id||"",to:o})+a:h("send_native"===e?"txSuccessfulSendNative":"txSuccessfulSendToken",{amount:n.amount||"",symbol:n.token_symbol||("send_native"===e?J?.nativeCurrency?.symbol||"native":"Token"),to:o})+a,"bot")}}else A(t,"pending"),g(m("txReverted")+"\n"+a,"bot")}catch(r){A(t,"success"),g(m("txTimeout")+"\n"+a,"bot")}}else if("success"===o.status)A(t,"success");else{A(t,"pending");const e=o.error?`\nError: ${o.error}`:"";g(m("txFailed")+e,"bot")}}else A(t,"pending"),g(m("txNoHandler"),"bot")}}catch(s){A(t,"pending"),g(h("txError",{message:s instanceof Error?s.message:"Unknown error"}),"bot")}},[A,Y,H?.address,q,J?.nativeCurrency?.symbol,J?.blockExplorers?.default?.url,z,h,g,m,l,y]),le=r(e=>{k([e])},[k]),[de,ue]=i({}),fe=r(async(e,n,t)=>{ue(e=>({...e,[t]:!0}));try{await ce(e,n,t)}finally{ue(e=>({...e,[t]:!1}))}},[ce]),pe=r(e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),se())},[se]),me=r(()=>{const e=window.getSelection();e&&e.toString().length>0||s()},[s]);return o?/* @__PURE__ */e("div",{className:"chat-modal-overlay"+("bottom-left"===f?" chat-modal-overlay--left":""),onClick:me,role:"dialog","aria-modal":"true","aria-labelledby":"chat-modal-title",children:/* @__PURE__ */t("div",{className:"chat-modal",style:p,onClick:e=>e.stopPropagation(),children:[
|
|
30
|
+
return e("div",{className:"message-content",children:i})},ai="https://nft-demo.keyring.app";function ri(e,n,t){if(!e)return e;const o=e.toLowerCase().trim();if("max"===o||"all"===o)return n||e;const i=o.match(/^(\d+(?:\.\d+)?)%$/);if(i){const e=parseFloat(i[1])/100;return((parseFloat(n)||0)*e).toFixed(8).replace(/\.?0+$/,"")||"0"}const a=o.match(/^\$?(\d+(?:\.\d+)?)\$?$/),r=o.startsWith("$")||o.endsWith("$")||/\d(usd|dollar|dollars|đô|đồng)$/.test(o);if(a&&r){const n=parseFloat(a[1]);return t&&t>0?(n/t).toFixed(8).replace(/\.?0+$/,"")||"0":e}const s=o.match(/^(\d+(?:\.\d+)?)\s*(?:usd|dollar|dollars|đô|đồng)$/);if(s){const n=parseFloat(s[1]);return t&&t>0?(n/t).toFixed(8).replace(/\.?0+$/,"")||"0":e}return e}const si=({isOpen:o,onClose:s,onTransaction:l,position:f="bottom-right",modalChatStyle:p={}})=>{const{t:m,ti:h}=w(),{messages:b,addMessage:g,updateMessageAction:A,updateMessageActionParameters:y,updateMessageText:v,clearMessagesById:k,updateMessageType:x}=function(){const{account:e}=zt(),{t:n}=w(),t=(o=e?.address,s=e?.chainId,o&&s?`${o}_${s}`:"");var o,s;const c=d(()=>_t(n("welcomeMessage")),[n]),[l,u]=i(()=>t||"pending"),[f,p]=i(()=>{const e=eo();return t?e&&e.owner===t?e.messages:_t(n("welcomeMessage")):e?.messages??_t(n("welcomeMessage"))});if("pending"===l&&t){const e=eo();e&&e.owner===t?p(e.messages):no(t,f),u(t)}else"pending"!==l&&t&&l!==t&&(p(c),no(t,c),u(t));const m=d(()=>f.map(e=>e.id===Zt?{...e,text:n("welcomeMessage")}:e),[f,n]);a(()=>{"pending"!==l&&no(l,f)},[f,l]),a(()=>{const e=[];for(let n=0;n<Gt.length;n++){const t=Gt.key(n);t&&t.startsWith(Xt+"_")&&e.push(t)}e.forEach(e=>Gt.removeItem(e))},[]);const h=r(()=>{p(c),no(t,c)},[t,c]),b=r(e=>{p(n=>{const t=n.filter(n=>!e.includes(n.id));return t.length>Kt?t.slice(t.length-Kt):t})},[]);return{messages:m,setMessages:p,addMessage:(e,n,t,o,i,a="web3")=>{const r=t?f.find(e=>e.id===t):void 0,s={id:Math.random().toString(36).substring(2,12),text:e,sender:n,timestamp:/* @__PURE__ */new Date,typeChat:a,...r&&{replyTo:{id:r.id,text:r.text,sender:r.sender}},...o&&{buttons:o},...i&&{actionData:i}};return p(e=>{const n=[...e,s];return n.length>Kt?n.slice(n.length-Kt):n}),s},updateMessageAction:(e,n)=>{p(t=>t.map(t=>t.id===e&&t.actionData?{...t,actionData:{...t.actionData,status:n}}:t))},updateMessageActionParameters:(e,n)=>{p(t=>t.map(t=>t.id===e&&t.actionData?{...t,actionData:{...t.actionData,parameters:{...t.actionData.parameters,...n}}}:t))},updateMessageText:(e,n)=>{p(t=>t.map(t=>t.id===e?{...t,text:n}:t))},getMessageById:e=>f.find(n=>n.id===e),clearMessages:h,clearMessagesById:b,updateMessageType:(e,n)=>{p(t=>t.map(t=>t.id===e?{...t,typeChat:n}:t))}}}(),[C,T]=i(""),[E,I]=i(!1),[N,S]=i(!0),[B,F]=i(null),R=u(null),O=u(null),D=u(null),L=u(null),U=u(null),M=u(!1),P=u(N);a(()=>{P.current=N},[N]);const{account:H,chainData:J,chainType:G,chainTypeMoralis:q,chainId:Y,isChainSupported:W}=zt(),{config:V}=(()=>{const e=c(to);if(!e)throw new Error("useConfig must be used within ConfigProvider");return e})(),z=Y&&V?.rpcUrls?.[Y]||void 0,j=r(()=>{const e=Gt.getItem("dataBuyToken");if(e)try{return JSON.parse(e)}catch{return{srcTokenAddress:"",descTokenAddress:"",amount:"",srcTokenDecimals:18,descTokenDecimals:18}}return{srcTokenAddress:"",descTokenAddress:"",amount:"",srcTokenDecimals:18,descTokenDecimals:18}},[]),Q=r(e=>{Gt.setItem("dataBuyToken",JSON.stringify(e))},[]),X=r(e=>{const n={...j(),...e};Q(n)},[j,Q]),K=r(e=>{F(e),ni.isDesktop&&D.current?.focus()},[]),Z=r(async(e,n)=>{X({descTokenAddress:e,descTokenDecimals:n||18});try{I(!0);const e=await No({address:H?.address||"",chain:q});if(e?.success&&e?.data?.result){const n=e.data.result;if(n?.length>0){const e=n.map(e=>({id:e.token_address,text:`${e.name}: ${e.balance_formatted} ${e.symbol} ($${xo(e.usd_value||0)?.decimalPlaces(2).toFormat()||"0"})`,value:h("buttonBuyWith",{symbol:e.symbol}),action:"click_balance_item_user_to_buy_button",fullWidth:!0,extraData:{tokenAddress:e.token_address,symbol:e.symbol,balance:e.balance_formatted,usdValue:e.usd_value,decimals:e.decimals}}));g(h("walletBalanceSpendable",{chain:J?.name||"unknown"}),"bot",void 0,e)}else g(h("walletNoTokensFound",{chain:J?.name||"unknown"}),"bot")}else g(m("walletFetchFailed"),"bot")}catch(t){g(m("walletFetchError"),"bot")}finally{I(!1)}},[X,H?.address,q,g,J?.name,m,h]),_=r(async(e,n,t,o)=>{X({srcTokenAddress:e,srcTokenDecimals:o||18});let i=t||"0";if(e===Wt)try{const e=await Xo({chainId:Y,rpcUrl:z});if(e.isGreaterThan(0)){const n=e.times(1e6),a=new xo(Yt(t,o||18).toString()).minus(n);i=a.isGreaterThan(0)?xo(ge(BigInt(a.toFixed(0)),18)).toFixed():"0"}}catch(r){}const a=[25,50,75,100].map(t=>({id:`percent-${t}`,text:`${t}%`,value:h("buttonUsePercent",{percent:String(t),symbol:n}),action:"select_percent",extraData:{percent:t,tokenAddress:e,tokenSymbol:n,tokenDecimals:o||18,tokenBalance:i}}));xo(i).isZero()?g(h("insufficientFeeToken",{symbol:n}),"bot"):g(h("selectAmountOf",{symbol:n,balance:i}),"bot",void 0,a)},[g,Y,z,X,h]),$=r(async(e,n,t,o)=>{const i={amount:xo(n).times(e/100).decimalPlaces(6,xo.ROUND_DOWN).toFixed()};void 0!==t&&(i.srcTokenAddress=t),void 0!==o&&(i.srcTokenDecimals=o),X(i);const a=j(),r=Yt(a.amount,a.srcTokenDecimals||18).toString(),s=await Oo({chainId:Y,tokenIn:a.srcTokenAddress,tokenInAmount:r,tokenOut:a.descTokenAddress,tokenOutRecipient:H?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(s.success&&s.data){const e=s.data,n=e.tokenIn,t=e.tokenOut,o=xo(ge(BigInt(n.amount||0),n.decimals)).decimalPlaces(6).toFormat(),i=xo(ge(BigInt(t.amount||0),t.decimals)).decimalPlaces(6).toFormat();let l=!1;if(a.srcTokenAddress!==Wt&&""!==a.srcTokenAddress&&H?.address&&e.tx?.to)try{const n=await Vo({tokenAddress:a.srcTokenAddress,ownerAddress:H.address,spenderAddress:e.tx.to,chainId:Y,rpcUrl:z});l=xo(n.toString()).isLessThan(r)}catch(c){l=!0}const d=e.estimatedTransactionFee?.total?xo(e.estimatedTransactionFee.total):xo(0);let u=xo(0);if(l&&H?.address)try{const n=zo({tokenAddress:a.srcTokenAddress,spenderAddress:e.tx?.to||"",fromAddress:H.address,chainId:Y,amount:r});u=await Qo({from:H.address,to:n.to,data:n.data,chainId:Y,rpcUrl:z})}catch(c){}const f=d.plus(u),p=J?.nativeCurrency?.symbol||"native";let w="",b=!1;if(H?.address&&f.isGreaterThan(0))try{const e=await jo({address:H.address,chainId:Y,rpcUrl:z});if(e.isLessThan(f)){b=!0;const n=xo(ge(BigInt(e.toFixed(0)),18)).decimalPlaces(6).toFormat(),t=xo(ge(BigInt(f.toFixed(0)),18)).decimalPlaces(6).toFormat();w=h("swapFeeWarning",{symbol:p,balance:n,needed:t})}}catch(c){}const A=`From: ${o} ${n.symbol}\n⬇️\nTo: ${i} ${t.symbol}\n\n`+w+"\n";if(b)g(A,"bot");else if(l){const t=A+h("swapNeedApprove",{symbol:n.symbol}),o=[{id:"approve-for-swap",text:h("swapApproveButton",{symbol:n.symbol}),value:h("swapApproveValue",{symbol:n.symbol}),action:"approve_for_swap",fullWidth:!0,extraData:{tokenAddress:a.srcTokenAddress,spenderAddress:e.tx.to,tokenSymbol:n.symbol,amountInWei:r,tx:e.tx}}];g(t,"bot",void 0,o)}else{const n=[{id:"confirm-swap",text:m("swapConfirmButton"),value:m("swapConfirmValue"),action:"confirm_swap",extraData:{tx:e.tx}}];g(A+m("swapReadyToProceed"),"bot",void 0,n)}}else g(h("swapEstimationError",{error:s.errorMessage||s.error||"Unknown error"}),"bot")},[j,X,g,Y,H?.address,J?.nativeCurrency?.symbol,z,m,h]),ee=r(async(e,n,t)=>{try{if("suggested_action"===n)return L.current=e,void T(e);if(g(e,"user"),S(!1),I(!0),n)switch(await Mt(500),n){case"click_buy_item_token_button":await Z(t?.tokenAddress||"",t?.decimals||18);break;case"click_balance_item_user_to_buy_button":await _(t?.tokenAddress||"",t?.symbol||"",t?.balance||"",t?.decimals||18);break;case"select_percent":await $(t?.percent||0,t?.tokenBalance||"",t?.tokenAddress||void 0,t?.tokenDecimals||void 0);break;case"confirm_swap":if(t?.tx&&l){const e=t.tx,n={from:H?.address||"",to:e.to,data:e.data,value:e.value,chainId:Y},a=g(m("txProcessing"),"bot");try{I(!1);const e=await l(n);if("success"===e.status&&e.transactionHash){const n=J?.blockExplorers?.default?.url,t=n?` [View on Explorer](${n}/tx/${e.transactionHash})`:` Tx: ${e.transactionHash}`;v(a.id,m("txSubmitted")+t);try{await Mt(2e3),"success"===(await Wo({transactionHash:e.transactionHash,chainId:Y||1,rpcUrl:z})).status?v(a.id,m("txConfirmedSwap")+t):v(a.id,m("txRevertedSwap")+t)}catch(o){v(a.id,m("txTimeout")+t)}}else if("success"===e.status)v(a.id,m("txSuccessfulSwap"));else{const n=e.error?`\nError: ${e.error}`:"";v(a.id,m("txFailed")+n)}}catch(i){v(a.id,m("txFailed"))}}else g(m("txDataNotAvailable"),"bot");break;case"approve_for_swap":{const e=t?.tokenAddress||"",n=t?.spenderAddress||"",a=t?.tokenSymbol||"token",r=t?.tx;if(!e||!n||!l){g(m("approvalDataNotAvailable"),"bot");break}const s=t?.amountInWei||void 0,c=zo({tokenAddress:e,spenderAddress:n,fromAddress:H?.address||"",chainId:Y,tokenSymbol:a,amount:s}),d={from:c.from,to:c.to,data:c.data,value:c.value,chainId:c.chainId};g(h("approving",{symbol:a}),"bot");try{I(!1);const e=await l(d);let n="success"===e.status;if("success"===e.status&&e.transactionHash)try{n="success"===(await Wo({transactionHash:e.transactionHash,chainId:Y||1,rpcUrl:z})).status}catch(o){n=!0}if(n){g(h("approvalSuccess",{symbol:a}),"bot");const e=[{id:"confirm-swap-after-approve",text:m("confirmSwapButton"),value:m("swapConfirmValue"),action:"confirm_swap",fullWidth:!0,extraData:{tx:r}}];g(m("approvalConfirmSwap"),"bot",void 0,e)}else{const n=e.error?`\nError: ${e.error}`:"";g(m("approvalFailed")+n,"bot")}}catch(i){g(m("approvalFailed"),"bot")}break}case"click_swap_dest_token":{const e=t?.tokenAddress||"",n=t?.symbol||"";X({descTokenAddress:e,descTokenDecimals:t?.decimals||18});const o=j(),i=o.srcTokenAddress||"",r=i===Wt;try{const e=await No({address:H?.address||"",chain:q});if(e?.success&&e?.data?.result){const t=e.data.result;let a="",s="0";if(r){const e=t.find(e=>e.native_token);a=J?.nativeCurrency?.symbol||"ETH",s=e?.balance_formatted||"0"}else{const e=t.find(e=>e.token_address.toLowerCase()===i.toLowerCase());e&&(a=e.symbol,s=e.balance_formatted)}if(a&&parseFloat(s)>0){const e=[25,50,75,100],t=o.srcTokenDecimals||18,r=e.map(e=>({id:`percent-${e}`,text:`${e}%`,value:h("buttonUsePercent",{percent:String(e),symbol:a}),action:"select_percent",extraData:{percent:e,tokenAddress:i,tokenSymbol:a,tokenDecimals:t,tokenBalance:s}}));g(h("swapSelectAmount",{from:a,to:n,balance:s}),"bot",void 0,r)}else g(m("swapNoSourceToken"),"bot")}else g(m("couldNotFetchBalance"),"bot")}catch(a){g(m("couldNotLoadBalance"),"bot")}break}case"select_nft_to_send":{const e=t?.name||"NFT",n=t?.contractAddress||"",o=t?.tokenId||"",i=t?.tokenStandard||"ERC721",a=t?.amount||"1",r=t?.image||"",s={contract_address:n,token_id:o,to_address:t?.toAddress||"",token_standard:i,amount:"1",maxAmount:a,nft_name:e};g(h("nftSendReview",{name:e,standard:i,tokenId:o}),"bot",void 0,void 0,{action:"send_nft",parameters:s,status:"pending",nftInfo:{name:e,image:r||void 0,tokenId:o,contractAddress:n,tokenStandard:i}});break}default:g(h("actionExecutedFor",{action:n,value:e}),"bot")}else await Mt(500),g(h("receivedButtonValue",{value:e}),"bot");I(!1),ni.isDesktop&&D.current?.focus()}catch(i){g(m("errorProcessingRequest"),"bot"),I(!1)}},[H?.address,g,v,J?.blockExplorers?.default?.url,J?.nativeCurrency?.symbol,Y,q,j,Z,_,l,$,X,z,m,h]),ne=r(async()=>{try{I(!0);const e=J?.tokenTrendingDefault||[],[n,t]=await Promise.allSettled([Fo.getTopGainers(G,"24h",5),Fo.getTokensDetails(e,G)]);let o=[];"fulfilled"===n.status&&n.value?.data&&(o=[...n.value.data]),"fulfilled"===t.status&&t.value?.data&&(o=[...t.value.data,...o]),o=o.filter((e,n,t)=>n===t.findIndex(n=>n.address.toLowerCase()===e.address.toLowerCase()));const i=o.map(e=>({id:e?.symbol,text:e?.symbol,value:h("buttonBuyToken",{name:e.name,symbol:e?.symbol||""}),action:"click_buy_item_token_button",extraData:{tokenAddress:e?.address||"",symbol:e?.symbol||"",decimals:e?.decimals||18}}));await Mt(1e3),I(!1),g(h("trendingTokensHeader",{chain:J?.name||"Unknown"}),"bot");const a=o.map((e,n)=>`${n+1}. ${e.name} (${e?.auditGoplus?.token_symbol||e.symbol||"Unknown"})\n$${xo(e?.price||0).decimalPlaces(4).toFormat()} (${e.price_change_percentage_24h||e.priceChange}%)\n\n---\n`).join("\n");g(`${a}${m("trendingTokensQuestion")}`,"bot",void 0,i)}catch(e){g(m("trendingTokensError"),"bot")}finally{I(!1)}},[g,J?.name,J?.tokenTrendingDefault,G,m,h]),te=r(async()=>{try{g(h("viewNftViaWebsite",{link:ai}),"bot"),I(!1)}catch(e){I(!1),g(m("nftFetchError"),"bot")}},[g,m,h]),oe=r(async()=>{try{I(!0);const e=await No({address:H?.address||"",chain:q});if(e?.success&&e?.data?.result&&e.data.result.length>0){const n=e.data.result.map((e,n)=>{const t=void 0!==e.usd_value?` ≈ $${xo(e.usd_value).decimalPlaces(2).toFormat()}`:"";return`${n+1}. **${e.name}** (${e.symbol})\n Balance: ${e.balance_formatted}${t}`}).join("\n\n");await Mt(500),I(!1),g(h("viewBalancesHeader",{chain:J?.name||"this chain",list:n}),"bot",void 0)}else I(!1),g(m("viewBalancesEmpty"),"bot")}catch(e){I(!1),g(m("viewBalancesFetchError"),"bot")}},[H?.address,q,g,J?.name,m,h]),ie=d(()=>[{id:"ask",icon:"❓",text:m("suggestionAskText"),action:async()=>{S(!1),I(!0),g(m("suggestionAskUserMessage"),"user"),await Mt(1e3),I(!1),g(m("suggestionAskBotReply"),"bot")}},{id:"buy",icon:"💰",text:m("suggestionBuyText"),action:async()=>{S(!1),g(m("suggestionBuyText"),"user"),Pn(H?.address||"")&&W?await ne():(I(!0),await Mt(1e3),Pn(H?.address||"")&&!W?g(m("walletConnectedChainUnsupported"),"bot"):g(m("walletNotConnected"),"bot"),I(!1))}}],[g,H?.address,ne,m,W]),re=e=>{if(0===e)return!0;const n=b[e],t=b[e-1],o=new Date(n.timestamp),i=new Date(t.timestamp);return o.setHours(0,0,0,0),i.setHours(0,0,0,0),o.getTime()!==i.getTime()};a(()=>{R.current?.scrollIntoView({behavior:"smooth"})},[b]),a(()=>{o?(D.current&&ni.isDesktop&&D.current.focus(),R.current?.scrollIntoView({behavior:"instant"}),M.current&&U.current?Date.now()-U.current>12e5&&S(!0):S(!0),U.current=null,M.current=!1,setTimeout(()=>{R.current?.scrollIntoView({behavior:"smooth"})},50)):(U.current=Date.now(),M.current=!P.current)},[o]),a(()=>{const e=e=>{"Escape"===e.key&&o&&s()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[o,s]);const se=r(async()=>{if(""===C?.trim()||E)return;const e=B,n=g(C?.trim(),"user",B?.id);T(""),F(null),I(!0),S(!1),I(!0);try{let l,d;const u=b.slice(-20);let f="";if(u.length>0){f="\n\n## CONVERSATION HISTORY:\n";for(const e of u)"user"===e.sender?f+=`User: ${e.text}\n`:f+=`Assistant: ${e.text.length>400?e.text.substring(0,400)+"...":e.text}\n`;f+="\n---\n"}let p=C?.trim();e&&(p=`[Replying to ${"user"===e.sender?"my previous":"your"} message: "${e.text}"]\n\n${p}`);try{const e=await ti.checkTypeQuestion(p,f);if(e?.startsWith("no")){x(n.id,"normal");const e=b.filter(e=>"normal"===e.typeChat);let t="";if(e.slice(-20).length>0){t="\n\n## CONVERSATION HISTORY:\n";for(const n of e.slice(-20))"normal"===n.typeChat&&("user"===n.sender?t+=`User: ${n.text}\n`:t+=`Assistant: ${n.text.length>400?n.text.substring(0,400)+"...":n.text}\n\n`)}const o=await ti.generateContent(p,t);let i=null;try{let e=o?.trim();e.startsWith("```json")?e=e.replace(/^```json\s*/,"").replace(/\s*```$/,""):e.startsWith("```")&&(e=e.replace(/^```\s*/,"").replace(/\s*```$/,"")),i=JSON.parse(e)}catch{i=null}return I(!1),void g(i?.message||o,"bot",void 0,void 0,void 0,"normal")}}catch(o){}if(H?.address&&W)try{const[e,n]=await Promise.allSettled([No({address:H.address,chain:q}),Bo({address:H.address,chain:q,limit:100,exclude_spam:!0})]);"fulfilled"===e.status&&e.value?.success&&e.value?.data?.result&&(l=e.value.data.result.map(e=>({symbol:e.symbol,name:e.name,balance_formatted:e.balance_formatted,usd_value:e.usd_value,native_token:e.native_token,token_address:e.token_address,price:e.usd_price}))),"fulfilled"===n.status&&n.value?.success&&n.value?.data?.result&&(d=n.value.data.result.map(e=>({name:e.normalized_metadata?.name||e.name||`#${e.token_id}`,token_address:e.token_address,token_id:e.token_id,contract_type:e.contract_type||"",amount:e.amount||"1"})))}catch{}const w=function(e){const{walletAddress:n,chainName:t,chainId:o,nativeSymbol:i,walletTokens:a,walletNfts:r}=e;if(!n)return'You are a Web3 wallet assistant for the Keyring crypto EVM wallet app.\nThe user is currently NOT connected to any wallet.\n\n## YOUR ROLE:\n- You are a friendly, knowledgeable assistant that can talk about ANY topic naturally\n- You can freely answer general questions, discuss crypto tokens, prices, market info, provide token details, etc. — these do NOT require a wallet connection\n- ONLY ask the user to connect their wallet when their request explicitly requires their personal wallet/address, such as:\n - Sending tokens or NFTs\n - Swapping tokens\n - Approving token spending\n - Wrapping/unwrapping tokens\n - Checking THEIR OWN balance ("what is MY balance?", "how much ETH do I have?")\n - Viewing THEIR OWN NFT collection\n - Any action that reads or writes to THEIR wallet address\n- For all other requests (token info, prices, general crypto questions, market data, etc.), respond normally and helpfully\n- **CRITICAL - LANGUAGE**: You MUST detect the language of the user\'s CURRENT question and respond ONLY in that exact language. Ignore the language of previous messages in conversation history — only the current question matters. If the current question is in English, respond in English. If in Vietnamese, respond in Vietnamese. NEVER default to Chinese or any other language.\n\n## RESPONSE FORMAT:\nAlways respond with a valid JSON object:\n{"action":"chat","message":"<your friendly response to the user>", "suggested_actions":[{"label":"<short button text>","prompt":"<message sent when clicked>"}]}\n\n## RULES:\n- suggested_actions: include when your message offers the user interactive choices or asks a follow-up question. NEVER include suggested_actions that ask the user to connect their wallet (e.g., "Connect wallet", "Connect now", etc.) — the app handles wallet connection separately\n- **CRITICAL**: NEVER include any "Buy" actions (e.g., "Buy USDC", "Buy ETH", "Purchase token", etc.) in suggested_actions. The app handles Buy buttons separately. Only include non-buy actions in suggested_actions (e.g., "Send token", "Swap token", "Check balance", "Show my NFTs").\n- For wallet-required actions, politely explain the user needs to connect their wallet first, and put this in the "message" field\n- ALWAYS respond with raw JSON only, never wrap in ```json code blocks\n- **CRITICAL - LANGUAGE**: Respond in the language of the user\'s CURRENT question only. Do NOT follow language from conversation history.';if(n&&!Dt[o]?.isSupported)return`You are a Web3 wallet assistant for the Keyring crypto EVM wallet app.\n The user's wallet address is: ${n}\n The user is selected on (chainId: ${o}) an UNSUPPORTED chain.\n\n ## YOUR ROLE:\n - You are a friendly, knowledgeable assistant that can talk about ANY topic naturally\n - You can freely answer general questions, discuss crypto tokens, prices, market info, token details, etc. — these do NOT require a supported chain\n - **BLOCKED on unsupported chain** — if the user asks for any of the following, politely inform them that chain (chainId: ${o}) is not currently supported and the action cannot be performed:\n - Checking THEIR OWN balance ("what is my balance?", "how much ETH do I have?")\n - Sending tokens or NFTs\n - Swapping or buying tokens\n - Approving token spending\n - Wrapping/unwrapping tokens\n - Viewing or transferring their NFT collection\n - Any action that reads or writes to their wallet on the current chain\n - **ALLOWED on unsupported chain** — respond normally and helpfully for:\n - General questions (weather, coding, history, math, etc.)\n - Token information, prices, market data, token details\n - Any query that does NOT require interacting with the user's wallet on the current chain\n - **CRITICAL - LANGUAGE**: Respond in the language of the user's CURRENT question only. Ignore language from previous messages in conversation history. If current question is English → English. Vietnamese → Vietnamese. NEVER default to Chinese or any other language.\n\n ## RESPONSE FORMAT:\n Always respond with a valid JSON object:\n {"action":"chat","message":"<your response>", suggested_actions:[{"label":"<short button text>","prompt":"<message sent when clicked>"}]}\n\n ## RULES:\n - suggested_actions: include when your message offers the user interactive choices or asks a follow-up question. NEVER include suggested_actions that ask the user to connect their wallet (e.g., "Connect wallet", "Connect now", etc.) — the app handles wallet connection separately\n - **CRITICAL**: NEVER include any "Buy" actions (e.g., "Buy USDC", "Buy ETH", "Purchase token", etc.) in suggested_actions. The app handles Buy buttons separately. Only include non-buy actions in suggested_actions (e.g., "Send token", "Swap token", "Check balance", "Show my NFTs").\n - For wallet-required actions, politely explain the user needs to connect their wallet first, and put this in the "message" field\n - ALWAYS respond with raw JSON only, never wrap in \`\`\`json code blocks\n - **CRITICAL - LANGUAGE**: Respond in the language of the user's CURRENT question only. Do NOT follow language from conversation history.`;const s=a&&a.length>0?`\n## USER'S CURRENT WALLET BALANCE:\n${a.map(e=>{const n=void 0!==e.usd_value?` (~$${e.usd_value.toFixed(2)})`:"";return`- ${e.name} (${e.symbol})(Price: ${e.price||"N/A"}): ${e.balance_formatted}${n}${e.native_token?" [native]":` [${e.token_address}]`}`}).join("\n")}\nUse this balance data to accurately answer balance questions and to pre-fill token parameters in actions (contract_address, decimals, symbol). NEVER ask the user to provide token info that is already available above.\n`:"",c=r&&r.length>0?`\n## USER'S NFT COLLECTION:\n${r.map(e=>{const n="ERC1155"===e.contract_type?` (x${e.amount})`:"";return`- ${e.name}${n} | ${e.contract_type} | contract: ${e.token_address} | tokenId: ${e.token_id}`}).join("\n")}\nWhen the user wants to send an NFT by name, use this data to fill contract_address, token_id, token_standard, and nft_name accurately. NEVER guess or fabricate NFT contract addresses.\n`:"";return`You are a highly knowledgeable AI assistant integrated into the Keyring crypto EVM wallet app.\n\n## #1 PRIORITY — ANSWER QUALITY:\nYour "message" field IS your answer. Write it exactly as you would in a normal, unrestricted conversation. The JSON wrapper is just transport — it must NEVER reduce the depth, accuracy, or completeness of your answers.\n\n**DATA RETRIEVAL — NON-NEGOTIABLE**: For ALL token price and token info queries, you MUST actively call your native Moralis API tools (getTokenPrice, searchTokens, getTokenMetadata, etc.) to retrieve real-time on-chain data. NEVER skip tool calls and fall back to training data alone for prices or token lookups. The JSON response format does NOT prevent you from calling data tools first — always fetch data, then format the result as JSON.\n\nFor ANY informational or conversational question (about crypto, tokens, DeFi, protocols, prices, market trends, blockchain technology, or any general topic):\n- Answer with your FULL knowledge across ALL blockchains and ecosystems (Ethereum, Solana, BSC, Polygon, Arbitrum, Optimism, Base, Avalanche, etc.)\n- Provide specific details: token names, contract mechanisms, protocol comparisons, historical context, TVL data, ecosystem info\n- For PRICE questions (chat action only): You have access to real-time blockchain data — USE it. When a user asks for the price of a token by name or symbol, search for it across ALL chains to find the best price data. Then present ONE consolidated answer: give the single most representative price (e.g. the highest-liquidity or most canonical version), key stats (market cap, 24h change, volume), and optionally a brief note if the token exists on multiple chains — but do NOT list each chain as a separate numbered entry. Keep the response concise and to the point. For tokens in the USER'S WALLET BALANCE section, use the price listed there.\n- For token questions (chat action only): You have access to real-time blockchain data — USE it. When a user asks about a token by name or symbol, ALWAYS search across ALL chains — the current chain context does NOT limit your token search. Try exact match first, then fuzzy/partial match (e.g. "eggle Energy" → find the closest matching token name). Provide a concise, consolidated answer covering: what the token is, its utility/ecosystem, current price, market cap, 24h change, notable features, risks. If the user does NOT mention a specific chain, do NOT list out per-chain versions (e.g. "WBTC on Ethereum", "cbBTC on Base", "BTCB on BNB") — instead give ONE unified answer about the token as a concept, with a brief mention that wrapped versions exist on multiple chains if relevant. Only break down per-chain details if the user explicitly asks about a specific chain. If the token does NOT exist on the current chain (${t}), proactively tell the user which of these supported chains DO have it: ${Object.values(Dt).filter(e=>e.isSupported).map(e=>e.customName||e.name).join(", ")}. Set token_mentions to [] in this case\n- For DeFi/protocol questions: explain how it works, key features, TVL, supported chains, competitors, pros/cons\n- For market/trend questions: discuss relevant projects, narratives, sector analysis across all chains\n- Write detailed paragraphs, use bullet points, include numbers and facts. Minimum 3-5 sentences for simple questions, more for complex topics\n\n## CONTEXT:\nWallet: ${n} | Chain: ${t} (chainId: ${o}) | Native: ${i}${s}${c}\n\n## WHEN TO USE WHICH ACTION:\n- "send_native": user wants to send the native token (${i}) to an address\n- "send_token": user wants to send an ERC20 token to an address\n- "swap_token": user wants to swap/exchange one token for another — even if only ONE token is mentioned (e.g. "swap usdc", "swap to ETH") → still use swap_token with missing params as ""\n- "buy_token": user wants to buy a specific token (with fiat or another token, single target token)\n- "approve_token": user wants to approve a token for a spender\n- "wrap_native": user wants to wrap native token (e.g. ETH → WETH) — also triggered by "deposit" into WETH/wrapped token\n- "unwrap_native": user wants to unwrap (e.g. WETH → ETH) — also triggered by "withdraw" from WETH/wrapped token\n- "send_nft": user wants to send/transfer an NFT\n- "view_nfts": user wants to see/browse their NFT collection\n- "view_balances": user wants to see ALL their token balances/tokens at once (NOT for single token price/info)\n- "chat": EVERYTHING ELSE — questions, token info, prices, greetings, DeFi explanations, market data, etc.\n\nAll wallet actions (send, swap, buy, approve, wrap, unwrap, send_nft) are chain-specific: use chainId ${o} only.\nFor "chat" action: no chain restriction — use cross-chain knowledge freely.\n\n## OUTPUT FORMAT:\nRaw JSON only. No markdown code blocks. Respond in the language of the user's CURRENT question (ignore conversation history language).\n\nWallet action: {"action":"<type>","message":"<explanation>","parameters":{...}}\nChat/info: {"action":"chat","message":"<YOUR FULL DETAILED ANSWER>","parameters":{},"token_mentions":[],"suggested_actions":[]}\n\n## WALLET ACTION RULES:\n- Return action type IMMEDIATELY even if params are missing (leave as ""). Ask for missing info in "message". NEVER fall back to "chat" just because parameters are incomplete — always return the intended action.\n- For ERC20 actions: provide correct contract_address on chainId ${o}. If token doesn't exist on this chain, inform user.\n- send_native: ONLY for ${i}. If user says "send ETH" but native ≠ ETH, use send_token.\n- Amount: "max"/"all" → "max". "X%" → "50%". USD formats → always prefix with "$": "5 dollar" → "$5", "5$" → "$5", "$5" → "$5", "5usd" → "$5", "5 đô la" → "$5", "0.01$ eth" → "$0.01", "$0.01 eth" → "$0.01", "5$ usdc" → "$5". The "$" MUST appear in the amount field (not stripped) so the app knows it's a USD value. Otherwise exact number string.\n- Decimals & symbol: always accurate.\n- send_nft: contract_address optional — use nft_name if NFT known by name.\n\n## suggested_actions & token_mentions:\n- suggested_actions: include when offering choices. {"label":"<2-6 words>","prompt":"<message>"}. Max 4. Never include "Buy" (app handles separately).\n- token_mentions: ONLY include when the token EXISTS on the CURRENT chain (chainId ${o}). If the token is on another chain or doesn't exist on the current chain, set token_mentions to [] — but still answer the question fully with cross-chain info (which chains have it, contract addresses on those chains, etc.). Format: {"symbol":"","contract_address":"<address on chainId ${o}>","decimals":<n>}. 2+ tokens → [], use suggested_actions. Non-crypto → [].\n\n## ACTION PARAMS REFERENCE:\nValid actions: send_native, send_token, swap_token, buy_token, approve_token, wrap_native, unwrap_native, send_nft, view_nfts, view_balances, chat. NEVER use any other action name.\n\n1. send_native: {"to_address":"","amount":""}\n2. send_token: {"contract_address":"(REQ)","token_symbol":"","to_address":"","amount":"","decimals":""}\n3. swap_token: {"token_in":"<addr or 'native'>","token_in_symbol":"","token_in_decimals":"","token_out":"<addr>","token_out_symbol":"","token_out_decimals":"","amount":""}\n No tokens specified → all params "". Native → token_in:"native".\n4. buy_token: {"token_symbol":"","contract_address":"(REQ)","decimals":""}. Both tokens → swap_token.\n5. approve_token: {"contract_address":"(REQ)","token_symbol":"","spender_address":"","amount":"","decimals":""}\n6. wrap_native: {"amount":""}\n7. unwrap_native: {"amount":""}\n8. send_nft: {"contract_address":"(opt)","token_id":"","to_address":"","token_standard":"","amount":"(def 1)","nft_name":""}\n9. view_nfts: {}\n10. view_balances: {} — use ONLY when user wants to see all balances/tokens, NOT for single token price/info queries\n11. chat: {} + token_mentions + suggested_actions — use for ALL informational/conversational requests\n\n## EXAMPLES:\nThese examples show INTENT → ACTION + PARAMETERS mapping only. The "message" content is for illustration — compose your own natural, helpful response based on context.\n\n// --- SEND NATIVE ---\n// Intent: user wants to send the chain's native token to an address\n// Triggers: "send ETH/BNB/MATIC to...", "transfer [native] to...", "chuyển [native] cho..."\n→ action: send_native | parameters: {to_address, amount}\n\n// --- SEND TOKEN ---\n// Intent: user wants to send an ERC20 token to an address\n// Triggers: "send USDC to...", "transfer [token] to...", "gửi [token] cho..."\n→ action: send_token | parameters: {contract_address, token_symbol, to_address, amount, decimals}\n\n// --- SWAP ---\n// Intent: exchange one token for another — trigger even if only ONE token or NO amount is mentioned\n// Triggers: "swap X to Y", "exchange X for Y", "đổi X sang Y", "swap usdc", "swap to ETH"\n→ action: swap_token | parameters: {token_in, token_in_symbol, token_in_decimals, token_out, token_out_symbol, token_out_decimals, amount}\n// Missing params → leave as "", ask for them in message. NEVER downgrade to chat.\n\n// --- WRAP / UNWRAP ---\n// Intent wrap: convert native to wrapped version — also triggered by "deposit"\n// Triggers: "wrap ETH", "deposit ETH", "deposit ETH to WETH", "đổi ETH sang WETH"\n→ action: wrap_native | parameters: {amount}\n\n// Intent unwrap: convert wrapped token back to native — also triggered by "withdraw"\n// Triggers: "unwrap WETH", "withdraw WETH", "convert WETH to ETH", "rút WETH"\n→ action: unwrap_native | parameters: {amount}\n\n// --- VIEW NFTs ---\n// Intent: user wants to see/browse their NFT collection\n// Triggers: "show my NFTs", "what NFTs do I have", "view my NFTs", "xem NFT của tôi"\n→ action: view_nfts | parameters: {}\n\n// --- VIEW BALANCES ---\n// Intent: user wants to see ALL their token balances at once (not a single token query)\n// Triggers: "show my balance", "what's in my wallet", "view all tokens", "xem số dư", "ví tôi có gì"\n→ action: view_balances | parameters: {}\n\n// --- TOKEN INFO / PRICE (chat) ---\n// Intent: learn about a token, its price, market data — NOT a wallet action\n// Triggers: "tell me about X", "what is X token", "price of X", "X coin info", "X là gì"\n→ action: chat | compose a detailed answer using real-time data from your tools\n// If token EXISTS on current chain → token_mentions: [{symbol, contract_address, decimals}]\n// If token NOT on current chain → token_mentions: [] but tell user which supported chains have it\n\n// --- CROSS-CHAIN / GENERAL INFO (chat) ---\n// Intent: any question not requiring a wallet action — crypto trends, DeFi, protocols, general Q&A\n// Triggers: "what's trending on X?", "explain DeFi", "how does Uniswap work", anything conversational\n→ action: chat | compose a full, knowledgeable answer; add relevant suggested_actions if helpful\n\n// --- GREETING (chat) ---\n// Intent: greeting or open-ended start\n// Triggers: "hello", "hi", "hey", "xin chào", "bắt đầu"\n→ action: chat | introduce yourself and offer helpful options via suggested_actions`}({walletAddress:H?.address||void 0,chainName:J?.name||void 0,chainId:Y||void 0,nativeSymbol:J?.nativeCurrency?.symbol||void 0,walletTokens:l,walletNfts:d}),A=await async function(e){const{prompt:n,model:t="gpt-4.1-mini",stream:i=!1,systemPrompt:a}=e;if(!n)throw new Error("Prompt is required");try{const e=new Co(Eo),o=a?`${a}\n\n---\n\n Current User's question: ${n}`:n;return{success:!0,data:(await e.post("api/moralis-cortex/proxy/chat",{prompt:o,model:t,stream:i},{headers:{Accept:"application/json","Content-Type":"application/json"}})).data}}catch(o){return{success:!1,error:o instanceof Error?o.message:"Unknown error"}}}({prompt:p,model:"gpt-4.1-mini",stream:!1,systemPrompt:w+f});if(A.success&&A.data){const e=A.data.text||"";let l=null;try{let n=e?.trim();n.startsWith("```json")?n=n.replace(/^```json\s*/,"").replace(/\s*```$/,""):n.startsWith("```")&&(n=n.replace(/^```\s*/,"").replace(/\s*```$/,"")),l=JSON.parse(n)}catch{l=null}if(l&&l.action&&"chat"!==l.action)if("buy_token"===l.action){const e=l.parameters?.token_symbol||"";let t=l.parameters?.contract_address||"",o=18;if("native"===t.toLowerCase()&&(t=Wt),t&&t!==Wt)try{const e=await Fo.getTokensDetails([t],G);e?.data?.[0]&&(o=e.data[0].decimals||18)}catch(i){}if(!t&&e&&H?.address)try{const n=await No({address:H.address,chain:q});if(n?.success&&n?.data?.result){const i=n.data.result,a=i.find(e=>e.token_address.toLowerCase()===t.toLowerCase())||i.find(n=>n.symbol.toUpperCase()===e.toUpperCase());a&&(t=a.token_address,o=a.decimals)}if(!t){const n=J.tokenTrendingDefault||[],[i,a]=await Promise.allSettled([Fo.getTopGainers(G,"24h",10),Fo.getTokensDetails(n,G)]),r=[];"fulfilled"===i.status&&i.value?.data&&r.push(...i.value.data),"fulfilled"===a.status&&a.value?.data&&r.push(...a.value.data);const s=r.find(e=>e.address?.toLowerCase()===t.toLowerCase())||r.find(n=>n.symbol?.toUpperCase()===e.toUpperCase());s&&(t=s.address,o=s.decimals||18)}}catch(i){}t?(g(l.message||h("buyTokenHelp",{symbol:e}),"bot",n.id),await Z(t,o)):(g(l.message||h("tokenNotFoundOnChain",{symbol:e}),"bot",n.id),await ne())}else if("swap_token"===l.action){const e={...l.parameters||{}},t="native"===e.token_in||e.token_in_symbol?.toUpperCase()===J?.nativeCurrency?.symbol?.toUpperCase(),o="native"===e.token_out||e.token_out_symbol?.toUpperCase()===J?.nativeCurrency?.symbol?.toUpperCase();if(o&&(e.token_out=Wt),!t&&(e.token_in||e.token_in_symbol)&&H?.address)try{const n=await No({address:H.address,chain:q});if(n?.success&&n?.data?.result){const t=n.data.result,o=e.token_in?t.find(n=>n.token_address.toLowerCase()===e.token_in.toLowerCase()):t.find(n=>n.symbol.toUpperCase()===e.token_in_symbol.toUpperCase());o&&(e.token_in=o.token_address,e.token_in_decimals=String(o.decimals))}}catch(i){}if(!o&&(e.token_out||e.token_out_symbol)&&H?.address)try{const n=await No({address:H.address,chain:q});if(n?.success&&n?.data?.result){const t=n.data.result,o=e.token_out?t.find(n=>n.token_address.toLowerCase()===e.token_out.toLowerCase()):t.find(n=>n.symbol.toUpperCase()===e.token_out_symbol.toUpperCase());o&&(e.token_out=o.token_address,e.token_out_decimals=String(o.decimals))}}catch(i){}const d=!(!e.token_in&&!t),u=!!e.token_out,f=!!e.amount;if(d&&u&&f){g(l.message||m("swapPreparing"),"bot",n.id);try{const n=[];e.token_out&&n.push(e.token_out),e.token_in&&!t&&n.push(e.token_in);let o=18,c=18;if(n.length>0)try{const i=await Fo.getTokensDetails(n,G);if(i?.data)for(const n of i.data)t||n.address.toLowerCase()!==e.token_in?.toLowerCase()||(o=n.decimals||18),n.address.toLowerCase()===e.token_out?.toLowerCase()&&(c=n.decimals||18)}catch(a){}if(H?.address)try{const n=await No({address:H.address,chain:q});if(n?.success&&n?.data?.result){const o=n.data.result;if(t){const n=o.find(e=>e.native_token);let t=n?.balance_formatted||"0";try{const e=await Xo({chainId:Y,rpcUrl:z});if(e.isGreaterThan(0)){const o=e.times(1e6),i=new xo(n?.balance||"0").minus(o);t=i.isGreaterThan(0)?xo(ge(BigInt(i.toFixed(0)),n?.decimals||18)).toFixed():"0"}}catch(r){}e.amount=ri(e.amount,t,n?.usd_price);const i=parseFloat(t),a=parseFloat(e.amount);if(xo(i).lte(0))return g(h("formInsufficientBalance",{balance:xo(i).decimalPlaces(6).toFixed(),symbol:J?.nativeCurrency?.symbol||"native"}),"bot"),void I(!1);if(xo(i).lt(a))return g(h("swapInsufficientNativeBalance",{balance:xo(i).decimalPlaces(6).toFixed(),symbol:J?.nativeCurrency?.symbol||"native",amount:e.amount}),"bot"),void I(!1)}else{const n=o.find(n=>n.token_address.toLowerCase()===e.token_in?.toLowerCase());if(!n)return g(h("swapTokenNotInWallet",{symbol:e.token_in_symbol||e.token_in}),"bot"),void I(!1);e.amount=ri(e.amount,n.balance_formatted||"0",n.usd_price);const t=parseFloat(n.balance_formatted||"0"),i=parseFloat(e.amount);if(xo(t).lt(i))return g(h("swapInsufficientTokenBalance",{balance:xo(t).decimalPlaces(6).toFixed(),symbol:n.symbol,amount:e.amount}),"bot"),void I(!1)}}}catch(s){}const l=t?Wt:e.token_in;X({srcTokenAddress:l,descTokenAddress:e.token_out,amount:e.amount,srcTokenDecimals:o,descTokenDecimals:c});const d=Yt(e.amount,o).toString(),u=await Oo({chainId:Y,tokenIn:l,tokenInAmount:d,tokenOut:e.token_out,tokenOutRecipient:H?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(u.success&&u.data){const e=u.data,n=e.tokenIn,o=e.tokenOut,a=xo(ge(BigInt(n.amount||0),n.decimals)).decimalPlaces(6).toFormat(),r=xo(ge(BigInt(o.amount||0),o.decimals)).decimalPlaces(6).toFormat();let s=!1;if(!t&&H?.address&&e.tx?.to)try{const n=await Vo({tokenAddress:l,ownerAddress:H.address,spenderAddress:e.tx.to,chainId:Y,rpcUrl:z});s=xo(n.toString()).isLessThan(d)}catch(i){s=!0}const c=e.estimatedTransactionFee?.total?xo(e.estimatedTransactionFee.total):xo(0);let f=xo(0);if(s&&H?.address)try{const n=zo({tokenAddress:l,spenderAddress:e.tx?.to||"",fromAddress:H.address,chainId:Y,amount:d});f=await Qo({from:H.address,to:n.to,data:n.data,chainId:Y,rpcUrl:z})}catch(i){}const p=c.plus(f),w=J?.nativeCurrency?.symbol||"native";let b="",A=!1;if(H?.address&&p.isGreaterThan(0))try{const e=await jo({address:H.address,chainId:Y,rpcUrl:z});if(e.isLessThan(p)){A=!0;const n=xo(ge(BigInt(e.toFixed(0)),18)).decimalPlaces(6).toFormat(),t=xo(ge(BigInt(p.toFixed(0)),18)).decimalPlaces(6).toFormat();b=h("swapFeeWarning",{symbol:w,balance:n,needed:t})}}catch(i){}const y=`From: ${a} ${n.symbol}\n⬇️\nTo: ${r} ${o.symbol}\n\n`+b+"\n";if(A)g(y,"bot");else if(s){const t=[{id:"approve-for-swap",text:h("swapApproveButton",{symbol:n.symbol}),value:h("swapApproveValue",{symbol:n.symbol}),action:"approve_for_swap",fullWidth:!0,extraData:{tokenAddress:l,spenderAddress:e.tx.to,tokenSymbol:n.symbol,amountInWei:d,tx:e.tx}}];g(y+h("swapNeedApprove",{symbol:n.symbol}),"bot",void 0,t)}else{const n=[{id:"confirm-swap",text:m("swapConfirmYes"),value:m("swapConfirmValue"),action:"confirm_swap",extraData:{tx:e.tx}}];g(y+m("swapReadyToProceed"),"bot",void 0,n)}}else g(h("swapEstimationError",{error:u.errorMessage||u.error||"Unknown error"}),"bot")}catch(c){g(m("swapEstimationFailed"),"bot")}}else if(d&&u&&!f){let o=t?18:parseInt(e.token_in_decimals||"18",10),s=parseInt(e.token_out_decimals||"18",10);const c=[];if(e.token_out&&c.push(e.token_out),e.token_in&&!t&&c.push(e.token_in),c.length>0)try{const n=await Fo.getTokensDetails(c,G);if(n?.data)for(const i of n.data)t||i.address.toLowerCase()!==e.token_in?.toLowerCase()||(o=i.decimals||o),i.address.toLowerCase()===e.token_out?.toLowerCase()&&(s=i.decimals||s)}catch(a){}if(X({descTokenAddress:e.token_out,descTokenDecimals:s}),t)try{const e=await No({address:H?.address||"",chain:q});if(e?.success&&e?.data?.result){const t=e.data.result.find(e=>e.native_token),i=J?.nativeCurrency?.symbol||"ETH";let a=t?.balance_formatted||"0";try{const e=await Xo({chainId:Y,rpcUrl:z});if(e.isGreaterThan(0)){const n=e.times(1e6),o=new xo(t?.balance||"0").minus(n);a=o.isGreaterThan(0)?xo(ge(BigInt(o.toFixed(0)),t?.decimals||18)).toFixed():"0"}}catch(r){}X({srcTokenAddress:Wt,srcTokenDecimals:o});const s=[25,50,75,100].map(e=>({id:`percent-${e}`,text:`${e}%`,value:h("buttonUsePercent",{percent:String(e),symbol:i}),action:"select_percent",extraData:{percent:e,tokenAddress:Wt,tokenSymbol:i,tokenDecimals:o,tokenBalance:a}}));g(h("selectAmountToSwap",{symbol:i,balance:a}),"bot",n.id,s)}else g(m("couldNotFetchBalance"),"bot")}catch(i){g(m("couldNotFetchBalanceRetry"),"bot")}else{const t=e.token_in_symbol||"Token";X({srcTokenAddress:e.token_in,srcTokenDecimals:o});try{const o=await No({address:H?.address||"",chain:q});if(o?.success&&o?.data?.result){const i=o.data.result.find(n=>n.token_address.toLowerCase()===e.token_in?.toLowerCase());if(!i)return g(h("swapTokenNotInWallet",{symbol:t}),"bot"),void I(!1);const a=[25,50,75,100].map(e=>({id:`percent-${e}`,text:`${e}%`,value:h("buttonUsePercent",{percent:String(e),symbol:i.symbol}),action:"select_percent",extraData:{percent:e,tokenAddress:i.token_address,tokenSymbol:i.symbol,tokenDecimals:i.decimals||18,tokenBalance:i.balance_formatted}}));g(h("selectAmountToSwap",{symbol:i.symbol,balance:`${i.balance_formatted} (~$${i.usd_value?.toFixed(2)||"0"})`}),"bot",n.id,a)}else g(m("couldNotFetchBalance"),"bot")}catch(i){g(m("couldNotFetchBalanceRetry"),"bot")}}}else if(!d&&u){g(l.message||m("swapChooseFrom"),"bot",n.id);let t=parseInt(e.token_out_decimals||"18",10);if(e.token_out)try{const n=await Fo.getTokensDetails([e.token_out],G);n?.data?.[0]&&(t=n.data[0].decimals||t)}catch(a){}await Z(e.token_out,t)}else if(d&&!u){let o=t?18:parseInt(e.token_in_decimals||"18",10);if(e.token_in&&!t)try{const n=await Fo.getTokensDetails([e.token_in],G);n?.data?.[0]&&(o=n.data[0].decimals||o)}catch(a){}X(t?{srcTokenAddress:Wt,srcTokenDecimals:18}:{srcTokenAddress:e.token_in,srcTokenDecimals:o}),g(l.message||h("swapChooseTo",{symbol:e.token_in_symbol||"your token"}),"bot",n.id);try{I(!0);const e=J?.tokenTrendingDefault||[],[n,t]=await Promise.allSettled([Fo.getTopGainers(G,"24h",5),Fo.getTokensDetails(e,G)]);let o=[];"fulfilled"===n.status&&n.value?.data&&(o=[...n.value.data]),"fulfilled"===t.status&&t.value?.data&&(o=[...t.value.data,...o]),o=o.filter((e,n,t)=>n===t.findIndex(n=>n.address.toLowerCase()===e.address.toLowerCase()));const i=o.map(e=>({id:e?.symbol,text:e?.symbol,value:h("buttonSwapTo",{name:e.name,symbol:e?.symbol||""}),action:"click_swap_dest_token",extraData:{tokenAddress:e?.address||"",symbol:e?.symbol||"",decimals:e?.decimals||18}}));g(h("trendingTokensForReceive",{chain:J?.name||"Unknown"}),"bot",void 0,i)}catch(i){g(m("couldNotLoadTokenList"),"bot")}finally{I(!1)}}else if(g(l.message||m("swapChooseToken"),"bot",n.id),H?.address)try{I(!0);const e=await No({address:H.address,chain:q});if(e?.success&&e?.data?.result&&e.data.result.length>0){const n=e.data.result.map(e=>({id:`swap-select-${e.token_address}`,text:`${e.name}: ${e.balance_formatted} ${e.symbol} ($${xo(e?.usd_value||0).decimalPlaces(2).toFixed()||"0"})`,value:`Swap ${e.symbol}`,action:"suggested_action",fullWidth:!0}));await Mt(500),I(!1),g(h("walletBalanceSpendable",{chain:J?.name||"this chain"}),"bot",void 0,n)}else I(!1),g(h("walletNoTokensFound",{chain:J?.name||"this chain"}),"bot")}catch(i){I(!1),g(m("walletFetchError"),"bot")}}else if("view_balances"===l.action)await oe();else if("view_nfts"===l.action)await te();else if("send_token"!==l.action||l.parameters?.contract_address||l.parameters?.token_symbol||!H?.address)if("send_nft"!==l.action||l.parameters?.contract_address||l.parameters?.token_id||l.parameters?.nft_name||!H?.address)if("send_nft"===l.action&&!Pn(l.parameters?.contract_address||"")&&(l.parameters?.nft_name||l.parameters?.token_id)&&H?.address)try{I(!0);const e=await Bo({address:H.address,chain:q,limit:100,exclude_spam:!1});if(e?.success&&e?.data?.result){const t=e.data.result,o=(l.parameters?.nft_name||"").toLowerCase(),i=l.parameters?.token_id||"",a=e=>{const n=(e.normalized_metadata?.name||e.name||"").toLowerCase(),t=(e.name||"").toLowerCase(),a=o&&(n.includes(o)||t.includes(o)),r=i&&e.token_id===i;return o&&i?a&&r:o?a:r},r=!o&&!!i,s=r?t.filter(a):[],c=r?1===s.length?s[0]:null:t.find(a);if(r&&s.length>1){const e=s.map(e=>{const n=e.normalized_metadata?.name||e.name||`#${e.token_id}`,t=e.normalized_metadata?.image||e.media?.original_media_url||"";return{id:`${e.token_address}-${e.token_id}`,text:`${n} (${e.symbol||e.contract_type}) #${e.token_id}`,value:h("buttonSendNft",{name:n}),action:"select_nft_to_send",fullWidth:!0,extraData:{contractAddress:e.token_address,tokenId:e.token_id,tokenStandard:e.contract_type,name:n,symbol:e.symbol,amount:e.amount,image:t,toAddress:l.parameters?.to_address||""}}}),t=s.map((e,n)=>{const t=e.normalized_metadata?.name||e.name||`#${e.token_id}`,o=e.normalized_metadata?.image||e.media?.original_media_url||"";return`${n+1}. ${o?`\n`:"🖼️ "}**${t}**\n ${e.symbol||e.contract_type} | Token ID: ${e.token_id}`}).join("\n\n");I(!1),g(h("nftMultipleMatchesForTokenId",{count:String(s.length),tokenId:i})+"\n\n"+t,"bot",n.id,e)}else if(c){const e=c.normalized_metadata?.name||c.name||`#${c.token_id}`,t=c.normalized_metadata?.image||c.media?.original_media_url||"",o={contract_address:c.token_address,token_id:c.token_id,to_address:l.parameters?.to_address||"",token_standard:c.contract_type||"",amount:"1",maxAmount:c.amount||"1",nft_name:e};g(l.message||h("nftSendReview",{name:e,standard:c.contract_type||"NFT",tokenId:c.token_id}),"bot",n.id,void 0,{action:"send_nft",parameters:o,status:"pending",nftInfo:{name:e,image:t||void 0,tokenId:c.token_id,contractAddress:c.token_address,tokenStandard:c.contract_type||void 0}})}else g(h("nftNotFoundInWallet",{name:o||i}),"bot",n.id)}else g(m("nftNoCollection"),"bot",n.id)}catch(i){g(m("nftFetchError"),"bot",n.id)}finally{I(!1)}else{const a=(t=l.action,["send_native","send_token","approve_token","wrap_native","unwrap_native","send_nft"].includes(t));let s,c,d={...l.parameters||{}};const u=["send_token","approve_token"].includes(l.action)&&(d.contract_address||d.token_symbol),f="send_native"===l.action||"wrap_native"===l.action,p="unwrap_native"===l.action,m="send_nft"===l.action&&d.contract_address;if(u&&H?.address)try{const e=await No({address:H.address,chain:q});if(e?.success&&e?.data?.result){const n=e.data.result,t=d.contract_address?n.find(e=>e.token_address.toLowerCase()===d.contract_address.toLowerCase()):n.find(e=>e.symbol.toUpperCase()===d.token_symbol.toUpperCase());t&&(d={...d,contract_address:t.token_address,decimals:String(t.decimals)},s={symbol:t.symbol,name:t.name,balance:t.balance,balanceFormatted:t.balance_formatted,usdValue:t.usd_value,usdPrice:t.usd_price,decimals:t.decimals,logo:t.logo||t.thumbnail,contractAddress:t.token_address})}}catch(i){}if(u&&!s&&"send_token"===l.action){const e=d.token_symbol||d.contract_address||"this token";return g(h("sendTokenNotInWallet",{symbol:e}),"bot",n.id),void I(!1)}if(u&&!s&&d.contract_address)try{const e=await So({address:d.contract_address,chain:q});if(e?.success&&e?.data){const n=e.data;s={symbol:n.symbol,name:n.name,balance:"0",balanceFormatted:"0",usdPrice:n.usd_price,decimals:n.decimals,logo:n.logo,contractAddress:d.contract_address},d={...d,decimals:String(n.decimals)}}}catch(i){}if(f&&H?.address)try{const e=await No({address:H.address,chain:q});if(e?.success&&e?.data?.result){const n=e.data.result.find(e=>e.native_token);if(n){let e=n.balance_formatted,t=n.balance;try{const o=new xo(n.balance),i="0x"+BigInt(o.toFixed(0)).toString(16),a=await Qo({from:H.address,to:H.address,data:"0x",value:i,chainId:Y,rpcUrl:z});if(a.isGreaterThan(0)){const i=o.minus(a);i.isGreaterThan(0)?(t=i.toFixed(0),e=xo(ge(BigInt(i.toFixed(0)),n.decimals)).toFixed()):(t="0",e="0")}}catch(r){}s={symbol:n.symbol,name:n.name,balance:t,balanceFormatted:e,usdValue:n.usd_value,usdPrice:n.usd_price,decimals:n.decimals,logo:n.logo||n.thumbnail,contractAddress:Wt}}else{const e=await So({address:Wt,chain:q});if(e?.success&&e?.data){const n=e.data;s={symbol:n.symbol,name:n.name,balance:"0",balanceFormatted:"0",usdValue:0,usdPrice:n.usd_price,decimals:n.decimals,logo:n.logo||n.thumbnail,contractAddress:Wt}}}}}catch(i){}if(p&&H?.address)try{const e=await No({address:H.address,chain:q});if(e?.success&&e?.data?.result){const n=e.data.result,t=`W${J?.nativeCurrency?.symbol||"ETH"}`,o=n.find(e=>e.symbol.toUpperCase()===t.toUpperCase());o&&(s={symbol:o.symbol,name:o.name,balance:o.balance,balanceFormatted:o.balance_formatted,usdValue:o.usd_value,usdPrice:o.usd_price,decimals:o.decimals,logo:o.logo||o.thumbnail,contractAddress:o.token_address})}}catch(i){}if(m){try{const e=await async function(e){const{address:n,chain:t="base"}=e;if(!n)throw new Error("Contract address is required");try{return{success:!0,data:(await Io.get(`api/moralis/proxy/nft/${encodeURIComponent(n)}/metadata`,{query:{chain:t}})).data}}catch(o){return{success:!1,error:o instanceof Error?o.message:"Unknown error"}}}({address:d.contract_address,chain:q});if(e?.success&&e?.data){const n=e.data;n.contract_type&&(d={...d,token_standard:n.contract_type}),!d.nft_name&&n.name&&(d={...d,nft_name:n.name})}}catch(i){}if(H?.address)try{const e=await Bo({address:H.address,chain:q,limit:100,exclude_spam:!1});if(e?.success&&e?.data?.result){const t=e.data.result.find(e=>e.token_address.toLowerCase()===d.contract_address.toLowerCase()&&e.token_id===d.token_id);if(!t){const e=d.nft_name||`#${d.token_id||d.contract_address}`;return g(h("nftNotFoundInWallet",{name:e}),"bot",n.id),void I(!1)}{d={...d,amount:"1",maxAmount:t.amount||"1"};const e=t.normalized_metadata?.image||t.media?.original_media_url||"";c={name:t.normalized_metadata?.name||t.name||d.nft_name||`#${t.token_id}`,image:e||void 0,tokenId:t.token_id,contractAddress:t.token_address,tokenStandard:t.contract_type||d.token_standard||void 0}}}}catch(i){}}if(d.amount&&s?.balanceFormatted&&("send_token"===l.action||"send_native"===l.action||"wrap_native"===l.action||"unwrap_native"===l.action)&&(d.amount=ri(d.amount,s.balanceFormatted,s.usdPrice)),a){const e=l.message||"Please review and complete the form below.";g(e,"bot",n.id,void 0,{action:l.action,parameters:d,status:"pending",tokenInfo:s,nftInfo:c})}else g(l.message||e,"bot",n.id)}else g(h("sendNftViaWebsite",{link:ai}),"bot");else try{const e=await No({address:H.address,chain:q});if(e?.success&&e?.data?.result&&e.data.result.length>0){g(m("sendTokenChoose"),"bot",n.id),I(!0),await Mt(500);const t=e.data.result.map(e=>({id:`send-select-${e.token_address}`,text:`${e.name}: ${e.balance_formatted} ${e.symbol} ($${xo(e?.usd_value||0).decimalPlaces(2).toFixed()||"0"})`,value:h("buttonSendToken",{symbol:e.symbol}),action:"suggested_action",fullWidth:!0}));await Mt(500),I(!1),g(h("walletBalanceSpendable",{chain:J?.name||"this chain"}),"bot",void 0,t)}else I(!1),g(h("walletNoTokensFound",{chain:J?.name||"this chain"}),"bot")}catch(i){I(!1),g(m("walletFetchError"),"bot")}else if(l&&"chat"===l.action){const t=l.token_mentions||[],o=l.suggested_actions||[],i=[];t.length>0&&t.forEach(e=>{i.push({id:`buy-${e.symbol}`,text:`💰 Buy ${e.symbol}`,value:h("buttonBuySymbol",{symbol:e.symbol}),action:"click_buy_item_token_button",extraData:{tokenAddress:e.contract_address||"",symbol:e.symbol,decimals:e.decimals||18},fullWidth:!0})}),o.length>0&&o.forEach((e,n)=>{i.push({id:`suggested-${n}-${e.label}`,text:e.label,value:e.prompt,action:"suggested_action",fullWidth:!0})}),i.length>0?g(l.message||e,"bot",n.id,i):g(l.message||e,"bot",n.id)}else g(e,"bot",n.id)}else g(m("errorProcessingRequest"),"bot",n.id)}catch(o){g(m("errorProcessingRequest"),"bot",n.id)}var t;I(!1),await Mt(50),ni.isDesktop&&D.current?.focus()},[C,E,B,g,b,H?.address,W,J?.name,J?.nativeCurrency?.symbol,J?.tokenTrendingDefault,Y,x,q,G,h,Z,ne,m,X,z,oe,te]);a(()=>{L.current&&C===L.current&&(L.current=null,se())},[C,se]);const ce=r(async(e,n,t)=>{try{if(S(!1),A(t,"submitted"),"swap_token"===e){let e=18;if(n.token_in&&n.token_in!==Wt)try{const t=await Fo.getTokensDetails([n.token_in],G);t?.data?.[0]&&(e=t.data[0].decimals||18)}catch(o){}const a=Yt(n.amount||"0",e).toString(),r=await Oo({chainId:Y,tokenIn:n.token_in||"",tokenInAmount:a,tokenOut:n.token_out||"",tokenOutRecipient:H?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(r.success&&r.data){const e=r.data,o=e.tokenIn,s=e.tokenOut,c=xo(ge(BigInt(o.amount||0),o.decimals)).decimalPlaces(6).toFormat(),l=xo(ge(BigInt(s.amount||0),s.decimals)).decimalPlaces(6).toFormat(),d=!n.token_in||n.token_in===Wt;let u=!1;if(!d&&H?.address&&e.tx?.to)try{const t=await Vo({tokenAddress:n.token_in,ownerAddress:H.address,spenderAddress:e.tx.to,chainId:Y,rpcUrl:z});u=xo(t.toString()).isLessThan(a)}catch(i){}const f=e.estimatedTransactionFee?.total?xo(e.estimatedTransactionFee.total):xo(0);let p=xo(0);if(u&&H?.address)try{const t=zo({tokenAddress:n.token_in,spenderAddress:e.tx?.to||"",fromAddress:H.address,chainId:Y,amount:a});p=await Qo({from:H.address,to:t.to,data:t.data,chainId:Y,rpcUrl:z})}catch(i){}const w=f.plus(p),b=J?.nativeCurrency?.symbol||"native";let y="",v=!1;if(H?.address&&w.isGreaterThan(0))try{const e=await jo({address:H.address,chainId:Y,rpcUrl:z});if(e.isLessThan(w)){v=!0;const n=xo(ge(BigInt(e.toFixed(0)),18)).decimalPlaces(6).toFormat(),t=xo(ge(BigInt(w.toFixed(0)),18)).decimalPlaces(6).toFormat();y=h("swapFeeWarning",{symbol:b,balance:n,needed:t})}}catch(i){}const k=`From: ${c} ${o.symbol}\n⬇️\nTo: ${l} ${s.symbol}\n\n`+y+"\n";if(v)A(t,"pending"),g(k,"bot");else if(u){const i=[{id:"approve-swap-actionform",text:h("swapApproveButton",{symbol:o.symbol}),value:h("swapApproveValue",{symbol:o.symbol}),action:"approve_for_swap",extraData:{tokenAddress:n.token_in,spenderAddress:e.tx.to,tokenSymbol:o.symbol,amountInWei:a,tx:e.tx},fullWidth:!0}];A(t,"success"),g(k+h("swapApprovalRequired",{symbol:o.symbol}),"bot",void 0,i)}else{const n=[{id:"confirm-swap-actionform",text:m("swapConfirmYes"),value:m("swapConfirmValue"),action:"confirm_swap",extraData:{tx:e.tx}}];A(t,"success"),g(k+m("swapReadyToProceed"),"bot",void 0,n)}}else A(t,"pending"),g(h("swapEstimationError",{error:r.errorMessage||r.error||"Unknown error"}),"bot")}else{const o=function(e){const{action:n,parameters:t,fromAddress:o,chainId:i}=e;switch(n){case"send_native":return function(e,n,t){const{to_address:o,amount:i}=e;if(!o)throw new Error("Recipient address is required");if(!i)throw new Error("Amount is required");return{from:n,to:o,data:"0x",value:Yt(i,18).toString(),chainId:t,description:`Send ${i} native token to ${o}`}}(t,o,i);case"send_token":return function(e,n,t){const{contract_address:o,to_address:i,amount:a,decimals:r,token_symbol:s}=e;if(!o)throw new Error("Token contract address is required");if(!i)throw new Error("Recipient address is required");if(!a)throw new Error("Amount is required");const c=Yt(a,parseInt(r)||18);return{from:n,to:o,data:Rt({abi:Ho,functionName:"transfer",args:[i,c]}),value:"0",chainId:t,description:`Send ${a} ${s||"tokens"} to ${i}`}}(t,o,i);case"approve_token":return function(e,n,t){const{contract_address:o,spender_address:i,amount:a,token_symbol:r}=e;if(!o)throw new Error("Token contract address is required");if(!i)throw new Error("Spender address is required");const s=a&&""!==a?.trim()?Yt(a,18):ae;return{from:n,to:o,data:Rt({abi:Ho,functionName:"approve",args:[i,s]}),value:"0",chainId:t,description:`Approve ${a||"unlimited"} ${r||"tokens"} for ${i}`}}(t,o,i);case"wrap_native":return function(e,n,t){const{amount:o}=e;if(!o)throw new Error("Amount is required");const i=Po[t];if(!i)throw new Error(`WETH not supported on chain ${t}`);const a=Yt(o,18).toString();return{from:n,to:i,data:Rt({abi:Jo,functionName:"deposit"}),value:a,chainId:t,description:`Wrap ${o} native token`}}(t,o,i);case"unwrap_native":return function(e,n,t){const{amount:o}=e;if(!o)throw new Error("Amount is required");const i=Po[t];if(!i)throw new Error(`WETH not supported on chain ${t}`);const a=Yt(o,18);return{from:n,to:i,data:Rt({abi:Jo,functionName:"withdraw",args:[a]}),value:"0",chainId:t,description:`Unwrap ${o} WETH`}}(t,o,i);case"send_nft":return function(e,n,t){const{contract_address:o,token_id:i,to_address:a,token_standard:r,amount:s,nft_name:c}=e;if(!o)throw new Error("NFT contract address is required");if(!i)throw new Error("Token ID is required");if(!a)throw new Error("Recipient address is required");const l=(r||"ERC721").toUpperCase(),d=BigInt(i);let u,f;if("ERC1155"===l){const e=BigInt(s||"1");u=Rt({abi:qo,functionName:"safeTransferFrom",args:[n,a,d,e,"0x"]}),f=`Send ${e>1n?e.toString()+"x ":""}${c||"NFT"} (ERC1155 #${i}) to ${a}`}else u=Rt({abi:Go,functionName:"safeTransferFrom",args:[n,a,d]}),f=`Send ${c||"NFT"} (ERC721 #${i}) to ${a}`;return{from:n,to:o,data:u,value:"0",chainId:t,description:f}}(t,o,i);default:throw new Error(`Action "${n}" does not produce a transaction`)}}({action:e,parameters:n,fromAddress:H?.address||"",chainId:Y||1}),i={from:o.from,to:o.to,data:o.data,value:o.value,chainId:o.chainId};if(("send_token"===e||"send_native"===e||"send_nft"===e||"wrap_native"===e||"unwrap_native"===e||"approve_token"===e)&&H?.address)try{const e=J?.nativeCurrency?.symbol||"native",n=await Qo({from:o.from,to:o.to,data:o.data,value:o.value&&"0"!==o.value?`0x${BigInt(o.value).toString(16)}`:void 0,chainId:Y,rpcUrl:z});if(n.isGreaterThan(0)){const o=await jo({address:H.address,chainId:Y,rpcUrl:z});if(o.isLessThan(n)){const i=xo(ge(BigInt(o.toFixed(0)),18)).decimalPlaces(6).toFormat(),a=xo(ge(BigInt(n.toFixed(0)),18)).decimalPlaces(6).toFormat();return A(t,"pending"),void g(h("txInsufficientGas",{symbol:e,balance:i,fee:a}),"bot")}}}catch(a){}if(l){I(!1);const o=await l(i);if("success"===o.status&&o.transactionHash){const i=J?.blockExplorers?.default?.url,a=i?` [View on Explorer](${i}/tx/${o.transactionHash})`:` Tx: ${o.transactionHash}`;try{if(await Mt(4e3),"success"===(await Wo({transactionHash:o.transactionHash,chainId:Y||1,rpcUrl:z})).status){if(A(t,"success"),y(t,n),"approve_token"===e&&g(h("approvalSuccess",{symbol:n.token_symbol||n.contract_address||"Token"})+a,"bot"),"send_token"===e||"send_native"===e||"send_nft"===e){const t=n.to_address||n.recipient||"",o=t?`${t.slice(0,6)}...${t.slice(-4)}`:"";g("send_nft"===e?h("txSuccessfulSendNft",{name:n.nft_name||n.token_symbol||"NFT",tokenId:n.token_id||"",to:o})+a:h("send_native"===e?"txSuccessfulSendNative":"txSuccessfulSendToken",{amount:n.amount||"",symbol:n.token_symbol||("send_native"===e?J?.nativeCurrency?.symbol||"native":"Token"),to:o})+a,"bot")}if("wrap_native"===e){const e=J?.nativeCurrency?.symbol||"native";g(h("txSuccessfulWrapNative",{amount:n.amount||"",from:e,to:`W${e}`})+a,"bot")}if("unwrap_native"===e){const e=J?.nativeCurrency?.symbol||"native";g(h("txSuccessfulUnwrapNative",{amount:n.amount||"",from:`W${e}`,to:e})+a,"bot")}}else A(t,"pending"),g(m("txReverted")+"\n"+a,"bot")}catch(r){A(t,"success"),g(m("txTimeout")+"\n"+a,"bot")}}else if("success"===o.status)A(t,"success");else{A(t,"pending");const e=o.error?`\nError: ${o.error}`:"";g(m("txFailed")+e,"bot")}}else A(t,"pending"),g(m("txNoHandler"),"bot")}}catch(s){A(t,"pending"),g(h("txError",{message:s instanceof Error?s.message:"Unknown error"}),"bot")}},[A,Y,H?.address,G,J?.nativeCurrency?.symbol,J?.blockExplorers?.default?.url,z,h,g,m,l,y]),le=r(e=>{k([e])},[k]),[de,ue]=i({}),fe=r(async(e,n,t)=>{ue(e=>({...e,[t]:!0}));try{await ce(e,n,t)}finally{ue(e=>({...e,[t]:!1}))}},[ce]),pe=r(e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),se())},[se]),me=r(()=>{const e=window.getSelection();e&&e.toString().length>0||s()},[s]);return o?/* @__PURE__ */e("div",{className:"chat-modal-overlay"+("bottom-left"===f?" chat-modal-overlay--left":""),onClick:me,role:"dialog","aria-modal":"true","aria-labelledby":"chat-modal-title",children:/* @__PURE__ */t("div",{className:"chat-modal",style:p,onClick:e=>e.stopPropagation(),children:[
|
|
31
31
|
/* @__PURE__ */t("div",{className:"chat-modal-header",children:[
|
|
32
32
|
/* @__PURE__ */t("div",{className:"chat-modal-header-title",children:[
|
|
33
33
|
/* @__PURE__ */t("div",{className:"chat-modal-header-left",children:[
|
|
@@ -36,13 +36,13 @@ return e("div",{className:"message-content",children:i})},ai="https://nft-demo.k
|
|
|
36
36
|
/* @__PURE__ */e("button",{className:"close-button",onClick:s,"aria-label":m("closeChat"),type:"button",children:/* @__PURE__ */e("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:/* @__PURE__ */e("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})})]}),
|
|
37
37
|
/* @__PURE__ */e(Qt,{address:H?.address,chainId:J?.chainId})]}),
|
|
38
38
|
/* @__PURE__ */t("div",{className:"chat-modal-messages-wrapper",children:[
|
|
39
|
-
/* @__PURE__ */t("div",{className:"chat-modal-messages",ref:O,role:"log","aria-live":"polite",children:[b.map((n,o)=>/* @__PURE__ */t("div",{children:[re(o)&&/* @__PURE__ */e("div",{className:"date-separator",children:
|
|
39
|
+
/* @__PURE__ */t("div",{className:"chat-modal-messages",ref:O,role:"log","aria-live":"polite",children:[b.map((n,o)=>/* @__PURE__ */t("div",{children:[re(o)&&/* @__PURE__ */e("div",{className:"date-separator",children:Ut(n.timestamp)}),
|
|
40
40
|
/* @__PURE__ */t("div",{className:"message "+("user"===n.sender?"message-user":"message-bot"),role:"article",children:[
|
|
41
41
|
/* @__PURE__ */e("button",{disabled:ni.isMobile,className:"message-reply-button",onClick:()=>K(n),"aria-label":m("replyToMessage"),type:"button",children:/* @__PURE__ */e("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:/* @__PURE__ */e("path",{d:"M3.5 8.5L1 6L3.5 3.5M1.5 6H10C12.2091 6 14 7.79086 14 10V13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),
|
|
42
42
|
/* @__PURE__ */t("div",{className:"message-bubble",children:[n.replyTo&&/* @__PURE__ */t("div",{className:"message-reply-to",children:[
|
|
43
43
|
/* @__PURE__ */t("div",{className:"message-reply-to-label",children:[m("replyingTo")," ","user"===n.replyTo.sender?m("replyingToYou"):m("replyingToAgent")]}),
|
|
44
44
|
/* @__PURE__ */e("div",{className:"message-reply-to-text",children:n.replyTo.text})]}),
|
|
45
|
-
/* @__PURE__ */e("div",{className:"message-text",children:/* @__PURE__ */e(ii,{content:n.text})}),n.buttons&&n.buttons.length>0&&/* @__PURE__ */e("div",{className:"message-buttons",children:n.buttons.map(n=>/* @__PURE__ */e("button",{className:`message-button ${n.fullWidth?"full-width":""} ${"suggested_action"===n.action?"suggested-action":""}`,onClick:()=>ee(n.value,n.action,n?.extraData),type:"button",children:n.text},n.id))}),n.actionData&&("pending"===n.actionData.status||"success"===n.actionData.status||"submitted"===n.actionData.status)&&/* @__PURE__ */e(
|
|
45
|
+
/* @__PURE__ */e("div",{className:"message-text",children:/* @__PURE__ */e(ii,{content:n.text})}),n.buttons&&n.buttons.length>0&&/* @__PURE__ */e("div",{className:"message-buttons",children:n.buttons.map(n=>/* @__PURE__ */e("button",{className:`message-button ${n.fullWidth?"full-width":""} ${"suggested_action"===n.action?"suggested-action":""}`,onClick:()=>ee(n.value,n.action,n?.extraData),type:"button",children:n.text},n.id))}),n.actionData&&("pending"===n.actionData.status||"success"===n.actionData.status||"submitted"===n.actionData.status)&&/* @__PURE__ */e(Uo,{disabled:"success"===n.actionData.status||"submitted"===n.actionData.status,action:n.actionData.action,initialValues:n.actionData.parameters,onSubmit:(e,t)=>{fe(e,t,n.id),setTimeout(()=>{R.current?.scrollIntoView({behavior:"smooth"})},100)},onCancel:()=>le(n.id),isSubmitting:de[n.id]||!1,tokenInfo:n.actionData.tokenInfo,nftInfo:n.actionData.nftInfo}),n.actionData&&"submitted"===n.actionData.status&&/* @__PURE__ */e("div",{className:"action-status action-status-submitted mb-1",children:m("txProcessing")}),n.actionData&&"fail"===n.actionData.status&&/* @__PURE__ */e("div",{className:"action-status action-status-fail mb-1",children:m("actionFail")}),
|
|
46
46
|
/* @__PURE__ */t("div",{className:"message-timestamp",children:[n.timestamp.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),"user"===n.sender&&/* @__PURE__ */e("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:"check-icon",children:/* @__PURE__ */e("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})]})]},n.id)),E&&/* @__PURE__ */e("div",{className:"message message-bot typing-indicator",role:"status","aria-label":m("botIsTyping"),children:/* @__PURE__ */t("div",{className:"message-bubble",children:[
|
|
47
47
|
/* @__PURE__ */e("span",{className:"typing-dot"}),
|
|
48
48
|
/* @__PURE__ */e("span",{className:"typing-dot"}),
|
|
@@ -51,7 +51,7 @@ return e("div",{className:"message-content",children:i})},ai="https://nft-demo.k
|
|
|
51
51
|
/* @__PURE__ */e("span",{className:"suggestion-icon",children:n.icon}),
|
|
52
52
|
/* @__PURE__ */e("span",{className:"suggestion-text",children:n.text})]},n.id))})]}),
|
|
53
53
|
/* @__PURE__ */e("div",{ref:R})]}),
|
|
54
|
-
/* @__PURE__ */e(
|
|
54
|
+
/* @__PURE__ */e(Mo,{scrollContainerRef:O})]}),
|
|
55
55
|
/* @__PURE__ */t("div",{className:"chat-modal-input",children:[B&&/* @__PURE__ */t("div",{className:"reply-preview",children:[
|
|
56
56
|
/* @__PURE__ */t("div",{className:"reply-preview-content",children:[
|
|
57
57
|
/* @__PURE__ */t("div",{className:"reply-preview-label",children:[m("replyingTo")," ","user"===B.sender?m("replyingToYou"):m("replyingToAgent")]}),
|
|
@@ -59,6 +59,6 @@ return e("div",{className:"message-content",children:i})},ai="https://nft-demo.k
|
|
|
59
59
|
/* @__PURE__ */e("button",{className:"reply-preview-close",onClick:()=>F(null),"aria-label":m("cancelReply"),type:"button",children:/* @__PURE__ */e("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:/* @__PURE__ */e("path",{d:"M12 4L4 12M4 4L12 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]}),
|
|
60
60
|
/* @__PURE__ */t("div",{className:"chat-modal-input-row",children:[
|
|
61
61
|
/* @__PURE__ */e("input",{ref:D,type:"text",placeholder:m("messagePlaceholder"),value:C,onChange:e=>T(e.target.value),onKeyPress:pe,disabled:E,"aria-label":"Message input"}),
|
|
62
|
-
/* @__PURE__ */e("button",{className:"send-button",onClick:se,"aria-label":m("sendMessage"),disabled:E||""===C?.trim(),type:"button",children:/* @__PURE__ */e("img",{src:"data:image/svg+xml,%3csvg%20width='36'%20height='36'%20viewBox='0%200%2036%2036'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3crect%20width='36'%20height='36'%20rx='18'%20fill='%232358B2'/%3e%3cmask%20id='mask0_1924_16177'%20style='mask-type:alpha'%20maskUnits='userSpaceOnUse'%20x='11'%20y='10'%20width='17'%20height='16'%3e%3crect%20x='11.334'%20y='10'%20width='16'%20height='16'%20fill='url(%23pattern0_1924_16177)'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_1924_16177)'%3e%3crect%20x='11.334'%20y='10'%20width='16'%20height='16'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cpattern%20id='pattern0_1924_16177'%20patternContentUnits='objectBoundingBox'%20width='1'%20height='1'%3e%3cuse%20xlink:href='%23image0_1924_16177'%20transform='scale(0.00195312)'/%3e%3c/pattern%3e%3cimage%20id='image0_1924_16177'%20width='512'%20height='512'%20preserveAspectRatio='none'%20xlink:href='data:image/png;base64,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'/%3e%3c/defs%3e%3c/svg%3e",alt:"Send",width:44,height:44})})]})]})]})}):null};let ci=!1;!function(){if(ci||"undefined"==typeof document)return;ci=!0;const e=document.createElement("style");e.setAttribute("data-keyring-utils",""),e.textContent="\n/* ===== Display ===== */\n.hidden { display: none !important; }\n.block { display: block; }\n.inline-block { display: inline-block; }\n.inline { display: inline; }\n.flex { display: flex; }\n.inline-flex { display: inline-flex; }\n.grid { display: grid; }\n\n/* ===== Flex Direction ===== */\n.flex-row { flex-direction: row; }\n.flex-col { flex-direction: column; }\n.flex-row-reverse { flex-direction: row-reverse; }\n.flex-col-reverse { flex-direction: column-reverse; }\n\n/* ===== Flex Wrap ===== */\n.flex-wrap { flex-wrap: wrap; }\n.flex-nowrap { flex-wrap: nowrap; }\n\n/* ===== Flex Grow / Shrink ===== */\n.flex-1 { flex: 1 1 0%; }\n.flex-auto { flex: 1 1 auto; }\n.flex-none { flex: none; }\n.grow { flex-grow: 1; }\n.grow-0 { flex-grow: 0; }\n.shrink { flex-shrink: 1; }\n.shrink-0 { flex-shrink: 0; }\n\n/* ===== Justify Content ===== */\n.justify-start { justify-content: flex-start; }\n.justify-end { justify-content: flex-end; }\n.justify-center { justify-content: center; }\n.justify-between { justify-content: space-between; }\n.justify-around { justify-content: space-around; }\n.justify-evenly { justify-content: space-evenly; }\n\n/* ===== Align Items ===== */\n.items-start { align-items: flex-start; }\n.items-end { align-items: flex-end; }\n.items-center { align-items: center; }\n.items-baseline { align-items: baseline; }\n.items-stretch { align-items: stretch; }\n\n/* ===== Align Self ===== */\n.self-auto { align-self: auto; }\n.self-start { align-self: flex-start; }\n.self-end { align-self: flex-end; }\n.self-center { align-self: center; }\n.self-stretch { align-self: stretch; }\n\n/* ===== Gap ===== */\n.gap-0 { gap: 0; }\n.gap-1 { gap: 4px; }\n.gap-2 { gap: 8px; }\n.gap-3 { gap: 12px; }\n.gap-4 { gap: 16px; }\n.gap-5 { gap: 20px; }\n.gap-6 { gap: 24px; }\n.gap-8 { gap: 32px; }\n\n/* ===== Padding ===== */\n.p-0 { padding: 0; }\n.p-1 { padding: 4px; }\n.p-2 { padding: 8px; }\n.p-3 { padding: 12px; }\n.p-4 { padding: 16px; }\n.p-5 { padding: 20px; }\n.p-6 { padding: 24px; }\n.p-8 { padding: 32px; }\n.px-0 { padding-left: 0; padding-right: 0; }\n.px-1 { padding-left: 4px; padding-right: 4px; }\n.px-2 { padding-left: 8px; padding-right: 8px; }\n.px-3 { padding-left: 12px; padding-right: 12px; }\n.px-4 { padding-left: 16px; padding-right: 16px; }\n.px-6 { padding-left: 24px; padding-right: 24px; }\n.py-0 { padding-top: 0; padding-bottom: 0; }\n.py-1 { padding-top: 4px; padding-bottom: 4px; }\n.py-2 { padding-top: 8px; padding-bottom: 8px; }\n.py-3 { padding-top: 12px; padding-bottom: 12px; }\n.py-4 { padding-top: 16px; padding-bottom: 16px; }\n.py-6 { padding-top: 24px; padding-bottom: 24px; }\n\n/* ===== Margin ===== */\n.m-0 { margin: 0; }\n.m-1 { margin: 4px; }\n.m-2 { margin: 8px; }\n.m-3 { margin: 12px; }\n.m-4 { margin: 16px; }\n.m-auto { margin: auto; }\n.mx-auto { margin-left: auto; margin-right: auto; }\n.mx-0 { margin-left: 0; margin-right: 0; }\n.mx-2 { margin-left: 8px; margin-right: 8px; }\n.mx-4 { margin-left: 16px; margin-right: 16px; }\n.my-0 { margin-top: 0; margin-bottom: 0; }\n.my-1 { margin-top: 4px; margin-bottom: 4px; }\n.my-2 { margin-top: 8px; margin-bottom: 8px; }\n.my-4 { margin-top: 16px; margin-bottom: 16px; }\n.mt-0 { margin-top: 0; }\n.mt-1 { margin-top: 4px; }\n.mt-2 { margin-top: 8px; }\n.mt-4 { margin-top: 16px; }\n.mb-0 { margin-bottom: 0; }\n.mb-1 { margin-bottom: 4px; }\n.mb-2 { margin-bottom: 8px; }\n.mb-4 { margin-bottom: 16px; }\n.ml-auto { margin-left: auto; }\n.mr-auto { margin-right: auto; }\n.mr-2 { margin-right: 8px; }\n\n/* ===== Width & Height ===== */\n.w-full { width: 100%; }\n.w-auto { width: auto; }\n.w-screen { width: 100vw; }\n.w-fit { width: fit-content; }\n.min-w-0 { min-width: 0; }\n.max-w-full { max-width: 100%; }\n.h-full { height: 100%; }\n.h-auto { height: auto; }\n.h-screen { height: 100vh; }\n.h-fit { height: fit-content; }\n.min-h-0 { min-height: 0; }\n.min-h-screen { min-height: 100vh; }\n\n/* ===== Position ===== */\n.relative { position: relative; }\n.absolute { position: absolute; }\n.fixed { position: fixed; }\n.sticky { position: sticky; }\n.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }\n.top-0 { top: 0; }\n.right-0 { right: 0; }\n.bottom-0 { bottom: 0; }\n.left-0 { left: 0; }\n\n/* ===== Overflow ===== */\n.overflow-hidden { overflow: hidden; }\n.overflow-auto { overflow: auto; }\n.overflow-scroll { overflow: scroll; }\n.overflow-visible { overflow: visible; }\n.overflow-x-auto { overflow-x: auto; }\n.overflow-y-auto { overflow-y: auto; }\n.overflow-x-hidden { overflow-x: hidden; }\n\n/* ===== Text ===== */\n.text-xs { font-size: 12px; line-height: 16px; }\n.text-sm { font-size: 14px; line-height: 20px; }\n.text-base { font-size: 16px; line-height: 24px; }\n.text-lg { font-size: 18px; line-height: 28px; }\n.text-xl { font-size: 20px; line-height: 28px; }\n.text-2xl { font-size: 24px; line-height: 32px; }\n.text-3xl { font-size: 30px; line-height: 36px; }\n\n.font-thin { font-weight: 100; }\n.font-light { font-weight: 300; }\n.font-normal { font-weight: 400; }\n.font-medium { font-weight: 500; }\n.font-semibold { font-weight: 600; }\n.font-bold { font-weight: 700; }\n.font-extrabold { font-weight: 800; }\n\n.text-left { text-align: left; }\n.text-center { text-align: center; }\n.text-right { text-align: right; }\n\n.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }\n.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\n.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }\n.whitespace-nowrap { white-space: nowrap; }\n.whitespace-pre-wrap { white-space: pre-wrap; }\n.break-words { overflow-wrap: break-word; }\n.break-all { word-break: break-all; }\n.uppercase { text-transform: uppercase; }\n.lowercase { text-transform: lowercase; }\n.capitalize { text-transform: capitalize; }\n.italic { font-style: italic; }\n.underline { text-decoration: underline; }\n.line-through { text-decoration: line-through; }\n.no-underline { text-decoration: none; }\n\n/* ===== Border ===== */\n.border { border: 1px solid #e5e7eb; }\n.border-0 { border: 0; }\n.border-2 { border-width: 2px; }\n.border-t { border-top: 1px solid #e5e7eb; }\n.border-b { border-bottom: 1px solid #e5e7eb; }\n.border-l { border-left: 1px solid #e5e7eb; }\n.border-r { border-right: 1px solid #e5e7eb; }\n.rounded { border-radius: 4px; }\n.rounded-sm { border-radius: 2px; }\n.rounded-md { border-radius: 6px; }\n.rounded-lg { border-radius: 8px; }\n.rounded-xl { border-radius: 12px; }\n.rounded-2xl { border-radius: 16px; }\n.rounded-full { border-radius: 9999px; }\n.rounded-none { border-radius: 0; }\n\n/* ===== Background & Colors ===== */\n.bg-transparent { background-color: transparent; }\n.bg-white { background-color: #ffffff; }\n.bg-black { background-color: #000000; }\n.bg-gray-50 { background-color: #f9fafb; }\n.bg-gray-100 { background-color: #f3f4f6; }\n.bg-gray-200 { background-color: #e5e7eb; }\n.bg-gray-500 { background-color: #6b7280; }\n.bg-gray-800 { background-color: #1f2937; }\n.bg-blue-500 { background-color: #3b82f6; }\n.bg-red-500 { background-color: #ef4444; }\n.bg-green-500 { background-color: #22c55e; }\n\n.text-white { color: #ffffff; }\n.text-black { color: #000000; }\n.text-gray-400 { color: #9ca3af; }\n.text-gray-500 { color: #6b7280; }\n.text-gray-600 { color: #4b5563; }\n.text-gray-700 { color: #374151; }\n.text-gray-900 { color: #111827; }\n.text-blue-500 { color: #3b82f6; }\n.text-blue-600 { color: #2563eb; }\n.text-red-500 { color: #ef4444; }\n.text-green-500 { color: #22c55e; }\n\n/* ===== Opacity ===== */\n.opacity-0 { opacity: 0; }\n.opacity-25 { opacity: 0.25; }\n.opacity-50 { opacity: 0.5; }\n.opacity-75 { opacity: 0.75; }\n.opacity-100 { opacity: 1; }\n\n/* ===== Shadow ===== */\n.shadow-none { box-shadow: none; }\n.shadow-sm { box-shadow: 0 1px 2px rgba(0,0,0,0.05); }\n.shadow { box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06); }\n.shadow-md { box-shadow: 0 4px 6px rgba(0,0,0,0.1), 0 2px 4px rgba(0,0,0,0.06); }\n.shadow-lg { box-shadow: 0 10px 15px rgba(0,0,0,0.1), 0 4px 6px rgba(0,0,0,0.05); }\n.shadow-xl { box-shadow: 0 20px 25px rgba(0,0,0,0.1), 0 10px 10px rgba(0,0,0,0.04); }\n\n/* ===== Cursor ===== */\n.cursor-pointer { cursor: pointer; }\n.cursor-default { cursor: default; }\n.cursor-not-allowed { cursor: not-allowed; }\n.cursor-wait { cursor: wait; }\n\n/* ===== Pointer Events ===== */\n.pointer-events-none { pointer-events: none; }\n.pointer-events-auto { pointer-events: auto; }\n\n/* ===== Select ===== */\n.select-none { user-select: none; }\n.select-text { user-select: text; }\n.select-all { user-select: all; }\n\n/* ===== Z-Index ===== */\n.z-0 { z-index: 0; }\n.z-10 { z-index: 10; }\n.z-20 { z-index: 20; }\n.z-30 { z-index: 30; }\n.z-40 { z-index: 40; }\n.z-50 { z-index: 50; }\n\n/* ===== Transition ===== */\n.transition { transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1); }\n.transition-colors { transition: color, background-color, border-color 150ms ease; }\n.transition-opacity { transition: opacity 150ms ease; }\n.transition-transform { transition: transform 150ms ease; }\n.duration-75 { transition-duration: 75ms; }\n.duration-100 { transition-duration: 100ms; }\n.duration-150 { transition-duration: 150ms; }\n.duration-200 { transition-duration: 200ms; }\n.duration-300 { transition-duration: 300ms; }\n.duration-500 { transition-duration: 500ms; }\n\n/* ===== Transform ===== */\n.scale-95 { transform: scale(0.95); }\n.scale-100 { transform: scale(1); }\n.scale-105 { transform: scale(1.05); }\n.rotate-45 { transform: rotate(45deg); }\n.rotate-90 { transform: rotate(90deg); }\n.rotate-180 { transform: rotate(180deg); }\n\n/* ===== Object Fit ===== */\n.object-cover { object-fit: cover; }\n.object-contain { object-fit: contain; }\n.object-fill { object-fit: fill; }\n.object-center { object-position: center; }\n\n/* ===== List ===== */\n.list-none { list-style: none; }\n.list-disc { list-style-type: disc; }\n.list-decimal { list-style-type: decimal; }\n\n/* ===== Visibility ===== */\n.visible { visibility: visible; }\n.invisible { visibility: hidden; }\n\n/* ===== Aspect Ratio ===== */\n.aspect-square { aspect-ratio: 1 / 1; }\n.aspect-video { aspect-ratio: 16 / 9; }\n\n/* ===== Scrollbar ===== */\n.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }\n.scrollbar-hide::-webkit-scrollbar { display: none; }\n",document.head.appendChild(e)}();const li=({position:o,theme:s,defaultOpen:c,onOpen:l,onClose:d,onTransaction:u})=>{const{account:f,chainId:p}=zt(),[m,h]=i(c);a(()=>{c&&l&&l()},[]),a(()=>{if("undefined"==typeof window)return;const e=document.body,n=document.documentElement,t=e.style.overscrollBehavior,o=n.style.overscrollBehavior,i=e.style.overflow;return m&&(e.style.overscrollBehavior="none",n.style.overscrollBehavior="none",e.style.overflow="hidden"),()=>{e.style.overscrollBehavior=t,n.style.overscrollBehavior=o,e.style.overflow=i}},[m]);const w=r(()=>{h(!0),l?.()},[l]),g=r(()=>{h(!1),d?.()},[d]),A=r(()=>{m?g():w()},[m,w,g]),y={position:"fixed",["bottom-right"===o?"right":"left"]:s.offset?.x??20,bottom:s.offset?.y??20,zIndex:s.zIndex??9999};return Mn(f?.address||"")&&p?/* @__PURE__ */t("div",{style:y,role:"complementary","aria-label":"Chat widget",children:[
|
|
62
|
+
/* @__PURE__ */e("button",{className:"send-button",onClick:se,"aria-label":m("sendMessage"),disabled:E||""===C?.trim(),type:"button",children:/* @__PURE__ */e("img",{src:"data:image/svg+xml,%3csvg%20width='36'%20height='36'%20viewBox='0%200%2036%2036'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3crect%20width='36'%20height='36'%20rx='18'%20fill='%232358B2'/%3e%3cmask%20id='mask0_1924_16177'%20style='mask-type:alpha'%20maskUnits='userSpaceOnUse'%20x='11'%20y='10'%20width='17'%20height='16'%3e%3crect%20x='11.334'%20y='10'%20width='16'%20height='16'%20fill='url(%23pattern0_1924_16177)'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_1924_16177)'%3e%3crect%20x='11.334'%20y='10'%20width='16'%20height='16'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cpattern%20id='pattern0_1924_16177'%20patternContentUnits='objectBoundingBox'%20width='1'%20height='1'%3e%3cuse%20xlink:href='%23image0_1924_16177'%20transform='scale(0.00195312)'/%3e%3c/pattern%3e%3cimage%20id='image0_1924_16177'%20width='512'%20height='512'%20preserveAspectRatio='none'%20xlink:href='data:image/png;base64,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'/%3e%3c/defs%3e%3c/svg%3e",alt:"Send",width:44,height:44})})]})]})]})}):null};let ci=!1;!function(){if(ci||"undefined"==typeof document)return;ci=!0;const e=document.createElement("style");e.setAttribute("data-keyring-utils",""),e.textContent="\n/* ===== Display ===== */\n.hidden { display: none !important; }\n.block { display: block; }\n.inline-block { display: inline-block; }\n.inline { display: inline; }\n.flex { display: flex; }\n.inline-flex { display: inline-flex; }\n.grid { display: grid; }\n\n/* ===== Flex Direction ===== */\n.flex-row { flex-direction: row; }\n.flex-col { flex-direction: column; }\n.flex-row-reverse { flex-direction: row-reverse; }\n.flex-col-reverse { flex-direction: column-reverse; }\n\n/* ===== Flex Wrap ===== */\n.flex-wrap { flex-wrap: wrap; }\n.flex-nowrap { flex-wrap: nowrap; }\n\n/* ===== Flex Grow / Shrink ===== */\n.flex-1 { flex: 1 1 0%; }\n.flex-auto { flex: 1 1 auto; }\n.flex-none { flex: none; }\n.grow { flex-grow: 1; }\n.grow-0 { flex-grow: 0; }\n.shrink { flex-shrink: 1; }\n.shrink-0 { flex-shrink: 0; }\n\n/* ===== Justify Content ===== */\n.justify-start { justify-content: flex-start; }\n.justify-end { justify-content: flex-end; }\n.justify-center { justify-content: center; }\n.justify-between { justify-content: space-between; }\n.justify-around { justify-content: space-around; }\n.justify-evenly { justify-content: space-evenly; }\n\n/* ===== Align Items ===== */\n.items-start { align-items: flex-start; }\n.items-end { align-items: flex-end; }\n.items-center { align-items: center; }\n.items-baseline { align-items: baseline; }\n.items-stretch { align-items: stretch; }\n\n/* ===== Align Self ===== */\n.self-auto { align-self: auto; }\n.self-start { align-self: flex-start; }\n.self-end { align-self: flex-end; }\n.self-center { align-self: center; }\n.self-stretch { align-self: stretch; }\n\n/* ===== Gap ===== */\n.gap-0 { gap: 0; }\n.gap-1 { gap: 4px; }\n.gap-2 { gap: 8px; }\n.gap-3 { gap: 12px; }\n.gap-4 { gap: 16px; }\n.gap-5 { gap: 20px; }\n.gap-6 { gap: 24px; }\n.gap-8 { gap: 32px; }\n\n/* ===== Padding ===== */\n.p-0 { padding: 0; }\n.p-1 { padding: 4px; }\n.p-2 { padding: 8px; }\n.p-3 { padding: 12px; }\n.p-4 { padding: 16px; }\n.p-5 { padding: 20px; }\n.p-6 { padding: 24px; }\n.p-8 { padding: 32px; }\n.px-0 { padding-left: 0; padding-right: 0; }\n.px-1 { padding-left: 4px; padding-right: 4px; }\n.px-2 { padding-left: 8px; padding-right: 8px; }\n.px-3 { padding-left: 12px; padding-right: 12px; }\n.px-4 { padding-left: 16px; padding-right: 16px; }\n.px-6 { padding-left: 24px; padding-right: 24px; }\n.py-0 { padding-top: 0; padding-bottom: 0; }\n.py-1 { padding-top: 4px; padding-bottom: 4px; }\n.py-2 { padding-top: 8px; padding-bottom: 8px; }\n.py-3 { padding-top: 12px; padding-bottom: 12px; }\n.py-4 { padding-top: 16px; padding-bottom: 16px; }\n.py-6 { padding-top: 24px; padding-bottom: 24px; }\n\n/* ===== Margin ===== */\n.m-0 { margin: 0; }\n.m-1 { margin: 4px; }\n.m-2 { margin: 8px; }\n.m-3 { margin: 12px; }\n.m-4 { margin: 16px; }\n.m-auto { margin: auto; }\n.mx-auto { margin-left: auto; margin-right: auto; }\n.mx-0 { margin-left: 0; margin-right: 0; }\n.mx-2 { margin-left: 8px; margin-right: 8px; }\n.mx-4 { margin-left: 16px; margin-right: 16px; }\n.my-0 { margin-top: 0; margin-bottom: 0; }\n.my-1 { margin-top: 4px; margin-bottom: 4px; }\n.my-2 { margin-top: 8px; margin-bottom: 8px; }\n.my-4 { margin-top: 16px; margin-bottom: 16px; }\n.mt-0 { margin-top: 0; }\n.mt-1 { margin-top: 4px; }\n.mt-2 { margin-top: 8px; }\n.mt-4 { margin-top: 16px; }\n.mb-0 { margin-bottom: 0; }\n.mb-1 { margin-bottom: 4px; }\n.mb-2 { margin-bottom: 8px; }\n.mb-4 { margin-bottom: 16px; }\n.ml-auto { margin-left: auto; }\n.mr-auto { margin-right: auto; }\n.mr-2 { margin-right: 8px; }\n\n/* ===== Width & Height ===== */\n.w-full { width: 100%; }\n.w-auto { width: auto; }\n.w-screen { width: 100vw; }\n.w-fit { width: fit-content; }\n.min-w-0 { min-width: 0; }\n.max-w-full { max-width: 100%; }\n.h-full { height: 100%; }\n.h-auto { height: auto; }\n.h-screen { height: 100vh; }\n.h-fit { height: fit-content; }\n.min-h-0 { min-height: 0; }\n.min-h-screen { min-height: 100vh; }\n\n/* ===== Position ===== */\n.relative { position: relative; }\n.absolute { position: absolute; }\n.fixed { position: fixed; }\n.sticky { position: sticky; }\n.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }\n.top-0 { top: 0; }\n.right-0 { right: 0; }\n.bottom-0 { bottom: 0; }\n.left-0 { left: 0; }\n\n/* ===== Overflow ===== */\n.overflow-hidden { overflow: hidden; }\n.overflow-auto { overflow: auto; }\n.overflow-scroll { overflow: scroll; }\n.overflow-visible { overflow: visible; }\n.overflow-x-auto { overflow-x: auto; }\n.overflow-y-auto { overflow-y: auto; }\n.overflow-x-hidden { overflow-x: hidden; }\n\n/* ===== Text ===== */\n.text-xs { font-size: 12px; line-height: 16px; }\n.text-sm { font-size: 14px; line-height: 20px; }\n.text-base { font-size: 16px; line-height: 24px; }\n.text-lg { font-size: 18px; line-height: 28px; }\n.text-xl { font-size: 20px; line-height: 28px; }\n.text-2xl { font-size: 24px; line-height: 32px; }\n.text-3xl { font-size: 30px; line-height: 36px; }\n\n.font-thin { font-weight: 100; }\n.font-light { font-weight: 300; }\n.font-normal { font-weight: 400; }\n.font-medium { font-weight: 500; }\n.font-semibold { font-weight: 600; }\n.font-bold { font-weight: 700; }\n.font-extrabold { font-weight: 800; }\n\n.text-left { text-align: left; }\n.text-center { text-align: center; }\n.text-right { text-align: right; }\n\n.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }\n.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\n.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }\n.whitespace-nowrap { white-space: nowrap; }\n.whitespace-pre-wrap { white-space: pre-wrap; }\n.break-words { overflow-wrap: break-word; }\n.break-all { word-break: break-all; }\n.uppercase { text-transform: uppercase; }\n.lowercase { text-transform: lowercase; }\n.capitalize { text-transform: capitalize; }\n.italic { font-style: italic; }\n.underline { text-decoration: underline; }\n.line-through { text-decoration: line-through; }\n.no-underline { text-decoration: none; }\n\n/* ===== Border ===== */\n.border { border: 1px solid #e5e7eb; }\n.border-0 { border: 0; }\n.border-2 { border-width: 2px; }\n.border-t { border-top: 1px solid #e5e7eb; }\n.border-b { border-bottom: 1px solid #e5e7eb; }\n.border-l { border-left: 1px solid #e5e7eb; }\n.border-r { border-right: 1px solid #e5e7eb; }\n.rounded { border-radius: 4px; }\n.rounded-sm { border-radius: 2px; }\n.rounded-md { border-radius: 6px; }\n.rounded-lg { border-radius: 8px; }\n.rounded-xl { border-radius: 12px; }\n.rounded-2xl { border-radius: 16px; }\n.rounded-full { border-radius: 9999px; }\n.rounded-none { border-radius: 0; }\n\n/* ===== Background & Colors ===== */\n.bg-transparent { background-color: transparent; }\n.bg-white { background-color: #ffffff; }\n.bg-black { background-color: #000000; }\n.bg-gray-50 { background-color: #f9fafb; }\n.bg-gray-100 { background-color: #f3f4f6; }\n.bg-gray-200 { background-color: #e5e7eb; }\n.bg-gray-500 { background-color: #6b7280; }\n.bg-gray-800 { background-color: #1f2937; }\n.bg-blue-500 { background-color: #3b82f6; }\n.bg-red-500 { background-color: #ef4444; }\n.bg-green-500 { background-color: #22c55e; }\n\n.text-white { color: #ffffff; }\n.text-black { color: #000000; }\n.text-gray-400 { color: #9ca3af; }\n.text-gray-500 { color: #6b7280; }\n.text-gray-600 { color: #4b5563; }\n.text-gray-700 { color: #374151; }\n.text-gray-900 { color: #111827; }\n.text-blue-500 { color: #3b82f6; }\n.text-blue-600 { color: #2563eb; }\n.text-red-500 { color: #ef4444; }\n.text-green-500 { color: #22c55e; }\n\n/* ===== Opacity ===== */\n.opacity-0 { opacity: 0; }\n.opacity-25 { opacity: 0.25; }\n.opacity-50 { opacity: 0.5; }\n.opacity-75 { opacity: 0.75; }\n.opacity-100 { opacity: 1; }\n\n/* ===== Shadow ===== */\n.shadow-none { box-shadow: none; }\n.shadow-sm { box-shadow: 0 1px 2px rgba(0,0,0,0.05); }\n.shadow { box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06); }\n.shadow-md { box-shadow: 0 4px 6px rgba(0,0,0,0.1), 0 2px 4px rgba(0,0,0,0.06); }\n.shadow-lg { box-shadow: 0 10px 15px rgba(0,0,0,0.1), 0 4px 6px rgba(0,0,0,0.05); }\n.shadow-xl { box-shadow: 0 20px 25px rgba(0,0,0,0.1), 0 10px 10px rgba(0,0,0,0.04); }\n\n/* ===== Cursor ===== */\n.cursor-pointer { cursor: pointer; }\n.cursor-default { cursor: default; }\n.cursor-not-allowed { cursor: not-allowed; }\n.cursor-wait { cursor: wait; }\n\n/* ===== Pointer Events ===== */\n.pointer-events-none { pointer-events: none; }\n.pointer-events-auto { pointer-events: auto; }\n\n/* ===== Select ===== */\n.select-none { user-select: none; }\n.select-text { user-select: text; }\n.select-all { user-select: all; }\n\n/* ===== Z-Index ===== */\n.z-0 { z-index: 0; }\n.z-10 { z-index: 10; }\n.z-20 { z-index: 20; }\n.z-30 { z-index: 30; }\n.z-40 { z-index: 40; }\n.z-50 { z-index: 50; }\n\n/* ===== Transition ===== */\n.transition { transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1); }\n.transition-colors { transition: color, background-color, border-color 150ms ease; }\n.transition-opacity { transition: opacity 150ms ease; }\n.transition-transform { transition: transform 150ms ease; }\n.duration-75 { transition-duration: 75ms; }\n.duration-100 { transition-duration: 100ms; }\n.duration-150 { transition-duration: 150ms; }\n.duration-200 { transition-duration: 200ms; }\n.duration-300 { transition-duration: 300ms; }\n.duration-500 { transition-duration: 500ms; }\n\n/* ===== Transform ===== */\n.scale-95 { transform: scale(0.95); }\n.scale-100 { transform: scale(1); }\n.scale-105 { transform: scale(1.05); }\n.rotate-45 { transform: rotate(45deg); }\n.rotate-90 { transform: rotate(90deg); }\n.rotate-180 { transform: rotate(180deg); }\n\n/* ===== Object Fit ===== */\n.object-cover { object-fit: cover; }\n.object-contain { object-fit: contain; }\n.object-fill { object-fit: fill; }\n.object-center { object-position: center; }\n\n/* ===== List ===== */\n.list-none { list-style: none; }\n.list-disc { list-style-type: disc; }\n.list-decimal { list-style-type: decimal; }\n\n/* ===== Visibility ===== */\n.visible { visibility: visible; }\n.invisible { visibility: hidden; }\n\n/* ===== Aspect Ratio ===== */\n.aspect-square { aspect-ratio: 1 / 1; }\n.aspect-video { aspect-ratio: 16 / 9; }\n\n/* ===== Scrollbar ===== */\n.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }\n.scrollbar-hide::-webkit-scrollbar { display: none; }\n",document.head.appendChild(e)}();const li=({position:o,theme:s,defaultOpen:c,onOpen:l,onClose:d,onTransaction:u})=>{const{account:f,chainId:p}=zt(),[m,h]=i(c);a(()=>{c&&l&&l()},[]),a(()=>{if("undefined"==typeof window)return;const e=document.body,n=document.documentElement,t=e.style.overscrollBehavior,o=n.style.overscrollBehavior,i=e.style.overflow;return m&&(e.style.overscrollBehavior="none",n.style.overscrollBehavior="none",e.style.overflow="hidden"),()=>{e.style.overscrollBehavior=t,n.style.overscrollBehavior=o,e.style.overflow=i}},[m]);const w=r(()=>{h(!0),l?.()},[l]),g=r(()=>{h(!1),d?.()},[d]),A=r(()=>{m?g():w()},[m,w,g]),y={position:"fixed",["bottom-right"===o?"right":"left"]:s.offset?.x??20,bottom:s.offset?.y??20,zIndex:s.zIndex??9999};return Pn(f?.address||"")&&p?/* @__PURE__ */t("div",{style:y,role:"complementary","aria-label":"Chat widget",children:[
|
|
63
63
|
/* @__PURE__ */e(b,{buttonSize:s.buttonSize,onClick:A}),
|
|
64
64
|
/* @__PURE__ */e(si,{isOpen:m,onClose:g,onTransaction:u,position:o,modalChatStyle:s.modalChatStyle})]}):/* @__PURE__ */e(n,{})},di=({position:n="bottom-right",theme:t={},defaultOpen:o=!1,onOpen:i,onClose:a,account:r,onTransaction:s,language:c="en",rpcUrls:l})=>"undefined"==typeof window?null:/* @__PURE__ */e(oo,{initialConfig:{position:n,theme:t,rpcUrls:l},children:/* @__PURE__ */e(jt,{initialAccount:r,children:/* @__PURE__ */e(h,{initialLanguage:c,children:/* @__PURE__ */e(li,{position:n,theme:t,defaultOpen:o,onOpen:i,onClose:a,onTransaction:s})})})});export{di as ChatWidget};
|