keyring-chatbot-agent-sdk-test 0.1.5 → 0.1.6
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-wc.es.js +6174 -6134
- package/dist/chat-widget-wc.umd.js +108 -102
- package/dist/chat-widget.es.js +2542 -2502
- package/dist/chat-widget.umd.js +68 -62
- package/package.json +1 -1
package/dist/chat-widget.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document<"u"){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:14px;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:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e5e7}.chat-modal-header-left{display:flex;align-items:center;gap:12px}.keyring-logo{width:32px;height:32px}.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{background:#fff;padding:12px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #e5e5e7}.user-avatar{width:20px;height:20px;border-radius:50%}.user-avatar img{border-radius:50%}.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:20px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px}.date-separator{text-align:center;font-size:12px;font-weight:600;color:#666;background:#e5e5e7;padding:6px 16px;border-radius:12px;align-self:center;width:fit-content;margin:8px auto}.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:10px 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:10px 16px;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;padding:12px 16px;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:12px 16px;border-radius:16px;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:16px 20px;background:#fff;border-top:1px solid #e5e5e7;display:flex;flex-direction:column;gap:12px;box-shadow:0 -5px 8px 4px #0000000d}.reply-preview{background:#f5f5f7;padding:10px 14px;border-radius:6px;border-left:3px solid #5b7fff;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.reply-preview-content{flex:1;min-width:0}.reply-preview-label{font-size:11px;color:#5b7fff;font-weight:600;margin-bottom:4px}.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:24px;outline:none;font-size:16px;color:#1a1a1d;transition:all .2s}.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:44px;height:44px;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: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}.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}.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)}")),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
|
-
(function(wt,P){typeof exports=="object"&&typeof module<"u"?P(exports,require("react/jsx-runtime"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react"],P):(wt=typeof globalThis<"u"?globalThis:wt||self,P(wt.ChatWidgetSDK={},wt.jsxRuntime,wt.React))})(this,(function(wt,P,
|
|
2
|
+
(function(wt,P){typeof exports=="object"&&typeof module<"u"?P(exports,require("react/jsx-runtime"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react"],P):(wt=typeof globalThis<"u"?globalThis:wt||self,P(wt.ChatWidgetSDK={},wt.jsxRuntime,wt.React))})(this,(function(wt,P,ne){"use strict";const Ws="data:image/png;base64,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",mo={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 (0x + 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:
|
|
3
3
|
|
|
4
4
|
Spendable: {balance} {symbol}`,swapFeeWarning:`
|
|
5
5
|
⚠️ **Insufficient {symbol} for fees!**
|
|
@@ -21,14 +21,14 @@ Please review and fill in the recipient address below:`,nftCollectionHeader:`You
|
|
|
21
21
|
|
|
22
22
|
And {count} more NFTs...`,nftSelectBelow:`
|
|
23
23
|
|
|
24
|
-
Select an NFT below to send`,nftNoCollection:"You don't have any NFTs in your wallet on this chain.",nftNotFoundInWallet:`I couldn't find "{name}" in your NFT collection. Here are your NFTs:`,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:`
|
|
24
|
+
Select 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. Here are your NFTs:`,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:`
|
|
25
25
|
Is 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}:
|
|
26
26
|
|
|
27
27
|
{list}
|
|
28
28
|
|
|
29
29
|
Select a token to interact with:`,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}",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!",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! 🚀**
|
|
30
30
|
You're connected and ready to explore DeFi! I can help you trade, check prices, and analyze your portfolio when you need it.`,sendOtherNfts:`
|
|
31
|
-
If you want to send other NFTs, please provide the contract address,
|
|
31
|
+
If you want to send other NFTs, please provide the contract address, NFT ID`},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文字の16進数)",formMustBePositive:"正の数値を入力してください",formMustBeValidNumber:"有効な数値を入力してください",openChat:"チャットを開く",openChatTitle:"チャットサポートを開く",walletBalanceSpendable:"これは {chain} チェーン上のウォレットの利用可能な残高です。この取引に使用するコインを選択してください。",walletNoTokensFound:"申し訳ありませんが、{chain} チェーン上のウォレットにトークンが見つかりませんでした。取引するためのトークンを保有しているかご確認ください。",walletFetchFailed:"ウォレット残高を取得できませんでした。もう一度お試しください。",walletFetchError:"ウォレット残高の取得中にエラーが発生しました。",insufficientFeeToken:"手数料が不足しています。取引手数料をカバーするのに十分な {symbol} を保有しているか、別のトークンを選択してください。",selectAmountOf:`使用する {symbol} の数量を選択してください:
|
|
32
32
|
|
|
33
33
|
利用可能: {balance} {symbol}`,swapFeeWarning:`
|
|
34
34
|
⚠️ **手数料の {symbol} が不足しています!**
|
|
@@ -44,20 +44,20 @@ If you want to send other NFTs, please provide the contract address, token ID`},
|
|
|
44
44
|
|
|
45
45
|
利用可能: {balance} {symbol}`,couldNotLoadTokenList:"⚠️ トークンリストを読み込めませんでした。受け取り希望のトークンを指定してください。",trendingTokensForReceive:"📈 {chain} チェーンのトレンドトークン。受け取りたいトークンを選択するか、入力してください:",txProcessing:"⏳ トランザクション処理中... ウォレットで承認してください。",txConfirmedSwap:"✅ トランザクションが確認されました!スワップが完了しました。",txRevertedSwap:"❌ オンチェーンでトランザクションがリバートされました。もう一度お試しください。",txSuccessfulSwap:"✅ トランザクションに成功しました!スワップが完了しました。",txDataNotAvailable:"⚠️ トランザクションデータが利用できません。",approvalDataNotAvailable:"⚠️ 承認データが利用できません。",approving:"{symbol} を承認中... ウォレットで確認してください。",approvalSuccess:"✅ {symbol} の承認に成功しました!",approvalConfirmSwap:"これでスワップを実行できます。",confirmSwapButton:"スワップを確定する",approvalFailed:"❌ 承認に失敗しました。もう一度お試しください。",couldNotFetchBalance:"⚠️ ウォレット残高を取得できませんでした。",couldNotLoadBalance:"⚠️ 残高を読み込めませんでした。もう一度お試しください。",couldNotFetchBalanceRetry:"⚠️ 残高を取得できませんでした。もう一度お試しください。",nftSendReview:`📤 **{name}** ({standard} #{tokenId}) を送信
|
|
46
46
|
|
|
47
|
-
内容を確認し、以下に受信者のアドレスを入力してください:`,nftCollectionHeader
|
|
47
|
+
内容を確認し、以下に受信者のアドレスを入力してください:`,nftCollectionHeader:`您的 NFT 资产:
|
|
48
48
|
|
|
49
|
-
{list}`,
|
|
49
|
+
{list}`,nftMoreItems:`
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
以及其他 {count} 件 NFT...`,nftSelectBelow:`
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
请在下方选择要发送的 NFT`,nftNoCollection:"このチェーン上のウォレットにNFTは見つかりませんでした。",nftMultipleMatchesForTokenId:"ウォレット内にToken ID #{tokenId} のNFTが{count}件見つかりました。送信したいNFTを選択してください:",nftNotFoundInWallet:'あなたのNFTコレクションの中に "{name}" が見つかりませんでした。保有中のNFTはこちらです:',nftFetchError:"申し訳ありませんが、NFTの取得中にエラーが発生しました。",trendingTokensHeader:"📈 {chain} チェーンで現在価格が上昇中のトレンドトークン一覧です:",trendingTokensQuestion:`
|
|
54
54
|
購入したいトークンはありますか?`,trendingTokensError:"トレンドトークンの取得中にエラーが発生しました。",errorProcessingRequest:"リクエストの処理中にエラーが発生しました。",buttonBuyWith:"{symbol} で購入",buttonUsePercent:"{symbol} の {percent}% を使用",buttonBuyToken:"{name} ({symbol}) を購入",buttonSendNft:"{name} を送信",buttonSwapTo:"{name} ({symbol}) にスワップ",buttonBuySymbol:"{symbol} を購入",viewBalancesLoading:"ウォレットの残高を取得中...",viewBalancesHeader:`{chain} 上のトークン残高:
|
|
55
55
|
|
|
56
56
|
{list}
|
|
57
57
|
|
|
58
58
|
操作するトークンを選択してください:`,viewBalancesEmpty:"このチェーン上のウォレットにトークンは見つかりませんでした。",viewBalancesFetchError:"残高の取得中にエラーが発生しました。",buttonSendToken:"{symbol} を送信",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コレクションを表示します!",sendTokenChoose:"どのトークンを送信しますか?",sendNftChoose:"どのNFTを送信しますか?",swapChooseToken:"どのトークンをスワップしますか?現在の残高はこちらです:",spendable:"利用可能",welcomeMessage:`**ようこそ! 🚀**
|
|
59
59
|
接続が完了し、DeFiを探索する準備が整いました!トレード、価格チェック、ポートフォリオ分析など、いつでもお手伝いします。`,sendOtherNfts:`
|
|
60
|
-
|
|
60
|
+
他のNFTを送信する場合は、コントラクトアドレスとNFTIDを入力してください`},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} 数量:
|
|
61
61
|
|
|
62
62
|
可用余额: {balance} {symbol}`,swapFeeWarning:`
|
|
63
63
|
⚠️ **手续费所需的 {symbol} 不足!**
|
|
@@ -73,32 +73,32 @@ If you want to send other NFTs, please provide the contract address, token ID`},
|
|
|
73
73
|
|
|
74
74
|
可用余额: {balance} {symbol}`,couldNotLoadTokenList:"⚠️ 无法加载代币列表。请指定目标代币。",trendingTokensForReceive:"📈 {chain} 链上的热门代币。请选择您想收到的代币或输入代币名称:",txProcessing:"⏳ 交易处理中... 请在钱包中确认。",txConfirmedSwap:"✅ 交易已确认!您的兑换已完成。",txRevertedSwap:"❌ 交易在链上被退回。请重试。",txSuccessfulSwap:"✅ 交易成功!您的兑换已完成。",txDataNotAvailable:"⚠️ 交易数据不可用。",approvalDataNotAvailable:"⚠️ 授权数据不可用。",approving:"正在授权 {symbol}... 请在钱包中确认。",approvalSuccess:"✅ {symbol} 授权成功!",approvalConfirmSwap:"现在您可以执行兑换了。",confirmSwapButton:"确认兑换",approvalFailed:"❌ 授权失败。请重试。",couldNotFetchBalance:"⚠️ 无法获取您的钱包余额。",couldNotLoadBalance:"⚠️ 无法加载余额。请重试。",couldNotFetchBalanceRetry:"⚠️ 无法获取您的余额。请重试。",nftSendReview:`📤 发送 **{name}** ({standard} #{tokenId})
|
|
75
75
|
|
|
76
|
-
请核对并在下方填写接收者地址:`,nftCollectionHeader
|
|
76
|
+
请核对并在下方填写接收者地址:`,nftCollectionHeader:`保有中のNFT一覧 :
|
|
77
77
|
|
|
78
|
-
{list}`,
|
|
78
|
+
{list}`,nftMoreItems:`
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
他 {count} 件のNFT...`,nftSelectBelow:`
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
送信するNFTを以下から選択してください`,nftNoCollection:"您在该链的钱包中没有任何 NFT。",nftMultipleMatchesForTokenId:"在您的钱包中找到了 {count} 个 Token ID #{tokenId} 的 NFT。请选择您要发送的 NFT:",nftNotFoundInWallet:'我在您的 NFT 收藏中没找到 "{name}"。以下是您的 NFT:',nftFetchError:"抱歉,获取您的 NFT 时出错。",trendingTokensHeader:"📈 以下是 {chain} 链上目前呈上升趋势的热门代币列表",trendingTokensQuestion:`
|
|
83
83
|
有您想购买的代币吗?`,trendingTokensError:"抱歉,获取热门代币时出错。",errorProcessingRequest:"抱歉,处理您的请求时出错。",buttonBuyWith:"使用 {symbol} 购买",buttonUsePercent:"使用 {percent}% 的 {symbol}",buttonBuyToken:"购买 {name} ({symbol})",buttonSendNft:"发送 {name}",buttonSwapTo:"兑换为 {name} ({symbol})",buttonBuySymbol:"购买 {symbol}",viewBalancesLoading:"正在获取您的钱包余额...",viewBalancesHeader:`您在 {chain} 上的代币余额:
|
|
84
84
|
|
|
85
85
|
{list}
|
|
86
86
|
|
|
87
87
|
选择一个代币进行操作:`,viewBalancesEmpty:"您在该链的钱包中没有任何代币。",viewBalancesFetchError:"抱歉,获取您的余额时出错。",buttonSendToken:"发送 {symbol}",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 收藏!",sendTokenChoose:"您想发送哪个代币?",sendNftChoose:"您想发送哪个 NFT?",swapChooseToken:"您想兑换哪个代币?以下是您的当前余额:",spendable:"可用余额",welcomeMessage:`**欢迎! 🚀**
|
|
88
88
|
您已连接并准备好探索 DeFi!我可以帮您进行交易、查询价格,并在需要时分析您的资产组合。`,sendOtherNfts:`
|
|
89
|
-
|
|
90
|
-
`);super(r,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=s,this.docsPath=o,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=wo}walk(t){return bo(this,t)}}function bo(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?bo(e.cause,t):t?null:e}class Bn extends fe{constructor({max:t,min:n,signed:s,size:o,value:a}){super(`Number "${a}" is not in safe ${o?`${o*8}-bit ${s?"signed":"unsigned"} `:""}integer range ${t?`(${n} to ${t})`:`(above ${n})`}`,{name:"IntegerOutOfRangeError"})}}class Js extends fe{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed ${n} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}function Ot(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function Je(e){return Ot(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function ln(e,{dir:t="left"}={}){let n=typeof e=="string"?e.replace("0x",""):e,s=0;for(let o=0;o<n.length-1&&n[t==="left"?o:n.length-o-1].toString()==="0";o++)s++;return n=t==="left"?n.slice(s):n.slice(0,n.length-s),typeof e=="string"?(n.length===1&&t==="right"&&(n=`${n}0`),`0x${n.length%2===1?`0${n}`:n}`):n}class yo extends fe{constructor({offset:t,position:n,size:s}){super(`Slice ${n==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${s}).`,{name:"SliceOffsetOutOfBoundsError"})}}class Ao extends fe{constructor({size:t,targetSize:n,type:s}){super(`${s.charAt(0).toUpperCase()}${s.slice(1).toLowerCase()} size (${t}) exceeds padding size (${n}).`,{name:"SizeExceedsPaddingSizeError"})}}function Dt(e,{dir:t,size:n=32}={}){return typeof e=="string"?bt(e,{dir:t,size:n}):zs(e,{dir:t,size:n})}function bt(e,{dir:t,size:n=32}={}){if(n===null)return e;const s=e.replace("0x","");if(s.length>n*2)throw new Ao({size:Math.ceil(s.length/2),targetSize:n,type:"hex"});return`0x${s[t==="right"?"padEnd":"padStart"](n*2,"0")}`}function zs(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new Ao({size:e.length,targetSize:n,type:"bytes"});const s=new Uint8Array(n);for(let o=0;o<n;o++){const a=t==="right";s[a?o:n-o-1]=e[a?o:e.length-o-1]}return s}const js=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Lt(e,t={}){return typeof e=="number"||typeof e=="bigint"?ue(e,t):typeof e=="string"?vo(e,t):typeof e=="boolean"?ko(e,t):ft(e,t)}function ko(e,t={}){const n=`0x${Number(e)}`;return typeof t.size=="number"?(Ut(n,{size:t.size}),Dt(n,{size:t.size})):n}function ft(e,t={}){let n="";for(let o=0;o<e.length;o++)n+=js[e[o]];const s=`0x${n}`;return typeof t.size=="number"?(Ut(s,{size:t.size}),Dt(s,{dir:"right",size:t.size})):s}function ue(e,t={}){const{signed:n,size:s}=t,o=BigInt(e);let a;s?n?a=(1n<<BigInt(s)*8n-1n)-1n:a=2n**(BigInt(s)*8n)-1n:typeof e=="number"&&(a=BigInt(Number.MAX_SAFE_INTEGER));const r=typeof a=="bigint"&&n?-a-1n:0;if(a&&o>a||o<r){const l=typeof e=="bigint"?"n":"";throw new Bn({max:a?`${a}${l}`:void 0,min:`${r}${l}`,signed:n,size:s,value:`${e}${l}`})}const i=`0x${(n&&o<0?(1n<<BigInt(s*8))+BigInt(o):o).toString(16)}`;return s?Dt(i,{size:s}):i}const qs=new TextEncoder;function vo(e,t={}){const n=qs.encode(e);return ft(n,t)}const Qs=new TextEncoder;function Fn(e,t={}){return typeof e=="number"||typeof e=="bigint"?Xs(e,t):typeof e=="boolean"?Ks(e,t):Ot(e)?Ct(e,t):Co(e,t)}function Ks(e,t={}){const n=new Uint8Array(1);return n[0]=Number(e),typeof t.size=="number"?(Ut(n,{size:t.size}),Dt(n,{size:t.size})):n}const pt={zero:48,nine:57,A:65,F:70,a:97,f:102};function To(e){if(e>=pt.zero&&e<=pt.nine)return e-pt.zero;if(e>=pt.A&&e<=pt.F)return e-(pt.A-10);if(e>=pt.a&&e<=pt.f)return e-(pt.a-10)}function Ct(e,t={}){let n=e;t.size&&(Ut(n,{size:t.size}),n=Dt(n,{dir:"right",size:t.size}));let s=n.slice(2);s.length%2&&(s=`0${s}`);const o=s.length/2,a=new Uint8Array(o);for(let r=0,i=0;r<o;r++){const l=To(s.charCodeAt(i++)),y=To(s.charCodeAt(i++));if(l===void 0||y===void 0)throw new fe(`Invalid byte sequence ("${s[i-2]}${s[i-1]}" in "${s}").`);a[r]=l*16+y}return a}function Xs(e,t){const n=ue(e,t);return Ct(n)}function Co(e,t={}){const n=Qs.encode(e);return typeof t.size=="number"?(Ut(n,{size:t.size}),Dt(n,{dir:"right",size:t.size})):n}function Ut(e,{size:t}){if(Je(e)>t)throw new Js({givenSize:Je(e),maxSize:t})}function Mt(e,t={}){const{signed:n}=t;t.size&&Ut(e,{size:t.size});const s=BigInt(e);if(!n)return s;const o=(e.length-2)/2,a=(1n<<BigInt(o)*8n-1n)-1n;return s<=a?s:s-BigInt(`0x${"f".padStart(o*2,"f")}`)-1n}function dn(e,t={}){const n=Mt(e,t),s=Number(n);if(!Number.isSafeInteger(s))throw new Bn({max:`${Number.MAX_SAFE_INTEGER}`,min:`${Number.MIN_SAFE_INTEGER}`,signed:t.signed,size:t.size,value:`${n}n`});return s}function Pn(e,t){return({exclude:n,format:s})=>({exclude:n,format:(o,a)=>{const r=t(o,a);if(n)for(const i of n)delete r[i];return{...r,...s(o,a)}},type:e})}const Eo={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function On(e,t){const n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?dn(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?dn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?Eo[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&&(n.authorizationList=_s(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v=="bigint"){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return n.v%2n===0n?1:0}})(),n.type==="legacy"&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type==="eip2930"&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type==="eip1559"&&delete n.maxFeePerBlobGas,n}const Zs=Pn("transaction",On);function _s(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function $s(e,t){const n=(e.transactions??[]).map(s=>typeof s=="string"?s:On(s));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:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const ea=Pn("block",$s);function ta(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}const na={"0x0":"reverted","0x1":"success"};function oa(e,t){const n={...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(s=>ta(s)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?dn(e.transactionIndex):null,status:e.status?na[e.status]:null,type:e.type?Eo[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}const sa=Pn("transactionReceipt",oa),aa={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function ra(e,t){const n={};return typeof e.authorizationList<"u"&&(n.authorizationList=ia(e.authorizationList)),typeof e.accessList<"u"&&(n.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(n.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?n.blobs=e.blobs.map(s=>ft(s)):n.blobs=e.blobs),typeof e.data<"u"&&(n.data=e.data),e.account&&(n.from=e.account.address),typeof e.from<"u"&&(n.from=e.from),typeof e.gas<"u"&&(n.gas=ue(e.gas)),typeof e.gasPrice<"u"&&(n.gasPrice=ue(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(n.maxFeePerBlobGas=ue(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(n.maxFeePerGas=ue(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(n.maxPriorityFeePerGas=ue(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(n.nonce=ue(e.nonce)),typeof e.to<"u"&&(n.to=e.to),typeof e.type<"u"&&(n.type=aa[e.type]),typeof e.value<"u"&&(n.value=ue(e.value)),n}function ia(e){return e.map(t=>({address:t.address,r:t.r?ue(BigInt(t.r)):t.r,s:t.s?ue(BigInt(t.s)):t.s,chainId:ue(t.chainId),nonce:ue(t.nonce),...typeof t.yParity<"u"?{yParity:ue(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:ue(t.v)}:{}}))}const Rt=2n**256n-1n;function Ht(e){return typeof e[0]=="string"?Et(e):ca(e)}function ca(e){let t=0;for(const o of e)t+=o.length;const n=new Uint8Array(t);let s=0;for(const o of e)n.set(o,s),s+=o.length;return n}function Et(e){return`0x${e.reduce((t,n)=>t+n.replace("0x",""),"")}`}class So extends fe{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class la extends fe{constructor({length:t,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class da extends fe{constructor({count:t,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const ua={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new da({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new la({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new So({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new So({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},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,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function xo(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(ua);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}function St(e,t="hex"){const n=Io(e),s=xo(new Uint8Array(n.length));return n.encode(s),t==="hex"?ft(s.bytes):s.bytes}function Io(e){return Array.isArray(e)?fa(e.map(t=>Io(t))):pa(e)}function fa(e){const t=e.reduce((o,a)=>o+a.length,0),n=No(t);return{length:t<=55?1+t:1+n+t,encode(o){t<=55?o.pushByte(192+t):(o.pushByte(247+n),n===1?o.pushUint8(t):n===2?o.pushUint16(t):n===3?o.pushUint24(t):o.pushUint32(t));for(const{encode:a}of e)a(o)}}}function pa(e){const t=typeof e=="string"?Ct(e):e,n=No(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(o){t.length===1&&t[0]<128?o.pushBytes(t):t.length<=55?(o.pushByte(128+t.length),o.pushBytes(t)):(o.pushByte(183+n),n===1?o.pushUint8(t.length):n===2?o.pushUint16(t.length):n===3?o.pushUint24(t.length):o.pushUint32(t.length),o.pushBytes(t))}}}function No(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new fe("Length is too large.")}const ma={gwei:9,wei:18},ha={ether:-9,wei:9};function Le(e,t){let n=e.toString();const s=n.startsWith("-");s&&(n=n.slice(1)),n=n.padStart(t,"0");let[o,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,""),`${s?"-":""}${o||"0"}${a?`.${a}`:""}`}function ga(e,t="wei"){return Le(e,ma[t])}function xt(e,t="wei"){return Le(e,ha[t])}function Bo(e){const t=Object.entries(e).map(([s,o])=>o===void 0||o===!1?null:[s,o]).filter(Boolean),n=t.reduce((s,[o])=>Math.max(s,o.length),0);return t.map(([s,o])=>` ${`${s}:`.padEnd(n+1)} ${o}`).join(`
|
|
91
|
-
`)}class wa extends fe{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class ba extends fe{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Bo(t),"}","","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 ya extends fe{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}function Aa(e){if(!e||e.length===0)return[];const t=[];for(const n of e){const{chainId:s,nonce:o,...a}=n,r=n.address;t.push([s?Lt(s):"0x",r,o?Lt(o):"0x",...Kt({},a)])}return t}function Fo(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),s=typeof e.blobs[0]=="string"?e.blobs.map(a=>Ct(a)):e.blobs,o=[];for(const a of s)o.push(Uint8Array.from(t.blobToKzgCommitment(a)));return n==="bytes"?o:o.map(a=>ft(a))}function Po(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),s=typeof e.blobs[0]=="string"?e.blobs.map(r=>Ct(r)):e.blobs,o=typeof e.commitments[0]=="string"?e.commitments.map(r=>Ct(r)):e.commitments,a=[];for(let r=0;r<s.length;r++){const i=s[r],l=o[r];a.push(Uint8Array.from(t.computeBlobKzgProof(i,l)))}return n==="bytes"?a:a.map(r=>ft(r))}function ka(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Oo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function zt(e,...t){if(!ka(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function un(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Do(e,t){zt(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function va(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function jt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Dn(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function rt(e,t){return e<<32-t|e>>>t}const Ta=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ca(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Ea(e){for(let t=0;t<e.length;t++)e[t]=Ca(e[t]);return e}const Lo=Ta?e=>e:Ea;function Sa(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Ln(e){return typeof e=="string"&&(e=Sa(e)),zt(e),e}class Uo{}function Mo(e){const t=s=>e().update(Ln(s)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function xa(e,t,n,s){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,s);const o=BigInt(32),a=BigInt(4294967295),r=Number(n>>o&a),i=Number(n&a),l=s?4:0,y=s?0:4;e.setUint32(t+l,r,s),e.setUint32(t+y,i,s)}function Ia(e,t,n){return e&t^~e&n}function Na(e,t,n){return e&t^e&n^t&n}class Ba extends Uo{constructor(t,n,s,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=n,this.padOffset=s,this.isLE=o,this.buffer=new Uint8Array(t),this.view=Dn(this.buffer)}update(t){un(this),t=Ln(t),zt(t);const{view:n,buffer:s,blockLen:o}=this,a=t.length;for(let r=0;r<a;){const i=Math.min(o-this.pos,a-r);if(i===o){const l=Dn(t);for(;o<=a-r;r+=o)this.process(l,r);continue}s.set(t.subarray(r,r+i),this.pos),this.pos+=i,r+=i,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){un(this),Do(t,this),this.finished=!0;const{buffer:n,view:s,blockLen:o,isLE:a}=this;let{pos:r}=this;n[r++]=128,jt(this.buffer.subarray(r)),this.padOffset>o-r&&(this.process(s,0),r=0);for(let j=r;j<o;j++)n[j]=0;xa(s,o-8,BigInt(this.length*8),a),this.process(s,0);const i=Dn(t),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const y=l/4,D=this.get();if(y>D.length)throw new Error("_sha2: outputLen bigger than state");for(let j=0;j<y;j++)i.setUint32(4*j,D[j],a)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const s=t.slice(0,n);return this.destroy(),s}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:s,length:o,finished:a,destroyed:r,pos:i}=this;return t.destroyed=r,t.finished=a,t.length=o,t.pos=i,o%n&&t.buffer.set(s),t}clone(){return this._cloneInto()}}const yt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),fn=BigInt(2**32-1),Ro=BigInt(32);function Fa(e,t=!1){return t?{h:Number(e&fn),l:Number(e>>Ro&fn)}:{h:Number(e>>Ro&fn)|0,l:Number(e&fn)|0}}function Pa(e,t=!1){const n=e.length;let s=new Uint32Array(n),o=new Uint32Array(n);for(let a=0;a<n;a++){const{h:r,l:i}=Fa(e[a],t);[s[a],o[a]]=[r,i]}return[s,o]}const Oa=(e,t,n)=>e<<n|t>>>32-n,Da=(e,t,n)=>t<<n|e>>>32-n,La=(e,t,n)=>t<<n-32|e>>>64-n,Ua=(e,t,n)=>e<<n-32|t>>>64-n,Ma=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]),At=new Uint32Array(64);class Ra extends Ba{constructor(t=32){super(64,t,8,!1),this.A=yt[0]|0,this.B=yt[1]|0,this.C=yt[2]|0,this.D=yt[3]|0,this.E=yt[4]|0,this.F=yt[5]|0,this.G=yt[6]|0,this.H=yt[7]|0}get(){const{A:t,B:n,C:s,D:o,E:a,F:r,G:i,H:l}=this;return[t,n,s,o,a,r,i,l]}set(t,n,s,o,a,r,i,l){this.A=t|0,this.B=n|0,this.C=s|0,this.D=o|0,this.E=a|0,this.F=r|0,this.G=i|0,this.H=l|0}process(t,n){for(let j=0;j<16;j++,n+=4)At[j]=t.getUint32(n,!1);for(let j=16;j<64;j++){const k=At[j-15],x=At[j-2],B=rt(k,7)^rt(k,18)^k>>>3,S=rt(x,17)^rt(x,19)^x>>>10;At[j]=S+At[j-7]+B+At[j-16]|0}let{A:s,B:o,C:a,D:r,E:i,F:l,G:y,H:D}=this;for(let j=0;j<64;j++){const k=rt(i,6)^rt(i,11)^rt(i,25),x=D+k+Ia(i,l,y)+Ma[j]+At[j]|0,S=(rt(s,2)^rt(s,13)^rt(s,22))+Na(s,o,a)|0;D=y,y=l,l=i,i=r+x|0,r=a,a=o,o=s,s=x+S|0}s=s+this.A|0,o=o+this.B|0,a=a+this.C|0,r=r+this.D|0,i=i+this.E|0,l=l+this.F|0,y=y+this.G|0,D=D+this.H|0,this.set(s,o,a,r,i,l,y,D)}roundClean(){jt(At)}destroy(){this.set(0,0,0,0,0,0,0,0),jt(this.buffer)}}const Ha=Mo(()=>new Ra);function Wa(e,t){return Ha(Ot(e,{strict:!1})?Fn(e):e)}function Va(e){const{commitment:t,version:n=1}=e,s=e.to??(typeof t=="string"?"hex":"bytes"),o=Wa(t);return o.set([n],0),s==="bytes"?o:ft(o)}function Ga(e){const{commitments:t,version:n}=e,s=e.to??(typeof t[0]=="string"?"hex":"bytes"),o=[];for(const a of t)o.push(Va({commitment:a,to:s,version:n}));return o}const Ho=6,Wo=32,Un=4096,Vo=Wo*Un,Go=Vo*Ho-1-1*Un*Ho,Yo=1;class Ya extends fe{constructor({maxSize:t,size:n}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${n} bytes`],name:"BlobSizeTooLargeError"})}}class Jo extends fe{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class Ja extends fe{constructor({hash:t,size:n}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${n}`],name:"InvalidVersionedHashSizeError"})}}class za extends fe{constructor({hash:t,version:n}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${Yo}`,`Received: ${n}`],name:"InvalidVersionedHashVersionError"})}}function ja(e){const t=e.to??(typeof e.data=="string"?"hex":"bytes"),n=typeof e.data=="string"?Ct(e.data):e.data,s=Je(n);if(!s)throw new Jo;if(s>Go)throw new Ya({maxSize:Go,size:s});const o=[];let a=!0,r=0;for(;a;){const i=xo(new Uint8Array(Vo));let l=0;for(;l<Un;){const y=n.slice(r,r+(Wo-1));if(i.pushByte(0),i.pushBytes(y),y.length<31){i.pushByte(128),a=!1;break}l++,r+=31}o.push(i)}return t==="bytes"?o.map(i=>i.bytes):o.map(i=>ft(i.bytes))}function qa(e){const{data:t,kzg:n,to:s}=e,o=e.blobs??ja({data:t,to:s}),a=e.commitments??Fo({blobs:o,kzg:n,to:s}),r=e.proofs??Po({blobs:o,commitments:a,kzg:n,to:s}),i=[];for(let l=0;l<o.length;l++)i.push({blob:o[l],commitment:a[l],proof:r[l]});return i}class it extends fe{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class pn extends fe{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}class Wt extends fe{constructor({cause:t,message:n}={}){const s=n?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${s?`with reason: ${s}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}}Object.defineProperty(Wt,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Wt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});class It extends fe{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${xt(n)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(It,"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 Mn extends fe{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${xt(n)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}}Object.defineProperty(Mn,"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 Rn extends fe{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}}Object.defineProperty(Rn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class Hn extends fe{constructor({cause:t,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(`
|
|
92
|
-
`),{cause:t,name:"NonceTooLowError"})}}Object.defineProperty(Hn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class Wn extends
|
|
93
|
-
`),{cause:t,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(Vn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class Gn extends
|
|
94
|
-
`),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(qt,"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 zo extends fe{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}class jo extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const n=super.get(t);return super.has(t)&&n!==void 0&&(this.delete(t),super.set(t,n)),n}set(t,n){if(super.set(t,n),this.maxSize&&this.size>this.maxSize){const s=this.keys().next().value;s&&this.delete(s)}return this}}const Qa=BigInt(0),Qt=BigInt(1),Ka=BigInt(2),Xa=BigInt(7),Za=BigInt(256),_a=BigInt(113),qo=[],Qo=[],Ko=[];for(let e=0,t=Qt,n=1,s=0;e<24;e++){[n,s]=[s,(2*n+3*s)%5],qo.push(2*(5*s+n)),Qo.push((e+1)*(e+2)/2%64);let o=Qa;for(let a=0;a<7;a++)t=(t<<Qt^(t>>Xa)*_a)%Za,t&Ka&&(o^=Qt<<(Qt<<BigInt(a))-Qt);Ko.push(o)}const Xo=Pa(Ko,!0),$a=Xo[0],er=Xo[1],Zo=(e,t,n)=>n>32?La(e,t,n):Oa(e,t,n),_o=(e,t,n)=>n>32?Ua(e,t,n):Da(e,t,n);function tr(e,t=24){const n=new Uint32Array(10);for(let s=24-t;s<24;s++){for(let r=0;r<10;r++)n[r]=e[r]^e[r+10]^e[r+20]^e[r+30]^e[r+40];for(let r=0;r<10;r+=2){const i=(r+8)%10,l=(r+2)%10,y=n[l],D=n[l+1],j=Zo(y,D,1)^n[i],k=_o(y,D,1)^n[i+1];for(let x=0;x<50;x+=10)e[r+x]^=j,e[r+x+1]^=k}let o=e[2],a=e[3];for(let r=0;r<24;r++){const i=Qo[r],l=Zo(o,a,i),y=_o(o,a,i),D=qo[r];o=e[D],a=e[D+1],e[D]=l,e[D+1]=y}for(let r=0;r<50;r+=10){for(let i=0;i<10;i++)n[i]=e[r+i];for(let i=0;i<10;i++)e[r+i]^=~n[(i+2)%10]&n[(i+4)%10]}e[0]^=$a[s],e[1]^=er[s]}jt(n)}class zn extends Uo{constructor(t,n,s,o=!1,a=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=n,this.outputLen=s,this.enableXOF=o,this.rounds=a,Oo(s),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=va(this.state)}clone(){return this._cloneInto()}keccak(){Lo(this.state32),tr(this.state32,this.rounds),Lo(this.state32),this.posOut=0,this.pos=0}update(t){un(this),t=Ln(t),zt(t);const{blockLen:n,state:s}=this,o=t.length;for(let a=0;a<o;){const r=Math.min(n-this.pos,o-a);for(let i=0;i<r;i++)s[this.pos++]^=t[a++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:s,blockLen:o}=this;t[s]^=n,(n&128)!==0&&s===o-1&&this.keccak(),t[o-1]^=128,this.keccak()}writeInto(t){un(this,!1),zt(t),this.finish();const n=this.state,{blockLen:s}=this;for(let o=0,a=t.length;o<a;){this.posOut>=s&&this.keccak();const r=Math.min(s-this.posOut,a-o);t.set(n.subarray(this.posOut,this.posOut+r),o),this.posOut+=r,o+=r}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Oo(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Do(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,jt(this.state)}_cloneInto(t){const{blockLen:n,suffix:s,outputLen:o,rounds:a,enableXOF:r}=this;return t||(t=new zn(n,s,o,r,a)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=s,t.outputLen=o,t.enableXOF=r,t.destroyed=this.destroyed,t}}const nr=(e,t,n)=>Mo(()=>new zn(t,e,n)),or=nr(1,136,256/8);function $o(e,t){const n=t||"hex",s=or(Ot(e,{strict:!1})?Fn(e):e);return n==="bytes"?s:Lt(s)}const jn=new jo(8192);function sr(e,t){if(jn.has(`${e}.${t}`))return jn.get(`${e}.${t}`);const n=e.substring(2).toLowerCase(),s=$o(Co(n),"bytes"),o=n.split("");for(let r=0;r<40;r+=2)s[r>>1]>>4>=8&&o[r]&&(o[r]=o[r].toUpperCase()),(s[r>>1]&15)>=8&&o[r+1]&&(o[r+1]=o[r+1].toUpperCase());const a=`0x${o.join("")}`;return jn.set(`${e}.${t}`,a),a}const ar=/^0x[a-fA-F0-9]{40}$/,qn=new jo(8192);function Re(e,t){const{strict:n=!0}=t??{},s=`${e}.${n}`;if(qn.has(s))return qn.get(s);const o=ar.test(e)?e.toLowerCase()===e?!0:n?sr(e)===e:!0:!1;return qn.set(s,o),o}function Qn(e,t,n,{strict:s}={}){return Ot(e,{strict:!1})?ir(e,t,n,{strict:s}):rr(e,t,n,{strict:s})}function es(e,t){if(typeof t=="number"&&t>0&&t>Je(e)-1)throw new yo({offset:t,position:"start",size:Je(e)})}function ts(e,t,n){if(typeof t=="number"&&typeof n=="number"&&Je(e)!==n-t)throw new yo({offset:n,position:"end",size:Je(e)})}function rr(e,t,n,{strict:s}={}){es(e,t);const o=e.slice(t,n);return s&&ts(o,t,n),o}function ir(e,t,n,{strict:s}={}){es(e,t);const o=`0x${e.replace("0x","").slice((t??0)*2,(n??e.length)*2)}`;return s&&ts(o,t,n),o}function cr(e){const{authorizationList:t}=e;if(t)for(const n of t){const{chainId:s}=n,o=n.address;if(!Re(o))throw new it({address:o});if(s<0)throw new pn({chainId:s})}Kn(e)}function lr(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Jo;for(const n of t){const s=Je(n),o=dn(Qn(n,0,1));if(s!==32)throw new Ja({hash:n,size:s});if(o!==Yo)throw new za({hash:n,version:o})}}Kn(e)}function Kn(e){const{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:s,to:o}=e;if(t<=0)throw new pn({chainId:t});if(o&&!Re(o))throw new it({address:o});if(s&&s>Rt)throw new It({maxFeePerGas:s});if(n&&s&&n>s)throw new qt({maxFeePerGas:s,maxPriorityFeePerGas:n})}function dr(e){const{chainId:t,maxPriorityFeePerGas:n,gasPrice:s,maxFeePerGas:o,to:a}=e;if(t<=0)throw new pn({chainId:t});if(a&&!Re(a))throw new it({address:a});if(n||o)throw new fe("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(s&&s>Rt)throw new It({maxFeePerGas:s})}function ur(e){const{chainId:t,maxPriorityFeePerGas:n,gasPrice:s,maxFeePerGas:o,to:a}=e;if(a&&!Re(a))throw new it({address:a});if(typeof t<"u"&&t<=0)throw new pn({chainId:t});if(n||o)throw new fe("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(s&&s>Rt)throw new It({maxFeePerGas:s})}function fr(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new ba({transaction:e})}function mn(e){if(!e||e.length===0)return[];const t=[];for(let n=0;n<e.length;n++){const{address:s,storageKeys:o}=e[n];for(let a=0;a<o.length;a++)if(o[a].length-2!==64)throw new ya({storageKey:o[a]});if(!Re(s,{strict:!1}))throw new it({address:s});t.push([s,o])}return t}function pr(e,t){const n=fr(e);return n==="eip1559"?gr(e,t):n==="eip2930"?wr(e,t):n==="eip4844"?hr(e,t):n==="eip7702"?mr(e,t):br(e,t)}function mr(e,t){const{authorizationList:n,chainId:s,gas:o,nonce:a,to:r,value:i,maxFeePerGas:l,maxPriorityFeePerGas:y,accessList:D,data:j}=e;cr(e);const k=mn(D),x=Aa(n);return Et(["0x04",St([ue(s),a?ue(a):"0x",y?ue(y):"0x",l?ue(l):"0x",o?ue(o):"0x",r??"0x",i?ue(i):"0x",j??"0x",k,x,...Kt(e,t)])])}function hr(e,t){const{chainId:n,gas:s,nonce:o,to:a,value:r,maxFeePerBlobGas:i,maxFeePerGas:l,maxPriorityFeePerGas:y,accessList:D,data:j}=e;lr(e);let k=e.blobVersionedHashes,x=e.sidecars;if(e.blobs&&(typeof k>"u"||typeof x>"u")){const z=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(we=>ft(we)),Q=e.kzg,pe=Fo({blobs:z,kzg:Q});if(typeof k>"u"&&(k=Ga({commitments:pe})),typeof x>"u"){const we=Po({blobs:z,commitments:pe,kzg:Q});x=qa({blobs:z,commitments:pe,proofs:we})}}const B=mn(D),S=[ue(n),o?ue(o):"0x",y?ue(y):"0x",l?ue(l):"0x",s?ue(s):"0x",a??"0x",r?ue(r):"0x",j??"0x",B,i?ue(i):"0x",k??[],...Kt(e,t)],T=[],me=[],A=[];if(x)for(let z=0;z<x.length;z++){const{blob:Q,commitment:pe,proof:we}=x[z];T.push(Q),me.push(pe),A.push(we)}return Et(["0x03",St(x?[S,T,me,A]:S)])}function gr(e,t){const{chainId:n,gas:s,nonce:o,to:a,value:r,maxFeePerGas:i,maxPriorityFeePerGas:l,accessList:y,data:D}=e;Kn(e);const j=mn(y),k=[ue(n),o?ue(o):"0x",l?ue(l):"0x",i?ue(i):"0x",s?ue(s):"0x",a??"0x",r?ue(r):"0x",D??"0x",j,...Kt(e,t)];return Et(["0x02",St(k)])}function wr(e,t){const{chainId:n,gas:s,data:o,nonce:a,to:r,value:i,accessList:l,gasPrice:y}=e;dr(e);const D=mn(l),j=[ue(n),a?ue(a):"0x",y?ue(y):"0x",s?ue(s):"0x",r??"0x",i?ue(i):"0x",o??"0x",D,...Kt(e,t)];return Et(["0x01",St(j)])}function br(e,t){const{chainId:n=0,gas:s,data:o,nonce:a,to:r,value:i,gasPrice:l}=e;ur(e);let y=[a?ue(a):"0x",l?ue(l):"0x",s?ue(s):"0x",r??"0x",i?ue(i):"0x",o??"0x"];if(t){const D=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);const x=27n+(t.v===27n?0n:1n);if(t.v!==x)throw new wa({v:t.v});return x})(),j=ln(t.r),k=ln(t.s);y=[...y,ue(D),j==="0x00"?"0x":j,k==="0x00"?"0x":k]}else n>0&&(y=[...y,ue(n),"0x","0x"]);return St(y)}function Kt(e,t){const n=t??e,{v:s,yParity:o}=n;if(typeof n.r>"u")return[];if(typeof n.s>"u")return[];if(typeof s>"u"&&typeof o>"u")return[];const a=ln(n.r),r=ln(n.s);return[typeof o=="number"?o?ue(1):"0x":s===0n?"0x":s===1n?ue(1):s===27n?"0x":ue(1),a==="0x00"?"0x":a,r==="0x00"?"0x":r]}const yr={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},Ar={block:ea({format(e){return{transactions:e.transactions?.map(n=>{if(typeof n=="string")return n;const s=On(n);return s.typeHex==="0x7e"&&(s.isSystemTx=n.isSystemTx,s.mint=n.mint?Mt(n.mint):void 0,s.sourceHash=n.sourceHash,s.type="deposit"),s}),stateRoot:e.stateRoot}}}),transaction:Zs({format(e){const t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?Mt(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:sa({format(e){return{l1GasPrice:e.l1GasPrice?Mt(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?Mt(e.l1GasUsed):null,l1Fee:e.l1Fee?Mt(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};function kr(e,t){return Cr(e)?Tr(e):pr(e,t)}const vr={transaction:kr};function Tr(e){Er(e);const{sourceHash:t,data:n,from:s,gas:o,isSystemTx:a,mint:r,to:i,value:l}=e,y=[t,s,i??"0x",r?Lt(r):"0x",l?Lt(l):"0x",o?Lt(o):"0x",a?"0x1":"0x",n??"0x"];return Et(["0x7e",St(y)])}function Cr(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function Er(e){const{from:t,to:n}=e;if(t&&!Re(t))throw new it({address:t});if(n&&!Re(n))throw new it({address:n})}const hn={blockTime:2e3,contracts:yr,formatters:Ar,serializers:vr},Sr=ut({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}}}),xr=ut({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}}}),Xt=1,ns=ut({...hn,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:{...hn.contracts,disputeGameFactory:{[Xt]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[Xt]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[Xt]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[Xt]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:Xt});({...ns});const Ir=ut({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 Xn(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}class Nr extends fe{constructor({docsPath:t}={}){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(`
|
|
95
|
-
`),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}}function
|
|
96
|
-
`),{name:"AbiEncodingArrayLengthMismatchError"})}}class Pr extends
|
|
97
|
-
`),{name:"AbiEncodingLengthMismatchError"})}}class ss extends
|
|
98
|
-
`),{docsPath:n,name:"AbiFunctionNotFoundError"})}}class Dr extends
|
|
99
|
-
`),{docsPath:n,name:"InvalidAbiEncodingType"})}}class Ur extends
|
|
100
|
-
`),{name:"InvalidArrayError"})}}class Mr extends
|
|
101
|
-
`),{name:"InvalidDefinitionTypeError"})}}const Rr=e=>$o(Fn(e));function Hr(e){return Rr(e)}function Wr(e,t){return e.exec(t)?.groups}const as=/^tuple(?<array>(\[(\d*)\])*)$/;function
|
|
89
|
+
如果您想发送其他 NFT,请提供合约地址和 NFT ID`}};function ho(e,t){return mo[t]?.[e]??mo.en[e]??e}function Vs(e,t){return e.replace(/\{(\w+)\}/g,(n,s)=>t[s]??`{${s}}`)}const go=ne.createContext(void 0),Gs=({children:e,initialLanguage:t="en"})=>{const[n,s]=ne.useState(t);ne.useEffect(()=>{t&&s(t)},[t]);const o=ne.useCallback(r=>ho(r,n),[n]),a=ne.useCallback((r,i)=>Vs(ho(r,n),i),[n]);return P.jsx(go.Provider,{value:{language:n,setLanguage:s,t:o,ti:a},children:e})},cn=()=>{const e=ne.useContext(go);if(!e)throw new Error("useLanguage must be used within a LanguageProvider");return e},Ys=ne.memo(({onClick:e,buttonSize:t=56})=>{const{t:n}=cn(),s=o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),e())};return P.jsx("button",{className:"chat-button",onClick:e,onKeyDown:s,"aria-label":n("openChat"),title:n("openChatTitle"),type:"button",children:P.jsx("img",{src:Ws,width:t,height:t,alt:"Ask AI"})})});function ut(e){const t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(s){return o=>{const a=typeof o=="function"?o(s):o,r={...s,...a};return Object.assign(r,{extend:n(r)})}}return Object.assign(t,{extend:n(t)})}const wo="2.46.3";let Nn={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:n})=>t?`${e??"https://viem.sh"}${t}${n?`#${n}`:""}`:void 0,version:`viem@${wo}`};class me extends Error{constructor(t,n={}){const s=n.cause instanceof me?n.cause.details:n.cause?.message?n.cause.message:n.details,o=n.cause instanceof me&&n.cause.docsPath||n.docsPath,a=Nn.getDocsUrl?.({...n,docsPath:o}),r=[t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...a?[`Docs: ${a}`]:[],...s?[`Details: ${s}`]:[],...Nn.version?[`Version: ${Nn.version}`]:[]].join(`
|
|
90
|
+
`);super(r,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=s,this.docsPath=o,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=wo}walk(t){return bo(this,t)}}function bo(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?bo(e.cause,t):t?null:e}class Bn extends me{constructor({max:t,min:n,signed:s,size:o,value:a}){super(`Number "${a}" is not in safe ${o?`${o*8}-bit ${s?"signed":"unsigned"} `:""}integer range ${t?`(${n} to ${t})`:`(above ${n})`}`,{name:"IntegerOutOfRangeError"})}}class Js extends me{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed ${n} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}function Ot(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function Je(e){return Ot(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function ln(e,{dir:t="left"}={}){let n=typeof e=="string"?e.replace("0x",""):e,s=0;for(let o=0;o<n.length-1&&n[t==="left"?o:n.length-o-1].toString()==="0";o++)s++;return n=t==="left"?n.slice(s):n.slice(0,n.length-s),typeof e=="string"?(n.length===1&&t==="right"&&(n=`${n}0`),`0x${n.length%2===1?`0${n}`:n}`):n}class yo extends me{constructor({offset:t,position:n,size:s}){super(`Slice ${n==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${s}).`,{name:"SliceOffsetOutOfBoundsError"})}}class Ao extends me{constructor({size:t,targetSize:n,type:s}){super(`${s.charAt(0).toUpperCase()}${s.slice(1).toLowerCase()} size (${t}) exceeds padding size (${n}).`,{name:"SizeExceedsPaddingSizeError"})}}function Dt(e,{dir:t,size:n=32}={}){return typeof e=="string"?bt(e,{dir:t,size:n}):zs(e,{dir:t,size:n})}function bt(e,{dir:t,size:n=32}={}){if(n===null)return e;const s=e.replace("0x","");if(s.length>n*2)throw new Ao({size:Math.ceil(s.length/2),targetSize:n,type:"hex"});return`0x${s[t==="right"?"padEnd":"padStart"](n*2,"0")}`}function zs(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new Ao({size:e.length,targetSize:n,type:"bytes"});const s=new Uint8Array(n);for(let o=0;o<n;o++){const a=t==="right";s[a?o:n-o-1]=e[a?o:e.length-o-1]}return s}const js=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Lt(e,t={}){return typeof e=="number"||typeof e=="bigint"?pe(e,t):typeof e=="string"?vo(e,t):typeof e=="boolean"?ko(e,t):ft(e,t)}function ko(e,t={}){const n=`0x${Number(e)}`;return typeof t.size=="number"?(Ut(n,{size:t.size}),Dt(n,{size:t.size})):n}function ft(e,t={}){let n="";for(let o=0;o<e.length;o++)n+=js[e[o]];const s=`0x${n}`;return typeof t.size=="number"?(Ut(s,{size:t.size}),Dt(s,{dir:"right",size:t.size})):s}function pe(e,t={}){const{signed:n,size:s}=t,o=BigInt(e);let a;s?n?a=(1n<<BigInt(s)*8n-1n)-1n:a=2n**(BigInt(s)*8n)-1n:typeof e=="number"&&(a=BigInt(Number.MAX_SAFE_INTEGER));const r=typeof a=="bigint"&&n?-a-1n:0;if(a&&o>a||o<r){const l=typeof e=="bigint"?"n":"";throw new Bn({max:a?`${a}${l}`:void 0,min:`${r}${l}`,signed:n,size:s,value:`${e}${l}`})}const i=`0x${(n&&o<0?(1n<<BigInt(s*8))+BigInt(o):o).toString(16)}`;return s?Dt(i,{size:s}):i}const qs=new TextEncoder;function vo(e,t={}){const n=qs.encode(e);return ft(n,t)}const Qs=new TextEncoder;function Fn(e,t={}){return typeof e=="number"||typeof e=="bigint"?Xs(e,t):typeof e=="boolean"?Ks(e,t):Ot(e)?Ct(e,t):Co(e,t)}function Ks(e,t={}){const n=new Uint8Array(1);return n[0]=Number(e),typeof t.size=="number"?(Ut(n,{size:t.size}),Dt(n,{size:t.size})):n}const pt={zero:48,nine:57,A:65,F:70,a:97,f:102};function To(e){if(e>=pt.zero&&e<=pt.nine)return e-pt.zero;if(e>=pt.A&&e<=pt.F)return e-(pt.A-10);if(e>=pt.a&&e<=pt.f)return e-(pt.a-10)}function Ct(e,t={}){let n=e;t.size&&(Ut(n,{size:t.size}),n=Dt(n,{dir:"right",size:t.size}));let s=n.slice(2);s.length%2&&(s=`0${s}`);const o=s.length/2,a=new Uint8Array(o);for(let r=0,i=0;r<o;r++){const l=To(s.charCodeAt(i++)),y=To(s.charCodeAt(i++));if(l===void 0||y===void 0)throw new me(`Invalid byte sequence ("${s[i-2]}${s[i-1]}" in "${s}").`);a[r]=l*16+y}return a}function Xs(e,t){const n=pe(e,t);return Ct(n)}function Co(e,t={}){const n=Qs.encode(e);return typeof t.size=="number"?(Ut(n,{size:t.size}),Dt(n,{dir:"right",size:t.size})):n}function Ut(e,{size:t}){if(Je(e)>t)throw new Js({givenSize:Je(e),maxSize:t})}function Mt(e,t={}){const{signed:n}=t;t.size&&Ut(e,{size:t.size});const s=BigInt(e);if(!n)return s;const o=(e.length-2)/2,a=(1n<<BigInt(o)*8n-1n)-1n;return s<=a?s:s-BigInt(`0x${"f".padStart(o*2,"f")}`)-1n}function dn(e,t={}){const n=Mt(e,t),s=Number(n);if(!Number.isSafeInteger(s))throw new Bn({max:`${Number.MAX_SAFE_INTEGER}`,min:`${Number.MIN_SAFE_INTEGER}`,signed:t.signed,size:t.size,value:`${n}n`});return s}function Pn(e,t){return({exclude:n,format:s})=>({exclude:n,format:(o,a)=>{const r=t(o,a);if(n)for(const i of n)delete r[i];return{...r,...s(o,a)}},type:e})}const Eo={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function On(e,t){const n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?dn(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?dn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?Eo[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&&(n.authorizationList=Zs(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v=="bigint"){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return n.v%2n===0n?1:0}})(),n.type==="legacy"&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type==="eip2930"&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type==="eip1559"&&delete n.maxFeePerBlobGas,n}const _s=Pn("transaction",On);function Zs(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function $s(e,t){const n=(e.transactions??[]).map(s=>typeof s=="string"?s:On(s));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:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const ea=Pn("block",$s);function ta(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}const na={"0x0":"reverted","0x1":"success"};function oa(e,t){const n={...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(s=>ta(s)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?dn(e.transactionIndex):null,status:e.status?na[e.status]:null,type:e.type?Eo[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}const sa=Pn("transactionReceipt",oa),aa={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function ra(e,t){const n={};return typeof e.authorizationList<"u"&&(n.authorizationList=ia(e.authorizationList)),typeof e.accessList<"u"&&(n.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(n.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?n.blobs=e.blobs.map(s=>ft(s)):n.blobs=e.blobs),typeof e.data<"u"&&(n.data=e.data),e.account&&(n.from=e.account.address),typeof e.from<"u"&&(n.from=e.from),typeof e.gas<"u"&&(n.gas=pe(e.gas)),typeof e.gasPrice<"u"&&(n.gasPrice=pe(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(n.maxFeePerBlobGas=pe(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(n.maxFeePerGas=pe(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(n.maxPriorityFeePerGas=pe(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(n.nonce=pe(e.nonce)),typeof e.to<"u"&&(n.to=e.to),typeof e.type<"u"&&(n.type=aa[e.type]),typeof e.value<"u"&&(n.value=pe(e.value)),n}function ia(e){return e.map(t=>({address:t.address,r:t.r?pe(BigInt(t.r)):t.r,s:t.s?pe(BigInt(t.s)):t.s,chainId:pe(t.chainId),nonce:pe(t.nonce),...typeof t.yParity<"u"?{yParity:pe(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:pe(t.v)}:{}}))}const Rt=2n**256n-1n;function Ht(e){return typeof e[0]=="string"?Et(e):ca(e)}function ca(e){let t=0;for(const o of e)t+=o.length;const n=new Uint8Array(t);let s=0;for(const o of e)n.set(o,s),s+=o.length;return n}function Et(e){return`0x${e.reduce((t,n)=>t+n.replace("0x",""),"")}`}class So extends me{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class la extends me{constructor({length:t,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class da extends me{constructor({count:t,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const ua={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new da({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new la({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new So({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new So({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},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,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function xo(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(ua);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}function St(e,t="hex"){const n=Io(e),s=xo(new Uint8Array(n.length));return n.encode(s),t==="hex"?ft(s.bytes):s.bytes}function Io(e){return Array.isArray(e)?fa(e.map(t=>Io(t))):pa(e)}function fa(e){const t=e.reduce((o,a)=>o+a.length,0),n=No(t);return{length:t<=55?1+t:1+n+t,encode(o){t<=55?o.pushByte(192+t):(o.pushByte(247+n),n===1?o.pushUint8(t):n===2?o.pushUint16(t):n===3?o.pushUint24(t):o.pushUint32(t));for(const{encode:a}of e)a(o)}}}function pa(e){const t=typeof e=="string"?Ct(e):e,n=No(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(o){t.length===1&&t[0]<128?o.pushBytes(t):t.length<=55?(o.pushByte(128+t.length),o.pushBytes(t)):(o.pushByte(183+n),n===1?o.pushUint8(t.length):n===2?o.pushUint16(t.length):n===3?o.pushUint24(t.length):o.pushUint32(t.length),o.pushBytes(t))}}}function No(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new me("Length is too large.")}const ma={gwei:9,wei:18},ha={ether:-9,wei:9};function Le(e,t){let n=e.toString();const s=n.startsWith("-");s&&(n=n.slice(1)),n=n.padStart(t,"0");let[o,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,""),`${s?"-":""}${o||"0"}${a?`.${a}`:""}`}function ga(e,t="wei"){return Le(e,ma[t])}function xt(e,t="wei"){return Le(e,ha[t])}function Bo(e){const t=Object.entries(e).map(([s,o])=>o===void 0||o===!1?null:[s,o]).filter(Boolean),n=t.reduce((s,[o])=>Math.max(s,o.length),0);return t.map(([s,o])=>` ${`${s}:`.padEnd(n+1)} ${o}`).join(`
|
|
91
|
+
`)}class wa extends me{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class ba extends me{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Bo(t),"}","","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 ya extends me{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}function Aa(e){if(!e||e.length===0)return[];const t=[];for(const n of e){const{chainId:s,nonce:o,...a}=n,r=n.address;t.push([s?Lt(s):"0x",r,o?Lt(o):"0x",...Kt({},a)])}return t}function Fo(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),s=typeof e.blobs[0]=="string"?e.blobs.map(a=>Ct(a)):e.blobs,o=[];for(const a of s)o.push(Uint8Array.from(t.blobToKzgCommitment(a)));return n==="bytes"?o:o.map(a=>ft(a))}function Po(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),s=typeof e.blobs[0]=="string"?e.blobs.map(r=>Ct(r)):e.blobs,o=typeof e.commitments[0]=="string"?e.commitments.map(r=>Ct(r)):e.commitments,a=[];for(let r=0;r<s.length;r++){const i=s[r],l=o[r];a.push(Uint8Array.from(t.computeBlobKzgProof(i,l)))}return n==="bytes"?a:a.map(r=>ft(r))}function ka(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Oo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function zt(e,...t){if(!ka(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function un(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Do(e,t){zt(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function va(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function jt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Dn(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function rt(e,t){return e<<32-t|e>>>t}const Ta=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ca(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Ea(e){for(let t=0;t<e.length;t++)e[t]=Ca(e[t]);return e}const Lo=Ta?e=>e:Ea;function Sa(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Ln(e){return typeof e=="string"&&(e=Sa(e)),zt(e),e}class Uo{}function Mo(e){const t=s=>e().update(Ln(s)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function xa(e,t,n,s){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,s);const o=BigInt(32),a=BigInt(4294967295),r=Number(n>>o&a),i=Number(n&a),l=s?4:0,y=s?0:4;e.setUint32(t+l,r,s),e.setUint32(t+y,i,s)}function Ia(e,t,n){return e&t^~e&n}function Na(e,t,n){return e&t^e&n^t&n}class Ba extends Uo{constructor(t,n,s,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=n,this.padOffset=s,this.isLE=o,this.buffer=new Uint8Array(t),this.view=Dn(this.buffer)}update(t){un(this),t=Ln(t),zt(t);const{view:n,buffer:s,blockLen:o}=this,a=t.length;for(let r=0;r<a;){const i=Math.min(o-this.pos,a-r);if(i===o){const l=Dn(t);for(;o<=a-r;r+=o)this.process(l,r);continue}s.set(t.subarray(r,r+i),this.pos),this.pos+=i,r+=i,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){un(this),Do(t,this),this.finished=!0;const{buffer:n,view:s,blockLen:o,isLE:a}=this;let{pos:r}=this;n[r++]=128,jt(this.buffer.subarray(r)),this.padOffset>o-r&&(this.process(s,0),r=0);for(let z=r;z<o;z++)n[z]=0;xa(s,o-8,BigInt(this.length*8),a),this.process(s,0);const i=Dn(t),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const y=l/4,D=this.get();if(y>D.length)throw new Error("_sha2: outputLen bigger than state");for(let z=0;z<y;z++)i.setUint32(4*z,D[z],a)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const s=t.slice(0,n);return this.destroy(),s}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:s,length:o,finished:a,destroyed:r,pos:i}=this;return t.destroyed=r,t.finished=a,t.length=o,t.pos=i,o%n&&t.buffer.set(s),t}clone(){return this._cloneInto()}}const yt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),fn=BigInt(2**32-1),Ro=BigInt(32);function Fa(e,t=!1){return t?{h:Number(e&fn),l:Number(e>>Ro&fn)}:{h:Number(e>>Ro&fn)|0,l:Number(e&fn)|0}}function Pa(e,t=!1){const n=e.length;let s=new Uint32Array(n),o=new Uint32Array(n);for(let a=0;a<n;a++){const{h:r,l:i}=Fa(e[a],t);[s[a],o[a]]=[r,i]}return[s,o]}const Oa=(e,t,n)=>e<<n|t>>>32-n,Da=(e,t,n)=>t<<n|e>>>32-n,La=(e,t,n)=>t<<n-32|e>>>64-n,Ua=(e,t,n)=>e<<n-32|t>>>64-n,Ma=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]),At=new Uint32Array(64);class Ra extends Ba{constructor(t=32){super(64,t,8,!1),this.A=yt[0]|0,this.B=yt[1]|0,this.C=yt[2]|0,this.D=yt[3]|0,this.E=yt[4]|0,this.F=yt[5]|0,this.G=yt[6]|0,this.H=yt[7]|0}get(){const{A:t,B:n,C:s,D:o,E:a,F:r,G:i,H:l}=this;return[t,n,s,o,a,r,i,l]}set(t,n,s,o,a,r,i,l){this.A=t|0,this.B=n|0,this.C=s|0,this.D=o|0,this.E=a|0,this.F=r|0,this.G=i|0,this.H=l|0}process(t,n){for(let z=0;z<16;z++,n+=4)At[z]=t.getUint32(n,!1);for(let z=16;z<64;z++){const k=At[z-15],x=At[z-2],B=rt(k,7)^rt(k,18)^k>>>3,S=rt(x,17)^rt(x,19)^x>>>10;At[z]=S+At[z-7]+B+At[z-16]|0}let{A:s,B:o,C:a,D:r,E:i,F:l,G:y,H:D}=this;for(let z=0;z<64;z++){const k=rt(i,6)^rt(i,11)^rt(i,25),x=D+k+Ia(i,l,y)+Ma[z]+At[z]|0,S=(rt(s,2)^rt(s,13)^rt(s,22))+Na(s,o,a)|0;D=y,y=l,l=i,i=r+x|0,r=a,a=o,o=s,s=x+S|0}s=s+this.A|0,o=o+this.B|0,a=a+this.C|0,r=r+this.D|0,i=i+this.E|0,l=l+this.F|0,y=y+this.G|0,D=D+this.H|0,this.set(s,o,a,r,i,l,y,D)}roundClean(){jt(At)}destroy(){this.set(0,0,0,0,0,0,0,0),jt(this.buffer)}}const Ha=Mo(()=>new Ra);function Wa(e,t){return Ha(Ot(e,{strict:!1})?Fn(e):e)}function Va(e){const{commitment:t,version:n=1}=e,s=e.to??(typeof t=="string"?"hex":"bytes"),o=Wa(t);return o.set([n],0),s==="bytes"?o:ft(o)}function Ga(e){const{commitments:t,version:n}=e,s=e.to??(typeof t[0]=="string"?"hex":"bytes"),o=[];for(const a of t)o.push(Va({commitment:a,to:s,version:n}));return o}const Ho=6,Wo=32,Un=4096,Vo=Wo*Un,Go=Vo*Ho-1-1*Un*Ho,Yo=1;class Ya extends me{constructor({maxSize:t,size:n}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${n} bytes`],name:"BlobSizeTooLargeError"})}}class Jo extends me{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class Ja extends me{constructor({hash:t,size:n}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${n}`],name:"InvalidVersionedHashSizeError"})}}class za extends me{constructor({hash:t,version:n}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${Yo}`,`Received: ${n}`],name:"InvalidVersionedHashVersionError"})}}function ja(e){const t=e.to??(typeof e.data=="string"?"hex":"bytes"),n=typeof e.data=="string"?Ct(e.data):e.data,s=Je(n);if(!s)throw new Jo;if(s>Go)throw new Ya({maxSize:Go,size:s});const o=[];let a=!0,r=0;for(;a;){const i=xo(new Uint8Array(Vo));let l=0;for(;l<Un;){const y=n.slice(r,r+(Wo-1));if(i.pushByte(0),i.pushBytes(y),y.length<31){i.pushByte(128),a=!1;break}l++,r+=31}o.push(i)}return t==="bytes"?o.map(i=>i.bytes):o.map(i=>ft(i.bytes))}function qa(e){const{data:t,kzg:n,to:s}=e,o=e.blobs??ja({data:t,to:s}),a=e.commitments??Fo({blobs:o,kzg:n,to:s}),r=e.proofs??Po({blobs:o,commitments:a,kzg:n,to:s}),i=[];for(let l=0;l<o.length;l++)i.push({blob:o[l],commitment:a[l],proof:r[l]});return i}class it extends me{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class pn extends me{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}class Wt extends me{constructor({cause:t,message:n}={}){const s=n?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${s?`with reason: ${s}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}}Object.defineProperty(Wt,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Wt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});class It extends me{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${xt(n)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(It,"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 Mn extends me{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${xt(n)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}}Object.defineProperty(Mn,"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 Rn extends me{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}}Object.defineProperty(Rn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class Hn extends me{constructor({cause:t,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(`
|
|
92
|
+
`),{cause:t,name:"NonceTooLowError"})}}Object.defineProperty(Hn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class Wn extends me{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}exceeds the maximum allowed nonce.`,{cause:t,name:"NonceMaxValueError"})}}Object.defineProperty(Wn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class Vn extends me{constructor({cause:t}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
|
|
93
|
+
`),{cause:t,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(Vn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class Gn extends me{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:t,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(Gn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class Yn extends me{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction is too low.`,{cause:t,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(Yn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class Jn extends me{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(Jn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class qt extends me{constructor({cause:t,maxPriorityFeePerGas:n,maxFeePerGas:s}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${n?` = ${xt(n)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${s?` = ${xt(s)} gwei`:""}).`].join(`
|
|
94
|
+
`),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(qt,"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 zo extends me{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}class jo extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const n=super.get(t);return super.has(t)&&n!==void 0&&(this.delete(t),super.set(t,n)),n}set(t,n){if(super.set(t,n),this.maxSize&&this.size>this.maxSize){const s=this.keys().next().value;s&&this.delete(s)}return this}}const Qa=BigInt(0),Qt=BigInt(1),Ka=BigInt(2),Xa=BigInt(7),_a=BigInt(256),Za=BigInt(113),qo=[],Qo=[],Ko=[];for(let e=0,t=Qt,n=1,s=0;e<24;e++){[n,s]=[s,(2*n+3*s)%5],qo.push(2*(5*s+n)),Qo.push((e+1)*(e+2)/2%64);let o=Qa;for(let a=0;a<7;a++)t=(t<<Qt^(t>>Xa)*Za)%_a,t&Ka&&(o^=Qt<<(Qt<<BigInt(a))-Qt);Ko.push(o)}const Xo=Pa(Ko,!0),$a=Xo[0],er=Xo[1],_o=(e,t,n)=>n>32?La(e,t,n):Oa(e,t,n),Zo=(e,t,n)=>n>32?Ua(e,t,n):Da(e,t,n);function tr(e,t=24){const n=new Uint32Array(10);for(let s=24-t;s<24;s++){for(let r=0;r<10;r++)n[r]=e[r]^e[r+10]^e[r+20]^e[r+30]^e[r+40];for(let r=0;r<10;r+=2){const i=(r+8)%10,l=(r+2)%10,y=n[l],D=n[l+1],z=_o(y,D,1)^n[i],k=Zo(y,D,1)^n[i+1];for(let x=0;x<50;x+=10)e[r+x]^=z,e[r+x+1]^=k}let o=e[2],a=e[3];for(let r=0;r<24;r++){const i=Qo[r],l=_o(o,a,i),y=Zo(o,a,i),D=qo[r];o=e[D],a=e[D+1],e[D]=l,e[D+1]=y}for(let r=0;r<50;r+=10){for(let i=0;i<10;i++)n[i]=e[r+i];for(let i=0;i<10;i++)e[r+i]^=~n[(i+2)%10]&n[(i+4)%10]}e[0]^=$a[s],e[1]^=er[s]}jt(n)}class zn extends Uo{constructor(t,n,s,o=!1,a=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=n,this.outputLen=s,this.enableXOF=o,this.rounds=a,Oo(s),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=va(this.state)}clone(){return this._cloneInto()}keccak(){Lo(this.state32),tr(this.state32,this.rounds),Lo(this.state32),this.posOut=0,this.pos=0}update(t){un(this),t=Ln(t),zt(t);const{blockLen:n,state:s}=this,o=t.length;for(let a=0;a<o;){const r=Math.min(n-this.pos,o-a);for(let i=0;i<r;i++)s[this.pos++]^=t[a++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:s,blockLen:o}=this;t[s]^=n,(n&128)!==0&&s===o-1&&this.keccak(),t[o-1]^=128,this.keccak()}writeInto(t){un(this,!1),zt(t),this.finish();const n=this.state,{blockLen:s}=this;for(let o=0,a=t.length;o<a;){this.posOut>=s&&this.keccak();const r=Math.min(s-this.posOut,a-o);t.set(n.subarray(this.posOut,this.posOut+r),o),this.posOut+=r,o+=r}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Oo(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Do(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,jt(this.state)}_cloneInto(t){const{blockLen:n,suffix:s,outputLen:o,rounds:a,enableXOF:r}=this;return t||(t=new zn(n,s,o,r,a)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=s,t.outputLen=o,t.enableXOF=r,t.destroyed=this.destroyed,t}}const nr=(e,t,n)=>Mo(()=>new zn(t,e,n)),or=nr(1,136,256/8);function $o(e,t){const n=t||"hex",s=or(Ot(e,{strict:!1})?Fn(e):e);return n==="bytes"?s:Lt(s)}const jn=new jo(8192);function sr(e,t){if(jn.has(`${e}.${t}`))return jn.get(`${e}.${t}`);const n=e.substring(2).toLowerCase(),s=$o(Co(n),"bytes"),o=n.split("");for(let r=0;r<40;r+=2)s[r>>1]>>4>=8&&o[r]&&(o[r]=o[r].toUpperCase()),(s[r>>1]&15)>=8&&o[r+1]&&(o[r+1]=o[r+1].toUpperCase());const a=`0x${o.join("")}`;return jn.set(`${e}.${t}`,a),a}const ar=/^0x[a-fA-F0-9]{40}$/,qn=new jo(8192);function Re(e,t){const{strict:n=!0}=t??{},s=`${e}.${n}`;if(qn.has(s))return qn.get(s);const o=ar.test(e)?e.toLowerCase()===e?!0:n?sr(e)===e:!0:!1;return qn.set(s,o),o}function Qn(e,t,n,{strict:s}={}){return Ot(e,{strict:!1})?ir(e,t,n,{strict:s}):rr(e,t,n,{strict:s})}function es(e,t){if(typeof t=="number"&&t>0&&t>Je(e)-1)throw new yo({offset:t,position:"start",size:Je(e)})}function ts(e,t,n){if(typeof t=="number"&&typeof n=="number"&&Je(e)!==n-t)throw new yo({offset:n,position:"end",size:Je(e)})}function rr(e,t,n,{strict:s}={}){es(e,t);const o=e.slice(t,n);return s&&ts(o,t,n),o}function ir(e,t,n,{strict:s}={}){es(e,t);const o=`0x${e.replace("0x","").slice((t??0)*2,(n??e.length)*2)}`;return s&&ts(o,t,n),o}function cr(e){const{authorizationList:t}=e;if(t)for(const n of t){const{chainId:s}=n,o=n.address;if(!Re(o))throw new it({address:o});if(s<0)throw new pn({chainId:s})}Kn(e)}function lr(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Jo;for(const n of t){const s=Je(n),o=dn(Qn(n,0,1));if(s!==32)throw new Ja({hash:n,size:s});if(o!==Yo)throw new za({hash:n,version:o})}}Kn(e)}function Kn(e){const{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:s,to:o}=e;if(t<=0)throw new pn({chainId:t});if(o&&!Re(o))throw new it({address:o});if(s&&s>Rt)throw new It({maxFeePerGas:s});if(n&&s&&n>s)throw new qt({maxFeePerGas:s,maxPriorityFeePerGas:n})}function dr(e){const{chainId:t,maxPriorityFeePerGas:n,gasPrice:s,maxFeePerGas:o,to:a}=e;if(t<=0)throw new pn({chainId:t});if(a&&!Re(a))throw new it({address:a});if(n||o)throw new me("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(s&&s>Rt)throw new It({maxFeePerGas:s})}function ur(e){const{chainId:t,maxPriorityFeePerGas:n,gasPrice:s,maxFeePerGas:o,to:a}=e;if(a&&!Re(a))throw new it({address:a});if(typeof t<"u"&&t<=0)throw new pn({chainId:t});if(n||o)throw new me("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(s&&s>Rt)throw new It({maxFeePerGas:s})}function fr(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new ba({transaction:e})}function mn(e){if(!e||e.length===0)return[];const t=[];for(let n=0;n<e.length;n++){const{address:s,storageKeys:o}=e[n];for(let a=0;a<o.length;a++)if(o[a].length-2!==64)throw new ya({storageKey:o[a]});if(!Re(s,{strict:!1}))throw new it({address:s});t.push([s,o])}return t}function pr(e,t){const n=fr(e);return n==="eip1559"?gr(e,t):n==="eip2930"?wr(e,t):n==="eip4844"?hr(e,t):n==="eip7702"?mr(e,t):br(e,t)}function mr(e,t){const{authorizationList:n,chainId:s,gas:o,nonce:a,to:r,value:i,maxFeePerGas:l,maxPriorityFeePerGas:y,accessList:D,data:z}=e;cr(e);const k=mn(D),x=Aa(n);return Et(["0x04",St([pe(s),a?pe(a):"0x",y?pe(y):"0x",l?pe(l):"0x",o?pe(o):"0x",r??"0x",i?pe(i):"0x",z??"0x",k,x,...Kt(e,t)])])}function hr(e,t){const{chainId:n,gas:s,nonce:o,to:a,value:r,maxFeePerBlobGas:i,maxFeePerGas:l,maxPriorityFeePerGas:y,accessList:D,data:z}=e;lr(e);let k=e.blobVersionedHashes,x=e.sidecars;if(e.blobs&&(typeof k>"u"||typeof x>"u")){const J=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(we=>ft(we)),Q=e.kzg,he=Fo({blobs:J,kzg:Q});if(typeof k>"u"&&(k=Ga({commitments:he})),typeof x>"u"){const we=Po({blobs:J,commitments:he,kzg:Q});x=qa({blobs:J,commitments:he,proofs:we})}}const B=mn(D),S=[pe(n),o?pe(o):"0x",y?pe(y):"0x",l?pe(l):"0x",s?pe(s):"0x",a??"0x",r?pe(r):"0x",z??"0x",B,i?pe(i):"0x",k??[],...Kt(e,t)],v=[],ge=[],A=[];if(x)for(let J=0;J<x.length;J++){const{blob:Q,commitment:he,proof:we}=x[J];v.push(Q),ge.push(he),A.push(we)}return Et(["0x03",St(x?[S,v,ge,A]:S)])}function gr(e,t){const{chainId:n,gas:s,nonce:o,to:a,value:r,maxFeePerGas:i,maxPriorityFeePerGas:l,accessList:y,data:D}=e;Kn(e);const z=mn(y),k=[pe(n),o?pe(o):"0x",l?pe(l):"0x",i?pe(i):"0x",s?pe(s):"0x",a??"0x",r?pe(r):"0x",D??"0x",z,...Kt(e,t)];return Et(["0x02",St(k)])}function wr(e,t){const{chainId:n,gas:s,data:o,nonce:a,to:r,value:i,accessList:l,gasPrice:y}=e;dr(e);const D=mn(l),z=[pe(n),a?pe(a):"0x",y?pe(y):"0x",s?pe(s):"0x",r??"0x",i?pe(i):"0x",o??"0x",D,...Kt(e,t)];return Et(["0x01",St(z)])}function br(e,t){const{chainId:n=0,gas:s,data:o,nonce:a,to:r,value:i,gasPrice:l}=e;ur(e);let y=[a?pe(a):"0x",l?pe(l):"0x",s?pe(s):"0x",r??"0x",i?pe(i):"0x",o??"0x"];if(t){const D=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);const x=27n+(t.v===27n?0n:1n);if(t.v!==x)throw new wa({v:t.v});return x})(),z=ln(t.r),k=ln(t.s);y=[...y,pe(D),z==="0x00"?"0x":z,k==="0x00"?"0x":k]}else n>0&&(y=[...y,pe(n),"0x","0x"]);return St(y)}function Kt(e,t){const n=t??e,{v:s,yParity:o}=n;if(typeof n.r>"u")return[];if(typeof n.s>"u")return[];if(typeof s>"u"&&typeof o>"u")return[];const a=ln(n.r),r=ln(n.s);return[typeof o=="number"?o?pe(1):"0x":s===0n?"0x":s===1n?pe(1):s===27n?"0x":pe(1),a==="0x00"?"0x":a,r==="0x00"?"0x":r]}const yr={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},Ar={block:ea({format(e){return{transactions:e.transactions?.map(n=>{if(typeof n=="string")return n;const s=On(n);return s.typeHex==="0x7e"&&(s.isSystemTx=n.isSystemTx,s.mint=n.mint?Mt(n.mint):void 0,s.sourceHash=n.sourceHash,s.type="deposit"),s}),stateRoot:e.stateRoot}}}),transaction:_s({format(e){const t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?Mt(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:sa({format(e){return{l1GasPrice:e.l1GasPrice?Mt(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?Mt(e.l1GasUsed):null,l1Fee:e.l1Fee?Mt(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};function kr(e,t){return Cr(e)?Tr(e):pr(e,t)}const vr={transaction:kr};function Tr(e){Er(e);const{sourceHash:t,data:n,from:s,gas:o,isSystemTx:a,mint:r,to:i,value:l}=e,y=[t,s,i??"0x",r?Lt(r):"0x",l?Lt(l):"0x",o?Lt(o):"0x",a?"0x1":"0x",n??"0x"];return Et(["0x7e",St(y)])}function Cr(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function Er(e){const{from:t,to:n}=e;if(t&&!Re(t))throw new it({address:t});if(n&&!Re(n))throw new it({address:n})}const hn={blockTime:2e3,contracts:yr,formatters:Ar,serializers:vr},Sr=ut({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}}}),xr=ut({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}}}),Xt=1,ns=ut({...hn,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:{...hn.contracts,disputeGameFactory:{[Xt]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[Xt]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[Xt]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[Xt]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:Xt});({...ns});const Ir=ut({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 Xn(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}class Nr extends me{constructor({docsPath:t}={}){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(`
|
|
95
|
+
`),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}}function _n(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new Mr(e.type);return`${e.name}(${os(e.inputs,{includeName:t})})`}function os(e,{includeName:t=!1}={}){return e?e.map(n=>Br(n,{includeName:t})).join(t?", ":","):""}function Br(e,{includeName:t}){return e.type.startsWith("tuple")?`(${os(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}class Fr extends me{constructor({expectedLength:t,givenLength:n,type:s}){super([`ABI encoding array length mismatch for type ${s}.`,`Expected length: ${t}`,`Given length: ${n}`].join(`
|
|
96
|
+
`),{name:"AbiEncodingArrayLengthMismatchError"})}}class Pr extends me{constructor({expectedSize:t,value:n}){super(`Size of bytes "${n}" (bytes${Je(n)}) does not match expected size (bytes${t}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class Or extends me{constructor({expectedLength:t,givenLength:n}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${t}`,`Given length (values): ${n}`].join(`
|
|
97
|
+
`),{name:"AbiEncodingLengthMismatchError"})}}class ss extends me{constructor(t,{docsPath:n}={}){super([`Function ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(`
|
|
98
|
+
`),{docsPath:n,name:"AbiFunctionNotFoundError"})}}class Dr extends me{constructor(t,n){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${t.type}\` in \`${_n(t.abiItem)}\`, and`,`\`${n.type}\` in \`${_n(n.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}class Lr extends me{constructor(t,{docsPath:n}){super([`Type "${t}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(`
|
|
99
|
+
`),{docsPath:n,name:"InvalidAbiEncodingType"})}}class Ur extends me{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
|
|
100
|
+
`),{name:"InvalidArrayError"})}}class Mr extends me{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
|
|
101
|
+
`),{name:"InvalidDefinitionTypeError"})}}const Rr=e=>$o(Fn(e));function Hr(e){return Rr(e)}function Wr(e,t){return e.exec(t)?.groups}const as=/^tuple(?<array>(\[(\d*)\])*)$/;function Zn(e){let t=e.type;if(as.test(e.type)&&"components"in e){t="(";const n=e.components.length;for(let o=0;o<n;o++){const a=e.components[o];t+=Zn(a),o<n-1&&(t+=", ")}const s=Wr(as,e.type);return t+=`)${s?.array||""}`,Zn({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function _t(e){let t="";const n=e.length;for(let s=0;s<n;s++){const o=e[s];t+=Zn(o),s!==n-1&&(t+=", ")}return t}function Vr(e){return e.type==="function"?`function ${e.name}(${_t(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${_t(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${_t(e.inputs)})`:e.type==="error"?`error ${e.name}(${_t(e.inputs)})`:e.type==="constructor"?`constructor(${_t(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}function Gr(e){let t=!0,n="",s=0,o="",a=!1;for(let r=0;r<e.length;r++){const i=e[r];if(["(",")",","].includes(i)&&(t=!0),i==="("&&s++,i===")"&&s--,!!t){if(s===0){if(i===" "&&["event","function",""].includes(o))o="";else if(o+=i,i===")"){a=!0;break}continue}if(i===" "){e[r-1]!==","&&n!==","&&n!==",("&&(n="",t=!1);continue}o+=i,n+=i}}if(!a)throw new me("Unable to normalize signature.");return o}const Yr=e=>{const t=typeof e=="string"?e:Vr(e);return Gr(t)};function rs(e){return Hr(Yr(e))}const is=e=>Qn(rs(e),0,4),Jr=/^(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 zr(e,t){if(e.length!==t.length)throw new Or({expectedLength:e.length,givenLength:t.length});const n=jr({params:e,values:t}),s=eo(n);return s.length===0?"0x":s}function jr({params:e,values:t}){const n=[];for(let s=0;s<e.length;s++)n.push($n({param:e[s],value:t[s]}));return n}function $n({param:e,value:t}){const n=ei(e.type);if(n){const[s,o]=n;return Qr(t,{length:s,param:{...e,type:o}})}if(e.type==="tuple")return $r(t,{param:e});if(e.type==="address")return qr(t);if(e.type==="bool")return Xr(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){const s=e.type.startsWith("int"),[,,o="256"]=Jr.exec(e.type)??[];return _r(t,{signed:s,size:Number(o)})}if(e.type.startsWith("bytes"))return Kr(t,{param:e});if(e.type==="string")return Zr(t);throw new Lr(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function eo(e){let t=0;for(let a=0;a<e.length;a++){const{dynamic:r,encoded:i}=e[a];r?t+=32:t+=Je(i)}const n=[],s=[];let o=0;for(let a=0;a<e.length;a++){const{dynamic:r,encoded:i}=e[a];r?(n.push(pe(t+o,{size:32})),s.push(i),o+=Je(i)):n.push(i)}return Ht([...n,...s])}function qr(e){if(!Re(e))throw new it({address:e});return{dynamic:!1,encoded:bt(e.toLowerCase())}}function Qr(e,{length:t,param:n}){const s=t===null;if(!Array.isArray(e))throw new Ur(e);if(!s&&e.length!==t)throw new Fr({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let o=!1;const a=[];for(let r=0;r<e.length;r++){const i=$n({param:n,value:e[r]});i.dynamic&&(o=!0),a.push(i)}if(s||o){const r=eo(a);if(s){const i=pe(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Ht([i,r]):i}}if(o)return{dynamic:!0,encoded:r}}return{dynamic:!1,encoded:Ht(a.map(({encoded:r})=>r))}}function Kr(e,{param:t}){const[,n]=t.type.split("bytes"),s=Je(e);if(!n){let o=e;return s%32!==0&&(o=bt(o,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Ht([bt(pe(s,{size:32})),o])}}if(s!==Number.parseInt(n,10))throw new Pr({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:bt(e,{dir:"right"})}}function Xr(e){if(typeof e!="boolean")throw new me(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:bt(ko(e))}}function _r(e,{signed:t,size:n=256}){if(typeof n=="number"){const s=2n**(BigInt(n)-(t?1n:0n))-1n,o=t?-s-1n:0n;if(e>s||e<o)throw new Bn({max:s.toString(),min:o.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:pe(e,{size:32,signed:t})}}function Zr(e){const t=vo(e),n=Math.ceil(Je(t)/32),s=[];for(let o=0;o<n;o++)s.push(bt(Qn(t,o*32,(o+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Ht([bt(pe(Je(t),{size:32})),...s])}}function $r(e,{param:t}){let n=!1;const s=[];for(let o=0;o<t.components.length;o++){const a=t.components[o],r=Array.isArray(e)?o:a.name,i=$n({param:a,value:e[r]});s.push(i),i.dynamic&&(n=!0)}return{dynamic:n,encoded:n?eo(s):Ht(s.map(({encoded:o})=>o))}}function ei(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}const ti=rs;function ni(e){const{abi:t,args:n=[],name:s}=e,o=Ot(s,{strict:!1}),a=t.filter(i=>o?i.type==="function"?is(i)===s:i.type==="event"?ti(i)===s:!1:"name"in i&&i.name===s);if(a.length===0)return;if(a.length===1)return a[0];let r;for(const i of a){if(!("inputs"in i))continue;if(!n||n.length===0){if(!i.inputs||i.inputs.length===0)return i;continue}if(!i.inputs||i.inputs.length===0||i.inputs.length!==n.length)continue;if(n.every((y,D)=>{const z="inputs"in i&&i.inputs[D];return z?to(y,z):!1})){if(r&&"inputs"in r&&r.inputs){const y=cs(i.inputs,r.inputs,n);if(y)throw new Dr({abiItem:i,type:y[0]},{abiItem:r,type:y[1]})}r=i}}return r||a[0]}function to(e,t){const n=typeof e,s=t.type;switch(s){case"address":return Re(e,{strict:!1});case"bool":return n==="boolean";case"function":return n==="string";case"string":return n==="string";default:return s==="tuple"&&"components"in t?Object.values(t.components).every((o,a)=>n==="object"&&to(Object.values(e)[a],o)):/^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(s)?n==="number"||n==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(s)?n==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(s)?Array.isArray(e)&&e.every(o=>to(o,{...t,type:s.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function cs(e,t,n){for(const s in e){const o=e[s],a=t[s];if(o.type==="tuple"&&a.type==="tuple"&&"components"in o&&"components"in a)return cs(o.components,a.components,n[s]);const r=[o.type,a.type];if(r.includes("address")&&r.includes("bytes20")?!0:r.includes("address")&&r.includes("string")?Re(n[s],{strict:!1}):r.includes("address")&&r.includes("bytes")?Re(n[s],{strict:!1}):!1)return r}}function ls(e){return e.reduce((t,{slot:n,value:s})=>`${t} ${n}: ${s}
|
|
102
102
|
`,"")}function oi(e){return e.reduce((t,{address:n,...s})=>{let o=`${t} ${n}:
|
|
103
103
|
`;return s.nonce&&(o+=` nonce: ${s.nonce}
|
|
104
104
|
`),s.balance&&(o+=` balance: ${s.balance}
|
|
@@ -106,14 +106,14 @@ If you want to send other NFTs, please provide the contract address, token ID`}}
|
|
|
106
106
|
`),s.state&&(o+=` state:
|
|
107
107
|
`,o+=ls(s.state)),s.stateDiff&&(o+=` stateDiff:
|
|
108
108
|
`,o+=ls(s.stateDiff)),o},` State Override:
|
|
109
|
-
`).slice(0,-1)}class si extends
|
|
110
|
-
${oi(x)}`),super(t.shortMessage,{cause:t,docsPath:s,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",S].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}function ai(e,t){const n=(e.details||"").toLowerCase(),s=e instanceof fe?e.walk(o=>o?.code===Wt.code):e;return s instanceof fe?new Wt({cause:e,message:s.details}):Wt.nodeMessage.test(n)?new Wt({cause:e,message:e.details}):It.nodeMessage.test(n)?new It({cause:e,maxFeePerGas:t?.maxFeePerGas}):Mn.nodeMessage.test(n)?new Mn({cause:e,maxFeePerGas:t?.maxFeePerGas}):Rn.nodeMessage.test(n)?new Rn({cause:e,nonce:t?.nonce}):Hn.nodeMessage.test(n)?new Hn({cause:e,nonce:t?.nonce}):Wn.nodeMessage.test(n)?new Wn({cause:e,nonce:t?.nonce}):Vn.nodeMessage.test(n)?new Vn({cause:e}):Gn.nodeMessage.test(n)?new Gn({cause:e,gas:t?.gas}):Yn.nodeMessage.test(n)?new Yn({cause:e,gas:t?.gas}):Jn.nodeMessage.test(n)?new Jn({cause:e}):qt.nodeMessage.test(n)?new qt({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new zo({cause:e})}function ri(e,{docsPath:t,...n}){const s=(()=>{const o=ai(e,n);return o instanceof zo?e:o})();return new si(s,{docsPath:t,...n})}function ii(e,{format:t}){if(!t)return{};const n={};function s(a){const r=Object.keys(a);for(const i of r)i in e&&(n[i]=e[i]),a[i]&&typeof a[i]=="object"&&!Array.isArray(a[i])&&s(a[i])}const o=t(e||{});return s(o),n}function ci(e){const{account:t,maxFeePerGas:n,maxPriorityFeePerGas:s,to:o}=e,a=t?Xn(t):void 0;if(a&&!Re(a.address))throw new it({address:a.address});if(o&&!Re(o))throw new it({address:o});if(n&&n>Rt)throw new It({maxFeePerGas:n});if(s&&n&&s>n)throw new qt({maxFeePerGas:n,maxPriorityFeePerGas:s})}async function li(e,t){const{account:n=e.account}=t;if(!n)throw new Nr;const s=Xn(n);try{const{accessList:o,blockNumber:a,blockTag:r,data:i,gas:l,gasPrice:y,maxFeePerGas:D,maxPriorityFeePerGas:j,nonce:k,to:x,value:B,...S}=t,me=(typeof a=="bigint"?ue(a):void 0)||r;ci(t);const A=e.chain?.formatters?.transactionRequest?.format,Q=(A||ra)({...ii(S,{format:A}),account:s,accessList:o,data:i,gas:l,gasPrice:y,maxFeePerGas:D,maxPriorityFeePerGas:j,nonce:k,to:x,value:B},"estimateGas"),{baseFeePerGas:pe,gasLimit:we,priorityFeePerGas:Ee}=await e.request({method:"linea_estimateGas",params:me?[Q,me]:[Q]});return{baseFeePerGas:BigInt(pe),gasLimit:BigInt(we),priorityFeePerGas:BigInt(Ee)}}catch(o){throw ri(o,{...t,account:s,chain:e.chain})}}const di={fees:{estimateFeesPerGas:ds,async maxPriorityFeePerGas({block:e,client:t,request:n}){const s=await ds({block:e,client:t,multiply:o=>o,request:n,type:"eip1559"});return s?.maxPriorityFeePerGas?s.maxPriorityFeePerGas:null}}};async function ds({client:e,multiply:t,request:n,type:s}){try{const o=await li(e,{...n,account:n?.account}),{priorityFeePerGas:a}=o,i=t(BigInt(o.baseFeePerGas))+a;return s==="legacy"?{gasPrice:i}:{maxFeePerGas:i,maxPriorityFeePerGas:a}}catch{return null}}const ui=ut({...di,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}),fi=ut({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}}}),_t=1,pi=ut({...hn,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:{...hn.contracts,disputeGameFactory:{[_t]:{address:"0xe5965Ab5962eDc7477C8520243A95517CD252fA9"}},l2OutputOracle:{[_t]:{address:"0xdfe97868233d1aa22e815a266982f2cf17685a27"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:4286263},portal:{[_t]:{address:"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"}},l1StandardBridge:{[_t]:{address:"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1"}}},sourceId:_t}),mi=ut({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}}}),us="/docs/contract/encodeFunctionData";function hi(e){const{abi:t,args:n,functionName:s}=e;let o=t[0];if(s){const a=ni({abi:t,args:n,name:s});if(!a)throw new ss(s,{docsPath:us});o=a}if(o.type!=="function")throw new ss(void 0,{docsPath:us});return{abi:[o],functionName:is(Zn(o))}}function kt(e){const{args:t}=e,{abi:n,functionName:s}=e.abi.length===1&&e.functionName?.startsWith("0x")?e:hi(e),o=n[0],a=s,r="inputs"in o&&o.inputs?zr(o.inputs,t??[]):void 0;return Et([a,r??"0x"])}const ct={1:{...fi,logo:"data:image/png;base64,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",chainId:1,chainType:"ether",chainTypeMoralis:"eth",tokenTrendingDefault:["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"]},10:{...pi,logo:"data:image/png;base64,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",chainId:10,chainType:"optimism",chainTypeMoralis:"optimism",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0x68f180fcce6836688e9084f035309e29bf0a2095","0xc47da4cb96ce65a96844a01bfae509f9d5454534"]},56:{...Ir,logo:"data:image/png;base64,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",chainId:56,chainType:"bsc",chainTypeMoralis:"bsc",tokenTrendingDefault:["0x2170ed0880ac9a755fd29b2688956bd959f933f8","0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c"]},137:{...mi,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"]},8453:{...ns,logo:"data:image/png;base64,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",chainId:8453,chainType:"base",chainTypeMoralis:"base",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf","0xc47da4cb96ce65a96844a01bfae509f9d5454534"]},42161:{...Sr,logo:"data:image/png;base64,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",chainId:42161,chainType:"arbitrum",chainTypeMoralis:"arbitrum",tokenTrendingDefault:["0x82af49447d8a07e3bd95bd0d56f35241523fbab1","0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f"]},43114:{...xr,logo:"data:image/png;base64,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",chainId:43114,chainType:"avax",chainTypeMoralis:"avalanche",tokenTrendingDefault:["0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB","0x0555E30da8f98308EdB960aa94C0Db47230d2B9c"]},59144:{...ui,logo:"data:image/png;base64,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",chainId:59144,chainType:"linea",chainTypeMoralis:"linea",tokenTrendingDefault:["0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f","0x3aab2285ddcddad8edf438c1bab47e1a9d05a9b4"]}},fs=e=>Object.values(ct).find(n=>n.chainTypeMoralis===e)?.chainType||null,gi=e=>{const t=new Date,n=new Date(t);n.setDate(n.getDate()-1);const s=new Date(e);return s.setHours(0,0,0,0),t.setHours(0,0,0,0),n.setHours(0,0,0,0),s.getTime()===t.getTime()?"Today":s.getTime()===n.getTime()?"Yesterday":s.toLocaleDateString("en-US",{month:"short",day:"numeric",year:s.getFullYear()!==t.getFullYear()?"numeric":void 0})},Xe=e=>new Promise(t=>setTimeout(t,e||0)),wi=(e,t=5,n=5)=>(e=e||"",e?.length<=t+n?e:`${e.substr(0,t)}...${e.substr(e.length-n,n)}`),bi=e=>{if(!e)return"";const t=ct[e];return t?t.chainTypeMoralis:""},yi=e=>{if(!e)return"";const t=ct[e];return t?t.chainType:""},Nt={getItem(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}},setItem(e,t){if(!(typeof window>"u"))try{window.localStorage.setItem(e,t)}catch{}},removeItem(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(e)}catch{}},get length(){if(typeof window>"u")return 0;try{return window.localStorage.length}catch{return 0}},key(e){if(typeof window>"u")return null;try{return window.localStorage.key(e)}catch{return null}}};class Ai extends fe{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}}function mt(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new Ai({value:e});let[n,s="0"]=e.split(".");const o=n.startsWith("-");if(o&&(n=n.slice(1)),s=s.replace(/(0+)$/,""),t===0)Math.round(+`.${s}`)===1&&(n=`${BigInt(n)+1n}`),s="";else if(s.length>t){const[a,r,i]=[s.slice(0,t-1),s.slice(t-1,t),s.slice(t)],l=Math.round(+`${r}.${i}`);l>9?s=`${BigInt(a)+BigInt(1)}0`.padStart(a.length+1,"0"):s=`${a}${l}`,s.length>t&&(s=s.slice(1),n=`${BigInt(n)+1n}`),s=s.slice(0,t)}else s=s.padEnd(t,"0");return BigInt(`${o?"-":""}${n}${s}`)}const ki="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",We="0x0000000000000000000000000000000000000000",ps=ee.createContext(void 0),gn=()=>{const e=ee.useContext(ps);if(!e)throw new Error("useConnect must be used within ConnectProvider");return{...e,chainData:ct[e.account?.chainId]||void 0,chainId:e.account?.chainId||void 0,chainType:yi(e.account?.chainId||void 0),chainTypeMoralis:bi(e.account?.chainId||void 0),isChainSupported:!!ct[e.account?.chainId]}},vi=({children:e,initialAccount:t})=>P.jsx(ps.Provider,{value:{account:t||null},children:e}),Ti=({address:e,chainId:t})=>{const[n,s]=ee.useState(!1),{isChainSupported:o}=gn(),a=ee.useCallback(()=>{if(!e)return;const r=e,i=()=>{s(!0),setTimeout(()=>s(!1),2e3)};try{navigator.clipboard.writeText(r).then(i).catch(()=>{const l=document.createElement("input");l.value=r,document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove(),i()})}catch{const l=document.createElement("input");l.value=r,document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove(),i()}},[e]);return P.jsx(P.Fragment,{children:Re(e||"")&&P.jsxs("div",{className:"chat-user-info",children:[t&&ct[t]?.logo&&P.jsx("div",{className:"user-avatar",children:P.jsx("img",{src:ct[t].logo||"",alt:"Chain",width:20,height:20})}),P.jsx("span",{className:"user-wallet",children:P.jsx("a",{style:{pointerEvents:o?"auto":"none"},href:ct[t]?.blockExplorers?.default?.url+"/address/"+e,target:"_blank",rel:"noopener noreferrer",children:wi(e)||"Not connected"})}),P.jsx("button",{className:"copy-address-btn",onClick:a,"aria-label":"Copy wallet address",type:"button",title:n?"Copied!":"Copy address",children:n?P.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:P.jsx("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:"#0B3988",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):P.jsx("svg",{width:"14",height:"14",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:P.jsx("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"})})})]})})},no="chat_widget_messages",wn=200,Ci=()=>Math.random().toString(36).substring(2,12),ms="welcome-message";function oo(e){return[{id:ms,text:e,sender:"bot",timestamp:new Date}]}function Ei(e,t){return e&&t?`${e}_${t}`:""}function hs(e){return e.map(t=>({...t,timestamp:new Date(t.timestamp)}))}function gs(){const e=Nt.getItem(no);if(!e)return null;try{const t=JSON.parse(e);if(t&&t.owner!==void 0&&Array.isArray(t.messages))return{owner:t.owner,messages:hs(t.messages)};if(Array.isArray(t))return{owner:"",messages:hs(t)}}catch{}return null}function bn(e,t){Nt.setItem(no,JSON.stringify({owner:e,messages:t}))}function Si(){const{account:e}=gn(),{t}=cn(),n=Ei(e?.address,e?.chainId),s=ee.useMemo(()=>oo(t("welcomeMessage")),[t]),[o,a]=ee.useState(()=>n||"pending"),[r,i]=ee.useState(()=>{const S=gs();return n?S&&S.owner===n?S.messages:oo(t("welcomeMessage")):S?.messages??oo(t("welcomeMessage"))});if(o==="pending"&&n){const S=gs();S&&S.owner===n?i(S.messages):bn(n,r),a(n)}else o!=="pending"&&n&&o!==n&&(i(s),bn(n,s),a(n));const l=ee.useMemo(()=>r.map(S=>S.id===ms?{...S,text:t("welcomeMessage")}:S),[r,t]);ee.useEffect(()=>{o!=="pending"&&bn(o,r)},[r,o]),ee.useEffect(()=>{const S=[];for(let T=0;T<Nt.length;T++){const me=Nt.key(T);me&&me.startsWith(no+"_")&&S.push(me)}S.forEach(T=>Nt.removeItem(T))},[]);const y=(S,T,me,A,z)=>{const Q=me?r.find(we=>we.id===me):void 0,pe={id:Ci(),text:S,sender:T,timestamp:new Date,...Q&&{replyTo:{id:Q.id,text:Q.text,sender:Q.sender}},...A&&{buttons:A},...z&&{actionData:z}};return i(we=>{const Ee=[...we,pe];return Ee.length>wn?Ee.slice(Ee.length-wn):Ee}),pe},D=(S,T)=>{i(me=>me.map(A=>A.id===S&&A.actionData?{...A,actionData:{...A.actionData,status:T}}:A))},j=(S,T)=>{i(me=>me.map(A=>A.id===S?{...A,text:T}:A))},k=S=>r.find(T=>T.id===S),x=ee.useCallback(()=>{i(s),bn(n,s)},[n,s]),B=ee.useCallback(S=>{i(T=>{const me=T.filter(A=>!S.includes(A.id));return me.length>wn?me.slice(me.length-wn):me})},[]);return{messages:l,setMessages:i,addMessage:y,updateMessageAction:D,updateMessageText:j,getMessageById:k,clearMessages:x,clearMessagesById:B}}const ws=ee.createContext(void 0),xi=()=>{const e=ee.useContext(ws);if(!e)throw new Error("useConfig must be used within ConfigProvider");return e},Ii=({children:e,initialConfig:t})=>P.jsx(ws.Provider,{value:{config:t||null},children:e});var Ni=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,so=Math.ceil,_e=Math.floor,ze="[BigNumber Error] ",bs=ze+"Number primitive has more than 15 significant digits: ",nt=1e14,ye=14,ao=9007199254740991,ro=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],vt=1e7,He=1e9;function ys(e){var t,n,s,o=A.prototype={constructor:A,toString:null,valueOf:null},a=new A(1),r=20,i=4,l=-7,y=21,D=-1e7,j=1e7,k=!1,x=1,B=0,S={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},T="0123456789abcdefghijklmnopqrstuvwxyz",me=!0;function A(c,d){var p,C,u,g,E,h,w,I,N=this;if(!(N instanceof A))return new A(c,d);if(d==null){if(c&&c._isBigNumber===!0){N.s=c.s,!c.c||c.e>j?N.c=N.e=null:c.e<D?N.c=[N.e=0]:(N.e=c.e,N.c=c.c.slice());return}if((h=typeof c=="number")&&c*0==0){if(N.s=1/c<0?(c=-c,-1):1,c===~~c){for(g=0,E=c;E>=10;E/=10,g++);g>j?N.c=N.e=null:(N.e=g,N.c=[c]);return}I=String(c)}else{if(!Ni.test(I=String(c)))return s(N,I,h);N.s=I.charCodeAt(0)==45?(I=I.slice(1),-1):1}(g=I.indexOf("."))>-1&&(I=I.replace(".","")),(E=I.search(/e/i))>0?(g<0&&(g=E),g+=+I.slice(E+1),I=I.substring(0,E)):g<0&&(g=I.length)}else{if(Fe(d,2,T.length,"Base"),d==10&&me)return N=new A(c),we(N,r+N.e+1,i);if(I=String(c),h=typeof c=="number"){if(c*0!=0)return s(N,I,h,d);if(N.s=1/c<0?(I=I.slice(1),-1):1,A.DEBUG&&I.replace(/^0\.0*|\./,"").length>15)throw Error(bs+c)}else N.s=I.charCodeAt(0)===45?(I=I.slice(1),-1):1;for(p=T.slice(0,d),g=E=0,w=I.length;E<w;E++)if(p.indexOf(C=I.charAt(E))<0){if(C=="."){if(E>g){g=w;continue}}else if(!u&&(I==I.toUpperCase()&&(I=I.toLowerCase())||I==I.toLowerCase()&&(I=I.toUpperCase()))){u=!0,E=-1,g=0;continue}return s(N,String(c),h,d)}h=!1,I=n(I,d,10,N.s),(g=I.indexOf("."))>-1?I=I.replace(".",""):g=I.length}for(E=0;I.charCodeAt(E)===48;E++);for(w=I.length;I.charCodeAt(--w)===48;);if(I=I.slice(E,++w)){if(w-=E,h&&A.DEBUG&&w>15&&(c>ao||c!==_e(c)))throw Error(bs+N.s*c);if((g=g-E-1)>j)N.c=N.e=null;else if(g<D)N.c=[N.e=0];else{if(N.e=g,N.c=[],E=(g+1)%ye,g<0&&(E+=ye),E<w){for(E&&N.c.push(+I.slice(0,E)),w-=ye;E<w;)N.c.push(+I.slice(E,E+=ye));E=ye-(I=I.slice(E)).length}else E-=w;for(;E--;I+="0");N.c.push(+I)}}else N.c=[N.e=0]}A.clone=ys,A.ROUND_UP=0,A.ROUND_DOWN=1,A.ROUND_CEIL=2,A.ROUND_FLOOR=3,A.ROUND_HALF_UP=4,A.ROUND_HALF_DOWN=5,A.ROUND_HALF_EVEN=6,A.ROUND_HALF_CEIL=7,A.ROUND_HALF_FLOOR=8,A.EUCLID=9,A.config=A.set=function(c){var d,p;if(c!=null)if(typeof c=="object"){if(c.hasOwnProperty(d="DECIMAL_PLACES")&&(p=c[d],Fe(p,0,He,d),r=p),c.hasOwnProperty(d="ROUNDING_MODE")&&(p=c[d],Fe(p,0,8,d),i=p),c.hasOwnProperty(d="EXPONENTIAL_AT")&&(p=c[d],p&&p.pop?(Fe(p[0],-He,0,d),Fe(p[1],0,He,d),l=p[0],y=p[1]):(Fe(p,-He,He,d),l=-(y=p<0?-p:p))),c.hasOwnProperty(d="RANGE"))if(p=c[d],p&&p.pop)Fe(p[0],-He,-1,d),Fe(p[1],1,He,d),D=p[0],j=p[1];else if(Fe(p,-He,He,d),p)D=-(j=p<0?-p:p);else throw Error(ze+d+" cannot be zero: "+p);if(c.hasOwnProperty(d="CRYPTO"))if(p=c[d],p===!!p)if(p)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))k=p;else throw k=!p,Error(ze+"crypto unavailable");else k=p;else throw Error(ze+d+" not true or false: "+p);if(c.hasOwnProperty(d="MODULO_MODE")&&(p=c[d],Fe(p,0,9,d),x=p),c.hasOwnProperty(d="POW_PRECISION")&&(p=c[d],Fe(p,0,He,d),B=p),c.hasOwnProperty(d="FORMAT"))if(p=c[d],typeof p=="object")S=p;else throw Error(ze+d+" not an object: "+p);if(c.hasOwnProperty(d="ALPHABET"))if(p=c[d],typeof p=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(p))me=p.slice(0,10)=="0123456789",T=p;else throw Error(ze+d+" invalid: "+p)}else throw Error(ze+"Object expected: "+c);return{DECIMAL_PLACES:r,ROUNDING_MODE:i,EXPONENTIAL_AT:[l,y],RANGE:[D,j],CRYPTO:k,MODULO_MODE:x,POW_PRECISION:B,FORMAT:S,ALPHABET:T}},A.isBigNumber=function(c){if(!c||c._isBigNumber!==!0)return!1;if(!A.DEBUG)return!0;var d,p,C=c.c,u=c.e,g=c.s;e:if({}.toString.call(C)=="[object Array]"){if((g===1||g===-1)&&u>=-He&&u<=He&&u===_e(u)){if(C[0]===0){if(u===0&&C.length===1)return!0;break e}if(d=(u+1)%ye,d<1&&(d+=ye),String(C[0]).length==d){for(d=0;d<C.length;d++)if(p=C[d],p<0||p>=nt||p!==_e(p))break e;if(p!==0)return!0}}}else if(C===null&&u===null&&(g===null||g===1||g===-1))return!0;throw Error(ze+"Invalid BigNumber: "+c)},A.maximum=A.max=function(){return Q(arguments,-1)},A.minimum=A.min=function(){return Q(arguments,1)},A.random=(function(){var c=9007199254740992,d=Math.random()*c&2097151?function(){return _e(Math.random()*c)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(p){var C,u,g,E,h,w=0,I=[],N=new A(a);if(p==null?p=r:Fe(p,0,He),E=so(p/ye),k)if(crypto.getRandomValues){for(C=crypto.getRandomValues(new Uint32Array(E*=2));w<E;)h=C[w]*131072+(C[w+1]>>>11),h>=9e15?(u=crypto.getRandomValues(new Uint32Array(2)),C[w]=u[0],C[w+1]=u[1]):(I.push(h%1e14),w+=2);w=E/2}else if(crypto.randomBytes){for(C=crypto.randomBytes(E*=7);w<E;)h=(C[w]&31)*281474976710656+C[w+1]*1099511627776+C[w+2]*4294967296+C[w+3]*16777216+(C[w+4]<<16)+(C[w+5]<<8)+C[w+6],h>=9e15?crypto.randomBytes(7).copy(C,w):(I.push(h%1e14),w+=7);w=E/7}else throw k=!1,Error(ze+"crypto unavailable");if(!k)for(;w<E;)h=d(),h<9e15&&(I[w++]=h%1e14);for(E=I[--w],p%=ye,E&&p&&(h=ro[ye-p],I[w]=_e(E/h)*h);I[w]===0;I.pop(),w--);if(w<0)I=[g=0];else{for(g=-1;I[0]===0;I.splice(0,1),g-=ye);for(w=1,h=I[0];h>=10;h/=10,w++);w<ye&&(g-=ye-w)}return N.e=g,N.c=I,N}})(),A.sum=function(){for(var c=1,d=arguments,p=new A(d[0]);c<d.length;)p=p.plus(d[c++]);return p},n=(function(){var c="0123456789";function d(p,C,u,g){for(var E,h=[0],w,I=0,N=p.length;I<N;){for(w=h.length;w--;h[w]*=C);for(h[0]+=g.indexOf(p.charAt(I++)),E=0;E<h.length;E++)h[E]>u-1&&(h[E+1]==null&&(h[E+1]=0),h[E+1]+=h[E]/u|0,h[E]%=u)}return h.reverse()}return function(p,C,u,g,E){var h,w,I,N,F,Z,ne,le,Ce=p.indexOf("."),Se=r,q=i;for(Ce>=0&&(N=B,B=0,p=p.replace(".",""),le=new A(C),Z=le.pow(p.length-Ce),B=N,le.c=d(ht(et(Z.c),Z.e,"0"),10,u,c),le.e=le.c.length),ne=d(p,C,u,E?(h=T,c):(h=c,T)),I=N=ne.length;ne[--N]==0;ne.pop());if(!ne[0])return h.charAt(0);if(Ce<0?--I:(Z.c=ne,Z.e=I,Z.s=g,Z=t(Z,le,Se,q,u),ne=Z.c,F=Z.r,I=Z.e),w=I+Se+1,Ce=ne[w],N=u/2,F=F||w<0||ne[w+1]!=null,F=q<4?(Ce!=null||F)&&(q==0||q==(Z.s<0?3:2)):Ce>N||Ce==N&&(q==4||F||q==6&&ne[w-1]&1||q==(Z.s<0?8:7)),w<1||!ne[0])p=F?ht(h.charAt(1),-Se,h.charAt(0)):h.charAt(0);else{if(ne.length=w,F)for(--u;++ne[--w]>u;)ne[w]=0,w||(++I,ne=[1].concat(ne));for(N=ne.length;!ne[--N];);for(Ce=0,p="";Ce<=N;p+=h.charAt(ne[Ce++]));p=ht(p,I,h.charAt(0))}return p}})(),t=(function(){function c(C,u,g){var E,h,w,I,N=0,F=C.length,Z=u%vt,ne=u/vt|0;for(C=C.slice();F--;)w=C[F]%vt,I=C[F]/vt|0,E=ne*w+I*Z,h=Z*w+E%vt*vt+N,N=(h/g|0)+(E/vt|0)+ne*I,C[F]=h%g;return N&&(C=[N].concat(C)),C}function d(C,u,g,E){var h,w;if(g!=E)w=g>E?1:-1;else for(h=w=0;h<g;h++)if(C[h]!=u[h]){w=C[h]>u[h]?1:-1;break}return w}function p(C,u,g,E){for(var h=0;g--;)C[g]-=h,h=C[g]<u[g]?1:0,C[g]=h*E+C[g]-u[g];for(;!C[0]&&C.length>1;C.splice(0,1));}return function(C,u,g,E,h){var w,I,N,F,Z,ne,le,Ce,Se,q,Ae,Ne,qe,Qe,ot,Ve,st,Be=C.s==u.s?1:-1,Pe=C.c,ve=u.c;if(!Pe||!Pe[0]||!ve||!ve[0])return new A(!C.s||!u.s||(Pe?ve&&Pe[0]==ve[0]:!ve)?NaN:Pe&&Pe[0]==0||!ve?Be*0:Be/0);for(Ce=new A(Be),Se=Ce.c=[],I=C.e-u.e,Be=g+I+1,h||(h=nt,I=$e(C.e/ye)-$e(u.e/ye),Be=Be/ye|0),N=0;ve[N]==(Pe[N]||0);N++);if(ve[N]>(Pe[N]||0)&&I--,Be<0)Se.push(1),F=!0;else{for(Qe=Pe.length,Ve=ve.length,N=0,Be+=2,Z=_e(h/(ve[0]+1)),Z>1&&(ve=c(ve,Z,h),Pe=c(Pe,Z,h),Ve=ve.length,Qe=Pe.length),qe=Ve,q=Pe.slice(0,Ve),Ae=q.length;Ae<Ve;q[Ae++]=0);st=ve.slice(),st=[0].concat(st),ot=ve[0],ve[1]>=h/2&&ot++;do{if(Z=0,w=d(ve,q,Ve,Ae),w<0){if(Ne=q[0],Ve!=Ae&&(Ne=Ne*h+(q[1]||0)),Z=_e(Ne/ot),Z>1)for(Z>=h&&(Z=h-1),ne=c(ve,Z,h),le=ne.length,Ae=q.length;d(ne,q,le,Ae)==1;)Z--,p(ne,Ve<le?st:ve,le,h),le=ne.length,w=1;else Z==0&&(w=Z=1),ne=ve.slice(),le=ne.length;if(le<Ae&&(ne=[0].concat(ne)),p(q,ne,Ae,h),Ae=q.length,w==-1)for(;d(ve,q,Ve,Ae)<1;)Z++,p(q,Ve<Ae?st:ve,Ae,h),Ae=q.length}else w===0&&(Z++,q=[0]);Se[N++]=Z,q[0]?q[Ae++]=Pe[qe]||0:(q=[Pe[qe]],Ae=1)}while((qe++<Qe||q[0]!=null)&&Be--);F=q[0]!=null,Se[0]||Se.splice(0,1)}if(h==nt){for(N=1,Be=Se[0];Be>=10;Be/=10,N++);we(Ce,g+(Ce.e=N+I*ye-1)+1,E,F)}else Ce.e=I,Ce.r=+F;return Ce}})();function z(c,d,p,C){var u,g,E,h,w;if(p==null?p=i:Fe(p,0,8),!c.c)return c.toString();if(u=c.c[0],E=c.e,d==null)w=et(c.c),w=C==1||C==2&&(E<=l||E>=y)?An(w,E):ht(w,E,"0");else if(c=we(new A(c),d,p),g=c.e,w=et(c.c),h=w.length,C==1||C==2&&(d<=g||g<=l)){for(;h<d;w+="0",h++);w=An(w,g)}else if(d-=E+(C===2&&g>E),w=ht(w,g,"0"),g+1>h){if(--d>0)for(w+=".";d--;w+="0");}else if(d+=g-h,d>0)for(g+1==h&&(w+=".");d--;w+="0");return c.s<0&&u?"-"+w:w}function Q(c,d){for(var p,C,u=1,g=new A(c[0]);u<c.length;u++)C=new A(c[u]),(!C.s||(p=Bt(g,C))===d||p===0&&g.s===d)&&(g=C);return g}function pe(c,d,p){for(var C=1,u=d.length;!d[--u];d.pop());for(u=d[0];u>=10;u/=10,C++);return(p=C+p*ye-1)>j?c.c=c.e=null:p<D?c.c=[c.e=0]:(c.e=p,c.c=d),c}s=(function(){var c=/^(-?)0([xbo])(?=\w[\w.]*$)/i,d=/^([^.]+)\.$/,p=/^\.([^.]+)$/,C=/^-?(Infinity|NaN)$/,u=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(g,E,h,w){var I,N=h?E:E.replace(u,"");if(C.test(N))g.s=isNaN(N)?null:N<0?-1:1;else{if(!h&&(N=N.replace(c,function(F,Z,ne){return I=(ne=ne.toLowerCase())=="x"?16:ne=="b"?2:8,!w||w==I?Z:F}),w&&(I=w,N=N.replace(d,"$1").replace(p,"0.$1")),E!=N))return new A(N,I);if(A.DEBUG)throw Error(ze+"Not a"+(w?" base "+w:"")+" number: "+E);g.s=null}g.c=g.e=null}})();function we(c,d,p,C){var u,g,E,h,w,I,N,F=c.c,Z=ro;if(F){e:{for(u=1,h=F[0];h>=10;h/=10,u++);if(g=d-u,g<0)g+=ye,E=d,w=F[I=0],N=_e(w/Z[u-E-1]%10);else if(I=so((g+1)/ye),I>=F.length)if(C){for(;F.length<=I;F.push(0));w=N=0,u=1,g%=ye,E=g-ye+1}else break e;else{for(w=h=F[I],u=1;h>=10;h/=10,u++);g%=ye,E=g-ye+u,N=E<0?0:_e(w/Z[u-E-1]%10)}if(C=C||d<0||F[I+1]!=null||(E<0?w:w%Z[u-E-1]),C=p<4?(N||C)&&(p==0||p==(c.s<0?3:2)):N>5||N==5&&(p==4||C||p==6&&(g>0?E>0?w/Z[u-E]:0:F[I-1])%10&1||p==(c.s<0?8:7)),d<1||!F[0])return F.length=0,C?(d-=c.e+1,F[0]=Z[(ye-d%ye)%ye],c.e=-d||0):F[0]=c.e=0,c;if(g==0?(F.length=I,h=1,I--):(F.length=I+1,h=Z[ye-g],F[I]=E>0?_e(w/Z[u-E]%Z[E])*h:0),C)for(;;)if(I==0){for(g=1,E=F[0];E>=10;E/=10,g++);for(E=F[0]+=h,h=1;E>=10;E/=10,h++);g!=h&&(c.e++,F[0]==nt&&(F[0]=1));break}else{if(F[I]+=h,F[I]!=nt)break;F[I--]=0,h=1}for(g=F.length;F[--g]===0;F.pop());}c.e>j?c.c=c.e=null:c.e<D&&(c.c=[c.e=0])}return c}function Ee(c){var d,p=c.e;return p===null?c.toString():(d=et(c.c),d=p<=l||p>=y?An(d,p):ht(d,p,"0"),c.s<0?"-"+d:d)}return o.absoluteValue=o.abs=function(){var c=new A(this);return c.s<0&&(c.s=1),c},o.comparedTo=function(c,d){return Bt(this,new A(c,d))},o.decimalPlaces=o.dp=function(c,d){var p,C,u,g=this;if(c!=null)return Fe(c,0,He),d==null?d=i:Fe(d,0,8),we(new A(g),c+g.e+1,d);if(!(p=g.c))return null;if(C=((u=p.length-1)-$e(this.e/ye))*ye,u=p[u])for(;u%10==0;u/=10,C--);return C<0&&(C=0),C},o.dividedBy=o.div=function(c,d){return t(this,new A(c,d),r,i)},o.dividedToIntegerBy=o.idiv=function(c,d){return t(this,new A(c,d),0,1)},o.exponentiatedBy=o.pow=function(c,d){var p,C,u,g,E,h,w,I,N,F=this;if(c=new A(c),c.c&&!c.isInteger())throw Error(ze+"Exponent not an integer: "+Ee(c));if(d!=null&&(d=new A(d)),h=c.e>14,!F.c||!F.c[0]||F.c[0]==1&&!F.e&&F.c.length==1||!c.c||!c.c[0])return N=new A(Math.pow(+Ee(F),h?c.s*(2-yn(c)):+Ee(c))),d?N.mod(d):N;if(w=c.s<0,d){if(d.c?!d.c[0]:!d.s)return new A(NaN);C=!w&&F.isInteger()&&d.isInteger(),C&&(F=F.mod(d))}else{if(c.e>9&&(F.e>0||F.e<-1||(F.e==0?F.c[0]>1||h&&F.c[1]>=24e7:F.c[0]<8e13||h&&F.c[0]<=9999975e7)))return g=F.s<0&&yn(c)?-0:0,F.e>-1&&(g=1/g),new A(w?1/g:g);B&&(g=so(B/ye+2))}for(h?(p=new A(.5),w&&(c.s=1),I=yn(c)):(u=Math.abs(+Ee(c)),I=u%2),N=new A(a);;){if(I){if(N=N.times(F),!N.c)break;g?N.c.length>g&&(N.c.length=g):C&&(N=N.mod(d))}if(u){if(u=_e(u/2),u===0)break;I=u%2}else if(c=c.times(p),we(c,c.e+1,1),c.e>14)I=yn(c);else{if(u=+Ee(c),u===0)break;I=u%2}F=F.times(F),g?F.c&&F.c.length>g&&(F.c.length=g):C&&(F=F.mod(d))}return C?N:(w&&(N=a.div(N)),d?N.mod(d):g?we(N,B,i,E):N)},o.integerValue=function(c){var d=new A(this);return c==null?c=i:Fe(c,0,8),we(d,d.e+1,c)},o.isEqualTo=o.eq=function(c,d){return Bt(this,new A(c,d))===0},o.isFinite=function(){return!!this.c},o.isGreaterThan=o.gt=function(c,d){return Bt(this,new A(c,d))>0},o.isGreaterThanOrEqualTo=o.gte=function(c,d){return(d=Bt(this,new A(c,d)))===1||d===0},o.isInteger=function(){return!!this.c&&$e(this.e/ye)>this.c.length-2},o.isLessThan=o.lt=function(c,d){return Bt(this,new A(c,d))<0},o.isLessThanOrEqualTo=o.lte=function(c,d){return(d=Bt(this,new A(c,d)))===-1||d===0},o.isNaN=function(){return!this.s},o.isNegative=function(){return this.s<0},o.isPositive=function(){return this.s>0},o.isZero=function(){return!!this.c&&this.c[0]==0},o.minus=function(c,d){var p,C,u,g,E=this,h=E.s;if(c=new A(c,d),d=c.s,!h||!d)return new A(NaN);if(h!=d)return c.s=-d,E.plus(c);var w=E.e/ye,I=c.e/ye,N=E.c,F=c.c;if(!w||!I){if(!N||!F)return N?(c.s=-d,c):new A(F?E:NaN);if(!N[0]||!F[0])return F[0]?(c.s=-d,c):new A(N[0]?E:i==3?-0:0)}if(w=$e(w),I=$e(I),N=N.slice(),h=w-I){for((g=h<0)?(h=-h,u=N):(I=w,u=F),u.reverse(),d=h;d--;u.push(0));u.reverse()}else for(C=(g=(h=N.length)<(d=F.length))?h:d,h=d=0;d<C;d++)if(N[d]!=F[d]){g=N[d]<F[d];break}if(g&&(u=N,N=F,F=u,c.s=-c.s),d=(C=F.length)-(p=N.length),d>0)for(;d--;N[p++]=0);for(d=nt-1;C>h;){if(N[--C]<F[C]){for(p=C;p&&!N[--p];N[p]=d);--N[p],N[C]+=nt}N[C]-=F[C]}for(;N[0]==0;N.splice(0,1),--I);return N[0]?pe(c,N,I):(c.s=i==3?-1:1,c.c=[c.e=0],c)},o.modulo=o.mod=function(c,d){var p,C,u=this;return c=new A(c,d),!u.c||!c.s||c.c&&!c.c[0]?new A(NaN):!c.c||u.c&&!u.c[0]?new A(u):(x==9?(C=c.s,c.s=1,p=t(u,c,0,3),c.s=C,p.s*=C):p=t(u,c,0,x),c=u.minus(p.times(c)),!c.c[0]&&x==1&&(c.s=u.s),c)},o.multipliedBy=o.times=function(c,d){var p,C,u,g,E,h,w,I,N,F,Z,ne,le,Ce,Se,q=this,Ae=q.c,Ne=(c=new A(c,d)).c;if(!Ae||!Ne||!Ae[0]||!Ne[0])return!q.s||!c.s||Ae&&!Ae[0]&&!Ne||Ne&&!Ne[0]&&!Ae?c.c=c.e=c.s=null:(c.s*=q.s,!Ae||!Ne?c.c=c.e=null:(c.c=[0],c.e=0)),c;for(C=$e(q.e/ye)+$e(c.e/ye),c.s*=q.s,w=Ae.length,F=Ne.length,w<F&&(le=Ae,Ae=Ne,Ne=le,u=w,w=F,F=u),u=w+F,le=[];u--;le.push(0));for(Ce=nt,Se=vt,u=F;--u>=0;){for(p=0,Z=Ne[u]%Se,ne=Ne[u]/Se|0,E=w,g=u+E;g>u;)I=Ae[--E]%Se,N=Ae[E]/Se|0,h=ne*I+N*Z,I=Z*I+h%Se*Se+le[g]+p,p=(I/Ce|0)+(h/Se|0)+ne*N,le[g--]=I%Ce;le[g]=p}return p?++C:le.splice(0,1),pe(c,le,C)},o.negated=function(){var c=new A(this);return c.s=-c.s||null,c},o.plus=function(c,d){var p,C=this,u=C.s;if(c=new A(c,d),d=c.s,!u||!d)return new A(NaN);if(u!=d)return c.s=-d,C.minus(c);var g=C.e/ye,E=c.e/ye,h=C.c,w=c.c;if(!g||!E){if(!h||!w)return new A(u/0);if(!h[0]||!w[0])return w[0]?c:new A(h[0]?C:u*0)}if(g=$e(g),E=$e(E),h=h.slice(),u=g-E){for(u>0?(E=g,p=w):(u=-u,p=h),p.reverse();u--;p.push(0));p.reverse()}for(u=h.length,d=w.length,u-d<0&&(p=w,w=h,h=p,d=u),u=0;d;)u=(h[--d]=h[d]+w[d]+u)/nt|0,h[d]=nt===h[d]?0:h[d]%nt;return u&&(h=[u].concat(h),++E),pe(c,h,E)},o.precision=o.sd=function(c,d){var p,C,u,g=this;if(c!=null&&c!==!!c)return Fe(c,1,He),d==null?d=i:Fe(d,0,8),we(new A(g),c,d);if(!(p=g.c))return null;if(u=p.length-1,C=u*ye+1,u=p[u]){for(;u%10==0;u/=10,C--);for(u=p[0];u>=10;u/=10,C++);}return c&&g.e+1>C&&(C=g.e+1),C},o.shiftedBy=function(c){return Fe(c,-ao,ao),this.times("1e"+c)},o.squareRoot=o.sqrt=function(){var c,d,p,C,u,g=this,E=g.c,h=g.s,w=g.e,I=r+4,N=new A("0.5");if(h!==1||!E||!E[0])return new A(!h||h<0&&(!E||E[0])?NaN:E?g:1/0);if(h=Math.sqrt(+Ee(g)),h==0||h==1/0?(d=et(E),(d.length+w)%2==0&&(d+="0"),h=Math.sqrt(+d),w=$e((w+1)/2)-(w<0||w%2),h==1/0?d="5e"+w:(d=h.toExponential(),d=d.slice(0,d.indexOf("e")+1)+w),p=new A(d)):p=new A(h+""),p.c[0]){for(w=p.e,h=w+I,h<3&&(h=0);;)if(u=p,p=N.times(u.plus(t(g,u,I,1))),et(u.c).slice(0,h)===(d=et(p.c)).slice(0,h))if(p.e<w&&--h,d=d.slice(h-3,h+1),d=="9999"||!C&&d=="4999"){if(!C&&(we(u,u.e+r+2,0),u.times(u).eq(g))){p=u;break}I+=4,h+=4,C=1}else{(!+d||!+d.slice(1)&&d.charAt(0)=="5")&&(we(p,p.e+r+2,1),c=!p.times(p).eq(g));break}}return we(p,p.e+r+1,i,c)},o.toExponential=function(c,d){return c!=null&&(Fe(c,0,He),c++),z(this,c,d,1)},o.toFixed=function(c,d){return c!=null&&(Fe(c,0,He),c=c+this.e+1),z(this,c,d)},o.toFormat=function(c,d,p){var C,u=this;if(p==null)c!=null&&d&&typeof d=="object"?(p=d,d=null):c&&typeof c=="object"?(p=c,c=d=null):p=S;else if(typeof p!="object")throw Error(ze+"Argument not an object: "+p);if(C=u.toFixed(c,d),u.c){var g,E=C.split("."),h=+p.groupSize,w=+p.secondaryGroupSize,I=p.groupSeparator||"",N=E[0],F=E[1],Z=u.s<0,ne=Z?N.slice(1):N,le=ne.length;if(w&&(g=h,h=w,w=g,le-=g),h>0&&le>0){for(g=le%h||h,N=ne.substr(0,g);g<le;g+=h)N+=I+ne.substr(g,h);w>0&&(N+=I+ne.slice(g)),Z&&(N="-"+N)}C=F?N+(p.decimalSeparator||"")+((w=+p.fractionGroupSize)?F.replace(new RegExp("\\d{"+w+"}\\B","g"),"$&"+(p.fractionGroupSeparator||"")):F):N}return(p.prefix||"")+C+(p.suffix||"")},o.toFraction=function(c){var d,p,C,u,g,E,h,w,I,N,F,Z,ne=this,le=ne.c;if(c!=null&&(h=new A(c),!h.isInteger()&&(h.c||h.s!==1)||h.lt(a)))throw Error(ze+"Argument "+(h.isInteger()?"out of range: ":"not an integer: ")+Ee(h));if(!le)return new A(ne);for(d=new A(a),I=p=new A(a),C=w=new A(a),Z=et(le),g=d.e=Z.length-ne.e-1,d.c[0]=ro[(E=g%ye)<0?ye+E:E],c=!c||h.comparedTo(d)>0?g>0?d:I:h,E=j,j=1/0,h=new A(Z),w.c[0]=0;N=t(h,d,0,1),u=p.plus(N.times(C)),u.comparedTo(c)!=1;)p=C,C=u,I=w.plus(N.times(u=I)),w=u,d=h.minus(N.times(u=d)),h=u;return u=t(c.minus(p),C,0,1),w=w.plus(u.times(I)),p=p.plus(u.times(C)),w.s=I.s=ne.s,g=g*2,F=t(I,C,g,i).minus(ne).abs().comparedTo(t(w,p,g,i).minus(ne).abs())<1?[I,C]:[w,p],j=E,F},o.toNumber=function(){return+Ee(this)},o.toPrecision=function(c,d){return c!=null&&Fe(c,1,He),z(this,c,d,2)},o.toString=function(c){var d,p=this,C=p.s,u=p.e;return u===null?C?(d="Infinity",C<0&&(d="-"+d)):d="NaN":(c==null?d=u<=l||u>=y?An(et(p.c),u):ht(et(p.c),u,"0"):c===10&&me?(p=we(new A(p),r+u+1,i),d=ht(et(p.c),p.e,"0")):(Fe(c,2,T.length,"Base"),d=n(ht(et(p.c),u,"0"),10,c,C,!0)),C<0&&p.c[0]&&(d="-"+d)),d},o.valueOf=o.toJSON=function(){return Ee(this)},o._isBigNumber=!0,o[Symbol.toStringTag]="BigNumber",o[Symbol.for("nodejs.util.inspect.custom")]=o.valueOf,e!=null&&A.set(e),A}function $e(e){var t=e|0;return e>0||e===t?t:t-1}function et(e){for(var t,n,s=1,o=e.length,a=e[0]+"";s<o;){for(t=e[s++]+"",n=ye-t.length;n--;t="0"+t);a+=t}for(o=a.length;a.charCodeAt(--o)===48;);return a.slice(0,o+1||1)}function Bt(e,t){var n,s,o=e.c,a=t.c,r=e.s,i=t.s,l=e.e,y=t.e;if(!r||!i)return null;if(n=o&&!o[0],s=a&&!a[0],n||s)return n?s?0:-i:r;if(r!=i)return r;if(n=r<0,s=l==y,!o||!a)return s?0:!o^n?1:-1;if(!s)return l>y^n?1:-1;for(i=(l=o.length)<(y=a.length)?l:y,r=0;r<i;r++)if(o[r]!=a[r])return o[r]>a[r]^n?1:-1;return l==y?0:l>y^n?1:-1}function Fe(e,t,n,s){if(e<t||e>n||e!==_e(e))throw Error(ze+(s||"Argument")+(typeof e=="number"?e<t||e>n?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function yn(e){var t=e.c.length-1;return $e(e.e/ye)==t&&e.c[t]%2!=0}function An(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function ht(e,t,n){var s,o;if(t<0){for(o=n+".";++t;o+=n);e=o+e}else if(s=e.length,++t>s){for(o=n,t-=s;--t;o+=n);e+=o}else t<s&&(e=e.slice(0,t)+"."+e.slice(t));return e}var oe=ys();class Vt{baseUrl;constructor(t){this.baseUrl=t}buildUrl(t,n){const s=new URL(t,this.baseUrl);return n&&Object.entries(n).forEach(([o,a])=>{a!=null&&s.searchParams.append(o,String(a))}),s.toString()}async get(t,n={}){const s=this.buildUrl(t,n.query),o=await fetch(s,{method:"GET",headers:n.headers||{}});if(!o.ok){let r=null;try{r=await o.json()}catch{try{const l=await o.text();l&&(r={message:l})}catch{}}const i=new Error(r?.message||r?.errorMessage||`HTTP ${o.status}: ${o.statusText}`);throw i.status=o.status,i.statusText=o.statusText,r&&(i.data=r),i}return{data:await o.json(),status:o.status}}async post(t,n,s={}){const o=this.buildUrl(t,s.query),a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",...s.headers},body:JSON.stringify(n)});if(!a.ok){let i=null;try{i=await a.json()}catch{try{const y=await a.text();y&&(i={message:y})}catch{}}const l=new Error(i?.message||i?.errorMessage||`HTTP ${a.status}: ${a.statusText}`);throw l.status=a.status,l.statusText=a.statusText,i&&(l.data=i),l}return{data:await a.json(),status:a.status}}}const Bi=.01,As=new Vt("https://wallet-api.pantograph.app"),Fi="https://deep-index.moralis.io";function $t(){return"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJub25jZSI6ImY4NmY0Yzc2LTA3MDQtNGEwZS04YTA0LWUwODllOGQxMGZjZCIsIm9yZ0lkIjoiMzk0MDAyIiwidXNlcklkIjoiNDA0ODUzIiwidHlwZUlkIjoiYjQyODExOTQtOGQ0Yi00NjkxLTlhZjItNjU4ODE2NzExYmRjIiwidHlwZSI6IlBST0pFQ1QiLCJpYXQiOjE3MTY4NjQyNTYsImV4cCI6NDg3MjYyNDI1Nn0.V8crfBIBardAnZkc05FD0hQIJBeZxMqvzRnYExVtnF8"}function en(e){return{"X-API-Key":e,Accept:"application/json"}}const tn=new Vt(Fi);async function je(e){const{address:t,chain:n="base",token_addresses:s,exclude_spam:o,exclude_unverified_contracts:a}=e;if(!t)throw new Error("Address is required");try{const r=$t(),i={chain:n,exclude_spam:o??!1,exclude_unverified_contracts:a??!1};s&&(i.token_addresses=s);const y=(await tn.get(`/api/v2.2/wallets/${encodeURIComponent(t)}/tokens`,{query:i,headers:en(r)})).data;if(y?.result?.length>0){y.result=y.result.filter(D=>new oe(D?.balance||0).gt(0)),y.result=y.result.map(D=>({...D,token_address:D.token_address===ki?We:D.token_address}));try{if(y.result.length>0){const D=fs(n)??n,j=y.result.map(x=>x.token_address),k=await As.get(`/keyrings/tokens/${D}/v2`,{query:{addresses:j.join(",")}});if(Array.isArray(k.data)){const x=new Map;for(const B of k.data)B.address&&B.price!=null&&x.set(B.address.toLowerCase(),parseFloat(String(B.price)));y.result=y.result.map(B=>{const S=x.get(B.token_address.toLowerCase());if(S==null)return B;const T=oe(B.balance_formatted||"0").multipliedBy(S).toNumber();return{...B,usd_price:S,usd_value:T}}),y.result=y.result.filter(B=>B.usd_value==null||new oe(B.usd_value).gte(Bi))}}}catch(D){console.warn("⚠️ Failed to fetch Pantograph prices:",D)}}return{success:!0,data:y}}catch(r){const i=r instanceof Error?r.message:"Unknown error";return console.error("❌ Error fetching token balances:",i),{success:!1,error:i}}}async function ks(e){const{address:t,chain:n="base"}=e;if(!t)throw new Error("Token address is required");try{const s=fs(n)??n,o=await As.get(`/keyrings/tokens/${s}/v2`,{query:{addresses:t}}),a=t===We,i=(Array.isArray(o.data)?o.data:[]).find(B=>B.address?.toLowerCase()===t.toLowerCase()||a&&B.address==="")??null;if(i)return{success:!0,data:{token_address:i.address??t,name:i.name??"",symbol:i.symbol??"",decimals:i.decimals!=null?Number(i.decimals):18,logo:i.icon_image||i.logo,thumbnail:i.icon_image||i.logo,usd_price:i.price!=null?parseFloat(i.price):void 0,usd_price_24hr_percent_change:i.price_change_percentage_24h??void 0,usd_price_24hr_usd_change:i.price_change_24h??void 0}};console.warn("⚠️ Pantograph returned no result, falling back to Moralis API");const l=$t(),[y,D]=await Promise.allSettled([tn.get("/api/v2.2/erc20/metadata",{query:{chain:n,addresses:[t]},headers:en(l)}),tn.get(`/api/v2.2/erc20/${encodeURIComponent(t)}/price`,{query:{chain:n,include:"percent_change"},headers:en(l)})]),j=y.status==="fulfilled"?y.value.data:[];if(!j||j.length===0)return{success:!1,error:"Token metadata not found"};const k=j[0],x=D.status==="fulfilled"?D.value.data:void 0;return{success:!0,data:{token_address:k.token_address,name:k.name,symbol:k.symbol,decimals:k.decimals,logo:k.logo||k.thumbnail,thumbnail:k.thumbnail,usd_price:x?.usdPrice??void 0,usd_price_24hr_percent_change:x?.["24hrPercentChange"]?parseFloat(x["24hrPercentChange"]):void 0,usd_price_24hr_usd_change:x?.usdPriceChange24hr??void 0}}}catch(s){const o=s instanceof Error?s.message:"Unknown error";return console.error("❌ Error fetching token metadata:",o),{success:!1,error:o}}}async function Pi(e){const{prompt:t,model:n="gpt-4.1-mini",stream:s=!1,systemPrompt:o}=e;if(!t)throw new Error("Prompt is required");try{const a=$t(),r=new Vt("https://cortex-api.moralis.io"),i=o?`${o}
|
|
109
|
+
`).slice(0,-1)}class si extends me{constructor(t,{account:n,docsPath:s,chain:o,data:a,gas:r,gasPrice:i,maxFeePerGas:l,maxPriorityFeePerGas:y,nonce:D,to:z,value:k,stateOverride:x}){const B=n?Xn(n):void 0;let S=Bo({from:B?.address,to:z,value:typeof k<"u"&&`${ga(k)} ${o?.nativeCurrency?.symbol||"ETH"}`,data:a,gas:r,gasPrice:typeof i<"u"&&`${xt(i)} gwei`,maxFeePerGas:typeof l<"u"&&`${xt(l)} gwei`,maxPriorityFeePerGas:typeof y<"u"&&`${xt(y)} gwei`,nonce:D});x&&(S+=`
|
|
110
|
+
${oi(x)}`),super(t.shortMessage,{cause:t,docsPath:s,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",S].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}function ai(e,t){const n=(e.details||"").toLowerCase(),s=e instanceof me?e.walk(o=>o?.code===Wt.code):e;return s instanceof me?new Wt({cause:e,message:s.details}):Wt.nodeMessage.test(n)?new Wt({cause:e,message:e.details}):It.nodeMessage.test(n)?new It({cause:e,maxFeePerGas:t?.maxFeePerGas}):Mn.nodeMessage.test(n)?new Mn({cause:e,maxFeePerGas:t?.maxFeePerGas}):Rn.nodeMessage.test(n)?new Rn({cause:e,nonce:t?.nonce}):Hn.nodeMessage.test(n)?new Hn({cause:e,nonce:t?.nonce}):Wn.nodeMessage.test(n)?new Wn({cause:e,nonce:t?.nonce}):Vn.nodeMessage.test(n)?new Vn({cause:e}):Gn.nodeMessage.test(n)?new Gn({cause:e,gas:t?.gas}):Yn.nodeMessage.test(n)?new Yn({cause:e,gas:t?.gas}):Jn.nodeMessage.test(n)?new Jn({cause:e}):qt.nodeMessage.test(n)?new qt({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new zo({cause:e})}function ri(e,{docsPath:t,...n}){const s=(()=>{const o=ai(e,n);return o instanceof zo?e:o})();return new si(s,{docsPath:t,...n})}function ii(e,{format:t}){if(!t)return{};const n={};function s(a){const r=Object.keys(a);for(const i of r)i in e&&(n[i]=e[i]),a[i]&&typeof a[i]=="object"&&!Array.isArray(a[i])&&s(a[i])}const o=t(e||{});return s(o),n}function ci(e){const{account:t,maxFeePerGas:n,maxPriorityFeePerGas:s,to:o}=e,a=t?Xn(t):void 0;if(a&&!Re(a.address))throw new it({address:a.address});if(o&&!Re(o))throw new it({address:o});if(n&&n>Rt)throw new It({maxFeePerGas:n});if(s&&n&&s>n)throw new qt({maxFeePerGas:n,maxPriorityFeePerGas:s})}async function li(e,t){const{account:n=e.account}=t;if(!n)throw new Nr;const s=Xn(n);try{const{accessList:o,blockNumber:a,blockTag:r,data:i,gas:l,gasPrice:y,maxFeePerGas:D,maxPriorityFeePerGas:z,nonce:k,to:x,value:B,...S}=t,ge=(typeof a=="bigint"?pe(a):void 0)||r;ci(t);const A=e.chain?.formatters?.transactionRequest?.format,Q=(A||ra)({...ii(S,{format:A}),account:s,accessList:o,data:i,gas:l,gasPrice:y,maxFeePerGas:D,maxPriorityFeePerGas:z,nonce:k,to:x,value:B},"estimateGas"),{baseFeePerGas:he,gasLimit:we,priorityFeePerGas:Ee}=await e.request({method:"linea_estimateGas",params:ge?[Q,ge]:[Q]});return{baseFeePerGas:BigInt(he),gasLimit:BigInt(we),priorityFeePerGas:BigInt(Ee)}}catch(o){throw ri(o,{...t,account:s,chain:e.chain})}}const di={fees:{estimateFeesPerGas:ds,async maxPriorityFeePerGas({block:e,client:t,request:n}){const s=await ds({block:e,client:t,multiply:o=>o,request:n,type:"eip1559"});return s?.maxPriorityFeePerGas?s.maxPriorityFeePerGas:null}}};async function ds({client:e,multiply:t,request:n,type:s}){try{const o=await li(e,{...n,account:n?.account}),{priorityFeePerGas:a}=o,i=t(BigInt(o.baseFeePerGas))+a;return s==="legacy"?{gasPrice:i}:{maxFeePerGas:i,maxPriorityFeePerGas:a}}catch{return null}}const ui=ut({...di,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}),fi=ut({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}}}),Zt=1,pi=ut({...hn,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:{...hn.contracts,disputeGameFactory:{[Zt]:{address:"0xe5965Ab5962eDc7477C8520243A95517CD252fA9"}},l2OutputOracle:{[Zt]:{address:"0xdfe97868233d1aa22e815a266982f2cf17685a27"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:4286263},portal:{[Zt]:{address:"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"}},l1StandardBridge:{[Zt]:{address:"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1"}}},sourceId:Zt}),mi=ut({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}}}),us="/docs/contract/encodeFunctionData";function hi(e){const{abi:t,args:n,functionName:s}=e;let o=t[0];if(s){const a=ni({abi:t,args:n,name:s});if(!a)throw new ss(s,{docsPath:us});o=a}if(o.type!=="function")throw new ss(void 0,{docsPath:us});return{abi:[o],functionName:is(_n(o))}}function kt(e){const{args:t}=e,{abi:n,functionName:s}=e.abi.length===1&&e.functionName?.startsWith("0x")?e:hi(e),o=n[0],a=s,r="inputs"in o&&o.inputs?zr(o.inputs,t??[]):void 0;return Et([a,r??"0x"])}const ct={1:{...fi,logo:"data:image/png;base64,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",chainId:1,chainType:"ether",chainTypeMoralis:"eth",tokenTrendingDefault:["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"]},10:{...pi,logo:"data:image/png;base64,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",chainId:10,chainType:"optimism",chainTypeMoralis:"optimism",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0x68f180fcce6836688e9084f035309e29bf0a2095","0xc47da4cb96ce65a96844a01bfae509f9d5454534"]},56:{...Ir,logo:"data:image/png;base64,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",chainId:56,chainType:"bsc",chainTypeMoralis:"bsc",tokenTrendingDefault:["0x2170ed0880ac9a755fd29b2688956bd959f933f8","0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c"]},137:{...mi,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"]},8453:{...ns,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"]},42161:{...Sr,logo:"data:image/png;base64,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",chainId:42161,chainType:"arbitrum",chainTypeMoralis:"arbitrum",tokenTrendingDefault:["0x82af49447d8a07e3bd95bd0d56f35241523fbab1","0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f"]},43114:{...xr,logo:"data:image/png;base64,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",chainId:43114,chainType:"avax",chainTypeMoralis:"avalanche",tokenTrendingDefault:["0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB","0x0555E30da8f98308EdB960aa94C0Db47230d2B9c"]},59144:{...ui,logo:"data:image/png;base64,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",chainId:59144,chainType:"linea",chainTypeMoralis:"linea",tokenTrendingDefault:["0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f","0x3aab2285ddcddad8edf438c1bab47e1a9d05a9b4"]}},fs=e=>Object.values(ct).find(n=>n.chainTypeMoralis===e)?.chainType||null,gi=e=>{const t=new Date,n=new Date(t);n.setDate(n.getDate()-1);const s=new Date(e);return s.setHours(0,0,0,0),t.setHours(0,0,0,0),n.setHours(0,0,0,0),s.getTime()===t.getTime()?"Today":s.getTime()===n.getTime()?"Yesterday":s.toLocaleDateString("en-US",{month:"short",day:"numeric",year:s.getFullYear()!==t.getFullYear()?"numeric":void 0})},Xe=e=>new Promise(t=>setTimeout(t,e||0)),wi=(e,t=5,n=5)=>(e=e||"",e?.length<=t+n?e:`${e.substr(0,t)}...${e.substr(e.length-n,n)}`),bi=e=>{if(!e)return"";const t=ct[e];return t?t.chainTypeMoralis:""},yi=e=>{if(!e)return"";const t=ct[e];return t?t.chainType:""},Nt={getItem(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}},setItem(e,t){if(!(typeof window>"u"))try{window.localStorage.setItem(e,t)}catch{}},removeItem(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(e)}catch{}},get length(){if(typeof window>"u")return 0;try{return window.localStorage.length}catch{return 0}},key(e){if(typeof window>"u")return null;try{return window.localStorage.key(e)}catch{return null}}};class Ai extends me{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}}function mt(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new Ai({value:e});let[n,s="0"]=e.split(".");const o=n.startsWith("-");if(o&&(n=n.slice(1)),s=s.replace(/(0+)$/,""),t===0)Math.round(+`.${s}`)===1&&(n=`${BigInt(n)+1n}`),s="";else if(s.length>t){const[a,r,i]=[s.slice(0,t-1),s.slice(t-1,t),s.slice(t)],l=Math.round(+`${r}.${i}`);l>9?s=`${BigInt(a)+BigInt(1)}0`.padStart(a.length+1,"0"):s=`${a}${l}`,s.length>t&&(s=s.slice(1),n=`${BigInt(n)+1n}`),s=s.slice(0,t)}else s=s.padEnd(t,"0");return BigInt(`${o?"-":""}${n}${s}`)}const ki="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",We="0x0000000000000000000000000000000000000000",ps=ne.createContext(void 0),gn=()=>{const e=ne.useContext(ps);if(!e)throw new Error("useConnect must be used within ConnectProvider");return{...e,chainData:ct[e.account?.chainId]||void 0,chainId:e.account?.chainId||void 0,chainType:yi(e.account?.chainId||void 0),chainTypeMoralis:bi(e.account?.chainId||void 0),isChainSupported:!!ct[e.account?.chainId]}},vi=({children:e,initialAccount:t})=>P.jsx(ps.Provider,{value:{account:t||null},children:e}),Ti=({address:e,chainId:t})=>{const[n,s]=ne.useState(!1),{isChainSupported:o}=gn(),a=ne.useCallback(()=>{if(!e)return;const r=e,i=()=>{s(!0),setTimeout(()=>s(!1),2e3)};try{navigator.clipboard.writeText(r).then(i).catch(()=>{const l=document.createElement("input");l.value=r,document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove(),i()})}catch{const l=document.createElement("input");l.value=r,document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove(),i()}},[e]);return P.jsx(P.Fragment,{children:Re(e||"")&&P.jsxs("div",{className:"chat-user-info",children:[t&&ct[t]?.logo&&P.jsx("div",{className:"user-avatar",children:P.jsx("img",{src:ct[t].logo||"",alt:"Chain",width:20,height:20})}),P.jsx("span",{className:"user-wallet",children:P.jsx("a",{style:{pointerEvents:o?"auto":"none"},href:ct[t]?.blockExplorers?.default?.url+"/address/"+e,target:"_blank",rel:"noopener noreferrer",children:wi(e)||"Not connected"})}),P.jsx("button",{className:"copy-address-btn",onClick:a,"aria-label":"Copy wallet address",type:"button",title:n?"Copied!":"Copy address",children:n?P.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:P.jsx("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:"#0B3988",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):P.jsx("svg",{width:"14",height:"14",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:P.jsx("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"})})})]})})},no="chat_widget_messages",wn=200,Ci=()=>Math.random().toString(36).substring(2,12),ms="welcome-message";function oo(e){return[{id:ms,text:e,sender:"bot",timestamp:new Date}]}function Ei(e,t){return e&&t?`${e}_${t}`:""}function hs(e){return e.map(t=>({...t,timestamp:new Date(t.timestamp)}))}function gs(){const e=Nt.getItem(no);if(!e)return null;try{const t=JSON.parse(e);if(t&&t.owner!==void 0&&Array.isArray(t.messages))return{owner:t.owner,messages:hs(t.messages)};if(Array.isArray(t))return{owner:"",messages:hs(t)}}catch{}return null}function bn(e,t){Nt.setItem(no,JSON.stringify({owner:e,messages:t}))}function Si(){const{account:e}=gn(),{t}=cn(),n=Ei(e?.address,e?.chainId),s=ne.useMemo(()=>oo(t("welcomeMessage")),[t]),[o,a]=ne.useState(()=>n||"pending"),[r,i]=ne.useState(()=>{const S=gs();return n?S&&S.owner===n?S.messages:oo(t("welcomeMessage")):S?.messages??oo(t("welcomeMessage"))});if(o==="pending"&&n){const S=gs();S&&S.owner===n?i(S.messages):bn(n,r),a(n)}else o!=="pending"&&n&&o!==n&&(i(s),bn(n,s),a(n));const l=ne.useMemo(()=>r.map(S=>S.id===ms?{...S,text:t("welcomeMessage")}:S),[r,t]);ne.useEffect(()=>{o!=="pending"&&bn(o,r)},[r,o]),ne.useEffect(()=>{const S=[];for(let v=0;v<Nt.length;v++){const ge=Nt.key(v);ge&&ge.startsWith(no+"_")&&S.push(ge)}S.forEach(v=>Nt.removeItem(v))},[]);const y=(S,v,ge,A,J)=>{const Q=ge?r.find(we=>we.id===ge):void 0,he={id:Ci(),text:S,sender:v,timestamp:new Date,...Q&&{replyTo:{id:Q.id,text:Q.text,sender:Q.sender}},...A&&{buttons:A},...J&&{actionData:J}};return i(we=>{const Ee=[...we,he];return Ee.length>wn?Ee.slice(Ee.length-wn):Ee}),he},D=(S,v)=>{i(ge=>ge.map(A=>A.id===S&&A.actionData?{...A,actionData:{...A.actionData,status:v}}:A))},z=(S,v)=>{i(ge=>ge.map(A=>A.id===S?{...A,text:v}:A))},k=S=>r.find(v=>v.id===S),x=ne.useCallback(()=>{i(s),bn(n,s)},[n,s]),B=ne.useCallback(S=>{i(v=>{const ge=v.filter(A=>!S.includes(A.id));return ge.length>wn?ge.slice(ge.length-wn):ge})},[]);return{messages:l,setMessages:i,addMessage:y,updateMessageAction:D,updateMessageText:z,getMessageById:k,clearMessages:x,clearMessagesById:B}}const ws=ne.createContext(void 0),xi=()=>{const e=ne.useContext(ws);if(!e)throw new Error("useConfig must be used within ConfigProvider");return e},Ii=({children:e,initialConfig:t})=>P.jsx(ws.Provider,{value:{config:t||null},children:e});var Ni=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,so=Math.ceil,Ze=Math.floor,ze="[BigNumber Error] ",bs=ze+"Number primitive has more than 15 significant digits: ",nt=1e14,be=14,ao=9007199254740991,ro=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],vt=1e7,He=1e9;function ys(e){var t,n,s,o=A.prototype={constructor:A,toString:null,valueOf:null},a=new A(1),r=20,i=4,l=-7,y=21,D=-1e7,z=1e7,k=!1,x=1,B=0,S={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},v="0123456789abcdefghijklmnopqrstuvwxyz",ge=!0;function A(c,d){var p,C,u,g,E,h,w,I,N=this;if(!(N instanceof A))return new A(c,d);if(d==null){if(c&&c._isBigNumber===!0){N.s=c.s,!c.c||c.e>z?N.c=N.e=null:c.e<D?N.c=[N.e=0]:(N.e=c.e,N.c=c.c.slice());return}if((h=typeof c=="number")&&c*0==0){if(N.s=1/c<0?(c=-c,-1):1,c===~~c){for(g=0,E=c;E>=10;E/=10,g++);g>z?N.c=N.e=null:(N.e=g,N.c=[c]);return}I=String(c)}else{if(!Ni.test(I=String(c)))return s(N,I,h);N.s=I.charCodeAt(0)==45?(I=I.slice(1),-1):1}(g=I.indexOf("."))>-1&&(I=I.replace(".","")),(E=I.search(/e/i))>0?(g<0&&(g=E),g+=+I.slice(E+1),I=I.substring(0,E)):g<0&&(g=I.length)}else{if(Pe(d,2,v.length,"Base"),d==10&&ge)return N=new A(c),we(N,r+N.e+1,i);if(I=String(c),h=typeof c=="number"){if(c*0!=0)return s(N,I,h,d);if(N.s=1/c<0?(I=I.slice(1),-1):1,A.DEBUG&&I.replace(/^0\.0*|\./,"").length>15)throw Error(bs+c)}else N.s=I.charCodeAt(0)===45?(I=I.slice(1),-1):1;for(p=v.slice(0,d),g=E=0,w=I.length;E<w;E++)if(p.indexOf(C=I.charAt(E))<0){if(C=="."){if(E>g){g=w;continue}}else if(!u&&(I==I.toUpperCase()&&(I=I.toLowerCase())||I==I.toLowerCase()&&(I=I.toUpperCase()))){u=!0,E=-1,g=0;continue}return s(N,String(c),h,d)}h=!1,I=n(I,d,10,N.s),(g=I.indexOf("."))>-1?I=I.replace(".",""):g=I.length}for(E=0;I.charCodeAt(E)===48;E++);for(w=I.length;I.charCodeAt(--w)===48;);if(I=I.slice(E,++w)){if(w-=E,h&&A.DEBUG&&w>15&&(c>ao||c!==Ze(c)))throw Error(bs+N.s*c);if((g=g-E-1)>z)N.c=N.e=null;else if(g<D)N.c=[N.e=0];else{if(N.e=g,N.c=[],E=(g+1)%be,g<0&&(E+=be),E<w){for(E&&N.c.push(+I.slice(0,E)),w-=be;E<w;)N.c.push(+I.slice(E,E+=be));E=be-(I=I.slice(E)).length}else E-=w;for(;E--;I+="0");N.c.push(+I)}}else N.c=[N.e=0]}A.clone=ys,A.ROUND_UP=0,A.ROUND_DOWN=1,A.ROUND_CEIL=2,A.ROUND_FLOOR=3,A.ROUND_HALF_UP=4,A.ROUND_HALF_DOWN=5,A.ROUND_HALF_EVEN=6,A.ROUND_HALF_CEIL=7,A.ROUND_HALF_FLOOR=8,A.EUCLID=9,A.config=A.set=function(c){var d,p;if(c!=null)if(typeof c=="object"){if(c.hasOwnProperty(d="DECIMAL_PLACES")&&(p=c[d],Pe(p,0,He,d),r=p),c.hasOwnProperty(d="ROUNDING_MODE")&&(p=c[d],Pe(p,0,8,d),i=p),c.hasOwnProperty(d="EXPONENTIAL_AT")&&(p=c[d],p&&p.pop?(Pe(p[0],-He,0,d),Pe(p[1],0,He,d),l=p[0],y=p[1]):(Pe(p,-He,He,d),l=-(y=p<0?-p:p))),c.hasOwnProperty(d="RANGE"))if(p=c[d],p&&p.pop)Pe(p[0],-He,-1,d),Pe(p[1],1,He,d),D=p[0],z=p[1];else if(Pe(p,-He,He,d),p)D=-(z=p<0?-p:p);else throw Error(ze+d+" cannot be zero: "+p);if(c.hasOwnProperty(d="CRYPTO"))if(p=c[d],p===!!p)if(p)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))k=p;else throw k=!p,Error(ze+"crypto unavailable");else k=p;else throw Error(ze+d+" not true or false: "+p);if(c.hasOwnProperty(d="MODULO_MODE")&&(p=c[d],Pe(p,0,9,d),x=p),c.hasOwnProperty(d="POW_PRECISION")&&(p=c[d],Pe(p,0,He,d),B=p),c.hasOwnProperty(d="FORMAT"))if(p=c[d],typeof p=="object")S=p;else throw Error(ze+d+" not an object: "+p);if(c.hasOwnProperty(d="ALPHABET"))if(p=c[d],typeof p=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(p))ge=p.slice(0,10)=="0123456789",v=p;else throw Error(ze+d+" invalid: "+p)}else throw Error(ze+"Object expected: "+c);return{DECIMAL_PLACES:r,ROUNDING_MODE:i,EXPONENTIAL_AT:[l,y],RANGE:[D,z],CRYPTO:k,MODULO_MODE:x,POW_PRECISION:B,FORMAT:S,ALPHABET:v}},A.isBigNumber=function(c){if(!c||c._isBigNumber!==!0)return!1;if(!A.DEBUG)return!0;var d,p,C=c.c,u=c.e,g=c.s;e:if({}.toString.call(C)=="[object Array]"){if((g===1||g===-1)&&u>=-He&&u<=He&&u===Ze(u)){if(C[0]===0){if(u===0&&C.length===1)return!0;break e}if(d=(u+1)%be,d<1&&(d+=be),String(C[0]).length==d){for(d=0;d<C.length;d++)if(p=C[d],p<0||p>=nt||p!==Ze(p))break e;if(p!==0)return!0}}}else if(C===null&&u===null&&(g===null||g===1||g===-1))return!0;throw Error(ze+"Invalid BigNumber: "+c)},A.maximum=A.max=function(){return Q(arguments,-1)},A.minimum=A.min=function(){return Q(arguments,1)},A.random=(function(){var c=9007199254740992,d=Math.random()*c&2097151?function(){return Ze(Math.random()*c)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(p){var C,u,g,E,h,w=0,I=[],N=new A(a);if(p==null?p=r:Pe(p,0,He),E=so(p/be),k)if(crypto.getRandomValues){for(C=crypto.getRandomValues(new Uint32Array(E*=2));w<E;)h=C[w]*131072+(C[w+1]>>>11),h>=9e15?(u=crypto.getRandomValues(new Uint32Array(2)),C[w]=u[0],C[w+1]=u[1]):(I.push(h%1e14),w+=2);w=E/2}else if(crypto.randomBytes){for(C=crypto.randomBytes(E*=7);w<E;)h=(C[w]&31)*281474976710656+C[w+1]*1099511627776+C[w+2]*4294967296+C[w+3]*16777216+(C[w+4]<<16)+(C[w+5]<<8)+C[w+6],h>=9e15?crypto.randomBytes(7).copy(C,w):(I.push(h%1e14),w+=7);w=E/7}else throw k=!1,Error(ze+"crypto unavailable");if(!k)for(;w<E;)h=d(),h<9e15&&(I[w++]=h%1e14);for(E=I[--w],p%=be,E&&p&&(h=ro[be-p],I[w]=Ze(E/h)*h);I[w]===0;I.pop(),w--);if(w<0)I=[g=0];else{for(g=-1;I[0]===0;I.splice(0,1),g-=be);for(w=1,h=I[0];h>=10;h/=10,w++);w<be&&(g-=be-w)}return N.e=g,N.c=I,N}})(),A.sum=function(){for(var c=1,d=arguments,p=new A(d[0]);c<d.length;)p=p.plus(d[c++]);return p},n=(function(){var c="0123456789";function d(p,C,u,g){for(var E,h=[0],w,I=0,N=p.length;I<N;){for(w=h.length;w--;h[w]*=C);for(h[0]+=g.indexOf(p.charAt(I++)),E=0;E<h.length;E++)h[E]>u-1&&(h[E+1]==null&&(h[E+1]=0),h[E+1]+=h[E]/u|0,h[E]%=u)}return h.reverse()}return function(p,C,u,g,E){var h,w,I,N,F,X,se,ue,Ce=p.indexOf("."),Se=r,q=i;for(Ce>=0&&(N=B,B=0,p=p.replace(".",""),ue=new A(C),X=ue.pow(p.length-Ce),B=N,ue.c=d(ht(et(X.c),X.e,"0"),10,u,c),ue.e=ue.c.length),se=d(p,C,u,E?(h=v,c):(h=c,v)),I=N=se.length;se[--N]==0;se.pop());if(!se[0])return h.charAt(0);if(Ce<0?--I:(X.c=se,X.e=I,X.s=g,X=t(X,ue,Se,q,u),se=X.c,F=X.r,I=X.e),w=I+Se+1,Ce=se[w],N=u/2,F=F||w<0||se[w+1]!=null,F=q<4?(Ce!=null||F)&&(q==0||q==(X.s<0?3:2)):Ce>N||Ce==N&&(q==4||F||q==6&&se[w-1]&1||q==(X.s<0?8:7)),w<1||!se[0])p=F?ht(h.charAt(1),-Se,h.charAt(0)):h.charAt(0);else{if(se.length=w,F)for(--u;++se[--w]>u;)se[w]=0,w||(++I,se=[1].concat(se));for(N=se.length;!se[--N];);for(Ce=0,p="";Ce<=N;p+=h.charAt(se[Ce++]));p=ht(p,I,h.charAt(0))}return p}})(),t=(function(){function c(C,u,g){var E,h,w,I,N=0,F=C.length,X=u%vt,se=u/vt|0;for(C=C.slice();F--;)w=C[F]%vt,I=C[F]/vt|0,E=se*w+I*X,h=X*w+E%vt*vt+N,N=(h/g|0)+(E/vt|0)+se*I,C[F]=h%g;return N&&(C=[N].concat(C)),C}function d(C,u,g,E){var h,w;if(g!=E)w=g>E?1:-1;else for(h=w=0;h<g;h++)if(C[h]!=u[h]){w=C[h]>u[h]?1:-1;break}return w}function p(C,u,g,E){for(var h=0;g--;)C[g]-=h,h=C[g]<u[g]?1:0,C[g]=h*E+C[g]-u[g];for(;!C[0]&&C.length>1;C.splice(0,1));}return function(C,u,g,E,h){var w,I,N,F,X,se,ue,Ce,Se,q,ye,Ne,qe,Qe,ot,Ve,st,Be=C.s==u.s?1:-1,Oe=C.c,ke=u.c;if(!Oe||!Oe[0]||!ke||!ke[0])return new A(!C.s||!u.s||(Oe?ke&&Oe[0]==ke[0]:!ke)?NaN:Oe&&Oe[0]==0||!ke?Be*0:Be/0);for(Ce=new A(Be),Se=Ce.c=[],I=C.e-u.e,Be=g+I+1,h||(h=nt,I=$e(C.e/be)-$e(u.e/be),Be=Be/be|0),N=0;ke[N]==(Oe[N]||0);N++);if(ke[N]>(Oe[N]||0)&&I--,Be<0)Se.push(1),F=!0;else{for(Qe=Oe.length,Ve=ke.length,N=0,Be+=2,X=Ze(h/(ke[0]+1)),X>1&&(ke=c(ke,X,h),Oe=c(Oe,X,h),Ve=ke.length,Qe=Oe.length),qe=Ve,q=Oe.slice(0,Ve),ye=q.length;ye<Ve;q[ye++]=0);st=ke.slice(),st=[0].concat(st),ot=ke[0],ke[1]>=h/2&&ot++;do{if(X=0,w=d(ke,q,Ve,ye),w<0){if(Ne=q[0],Ve!=ye&&(Ne=Ne*h+(q[1]||0)),X=Ze(Ne/ot),X>1)for(X>=h&&(X=h-1),se=c(ke,X,h),ue=se.length,ye=q.length;d(se,q,ue,ye)==1;)X--,p(se,Ve<ue?st:ke,ue,h),ue=se.length,w=1;else X==0&&(w=X=1),se=ke.slice(),ue=se.length;if(ue<ye&&(se=[0].concat(se)),p(q,se,ye,h),ye=q.length,w==-1)for(;d(ke,q,Ve,ye)<1;)X++,p(q,Ve<ye?st:ke,ye,h),ye=q.length}else w===0&&(X++,q=[0]);Se[N++]=X,q[0]?q[ye++]=Oe[qe]||0:(q=[Oe[qe]],ye=1)}while((qe++<Qe||q[0]!=null)&&Be--);F=q[0]!=null,Se[0]||Se.splice(0,1)}if(h==nt){for(N=1,Be=Se[0];Be>=10;Be/=10,N++);we(Ce,g+(Ce.e=N+I*be-1)+1,E,F)}else Ce.e=I,Ce.r=+F;return Ce}})();function J(c,d,p,C){var u,g,E,h,w;if(p==null?p=i:Pe(p,0,8),!c.c)return c.toString();if(u=c.c[0],E=c.e,d==null)w=et(c.c),w=C==1||C==2&&(E<=l||E>=y)?An(w,E):ht(w,E,"0");else if(c=we(new A(c),d,p),g=c.e,w=et(c.c),h=w.length,C==1||C==2&&(d<=g||g<=l)){for(;h<d;w+="0",h++);w=An(w,g)}else if(d-=E+(C===2&&g>E),w=ht(w,g,"0"),g+1>h){if(--d>0)for(w+=".";d--;w+="0");}else if(d+=g-h,d>0)for(g+1==h&&(w+=".");d--;w+="0");return c.s<0&&u?"-"+w:w}function Q(c,d){for(var p,C,u=1,g=new A(c[0]);u<c.length;u++)C=new A(c[u]),(!C.s||(p=Bt(g,C))===d||p===0&&g.s===d)&&(g=C);return g}function he(c,d,p){for(var C=1,u=d.length;!d[--u];d.pop());for(u=d[0];u>=10;u/=10,C++);return(p=C+p*be-1)>z?c.c=c.e=null:p<D?c.c=[c.e=0]:(c.e=p,c.c=d),c}s=(function(){var c=/^(-?)0([xbo])(?=\w[\w.]*$)/i,d=/^([^.]+)\.$/,p=/^\.([^.]+)$/,C=/^-?(Infinity|NaN)$/,u=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(g,E,h,w){var I,N=h?E:E.replace(u,"");if(C.test(N))g.s=isNaN(N)?null:N<0?-1:1;else{if(!h&&(N=N.replace(c,function(F,X,se){return I=(se=se.toLowerCase())=="x"?16:se=="b"?2:8,!w||w==I?X:F}),w&&(I=w,N=N.replace(d,"$1").replace(p,"0.$1")),E!=N))return new A(N,I);if(A.DEBUG)throw Error(ze+"Not a"+(w?" base "+w:"")+" number: "+E);g.s=null}g.c=g.e=null}})();function we(c,d,p,C){var u,g,E,h,w,I,N,F=c.c,X=ro;if(F){e:{for(u=1,h=F[0];h>=10;h/=10,u++);if(g=d-u,g<0)g+=be,E=d,w=F[I=0],N=Ze(w/X[u-E-1]%10);else if(I=so((g+1)/be),I>=F.length)if(C){for(;F.length<=I;F.push(0));w=N=0,u=1,g%=be,E=g-be+1}else break e;else{for(w=h=F[I],u=1;h>=10;h/=10,u++);g%=be,E=g-be+u,N=E<0?0:Ze(w/X[u-E-1]%10)}if(C=C||d<0||F[I+1]!=null||(E<0?w:w%X[u-E-1]),C=p<4?(N||C)&&(p==0||p==(c.s<0?3:2)):N>5||N==5&&(p==4||C||p==6&&(g>0?E>0?w/X[u-E]:0:F[I-1])%10&1||p==(c.s<0?8:7)),d<1||!F[0])return F.length=0,C?(d-=c.e+1,F[0]=X[(be-d%be)%be],c.e=-d||0):F[0]=c.e=0,c;if(g==0?(F.length=I,h=1,I--):(F.length=I+1,h=X[be-g],F[I]=E>0?Ze(w/X[u-E]%X[E])*h:0),C)for(;;)if(I==0){for(g=1,E=F[0];E>=10;E/=10,g++);for(E=F[0]+=h,h=1;E>=10;E/=10,h++);g!=h&&(c.e++,F[0]==nt&&(F[0]=1));break}else{if(F[I]+=h,F[I]!=nt)break;F[I--]=0,h=1}for(g=F.length;F[--g]===0;F.pop());}c.e>z?c.c=c.e=null:c.e<D&&(c.c=[c.e=0])}return c}function Ee(c){var d,p=c.e;return p===null?c.toString():(d=et(c.c),d=p<=l||p>=y?An(d,p):ht(d,p,"0"),c.s<0?"-"+d:d)}return o.absoluteValue=o.abs=function(){var c=new A(this);return c.s<0&&(c.s=1),c},o.comparedTo=function(c,d){return Bt(this,new A(c,d))},o.decimalPlaces=o.dp=function(c,d){var p,C,u,g=this;if(c!=null)return Pe(c,0,He),d==null?d=i:Pe(d,0,8),we(new A(g),c+g.e+1,d);if(!(p=g.c))return null;if(C=((u=p.length-1)-$e(this.e/be))*be,u=p[u])for(;u%10==0;u/=10,C--);return C<0&&(C=0),C},o.dividedBy=o.div=function(c,d){return t(this,new A(c,d),r,i)},o.dividedToIntegerBy=o.idiv=function(c,d){return t(this,new A(c,d),0,1)},o.exponentiatedBy=o.pow=function(c,d){var p,C,u,g,E,h,w,I,N,F=this;if(c=new A(c),c.c&&!c.isInteger())throw Error(ze+"Exponent not an integer: "+Ee(c));if(d!=null&&(d=new A(d)),h=c.e>14,!F.c||!F.c[0]||F.c[0]==1&&!F.e&&F.c.length==1||!c.c||!c.c[0])return N=new A(Math.pow(+Ee(F),h?c.s*(2-yn(c)):+Ee(c))),d?N.mod(d):N;if(w=c.s<0,d){if(d.c?!d.c[0]:!d.s)return new A(NaN);C=!w&&F.isInteger()&&d.isInteger(),C&&(F=F.mod(d))}else{if(c.e>9&&(F.e>0||F.e<-1||(F.e==0?F.c[0]>1||h&&F.c[1]>=24e7:F.c[0]<8e13||h&&F.c[0]<=9999975e7)))return g=F.s<0&&yn(c)?-0:0,F.e>-1&&(g=1/g),new A(w?1/g:g);B&&(g=so(B/be+2))}for(h?(p=new A(.5),w&&(c.s=1),I=yn(c)):(u=Math.abs(+Ee(c)),I=u%2),N=new A(a);;){if(I){if(N=N.times(F),!N.c)break;g?N.c.length>g&&(N.c.length=g):C&&(N=N.mod(d))}if(u){if(u=Ze(u/2),u===0)break;I=u%2}else if(c=c.times(p),we(c,c.e+1,1),c.e>14)I=yn(c);else{if(u=+Ee(c),u===0)break;I=u%2}F=F.times(F),g?F.c&&F.c.length>g&&(F.c.length=g):C&&(F=F.mod(d))}return C?N:(w&&(N=a.div(N)),d?N.mod(d):g?we(N,B,i,E):N)},o.integerValue=function(c){var d=new A(this);return c==null?c=i:Pe(c,0,8),we(d,d.e+1,c)},o.isEqualTo=o.eq=function(c,d){return Bt(this,new A(c,d))===0},o.isFinite=function(){return!!this.c},o.isGreaterThan=o.gt=function(c,d){return Bt(this,new A(c,d))>0},o.isGreaterThanOrEqualTo=o.gte=function(c,d){return(d=Bt(this,new A(c,d)))===1||d===0},o.isInteger=function(){return!!this.c&&$e(this.e/be)>this.c.length-2},o.isLessThan=o.lt=function(c,d){return Bt(this,new A(c,d))<0},o.isLessThanOrEqualTo=o.lte=function(c,d){return(d=Bt(this,new A(c,d)))===-1||d===0},o.isNaN=function(){return!this.s},o.isNegative=function(){return this.s<0},o.isPositive=function(){return this.s>0},o.isZero=function(){return!!this.c&&this.c[0]==0},o.minus=function(c,d){var p,C,u,g,E=this,h=E.s;if(c=new A(c,d),d=c.s,!h||!d)return new A(NaN);if(h!=d)return c.s=-d,E.plus(c);var w=E.e/be,I=c.e/be,N=E.c,F=c.c;if(!w||!I){if(!N||!F)return N?(c.s=-d,c):new A(F?E:NaN);if(!N[0]||!F[0])return F[0]?(c.s=-d,c):new A(N[0]?E:i==3?-0:0)}if(w=$e(w),I=$e(I),N=N.slice(),h=w-I){for((g=h<0)?(h=-h,u=N):(I=w,u=F),u.reverse(),d=h;d--;u.push(0));u.reverse()}else for(C=(g=(h=N.length)<(d=F.length))?h:d,h=d=0;d<C;d++)if(N[d]!=F[d]){g=N[d]<F[d];break}if(g&&(u=N,N=F,F=u,c.s=-c.s),d=(C=F.length)-(p=N.length),d>0)for(;d--;N[p++]=0);for(d=nt-1;C>h;){if(N[--C]<F[C]){for(p=C;p&&!N[--p];N[p]=d);--N[p],N[C]+=nt}N[C]-=F[C]}for(;N[0]==0;N.splice(0,1),--I);return N[0]?he(c,N,I):(c.s=i==3?-1:1,c.c=[c.e=0],c)},o.modulo=o.mod=function(c,d){var p,C,u=this;return c=new A(c,d),!u.c||!c.s||c.c&&!c.c[0]?new A(NaN):!c.c||u.c&&!u.c[0]?new A(u):(x==9?(C=c.s,c.s=1,p=t(u,c,0,3),c.s=C,p.s*=C):p=t(u,c,0,x),c=u.minus(p.times(c)),!c.c[0]&&x==1&&(c.s=u.s),c)},o.multipliedBy=o.times=function(c,d){var p,C,u,g,E,h,w,I,N,F,X,se,ue,Ce,Se,q=this,ye=q.c,Ne=(c=new A(c,d)).c;if(!ye||!Ne||!ye[0]||!Ne[0])return!q.s||!c.s||ye&&!ye[0]&&!Ne||Ne&&!Ne[0]&&!ye?c.c=c.e=c.s=null:(c.s*=q.s,!ye||!Ne?c.c=c.e=null:(c.c=[0],c.e=0)),c;for(C=$e(q.e/be)+$e(c.e/be),c.s*=q.s,w=ye.length,F=Ne.length,w<F&&(ue=ye,ye=Ne,Ne=ue,u=w,w=F,F=u),u=w+F,ue=[];u--;ue.push(0));for(Ce=nt,Se=vt,u=F;--u>=0;){for(p=0,X=Ne[u]%Se,se=Ne[u]/Se|0,E=w,g=u+E;g>u;)I=ye[--E]%Se,N=ye[E]/Se|0,h=se*I+N*X,I=X*I+h%Se*Se+ue[g]+p,p=(I/Ce|0)+(h/Se|0)+se*N,ue[g--]=I%Ce;ue[g]=p}return p?++C:ue.splice(0,1),he(c,ue,C)},o.negated=function(){var c=new A(this);return c.s=-c.s||null,c},o.plus=function(c,d){var p,C=this,u=C.s;if(c=new A(c,d),d=c.s,!u||!d)return new A(NaN);if(u!=d)return c.s=-d,C.minus(c);var g=C.e/be,E=c.e/be,h=C.c,w=c.c;if(!g||!E){if(!h||!w)return new A(u/0);if(!h[0]||!w[0])return w[0]?c:new A(h[0]?C:u*0)}if(g=$e(g),E=$e(E),h=h.slice(),u=g-E){for(u>0?(E=g,p=w):(u=-u,p=h),p.reverse();u--;p.push(0));p.reverse()}for(u=h.length,d=w.length,u-d<0&&(p=w,w=h,h=p,d=u),u=0;d;)u=(h[--d]=h[d]+w[d]+u)/nt|0,h[d]=nt===h[d]?0:h[d]%nt;return u&&(h=[u].concat(h),++E),he(c,h,E)},o.precision=o.sd=function(c,d){var p,C,u,g=this;if(c!=null&&c!==!!c)return Pe(c,1,He),d==null?d=i:Pe(d,0,8),we(new A(g),c,d);if(!(p=g.c))return null;if(u=p.length-1,C=u*be+1,u=p[u]){for(;u%10==0;u/=10,C--);for(u=p[0];u>=10;u/=10,C++);}return c&&g.e+1>C&&(C=g.e+1),C},o.shiftedBy=function(c){return Pe(c,-ao,ao),this.times("1e"+c)},o.squareRoot=o.sqrt=function(){var c,d,p,C,u,g=this,E=g.c,h=g.s,w=g.e,I=r+4,N=new A("0.5");if(h!==1||!E||!E[0])return new A(!h||h<0&&(!E||E[0])?NaN:E?g:1/0);if(h=Math.sqrt(+Ee(g)),h==0||h==1/0?(d=et(E),(d.length+w)%2==0&&(d+="0"),h=Math.sqrt(+d),w=$e((w+1)/2)-(w<0||w%2),h==1/0?d="5e"+w:(d=h.toExponential(),d=d.slice(0,d.indexOf("e")+1)+w),p=new A(d)):p=new A(h+""),p.c[0]){for(w=p.e,h=w+I,h<3&&(h=0);;)if(u=p,p=N.times(u.plus(t(g,u,I,1))),et(u.c).slice(0,h)===(d=et(p.c)).slice(0,h))if(p.e<w&&--h,d=d.slice(h-3,h+1),d=="9999"||!C&&d=="4999"){if(!C&&(we(u,u.e+r+2,0),u.times(u).eq(g))){p=u;break}I+=4,h+=4,C=1}else{(!+d||!+d.slice(1)&&d.charAt(0)=="5")&&(we(p,p.e+r+2,1),c=!p.times(p).eq(g));break}}return we(p,p.e+r+1,i,c)},o.toExponential=function(c,d){return c!=null&&(Pe(c,0,He),c++),J(this,c,d,1)},o.toFixed=function(c,d){return c!=null&&(Pe(c,0,He),c=c+this.e+1),J(this,c,d)},o.toFormat=function(c,d,p){var C,u=this;if(p==null)c!=null&&d&&typeof d=="object"?(p=d,d=null):c&&typeof c=="object"?(p=c,c=d=null):p=S;else if(typeof p!="object")throw Error(ze+"Argument not an object: "+p);if(C=u.toFixed(c,d),u.c){var g,E=C.split("."),h=+p.groupSize,w=+p.secondaryGroupSize,I=p.groupSeparator||"",N=E[0],F=E[1],X=u.s<0,se=X?N.slice(1):N,ue=se.length;if(w&&(g=h,h=w,w=g,ue-=g),h>0&&ue>0){for(g=ue%h||h,N=se.substr(0,g);g<ue;g+=h)N+=I+se.substr(g,h);w>0&&(N+=I+se.slice(g)),X&&(N="-"+N)}C=F?N+(p.decimalSeparator||"")+((w=+p.fractionGroupSize)?F.replace(new RegExp("\\d{"+w+"}\\B","g"),"$&"+(p.fractionGroupSeparator||"")):F):N}return(p.prefix||"")+C+(p.suffix||"")},o.toFraction=function(c){var d,p,C,u,g,E,h,w,I,N,F,X,se=this,ue=se.c;if(c!=null&&(h=new A(c),!h.isInteger()&&(h.c||h.s!==1)||h.lt(a)))throw Error(ze+"Argument "+(h.isInteger()?"out of range: ":"not an integer: ")+Ee(h));if(!ue)return new A(se);for(d=new A(a),I=p=new A(a),C=w=new A(a),X=et(ue),g=d.e=X.length-se.e-1,d.c[0]=ro[(E=g%be)<0?be+E:E],c=!c||h.comparedTo(d)>0?g>0?d:I:h,E=z,z=1/0,h=new A(X),w.c[0]=0;N=t(h,d,0,1),u=p.plus(N.times(C)),u.comparedTo(c)!=1;)p=C,C=u,I=w.plus(N.times(u=I)),w=u,d=h.minus(N.times(u=d)),h=u;return u=t(c.minus(p),C,0,1),w=w.plus(u.times(I)),p=p.plus(u.times(C)),w.s=I.s=se.s,g=g*2,F=t(I,C,g,i).minus(se).abs().comparedTo(t(w,p,g,i).minus(se).abs())<1?[I,C]:[w,p],z=E,F},o.toNumber=function(){return+Ee(this)},o.toPrecision=function(c,d){return c!=null&&Pe(c,1,He),J(this,c,d,2)},o.toString=function(c){var d,p=this,C=p.s,u=p.e;return u===null?C?(d="Infinity",C<0&&(d="-"+d)):d="NaN":(c==null?d=u<=l||u>=y?An(et(p.c),u):ht(et(p.c),u,"0"):c===10&&ge?(p=we(new A(p),r+u+1,i),d=ht(et(p.c),p.e,"0")):(Pe(c,2,v.length,"Base"),d=n(ht(et(p.c),u,"0"),10,c,C,!0)),C<0&&p.c[0]&&(d="-"+d)),d},o.valueOf=o.toJSON=function(){return Ee(this)},o._isBigNumber=!0,o[Symbol.toStringTag]="BigNumber",o[Symbol.for("nodejs.util.inspect.custom")]=o.valueOf,e!=null&&A.set(e),A}function $e(e){var t=e|0;return e>0||e===t?t:t-1}function et(e){for(var t,n,s=1,o=e.length,a=e[0]+"";s<o;){for(t=e[s++]+"",n=be-t.length;n--;t="0"+t);a+=t}for(o=a.length;a.charCodeAt(--o)===48;);return a.slice(0,o+1||1)}function Bt(e,t){var n,s,o=e.c,a=t.c,r=e.s,i=t.s,l=e.e,y=t.e;if(!r||!i)return null;if(n=o&&!o[0],s=a&&!a[0],n||s)return n?s?0:-i:r;if(r!=i)return r;if(n=r<0,s=l==y,!o||!a)return s?0:!o^n?1:-1;if(!s)return l>y^n?1:-1;for(i=(l=o.length)<(y=a.length)?l:y,r=0;r<i;r++)if(o[r]!=a[r])return o[r]>a[r]^n?1:-1;return l==y?0:l>y^n?1:-1}function Pe(e,t,n,s){if(e<t||e>n||e!==Ze(e))throw Error(ze+(s||"Argument")+(typeof e=="number"?e<t||e>n?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function yn(e){var t=e.c.length-1;return $e(e.e/be)==t&&e.c[t]%2!=0}function An(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function ht(e,t,n){var s,o;if(t<0){for(o=n+".";++t;o+=n);e=o+e}else if(s=e.length,++t>s){for(o=n,t-=s;--t;o+=n);e+=o}else t<s&&(e=e.slice(0,t)+"."+e.slice(t));return e}var re=ys();class Vt{baseUrl;constructor(t){this.baseUrl=t}buildUrl(t,n){const s=new URL(t,this.baseUrl);return n&&Object.entries(n).forEach(([o,a])=>{a!=null&&s.searchParams.append(o,String(a))}),s.toString()}async get(t,n={}){const s=this.buildUrl(t,n.query),o=await fetch(s,{method:"GET",headers:n.headers||{}});if(!o.ok){let r=null;try{r=await o.json()}catch{try{const l=await o.text();l&&(r={message:l})}catch{}}const i=new Error(r?.message||r?.errorMessage||`HTTP ${o.status}: ${o.statusText}`);throw i.status=o.status,i.statusText=o.statusText,r&&(i.data=r),i}return{data:await o.json(),status:o.status}}async post(t,n,s={}){const o=this.buildUrl(t,s.query),a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",...s.headers},body:JSON.stringify(n)});if(!a.ok){let i=null;try{i=await a.json()}catch{try{const y=await a.text();y&&(i={message:y})}catch{}}const l=new Error(i?.message||i?.errorMessage||`HTTP ${a.status}: ${a.statusText}`);throw l.status=a.status,l.statusText=a.statusText,i&&(l.data=i),l}return{data:await a.json(),status:a.status}}}const Bi=.01,As=new Vt("https://wallet-api.pantograph.app"),Fi="https://deep-index.moralis.io";function $t(){return"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJub25jZSI6ImY4NmY0Yzc2LTA3MDQtNGEwZS04YTA0LWUwODllOGQxMGZjZCIsIm9yZ0lkIjoiMzk0MDAyIiwidXNlcklkIjoiNDA0ODUzIiwidHlwZUlkIjoiYjQyODExOTQtOGQ0Yi00NjkxLTlhZjItNjU4ODE2NzExYmRjIiwidHlwZSI6IlBST0pFQ1QiLCJpYXQiOjE3MTY4NjQyNTYsImV4cCI6NDg3MjYyNDI1Nn0.V8crfBIBardAnZkc05FD0hQIJBeZxMqvzRnYExVtnF8"}function en(e){return{"X-API-Key":e,Accept:"application/json"}}const tn=new Vt(Fi);async function je(e){const{address:t,chain:n="base",token_addresses:s,exclude_spam:o,exclude_unverified_contracts:a}=e;if(!t)throw new Error("Address is required");try{const r=$t(),i={chain:n,exclude_spam:o??!1,exclude_unverified_contracts:a??!1};s&&(i.token_addresses=s);const y=(await tn.get(`/api/v2.2/wallets/${encodeURIComponent(t)}/tokens`,{query:i,headers:en(r)})).data;if(y?.result?.length>0){y.result=y.result.filter(D=>new re(D?.balance||0).gt(0)),y.result=y.result.map(D=>({...D,token_address:D.token_address===ki?We:D.token_address}));try{if(y.result.length>0){const D=fs(n)??n,z=y.result.map(x=>x.token_address),k=await As.get(`/keyrings/tokens/${D}/v2`,{query:{addresses:z.join(",")}});if(Array.isArray(k.data)){const x=new Map;for(const B of k.data)B.address&&B.price!=null&&x.set(B.address.toLowerCase(),parseFloat(String(B.price)));y.result=y.result.map(B=>{const S=x.get(B.token_address.toLowerCase());if(S==null)return B;const v=re(B.balance_formatted||"0").multipliedBy(S).toNumber();return{...B,usd_price:S,usd_value:v}}),y.result=y.result.filter(B=>B.usd_value==null||new re(B.usd_value).gte(Bi))}}}catch(D){console.warn("⚠️ Failed to fetch Pantograph prices:",D)}}return{success:!0,data:y}}catch(r){const i=r instanceof Error?r.message:"Unknown error";return console.error("❌ Error fetching token balances:",i),{success:!1,error:i}}}async function ks(e){const{address:t,chain:n="base"}=e;if(!t)throw new Error("Token address is required");try{const s=fs(n)??n,o=await As.get(`/keyrings/tokens/${s}/v2`,{query:{addresses:t}}),a=t===We,i=(Array.isArray(o.data)?o.data:[]).find(B=>B.address?.toLowerCase()===t.toLowerCase()||a&&B.address==="")??null;if(i)return{success:!0,data:{token_address:i.address??t,name:i.name??"",symbol:i.symbol??"",decimals:i.decimals!=null?Number(i.decimals):18,logo:i.icon_image||i.logo,thumbnail:i.icon_image||i.logo,usd_price:i.price!=null?parseFloat(i.price):void 0,usd_price_24hr_percent_change:i.price_change_percentage_24h??void 0,usd_price_24hr_usd_change:i.price_change_24h??void 0}};console.warn("⚠️ Pantograph returned no result, falling back to Moralis API");const l=$t(),[y,D]=await Promise.allSettled([tn.get("/api/v2.2/erc20/metadata",{query:{chain:n,addresses:[t]},headers:en(l)}),tn.get(`/api/v2.2/erc20/${encodeURIComponent(t)}/price`,{query:{chain:n,include:"percent_change"},headers:en(l)})]),z=y.status==="fulfilled"?y.value.data:[];if(!z||z.length===0)return{success:!1,error:"Token metadata not found"};const k=z[0],x=D.status==="fulfilled"?D.value.data:void 0;return{success:!0,data:{token_address:k.token_address,name:k.name,symbol:k.symbol,decimals:k.decimals,logo:k.logo||k.thumbnail,thumbnail:k.thumbnail,usd_price:x?.usdPrice??void 0,usd_price_24hr_percent_change:x?.["24hrPercentChange"]?parseFloat(x["24hrPercentChange"]):void 0,usd_price_24hr_usd_change:x?.usdPriceChange24hr??void 0}}}catch(s){const o=s instanceof Error?s.message:"Unknown error";return console.error("❌ Error fetching token metadata:",o),{success:!1,error:o}}}async function Pi(e){const{prompt:t,model:n="gpt-4.1-mini",stream:s=!1,systemPrompt:o}=e;if(!t)throw new Error("Prompt is required");try{const a=$t(),r=new Vt("https://cortex-api.moralis.io"),i=o?`${o}
|
|
111
111
|
|
|
112
112
|
---
|
|
113
113
|
|
|
114
|
-
User: ${t}`:t;return{success:!0,data:(await r.post("/chat",{prompt:i,model:n,stream:s},{headers:{"X-API-Key":a,Accept:"application/json","Content-Type":"application/json"}})).data}}catch(a){const r=a instanceof Error?a.message:"Unknown error";return console.error("❌ Error chatting with Cortex AI:",r),{success:!1,error:r}}}async function Oi(e){const{address:t,chain:n="base"}=e;if(!t)throw new Error("Contract address is required");try{const s=$t();return{success:!0,data:(await tn.get(`/api/v2.2/nft/${encodeURIComponent(t)}/metadata`,{query:{chain:n},headers:en(s)})).data}}catch(s){const o=s instanceof Error?s.message:"Unknown error";return console.error("❌ Error fetching NFT contract metadata:",o),{success:!1,error:o}}}async function kn(e){const{address:t,chain:n="base",limit:s=100,exclude_spam:o=!0,cursor:a}=e;if(!t)throw new Error("Address is required");try{const r=$t(),i={chain:n,format:"decimal",limit:s,exclude_spam:o,media_items:!0,normalizeMetadata:!0};return a&&(i.cursor=a),{success:!0,data:(await tn.get(`/api/v2.2/${encodeURIComponent(t)}/nft`,{query:i,headers:en(r)})).data}}catch(r){const i=r instanceof Error?r.message:"Unknown error";return console.error("❌ Error fetching NFTs:",i),{success:!1,error:i}}}const Di="data:image/png;base64,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",Li="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";class Ui extends Vt{constructor(){super("https://wallet-api.pantograph.app")}async getTokensDetails(t,n="base"){try{if(!t||!Array.isArray(t)||t.length===0)throw new Error("Addresses must be a non-empty array");const s=t.join(","),o=await this.get(`/keyrings/tokens/${n}/v2`,{query:{addresses:s}});return Array.isArray(o.data)&&(o.data=o.data.filter((a,r,i)=>r===i.findIndex(l=>l.address.toLowerCase()===a.address.toLowerCase())),Array.isArray(t)&&t.length>0&&(o.data=o.data.filter(a=>t.some(r=>r.toLowerCase()===a.address.toLowerCase())),o.data.sort((a,r)=>t.findIndex(i=>i.toLowerCase()===a.address.toLowerCase())-t.findIndex(i=>i.toLowerCase()===r.address.toLowerCase())))),o}catch(s){throw console.error("❌ Error getting tokens details:",s instanceof Error?s.message:s),s}}async getTokenDetail(t,n="base"){try{if(!t)throw new Error("Address is required");const s=await this.getTokensDetails([t],n);return{data:s.data[0]||null,status:s.status}}catch(s){throw console.error(`❌ Error getting token detail for ${t}:`,s instanceof Error?s.message:s),s}}async getTopGainers(t="base",n="24h",s=3){try{return await this.get(`/token-list/top-gainers/${t}`,{query:{duration:n,limit:s}})}catch(o){throw console.error("❌ Error getting top gainers:",o instanceof Error?o.message:o),o}}}const tt=new Ui,Mi="https://dln.debridge.finance",Ri=new Vt(Mi);async function io(e){const{chainId:t,tokenIn:n,tokenInAmount:s,tokenOut:o,accesstoken:a,slippage:r="auto",tokenOutRecipient:i}=e;if(!t||!n||!s||!o)throw new Error("Missing required parameters: chainId, tokenIn, tokenInAmount, tokenOut");try{const D=(await(await fetch("https://exchange-api.keyring.app/admin/setting?configs=others",{method:"GET"})).json())?.others||{},j=D?.AFFILIATE_FEE_PERENT,k=D?.AFFILIATE_FEE_RECIPIENT,x=await Ri.get("/v1.0/chain/transaction",{query:{chainId:String(t),tokenIn:n,tokenInAmount:s,tokenOut:o,slippage:String(r),tokenOutRecipient:i,accesstoken:a,affiliateFeePercent:j,affiliateFeeRecipient:k}});if(x.data?.error)throw new Error(`DeBridge API Error: ${x.data.error}`);return console.log("✅ Quote retrieved successfully"),{success:!0,data:x.data}}catch(l){let y=l instanceof Error?l.message:"Unknown error";const D=l;D.data?.errorMessage?y=D.data.errorMessage:D.response?.data?.errorMessage?y=D.response.data.errorMessage:D.data?.message?y=D.data.message:D.response?.data?.message&&(y=D.response.data.message);const j=D.status||D.response?.status||D.statusCode||D.data?.status;return console.error("📋 Error details:",{errorMessage:y,errorCode:D.data?.errorCode,errorId:D.data?.errorId,status:j,reqId:D.data?.reqId,fullError:{message:D.message,status:D.status,statusCode:D.statusCode}}),{success:!1,error:l instanceof Error?l.message:"Unknown error",status:j,errorMessage:y,errorCode:D.data?.errorCode,errorId:D.data?.errorId}}}const Hi="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";function Tt(e){const t=[],n=/!\[([^\]]*)\]\(([^)]+)\)|\[([^\]]*)\]\(([^)]+)\)|(https?:\/\/[^\s<>]+)|\*\*(.+?)\*\*|__(.+?)__|\*(.+?)\*|_(.+?)_|~~(.+?)~~|`([^`]+)`/g;let s=0,o;for(;(o=n.exec(e))!==null;)o.index>s&&t.push(e.slice(s,o.index)),o[1]!==void 0||o[2]!==void 0?t.push(P.jsx("img",{src:o[2],alt:o[1],className:"mc-image",onError:a=>{const r=a.target;r.src=Hi}},o.index)):o[3]!==void 0?t.push(P.jsx("a",{href:o[4],target:"_blank",rel:"noopener noreferrer",className:"mc-link",children:o[3]},o.index)):o[5]!==void 0?t.push(P.jsx("a",{href:o[5],target:"_blank",rel:"noopener noreferrer",className:"mc-link",children:o[5]},o.index)):o[6]!==void 0?t.push(P.jsx("strong",{children:Tt(o[6])},o.index)):o[7]!==void 0?t.push(P.jsx("strong",{children:Tt(o[7])},o.index)):o[8]!==void 0?t.push(P.jsx("em",{children:Tt(o[8])},o.index)):o[9]!==void 0?t.push(P.jsx("em",{children:Tt(o[9])},o.index)):o[10]!==void 0?t.push(P.jsx("del",{children:Tt(o[10])},o.index)):o[11]!==void 0&&t.push(P.jsx("code",{className:"mc-inline-code",children:o[11]},o.index)),s=o.index+o[0].length;return s<e.length&&t.push(e.slice(s)),t.length>0?t:[e]}const Wi=({content:e})=>{const t=e.split(`
|
|
114
|
+
User: ${t}`:t;return{success:!0,data:(await r.post("/chat",{prompt:i,model:n,stream:s},{headers:{"X-API-Key":a,Accept:"application/json","Content-Type":"application/json"}})).data}}catch(a){const r=a instanceof Error?a.message:"Unknown error";return console.error("❌ Error chatting with Cortex AI:",r),{success:!1,error:r}}}async function Oi(e){const{address:t,chain:n="base"}=e;if(!t)throw new Error("Contract address is required");try{const s=$t();return{success:!0,data:(await tn.get(`/api/v2.2/nft/${encodeURIComponent(t)}/metadata`,{query:{chain:n},headers:en(s)})).data}}catch(s){const o=s instanceof Error?s.message:"Unknown error";return console.error("❌ Error fetching NFT contract metadata:",o),{success:!1,error:o}}}async function kn(e){const{address:t,chain:n="base",limit:s=100,exclude_spam:o=!0,cursor:a}=e;if(!t)throw new Error("Address is required");try{const r=$t(),i={chain:n,format:"decimal",limit:s,exclude_spam:o,media_items:!0,normalizeMetadata:!0};return a&&(i.cursor=a),{success:!0,data:(await tn.get(`/api/v2.2/${encodeURIComponent(t)}/nft`,{query:i,headers:en(r)})).data}}catch(r){const i=r instanceof Error?r.message:"Unknown error";return console.error("❌ Error fetching NFTs:",i),{success:!1,error:i}}}const Di="data:image/png;base64,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",Li="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";class Ui extends Vt{constructor(){super("https://wallet-api.pantograph.app")}async getTokensDetails(t,n="base"){try{if(!t||!Array.isArray(t)||t.length===0)throw new Error("Addresses must be a non-empty array");const s=t.join(","),o=await this.get(`/keyrings/tokens/${n}/v2`,{query:{addresses:s}});return Array.isArray(o.data)&&(o.data=o.data.filter((a,r,i)=>r===i.findIndex(l=>l.address.toLowerCase()===a.address.toLowerCase())),Array.isArray(t)&&t.length>0&&(o.data=o.data.filter(a=>t.some(r=>r.toLowerCase()===a.address.toLowerCase())),o.data.sort((a,r)=>t.findIndex(i=>i.toLowerCase()===a.address.toLowerCase())-t.findIndex(i=>i.toLowerCase()===r.address.toLowerCase())))),o}catch(s){throw console.error("❌ Error getting tokens details:",s instanceof Error?s.message:s),s}}async getTokenDetail(t,n="base"){try{if(!t)throw new Error("Address is required");const s=await this.getTokensDetails([t],n);return{data:s.data[0]||null,status:s.status}}catch(s){throw console.error(`❌ Error getting token detail for ${t}:`,s instanceof Error?s.message:s),s}}async getTopGainers(t="base",n="24h",s=3){try{return await this.get(`/token-list/top-gainers/${t}`,{query:{duration:n,limit:s}})}catch(o){throw console.error("❌ Error getting top gainers:",o instanceof Error?o.message:o),o}}}const tt=new Ui,Mi="https://dln.debridge.finance",Ri=new Vt(Mi);async function io(e){const{chainId:t,tokenIn:n,tokenInAmount:s,tokenOut:o,accesstoken:a,slippage:r="auto",tokenOutRecipient:i}=e;if(!t||!n||!s||!o)throw new Error("Missing required parameters: chainId, tokenIn, tokenInAmount, tokenOut");try{const D=(await(await fetch("https://exchange-api.keyring.app/admin/setting?configs=others",{method:"GET"})).json())?.others||{},z=D?.AFFILIATE_FEE_PERENT,k=D?.AFFILIATE_FEE_RECIPIENT,x=await Ri.get("/v1.0/chain/transaction",{query:{chainId:String(t),tokenIn:n,tokenInAmount:s,tokenOut:o,slippage:String(r),tokenOutRecipient:i,accesstoken:a,affiliateFeePercent:z,affiliateFeeRecipient:k}});if(x.data?.error)throw new Error(`DeBridge API Error: ${x.data.error}`);return console.log("✅ Quote retrieved successfully"),{success:!0,data:x.data}}catch(l){let y=l instanceof Error?l.message:"Unknown error";const D=l;D.data?.errorMessage?y=D.data.errorMessage:D.response?.data?.errorMessage?y=D.response.data.errorMessage:D.data?.message?y=D.data.message:D.response?.data?.message&&(y=D.response.data.message);const z=D.status||D.response?.status||D.statusCode||D.data?.status;return console.error("📋 Error details:",{errorMessage:y,errorCode:D.data?.errorCode,errorId:D.data?.errorId,status:z,reqId:D.data?.reqId,fullError:{message:D.message,status:D.status,statusCode:D.statusCode}}),{success:!1,error:l instanceof Error?l.message:"Unknown error",status:z,errorMessage:y,errorCode:D.data?.errorCode,errorId:D.data?.errorId}}}const Hi="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";function Tt(e){const t=[],n=/!\[([^\]]*)\]\(([^)]+)\)|\[([^\]]*)\]\(([^)]+)\)|(https?:\/\/[^\s<>]+)|\*\*(.+?)\*\*|__(.+?)__|\*(.+?)\*|_(.+?)_|~~(.+?)~~|`([^`]+)`/g;let s=0,o;for(;(o=n.exec(e))!==null;)o.index>s&&t.push(e.slice(s,o.index)),o[1]!==void 0||o[2]!==void 0?t.push(P.jsx("img",{src:o[2],alt:o[1],className:"mc-image",onError:a=>{const r=a.target;r.src=Hi}},o.index)):o[3]!==void 0?t.push(P.jsx("a",{href:o[4],target:"_blank",rel:"noopener noreferrer",className:"mc-link",children:o[3]},o.index)):o[5]!==void 0?t.push(P.jsx("a",{href:o[5],target:"_blank",rel:"noopener noreferrer",className:"mc-link",children:o[5]},o.index)):o[6]!==void 0?t.push(P.jsx("strong",{children:Tt(o[6])},o.index)):o[7]!==void 0?t.push(P.jsx("strong",{children:Tt(o[7])},o.index)):o[8]!==void 0?t.push(P.jsx("em",{children:Tt(o[8])},o.index)):o[9]!==void 0?t.push(P.jsx("em",{children:Tt(o[9])},o.index)):o[10]!==void 0?t.push(P.jsx("del",{children:Tt(o[10])},o.index)):o[11]!==void 0&&t.push(P.jsx("code",{className:"mc-inline-code",children:o[11]},o.index)),s=o.index+o[0].length;return s<e.length&&t.push(e.slice(s)),t.length>0?t:[e]}const Wi=({content:e})=>{const t=e.split(`
|
|
115
115
|
`),n=[];let s=0;for(;s<t.length;){const o=t[s];if(o.trimStart().startsWith("```")){const r=o.trimStart().slice(3)?.trim(),i=[];for(s++;s<t.length&&!t[s].trimStart().startsWith("```");)i.push(t[s]),s++;n.push(P.jsxs("div",{className:"mc-codeblock",children:[r&&P.jsx("div",{className:"mc-codeblock-lang",children:r}),P.jsx("pre",{children:P.jsx("code",{children:i.join(`
|
|
116
|
-
`)})})]},`code-${s}`)),s++;continue}if(/^(\s*[-*_]\s*){3,}$/.test(o)){n.push(P.jsx("hr",{className:"mc-hr"},`hr-${s}`)),s++;continue}const a=o.match(/^(#{1,3})\s+(.+)/);if(a){const r=a[1].length,i=a[2];n.push(P.jsx("div",{className:`mc-heading mc-h${r}`,children:Tt(i)},`h-${s}`)),s++;continue}if(o.trimStart().startsWith("> ")){const r=[];for(;s<t.length&&t[s].trimStart().startsWith("> ");)r.push(t[s].replace(/^\s*>\s?/,"")),s++;n.push(P.jsx("div",{className:"mc-blockquote",children:r.map((i,l)=>P.jsx("div",{children:Tt(i)},l))},`bq-${s}`));continue}if(o?.trim()===""){n.push(P.jsx("div",{className:"mc-empty-line"},`empty-${s}`)),s++;continue}n.push(P.jsx("div",{className:"mc-line",children:Tt(o)},`line-${s}`)),s++}return P.jsx("div",{className:"message-content",children:n})},Vi={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:"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"},{key:"decimals",label:"fieldDecimals",type:"number",placeholder:"18",required:!1,editable:!1}]},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 Gi(e){return Re(e)}function co(e){if(!e||e?.trim()==="")return!1;const t=parseFloat(e);return!isNaN(t)&&t>0}const Yi=({action:e,initialValues:t,onSubmit:n,onCancel:s,isSubmitting:o=!1,tokenInfo:a,nftInfo:r})=>{const{t:i,ti:l}=cn(),y=Vi[e],[D,j]=ee.useState(()=>{if(!y)return{};const A={};return y.fields.forEach(z=>{A[z.key]=t[z.key]||""}),A}),[k]=ee.useState(()=>["send_native","send_token","swap_token"].includes(e)&&!a&&D.contract_address?i("formTokenNotFound"):null),[x,B]=ee.useState(()=>{const A={};if(["send_native","send_token","swap_token"].includes(e)&&a){const Q=parseFloat(a.balanceFormatted||"0");if(Q<=0)A.amount=l("formNoBalance",{symbol:a.symbol??""});else{const pe=t.amount?.trim();pe&&co(pe)&&parseFloat(pe)>Q&&(A.amount=l("formInsufficientBalance",{balance:a.balanceFormatted,symbol:a.symbol??""}))}}return A}),S=ee.useCallback((A,z)=>{j(Q=>({...Q,[A]:z})),x[A]&&B(Q=>{const pe={...Q};return delete pe[A],pe})},[x]),T=ee.useCallback(()=>{if(!y)return!1;const A={};if(y.fields.forEach(z=>{const Q=D[z.key]?.trim()||"";if(z.required&&!Q&&!(e==="send_nft"&&z.key==="amount")){A[z.key]=l("formFieldRequired",{field:i(z.label)});return}if(Q){if(z.validation==="address"&&!Gi(Q)&&(A[z.key]=i("formInvalidAddress")),z.validation==="amount"&&!co(Q)&&(A[z.key]=i("formMustBePositive")),z.key==="amount"&&Q&&co(Q)&&a?.balanceFormatted){const pe=parseFloat(Q),we=parseFloat(a.balanceFormatted);pe>we&&(A[z.key]=l("formInsufficientBalance",{balance:a.balanceFormatted,symbol:a.symbol??""}))}z.validation==="positive_number"&&(isNaN(Number(Q))||Number(Q)<0)&&(A[z.key]=i("formMustBeValidNumber"))}}),e==="send_nft"&&D.token_standard?.toUpperCase()==="ERC1155"){const z=D.amount?.trim();if(!z)A.amount=l("formFieldRequired",{field:i("fieldAmount")});else if(!/^\d+$/.test(z)||parseInt(z,10)<1)A.amount=i("formMustBePositiveInteger");else{const Q=parseInt(t.maxAmount||"0",10);Q>0&&parseInt(z,10)>Q&&(A.amount=l("formAmountExceedsNft",{max:String(Q)}))}}return B(A),Object.keys(A).length===0},[y,D,a,e,t,i,l]),me=ee.useCallback(()=>{T()&&n(e,D)},[T,n,e,D]);return y?P.jsxs("div",{className:"action-form",children:[P.jsx("div",{className:"action-form-title",children:P.jsx("span",{children:i(y.label)})}),k&&P.jsxs("div",{className:"action-form-general-error",children:["⚠️ ",k]}),a&&P.jsx("div",{className:"action-form-token-info",children:P.jsxs("div",{className:"token-info-row",children:[a.logo&&P.jsx("img",{src:a.logo,alt:a.symbol,className:"token-info-logo",width:20,height:20}),P.jsxs("div",{className:"token-info-details",children:[P.jsxs("span",{className:"token-info-name",children:[a.name," (",a.symbol,")"]}),P.jsxs("span",{className:"token-info-balance",children:[i("spendable"),": ",oe(a.balanceFormatted).decimalPlaces(8,oe.ROUND_DOWN).toFormat()," ",a.symbol,a.usdValue!==void 0&&P.jsxs("span",{className:"token-info-usd",children:[" ","≈ $",a.usdValue.toFixed(2)]})]})]})]})}),r?.image&&P.jsx("div",{className:"action-form-nft-info",children:P.jsx("img",{src:r.image,alt:r.name,className:"nft-info-image",onError:A=>{A.target.style.display="none"}})}),P.jsx("div",{className:"action-form-fields",children:y.fields.map(A=>A.hidden||A.key==="amount"&&e==="send_nft"&&D.token_standard?.toUpperCase()!=="ERC1155"?null:P.jsxs("div",{className:"action-form-field",children:[P.jsxs("div",{className:"action-form-field-header",children:[P.jsxs("div",{className:"action-form-field-label",children:[i(A.label),A.required&&" *"]}),A.key==="amount"&&a&&e!=="send_nft"&&P.jsxs("div",{className:"action-form-pct-btns",children:[[25,50,75].map(z=>P.jsxs("button",{type:"button",className:"action-form-pct-btn",onClick:()=>S("amount",(parseFloat(a.balanceFormatted)*z/100).toString()),disabled:o,children:[z,"%"]},z)),P.jsx("button",{type:"button",className:"action-form-pct-btn action-form-max-btn",onClick:()=>S("amount",a.balanceFormatted),disabled:o,children:"MAX"})]})]}),(()=>{const z=A.editable===!1&&!!t[A.key],Q=o||z,pe=[x[A.key]?"error":"",z?"readonly":""].filter(Boolean).join(" ");return A.type==="address"?P.jsx("textarea",{rows:2,placeholder:A.placeholder,value:D[A.key]||"",onChange:we=>S(A.key,we.target.value),className:pe,disabled:Q}):P.jsx("input",{type:A.type==="number"?"number":"text",placeholder:A.placeholder,value:D[A.key]||"",onChange:we=>S(A.key,we.target.value),className:pe,disabled:Q})})(),x[A.key]&&P.jsx("span",{className:"field-error",children:x[A.key]})]},A.key))}),P.jsxs("div",{className:"action-form-actions",children:[P.jsx("button",{className:"message-button",onClick:s,type:"button",disabled:o,children:i("formCancel")}),P.jsx("button",{className:"message-button",onClick:me,type:"button",disabled:o,children:i(o?"formProcessing":"formExecute")})]})]}):null},Ji=({scrollContainerRef:e,threshold:t=200})=>{const[n,s]=ee.useState(!1);ee.useEffect(()=>{const a=e.current;if(!a)return;const r=()=>{const{scrollTop:i,scrollHeight:l,clientHeight:y}=a,D=l-i-y;s(D>t)};return a.addEventListener("scroll",r,{passive:!0}),r(),()=>{a.removeEventListener("scroll",r)}},[e,t]);const o=()=>{e.current?.scrollTo({top:e.current.scrollHeight,behavior:"smooth"})};return n?P.jsx("button",{className:"scroll-to-bottom-btn",onClick:o,"aria-label":"Scroll to bottom",type:"button",children:P.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",children:P.jsx("path",{d:"M9 3V15M9 15L4 10M9 15L14 10",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}):null};function zi(e){const{walletAddress:t,chainName:n,chainId:s,nativeSymbol:o,walletTokens:a,walletNfts:r}=e;if(!t)return`You are a Web3 wallet assistant for the Keyring crypto EVM wallet app.
|
|
116
|
+
`)})})]},`code-${s}`)),s++;continue}if(/^(\s*[-*_]\s*){3,}$/.test(o)){n.push(P.jsx("hr",{className:"mc-hr"},`hr-${s}`)),s++;continue}const a=o.match(/^(#{1,3})\s+(.+)/);if(a){const r=a[1].length,i=a[2];n.push(P.jsx("div",{className:`mc-heading mc-h${r}`,children:Tt(i)},`h-${s}`)),s++;continue}if(o.trimStart().startsWith("> ")){const r=[];for(;s<t.length&&t[s].trimStart().startsWith("> ");)r.push(t[s].replace(/^\s*>\s?/,"")),s++;n.push(P.jsx("div",{className:"mc-blockquote",children:r.map((i,l)=>P.jsx("div",{children:Tt(i)},l))},`bq-${s}`));continue}if(o?.trim()===""){n.push(P.jsx("div",{className:"mc-empty-line"},`empty-${s}`)),s++;continue}n.push(P.jsx("div",{className:"mc-line",children:Tt(o)},`line-${s}`)),s++}return P.jsx("div",{className:"message-content",children:n})},Vi={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:"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"},{key:"decimals",label:"fieldDecimals",type:"number",placeholder:"18",required:!1,editable:!1}]},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 Gi(e){return Re(e)}function co(e){if(!e||e?.trim()==="")return!1;const t=parseFloat(e);return!isNaN(t)&&t>0}const Yi=({action:e,initialValues:t,onSubmit:n,onCancel:s,isSubmitting:o=!1,tokenInfo:a,nftInfo:r})=>{const{t:i,ti:l}=cn(),y=Vi[e],[D,z]=ne.useState(()=>{if(!y)return{};const A={};return y.fields.forEach(J=>{A[J.key]=t[J.key]||""}),A}),[k]=ne.useState(()=>["send_native","send_token","swap_token"].includes(e)&&!a&&D.contract_address?i("formTokenNotFound"):null),[x,B]=ne.useState(()=>{const A={};if(["send_native","send_token","swap_token"].includes(e)&&a){const Q=parseFloat(a.balanceFormatted||"0");if(Q<=0)A.amount=l("formNoBalance",{symbol:a.symbol??""});else{const he=t.amount?.trim();he&&co(he)&&parseFloat(he)>Q&&(A.amount=l("formInsufficientBalance",{balance:a.balanceFormatted,symbol:a.symbol??""}))}}return A}),S=ne.useCallback((A,J)=>{z(Q=>({...Q,[A]:J})),x[A]&&B(Q=>{const he={...Q};return delete he[A],he})},[x]),v=ne.useCallback(()=>{if(!y)return!1;const A={};if(y.fields.forEach(J=>{const Q=D[J.key]?.trim()||"";if(J.required&&!Q&&!(e==="send_nft"&&J.key==="amount")){A[J.key]=l("formFieldRequired",{field:i(J.label)});return}if(Q){if(J.validation==="address"&&!Gi(Q)&&(A[J.key]=i("formInvalidAddress")),J.validation==="amount"&&!co(Q)&&(A[J.key]=i("formMustBePositive")),J.key==="amount"&&Q&&co(Q)&&a?.balanceFormatted){const he=parseFloat(Q),we=parseFloat(a.balanceFormatted);he>we&&(A[J.key]=l("formInsufficientBalance",{balance:a.balanceFormatted,symbol:a.symbol??""}))}J.validation==="positive_number"&&(isNaN(Number(Q))||Number(Q)<0)&&(A[J.key]=i("formMustBeValidNumber"))}}),e==="send_nft"&&D.token_standard?.toUpperCase()==="ERC1155"){const J=D.amount?.trim();if(!J)A.amount=l("formFieldRequired",{field:i("fieldAmount")});else if(!/^\d+$/.test(J)||parseInt(J,10)<1)A.amount=i("formMustBePositiveInteger");else{const Q=parseInt(t.maxAmount||"0",10);Q>0&&parseInt(J,10)>Q&&(A.amount=l("formAmountExceedsNft",{max:String(Q)}))}}return B(A),Object.keys(A).length===0},[y,D,a,e,t,i,l]),ge=ne.useCallback(()=>{v()&&n(e,D)},[v,n,e,D]);return y?P.jsxs("div",{className:"action-form",children:[P.jsx("div",{className:"action-form-title",children:P.jsx("span",{children:i(y.label)})}),k&&P.jsxs("div",{className:"action-form-general-error",children:["⚠️ ",k]}),a&&P.jsx("div",{className:"action-form-token-info",children:P.jsxs("div",{className:"token-info-row",children:[a.logo&&P.jsx("img",{src:a.logo,alt:a.symbol,className:"token-info-logo",width:20,height:20}),P.jsxs("div",{className:"token-info-details",children:[P.jsxs("span",{className:"token-info-name",children:[a.name," (",a.symbol,")"]}),P.jsxs("span",{className:"token-info-balance",children:[i("spendable"),": ",re(a.balanceFormatted).decimalPlaces(8,re.ROUND_DOWN).toFormat()," ",a.symbol,a.usdValue!==void 0&&P.jsxs("span",{className:"token-info-usd",children:[" ","≈ $",a.usdValue.toFixed(2)]})]})]})]})}),r?.image&&P.jsx("div",{className:"action-form-nft-info",children:P.jsx("img",{src:r.image,alt:r.name,className:"nft-info-image",onError:A=>{A.target.style.display="none"}})}),P.jsx("div",{className:"action-form-fields",children:y.fields.map(A=>A.hidden||A.key==="amount"&&e==="send_nft"&&D.token_standard?.toUpperCase()!=="ERC1155"?null:P.jsxs("div",{className:"action-form-field",children:[P.jsxs("div",{className:"action-form-field-header",children:[P.jsxs("div",{className:"action-form-field-label",children:[i(A.label),A.required&&" *"]}),A.key==="amount"&&a&&e!=="send_nft"&&P.jsxs("div",{className:"action-form-pct-btns",children:[[25,50,75].map(J=>P.jsxs("button",{type:"button",className:"action-form-pct-btn",onClick:()=>S("amount",(parseFloat(a.balanceFormatted)*J/100).toString()),disabled:o,children:[J,"%"]},J)),P.jsx("button",{type:"button",className:"action-form-pct-btn action-form-max-btn",onClick:()=>S("amount",a.balanceFormatted),disabled:o,children:"MAX"})]})]}),(()=>{const J=A.editable===!1&&!!t[A.key],Q=o||J,he=[x[A.key]?"error":"",J?"readonly":""].filter(Boolean).join(" ");return A.type==="address"?P.jsx("textarea",{rows:2,placeholder:A.placeholder,value:D[A.key]||"",onChange:we=>S(A.key,we.target.value),className:he,disabled:Q}):P.jsx("input",{type:A.type==="number"?"number":"text",placeholder:A.placeholder,value:D[A.key]||"",onChange:we=>S(A.key,we.target.value),className:he,disabled:Q})})(),x[A.key]&&P.jsx("span",{className:"field-error",children:x[A.key]})]},A.key))}),P.jsxs("div",{className:"action-form-actions",children:[P.jsx("button",{className:"message-button",onClick:s,type:"button",disabled:o,children:i("formCancel")}),P.jsx("button",{className:"message-button",onClick:ge,type:"button",disabled:o,children:i(o?"formProcessing":"formExecute")})]})]}):null},Ji=({scrollContainerRef:e,threshold:t=200})=>{const[n,s]=ne.useState(!1);ne.useEffect(()=>{const a=e.current;if(!a)return;const r=()=>{const{scrollTop:i,scrollHeight:l,clientHeight:y}=a,D=l-i-y;s(D>t)};return a.addEventListener("scroll",r,{passive:!0}),r(),()=>{a.removeEventListener("scroll",r)}},[e,t]);const o=()=>{e.current?.scrollTo({top:e.current.scrollHeight,behavior:"smooth"})};return n?P.jsx("button",{className:"scroll-to-bottom-btn",onClick:o,"aria-label":"Scroll to bottom",type:"button",children:P.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",children:P.jsx("path",{d:"M9 3V15M9 15L4 10M9 15L14 10",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}):null};function zi(e){const{walletAddress:t,chainName:n,chainId:s,nativeSymbol:o,walletTokens:a,walletNfts:r}=e;if(!t)return`You are a Web3 wallet assistant for the Keyring crypto EVM wallet app.
|
|
117
117
|
The user is currently NOT connected to any wallet.
|
|
118
118
|
|
|
119
119
|
## YOUR ROLE:
|
|
@@ -411,8 +411,8 @@ User: "do it again but with 2 ETH"
|
|
|
411
411
|
Response: {"action":"swap_token","message":"<friendly explanation>","parameters":{"token_in":"native","token_in_symbol":"${o}","token_in_decimals":"18","token_out":"<actual USDC address on current chain>","token_out_symbol":"USDC","token_out_decimals":"6","amount":"2"}}
|
|
412
412
|
|
|
413
413
|
User: "swap token" or "I want to swap" or "đổi token" (no specific tokens mentioned)
|
|
414
|
-
Response: {"action":"swap_token","message":"<friendly explanation, e.g. Which token would you like to swap?>","parameters":{"token_in":"","token_in_symbol":"","token_in_decimals":"","token_out":"","token_out_symbol":"","token_out_decimals":"","amount":""}}`}const vs={1:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",10:"0x4200000000000000000000000000000000000006",56:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",137:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",8453:"0x4200000000000000000000000000000000000006",42161:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"},vn=[{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"}]}],Ts=[{name:"deposit",type:"function",stateMutability:"payable",inputs:[],outputs:[]},{name:"withdraw",type:"function",stateMutability:"nonpayable",inputs:[{name:"wad",type:"uint256"}],outputs:[]}],ji=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"tokenId",type:"uint256"}],outputs:[]}],qi=[{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 nn(e,t){return t||ct[e]?.rpcUrls?.default?.http?.[0]}function Qi(e){const{action:t,parameters:n,fromAddress:s,chainId:o}=e;switch(t){case"send_native":return Ki(n,s,o);case"send_token":return Xi(n,s,o);case"approve_token":return Zi(n,s,o);case"wrap_native":return _i(n,s,o);case"unwrap_native":return $i(n,s,o);case"send_nft":return tc(n,s,o);default:throw new Error(`Action "${t}" does not produce a transaction`)}}function Ki(e,t,n){const{to_address:s,amount:o}=e;if(!s)throw new Error("Recipient address is required");if(!o)throw new Error("Amount is required");const a=mt(o,18).toString();return{from:t,to:s,data:"0x",value:a,chainId:n,description:`Send ${o} native token to ${s}`}}function Xi(e,t,n){const{contract_address:s,to_address:o,amount:a,decimals:r,token_symbol:i}=e;if(!s)throw new Error("Token contract address is required");if(!o)throw new Error("Recipient address is required");if(!a)throw new Error("Amount is required");const l=parseInt(r)||18,y=mt(a,l),D=kt({abi:vn,functionName:"transfer",args:[o,y]});return{from:t,to:s,data:D,value:"0",chainId:n,description:`Send ${a} ${i||"tokens"} to ${o}`}}function Zi(e,t,n){const{contract_address:s,spender_address:o,amount:a,token_symbol:r}=e;if(!s)throw new Error("Token contract address is required");if(!o)throw new Error("Spender address is required");const i=a&&a?.trim()!==""?mt(a,18):Rt,l=kt({abi:vn,functionName:"approve",args:[o,i]});return{from:t,to:s,data:l,value:"0",chainId:n,description:`Approve ${a||"unlimited"} ${r||"tokens"} for ${o}`}}function _i(e,t,n){const{amount:s}=e;if(!s)throw new Error("Amount is required");const o=vs[n];if(!o)throw new Error(`WETH not supported on chain ${n}`);const a=mt(s,18).toString(),r=kt({abi:Ts,functionName:"deposit"});return{from:t,to:o,data:r,value:a,chainId:n,description:`Wrap ${s} native token`}}function $i(e,t,n){const{amount:s}=e;if(!s)throw new Error("Amount is required");const o=vs[n];if(!o)throw new Error(`WETH not supported on chain ${n}`);const a=mt(s,18),r=kt({abi:Ts,functionName:"withdraw",args:[a]});return{from:t,to:o,data:r,value:"0",chainId:n,description:`Unwrap ${s} WETH`}}function ec(e){return["send_native","send_token","approve_token","wrap_native","unwrap_native","send_nft"].includes(e)}async function lo(e){const{transactionHash:t,chainId:n,pollingInterval:s=3e3,timeout:o=12e4,rpcUrl:a}=e,r=nn(n,a);if(!r)throw new Error(`No RPC endpoint for chain ${n}`);const i=Date.now();for(;Date.now()-i<o;){try{const y=await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getTransactionReceipt",params:[t]})})).json();if(y.result){const D=y.result;return{status:D.status==="0x1"?"success":"fail",blockNumber:D.blockNumber,gasUsed:D.gasUsed,effectiveGasPrice:D.effectiveGasPrice}}}catch(l){console.warn("eth_getTransactionReceipt poll error:",l)}await new Promise(l=>setTimeout(l,s))}throw new Error(`Transaction ${t} was not mined within ${o/1e3}s`)}async function uo(e){const{tokenAddress:t,ownerAddress:n,spenderAddress:s,chainId:o,rpcUrl:a}=e,r=nn(o,a);if(!r)return console.warn(`No RPC endpoint for chain ${o}, assuming no allowance`),BigInt(0);try{const i=kt({abi:vn,functionName:"allowance",args:[n,s]}),y=await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_call",params:[{to:t,data:i},"latest"]})})).json();return y.result&&y.result!=="0x"?BigInt(y.result):BigInt(0)}catch(i){return console.warn("checkAllowance failed:",i),BigInt(0)}}function Tn(e){const{tokenAddress:t,spenderAddress:n,fromAddress:s,chainId:o,tokenSymbol:a}=e,r=kt({abi:vn,functionName:"approve",args:[n,Rt]});return{from:s,to:t,data:r,value:"0",chainId:o,description:`Approve ${a||"token"} for swap`}}function tc(e,t,n){const{contract_address:s,token_id:o,to_address:a,token_standard:r,amount:i,nft_name:l}=e;if(!s)throw new Error("NFT contract address is required");if(!o)throw new Error("Token ID is required");if(!a)throw new Error("Recipient address is required");const y=(r||"ERC721").toUpperCase(),D=BigInt(o);let j,k;if(y==="ERC1155"){const x=BigInt(i||"1");j=kt({abi:qi,functionName:"safeTransferFrom",args:[t,a,D,x,"0x"]}),k=`Send ${x>1n?x.toString()+"x ":""}${l||"NFT"} (ERC1155 #${o}) to ${a}`}else j=kt({abi:ji,functionName:"safeTransferFrom",args:[t,a,D]}),k=`Send ${l||"NFT"} (ERC721 #${o}) to ${a}`;return{from:t,to:s,data:j,value:"0",chainId:n,description:k}}async function Cn(e){const{address:t,chainId:n,rpcUrl:s}=e,o=nn(n,s);if(!o)return console.warn(`No RPC endpoint for chain ${n}`),new oe(0);try{const r=await(await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getBalance",params:[t,"latest"]})})).json();return r.result&&r.result!=="0x"?new oe(BigInt(r.result).toString()):new oe(0)}catch(a){return console.warn("getNativeBalance failed:",a),new oe(0)}}async function on(e){const{from:t,to:n,data:s,value:o,chainId:a,rpcUrl:r}=e,i=nn(a,r);if(!i)return console.warn(`No RPC endpoint for chain ${a}`),new oe(0);try{const[l,y]=await Promise.all([fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[{from:t,to:n,data:s,...o&&o!=="0"?{value:o}:{}}]})}),fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:2,method:"eth_gasPrice",params:[]})})]),[D,j]=await Promise.all([l.json(),y.json()]),k=D.result?new oe(BigInt(D.result).toString()):new oe(0),x=j.result?new oe(BigInt(j.result).toString()):new oe(0);return k.times(x).times(1.1)}catch(l){return console.warn("estimateTransactionFee failed:",l),new oe(0)}}async function fo(e){const{chainId:t,rpcUrl:n}=e,s=nn(t,n);if(!s)return console.warn(`No RPC endpoint for chain ${t}`),new oe(0);try{const a=await(await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_gasPrice",params:[]})})).json();return a.result&&a.result!=="0x"?new oe(BigInt(a.result).toString()):new oe(0)}catch(o){return console.warn("getGasPrice failed:",o),new oe(0)}}var te={},sn={exports:{}},nc=sn.exports,Cs;function oc(){return Cs||(Cs=1,(function(e,t){(function(n,s){var o="1.0.39",a="",r="?",i="function",l="undefined",y="object",D="string",j="major",k="model",x="name",B="type",S="vendor",T="version",me="architecture",A="console",z="mobile",Q="tablet",pe="smarttv",we="wearable",Ee="embedded",c=500,d="Amazon",p="Apple",C="ASUS",u="BlackBerry",g="Browser",E="Chrome",h="Edge",w="Firefox",I="Google",N="Huawei",F="LG",Z="Microsoft",ne="Motorola",le="Opera",Ce="Samsung",Se="Sharp",q="Sony",Ae="Xiaomi",Ne="Zebra",qe="Facebook",Qe="Chromium OS",ot="Mac OS",Ve=" Browser",st=function(M,U){var H={};for(var Y in M)U[Y]&&U[Y].length%2===0?H[Y]=U[Y].concat(M[Y]):H[Y]=M[Y];return H},Be=function(M){for(var U={},H=0;H<M.length;H++)U[M[H].toUpperCase()]=M[H];return U},Pe=function(M,U){return typeof M===D?ve(U).indexOf(ve(M))!==-1:!1},ve=function(M){return M.toLowerCase()},Gt=function(M){return typeof M===D?M.replace(/[^\d\.]/g,a).split(".")[0]:s},gt=function(M,U){if(typeof M===D)return M=M.replace(/^\s\s*/,a),typeof U===l?M:M.substring(0,c)},lt=function(M,U){for(var H=0,Y,$,G,b,O,ie;H<U.length&&!O;){var ae=U[H],he=U[H+1];for(Y=$=0;Y<ae.length&&!O&&ae[Y];)if(O=ae[Y++].exec(M),O)for(G=0;G<he.length;G++)ie=O[++$],b=he[G],typeof b===y&&b.length>0?b.length===2?typeof b[1]==i?this[b[0]]=b[1].call(this,ie):this[b[0]]=b[1]:b.length===3?typeof b[1]===i&&!(b[1].exec&&b[1].test)?this[b[0]]=ie?b[1].call(this,ie,b[2]):s:this[b[0]]=ie?ie.replace(b[1],b[2]):s:b.length===4&&(this[b[0]]=ie?b[3].call(this,ie.replace(b[1],b[2])):s):this[b]=ie||s;H+=2}},at=function(M,U){for(var H in U)if(typeof U[H]===y&&U[H].length>0){for(var Y=0;Y<U[H].length;Y++)if(Pe(U[H][Y],M))return H===r?s:H}else if(Pe(U[H],M))return H===r?s:H;return U.hasOwnProperty("*")?U["*"]:M},Yt={"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},R={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"},K={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[T,[x,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[T,[x,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[x,T],[/opios[\/ ]+([\w\.]+)/i],[T,[x,le+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[T,[x,le+" GX"]],[/\bopr\/([\w\.]+)/i],[T,[x,le]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[T,[x,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/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)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[x,T],[/quark(?:pc)?\/([-\w\.]+)/i],[T,[x,"Quark"]],[/\bddg\/([\w\.]+)/i],[T,[x,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[T,[x,"UC"+g]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[T,[x,"WeChat"]],[/konqueror\/([\w\.]+)/i],[T,[x,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[T,[x,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[T,[x,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[T,[x,"Smart Lenovo "+g]],[/(avast|avg)\/([\w\.]+)/i],[[x,/(.+)/,"$1 Secure "+g],T],[/\bfocus\/([\w\.]+)/i],[T,[x,w+" Focus"]],[/\bopt\/([\w\.]+)/i],[T,[x,le+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[T,[x,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[T,[x,"Dolphin"]],[/coast\/([\w\.]+)/i],[T,[x,le+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[T,[x,"MIUI "+g]],[/fxios\/([-\w\.]+)/i],[T,[x,w]],[/\bqihu|(qi?ho?o?|360)browser/i],[[x,"360"+Ve]],[/\b(qq)\/([\w\.]+)/i],[[x,/(.+)/,"$1Browser"],T],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[x,/(.+)/,"$1"+Ve],T],[/samsungbrowser\/([\w\.]+)/i],[T,[x,Ce+" Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[x,/_/g," "],T],[/metasr[\/ ]?([\d\.]+)/i],[T,[x,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[x,"Sogou Mobile"],T],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[x,T],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[x],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[x,qe],T],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\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],[x,T],[/\bgsa\/([\w\.]+) .*safari\//i],[T,[x,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[T,[x,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[T,[x,E+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[x,E+" WebView"],T],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[T,[x,"Android "+g]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[x,T],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[T,[x,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[T,x],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[x,[T,at,Yt]],[/(webkit|khtml)\/([\w\.]+)/i],[x,T],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[x,"Netscape"],T],[/(wolvic)\/([\w\.]+)/i],[x,T],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[T,[x,w+" 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,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[x,[T,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[x,[T,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[me,"amd64"]],[/(ia32(?=;))/i],[[me,ve]],[/((?:i[346]|x)86)[;\)]/i],[[me,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[me,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[me,"armhf"]],[/windows (ce|mobile); ppc;/i],[[me,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[me,/ower/,a,ve]],[/(sun4\w)[;\)]/i],[[me,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[me,ve]]],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],[k,[S,Ce],[B,Q]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[k,[S,Ce],[B,z]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[k,[S,p],[B,z]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[k,[S,p],[B,Q]],[/(macintosh);/i],[k,[S,p]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[k,[S,Se],[B,z]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[k,[S,N],[B,Q]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[k,[S,N],[B,z]],[/\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],[[k,/_/g," "],[S,Ae],[B,z]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[k,/_/g," "],[S,Ae],[B,Q]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[k,[S,"OPPO"],[B,z]],[/\b(opd2\d{3}a?) bui/i],[k,[S,"OPPO"],[B,Q]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[k,[S,"Vivo"],[B,z]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[k,[S,"Realme"],[B,z]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[k,[S,ne],[B,z]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[k,[S,ne],[B,Q]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[k,[S,F],[B,Q]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[k,[S,F],[B,z]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[k,[S,"Lenovo"],[B,Q]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[k,/_/g," "],[S,"Nokia"],[B,z]],[/(pixel c)\b/i],[k,[S,I],[B,Q]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[k,[S,I],[B,z]],[/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],[k,[S,q],[B,z]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[k,"Xperia Tablet"],[S,q],[B,Q]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[k,[S,"OnePlus"],[B,z]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[k,[S,d],[B,Q]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[k,/(.+)/g,"Fire Phone $1"],[S,d],[B,z]],[/(playbook);[-\w\),; ]+(rim)/i],[k,S,[B,Q]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[k,[S,u],[B,z]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[k,[S,C],[B,Q]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[k,[S,C],[B,z]],[/(nexus 9)/i],[k,[S,"HTC"],[B,Q]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[S,[k,/_/g," "],[B,z]],[/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],[k,[S,"TCL"],[B,Q]],[/(itel) ((\w+))/i],[[S,ve],k,[B,at,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[k,[S,"Acer"],[B,Q]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[k,[S,"Meizu"],[B,z]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[k,[S,"Ulefone"],[B,z]],[/droid.+; (a(?:015|06[35]|142p?))/i],[k,[S,"Nothing"],[B,z]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[S,k,[B,z]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/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],[S,k,[B,Q]],[/(surface duo)/i],[k,[S,Z],[B,Q]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[k,[S,"Fairphone"],[B,z]],[/(u304aa)/i],[k,[S,"AT&T"],[B,z]],[/\bsie-(\w*)/i],[k,[S,"Siemens"],[B,z]],[/\b(rct\w+) b/i],[k,[S,"RCA"],[B,Q]],[/\b(venue[\d ]{2,7}) b/i],[k,[S,"Dell"],[B,Q]],[/\b(q(?:mv|ta)\w+) b/i],[k,[S,"Verizon"],[B,Q]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[k,[S,"Barnes & Noble"],[B,Q]],[/\b(tm\d{3}\w+) b/i],[k,[S,"NuVision"],[B,Q]],[/\b(k88) b/i],[k,[S,"ZTE"],[B,Q]],[/\b(nx\d{3}j) b/i],[k,[S,"ZTE"],[B,z]],[/\b(gen\d{3}) b.+49h/i],[k,[S,"Swiss"],[B,z]],[/\b(zur\d{3}) b/i],[k,[S,"Swiss"],[B,Q]],[/\b((zeki)?tb.*\b) b/i],[k,[S,"Zeki"],[B,Q]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[S,"Dragon Touch"],k,[B,Q]],[/\b(ns-?\w{0,9}) b/i],[k,[S,"Insignia"],[B,Q]],[/\b((nxa|next)-?\w{0,9}) b/i],[k,[S,"NextBook"],[B,Q]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[S,"Voice"],k,[B,z]],[/\b(lvtel\-)?(v1[12]) b/i],[[S,"LvTel"],k,[B,z]],[/\b(ph-1) /i],[k,[S,"Essential"],[B,z]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[k,[S,"Envizen"],[B,Q]],[/\b(trio[-\w\. ]+) b/i],[k,[S,"MachSpeed"],[B,Q]],[/\btu_(1491) b/i],[k,[S,"Rotor"],[B,Q]],[/(shield[\w ]+) b/i],[k,[S,"Nvidia"],[B,Q]],[/(sprint) (\w+)/i],[S,k,[B,z]],[/(kin\.[onetw]{3})/i],[[k,/\./g," "],[S,Z],[B,z]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[k,[S,Ne],[B,Q]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[k,[S,Ne],[B,z]],[/smart-tv.+(samsung)/i],[S,[B,pe]],[/hbbtv.+maple;(\d+)/i],[[k,/^/,"SmartTV"],[S,Ce],[B,pe]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[S,F],[B,pe]],[/(apple) ?tv/i],[S,[k,p+" TV"],[B,pe]],[/crkey/i],[[k,E+"cast"],[S,I],[B,pe]],[/droid.+aft(\w+)( bui|\))/i],[k,[S,d],[B,pe]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[k,[S,Se],[B,pe]],[/(bravia[\w ]+)( bui|\))/i],[k,[S,q],[B,pe]],[/(mitv-\w{5}) bui/i],[k,[S,Ae],[B,pe]],[/Hbbtv.*(technisat) (.*);/i],[S,k,[B,pe]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[S,gt],[k,gt],[B,pe]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[B,pe]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[S,k,[B,A]],[/droid.+; (shield) bui/i],[k,[S,"Nvidia"],[B,A]],[/(playstation [345portablevi]+)/i],[k,[S,q],[B,A]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[k,[S,Z],[B,A]],[/\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i],[k,[S,Ce],[B,we]],[/((pebble))app/i],[S,k,[B,we]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[k,[S,p],[B,we]],[/droid.+; (glass) \d/i],[k,[S,I],[B,we]],[/droid.+; (wt63?0{2,3})\)/i],[k,[S,Ne],[B,we]],[/(quest( \d| pro)?)/i],[k,[S,qe],[B,we]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[S,[B,Ee]],[/(aeobc)\b/i],[k,[S,d],[B,Ee]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[k,[B,z]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[k,[B,Q]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[B,Q]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[B,z]],[/(android[-\w\. ]{0,9});.+buil/i],[k,[S,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[T,[x,h+"HTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[T,[x,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[x,T],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[T,x]],os:[[/microsoft (windows) (vista|xp)/i],[x,T],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[x,[T,at,R]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[T,at,R],[x,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[T,/_/g,"."],[x,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[x,ot],[T,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[T,x],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[x,T],[/\(bb(10);/i],[T,[x,u]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[T,[x,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[T,[x,w+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[T,[x,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[T,[x,"watchOS"]],[/crkey\/([\d\.]+)/i],[T,[x,E+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[x,Qe],T],[/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) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[x,T],[/(sunos) ?([\w\.\d]*)/i],[[x,"Solaris"],T],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[x,T]]},V=function(M,U){if(typeof M===y&&(U=M,M=s),!(this instanceof V))return new V(M,U).getResult();var H=typeof n!==l&&n.navigator?n.navigator:s,Y=M||(H&&H.userAgent?H.userAgent:a),$=H&&H.userAgentData?H.userAgentData:s,G=U?st(K,U):K,b=H&&H.userAgent==Y;return this.getBrowser=function(){var O={};return O[x]=s,O[T]=s,lt.call(O,Y,G.browser),O[j]=Gt(O[T]),b&&H&&H.brave&&typeof H.brave.isBrave==i&&(O[x]="Brave"),O},this.getCPU=function(){var O={};return O[me]=s,lt.call(O,Y,G.cpu),O},this.getDevice=function(){var O={};return O[S]=s,O[k]=s,O[B]=s,lt.call(O,Y,G.device),b&&!O[B]&&$&&$.mobile&&(O[B]=z),b&&O[k]=="Macintosh"&&H&&typeof H.standalone!==l&&H.maxTouchPoints&&H.maxTouchPoints>2&&(O[k]="iPad",O[B]=Q),O},this.getEngine=function(){var O={};return O[x]=s,O[T]=s,lt.call(O,Y,G.engine),O},this.getOS=function(){var O={};return O[x]=s,O[T]=s,lt.call(O,Y,G.os),b&&!O[x]&&$&&$.platform&&$.platform!="Unknown"&&(O[x]=$.platform.replace(/chrome os/i,Qe).replace(/macos/i,ot)),O},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 Y},this.setUA=function(O){return Y=typeof O===D&&O.length>c?gt(O,c):O,this},this.setUA(Y),this};V.VERSION=o,V.BROWSER=Be([x,T,j]),V.CPU=Be([me]),V.DEVICE=Be([k,S,B,A,z,pe,Q,we,Ee]),V.ENGINE=V.OS=Be([x,T]),e.exports&&(t=e.exports=V),t.UAParser=V;var X=typeof n!==l&&(n.jQuery||n.Zepto);if(X&&!X.ua){var de=new V;X.ua=de.getResult(),X.ua.get=function(){return de.getUA()},X.ua.set=function(M){de.setUA(M);var U=de.getResult();for(var H in U)X.ua[H]=U[H]}}})(typeof window=="object"?window:nc)})(sn,sn.exports)),sn.exports}var Es;function sc(){if(Es)return te;Es=1,Object.defineProperty(te,"__esModule",{value:!0});function e(v){return v&&typeof v=="object"&&"default"in v?v.default:v}var t=ee,n=e(t),s=oc(),o=new s,a=o.getBrowser(),r=o.getCPU(),i=o.getDevice(),l=o.getEngine(),y=o.getOS(),D=o.getUA(),j=function(f){return o.setUA(f)},k=function(f){if(!f){console.error("No userAgent string was provided");return}var m=new s(f);return{UA:m,browser:m.getBrowser(),cpu:m.getCPU(),device:m.getDevice(),engine:m.getEngine(),os:m.getOS(),ua:m.getUA(),setUserAgent:function(J){return m.setUA(J)}}},x=Object.freeze({ClientUAInstance:o,browser:a,cpu:r,device:i,engine:l,os:y,ua:D,setUa:j,parseUserAgent:k});function B(v,f){var m=Object.keys(v);if(Object.getOwnPropertySymbols){var L=Object.getOwnPropertySymbols(v);f&&(L=L.filter(function(J){return Object.getOwnPropertyDescriptor(v,J).enumerable})),m.push.apply(m,L)}return m}function S(v){for(var f=1;f<arguments.length;f++){var m=arguments[f]!=null?arguments[f]:{};f%2?B(Object(m),!0).forEach(function(L){Q(v,L,m[L])}):Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(m)):B(Object(m)).forEach(function(L){Object.defineProperty(v,L,Object.getOwnPropertyDescriptor(m,L))})}return v}function T(v){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?T=function(f){return typeof f}:T=function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},T(v)}function me(v,f){if(!(v instanceof f))throw new TypeError("Cannot call a class as a function")}function A(v,f){for(var m=0;m<f.length;m++){var L=f[m];L.enumerable=L.enumerable||!1,L.configurable=!0,"value"in L&&(L.writable=!0),Object.defineProperty(v,L.key,L)}}function z(v,f,m){return f&&A(v.prototype,f),v}function Q(v,f,m){return f in v?Object.defineProperty(v,f,{value:m,enumerable:!0,configurable:!0,writable:!0}):v[f]=m,v}function pe(){return pe=Object.assign||function(v){for(var f=1;f<arguments.length;f++){var m=arguments[f];for(var L in m)Object.prototype.hasOwnProperty.call(m,L)&&(v[L]=m[L])}return v},pe.apply(this,arguments)}function we(v,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function");v.prototype=Object.create(f&&f.prototype,{constructor:{value:v,writable:!0,configurable:!0}}),f&&c(v,f)}function Ee(v){return Ee=Object.setPrototypeOf?Object.getPrototypeOf:function(m){return m.__proto__||Object.getPrototypeOf(m)},Ee(v)}function c(v,f){return c=Object.setPrototypeOf||function(L,J){return L.__proto__=J,L},c(v,f)}function d(v,f){if(v==null)return{};var m={},L=Object.keys(v),J,ke;for(ke=0;ke<L.length;ke++)J=L[ke],!(f.indexOf(J)>=0)&&(m[J]=v[J]);return m}function p(v,f){if(v==null)return{};var m=d(v,f),L,J;if(Object.getOwnPropertySymbols){var ke=Object.getOwnPropertySymbols(v);for(J=0;J<ke.length;J++)L=ke[J],!(f.indexOf(L)>=0)&&Object.prototype.propertyIsEnumerable.call(v,L)&&(m[L]=v[L])}return m}function C(v){if(v===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return v}function u(v,f){if(f&&(typeof f=="object"||typeof f=="function"))return f;if(f!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return C(v)}function g(v,f){return E(v)||h(v,f)||w(v,f)||N()}function E(v){if(Array.isArray(v))return v}function h(v,f){var m=v==null?null:typeof Symbol<"u"&&v[Symbol.iterator]||v["@@iterator"];if(m!=null){var L=[],J=!0,ke=!1,Me,Ke;try{for(m=m.call(v);!(J=(Me=m.next()).done)&&(L.push(Me.value),!(f&&L.length===f));J=!0);}catch(In){ke=!0,Ke=In}finally{try{!J&&m.return!=null&&m.return()}finally{if(ke)throw Ke}}return L}}function w(v,f){if(v){if(typeof v=="string")return I(v,f);var m=Object.prototype.toString.call(v).slice(8,-1);if(m==="Object"&&v.constructor&&(m=v.constructor.name),m==="Map"||m==="Set")return Array.from(v);if(m==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(m))return I(v,f)}}function I(v,f){(f==null||f>v.length)&&(f=v.length);for(var m=0,L=new Array(f);m<f;m++)L[m]=v[m];return L}function N(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
415
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var F={Mobile:"mobile",Tablet:"tablet",SmartTv:"smarttv",Console:"console",Wearable:"wearable",Embedded:"embedded",Browser:void 0},Z={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"},ne={IOS:"iOS",Android:"Android",WindowsPhone:"Windows Phone",Windows:"Windows",MAC_OS:"Mac OS"},le={isMobile:!1,isTablet:!1,isBrowser:!1,isSmartTV:!1,isConsole:!1,isWearable:!1},Ce=function(f){switch(f){case F.Mobile:return{isMobile:!0};case F.Tablet:return{isTablet:!0};case F.SmartTv:return{isSmartTV:!0};case F.Console:return{isConsole:!0};case F.Wearable:return{isWearable:!0};case F.Browser:return{isBrowser:!0};case F.Embedded:return{isEmbedded:!0};default:return le}},Se=function(f){return j(f)},q=function(f){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"none";return f||m},Ae=function(){return typeof window<"u"&&(window.navigator||navigator)?window.navigator||navigator:!1},Ne=function(f){var m=Ae();return m&&m.platform&&(m.platform.indexOf(f)!==-1||m.platform==="MacIntel"&&m.maxTouchPoints>1&&!window.MSStream)},qe=function(f,m,L,J,ke){return{isBrowser:f,browserMajorVersion:q(m.major),browserFullVersion:q(m.version),browserName:q(m.name),engineName:q(L.name),engineVersion:q(L.version),osName:q(J.name),osVersion:q(J.version),userAgent:q(ke)}},Qe=function(f,m,L,J){return S({},f,{vendor:q(m.vendor),model:q(m.model),os:q(L.name),osVersion:q(L.version),ua:q(J)})},ot=function(f,m,L,J){return{isSmartTV:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(J)}},Ve=function(f,m,L,J){return{isConsole:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(J)}},st=function(f,m,L,J){return{isWearable:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(J)}},Be=function(f,m,L,J,ke){return{isEmbedded:f,vendor:q(m.vendor),model:q(m.model),engineName:q(L.name),engineVersion:q(L.version),osName:q(J.name),osVersion:q(J.version),userAgent:q(ke)}};function Pe(v){var f=v?k(v):x,m=f.device,L=f.browser,J=f.engine,ke=f.os,Me=f.ua,Ke=Ce(m.type),In=Ke.isBrowser,al=Ke.isMobile,rl=Ke.isTablet,Us=Ke.isSmartTV,Ms=Ke.isConsole,Rs=Ke.isWearable,Hs=Ke.isEmbedded;if(In)return qe(In,L,J,ke,Me);if(Us)return ot(Us,J,ke,Me);if(Ms)return Ve(Ms,J,ke,Me);if(al||rl)return Qe(Ke,m,ke,Me);if(Rs)return st(Rs,J,ke,Me);if(Hs)return Be(Hs,m,J,ke,Me)}var ve=function(f){var m=f.type;return m===F.Mobile},Gt=function(f){var m=f.type;return m===F.Tablet},gt=function(f){var m=f.type;return m===F.Mobile||m===F.Tablet},lt=function(f){var m=f.type;return m===F.SmartTv},at=function(f){var m=f.type;return m===F.Browser},Yt=function(f){var m=f.type;return m===F.Wearable},R=function(f){var m=f.type;return m===F.Console},K=function(f){var m=f.type;return m===F.Embedded},V=function(f){var m=f.vendor;return q(m)},X=function(f){var m=f.model;return q(m)},de=function(f){var m=f.type;return q(m,"browser")},M=function(f){var m=f.name;return m===ne.Android},U=function(f){var m=f.name;return m===ne.Windows},H=function(f){var m=f.name;return m===ne.MAC_OS},Y=function(f){var m=f.name;return m===ne.WindowsPhone},$=function(f){var m=f.name;return m===ne.IOS},G=function(f){var m=f.version;return q(m)},b=function(f){var m=f.name;return q(m)},O=function(f){var m=f.name;return m===Z.Chrome},ie=function(f){var m=f.name;return m===Z.Firefox},ae=function(f){var m=f.name;return m===Z.Chromium},he=function(f){var m=f.name;return m===Z.Edge},Te=function(f){var m=f.name;return m===Z.Yandex},re=function(f){var m=f.name;return m===Z.Safari||m===Z.MobileSafari},_=function(f){var m=f.name;return m===Z.MobileSafari},se=function(f){var m=f.name;return m===Z.Opera},W=function(f){var m=f.name;return m===Z.InternetExplorer||m===Z.Ie},be=function(f){var m=f.name;return m===Z.MIUI},ge=function(f){var m=f.name;return m===Z.SamsungBrowser},ce=function(f){var m=f.version;return q(m)},xe=function(f){var m=f.major;return q(m)},Oe=function(f){var m=f.name;return q(m)},Ie=function(f){var m=f.name;return q(m)},De=function(f){var m=f.version;return q(m)},Ze=function(){var f=Ae(),m=f&&f.userAgent&&f.userAgent.toLowerCase();return typeof m=="string"?/electron/.test(m):!1},Ge=function(f){return typeof f=="string"&&f.indexOf("Edg/")!==-1},dt=function(){var f=Ae();return f&&(/iPad|iPhone|iPod/.test(f.platform)||f.platform==="MacIntel"&&f.maxTouchPoints>1)&&!window.MSStream},Ye=function(){return Ne("iPad")},Pt=function(){return Ne("iPhone")},an=function(){return Ne("iPod")},rn=function(f){return q(f)};function Jt(v){var f=v||x,m=f.device,L=f.browser,J=f.os,ke=f.engine,Me=f.ua;return{isSmartTV:lt(m),isConsole:R(m),isWearable:Yt(m),isEmbedded:K(m),isMobileSafari:_(L)||Ye(),isChromium:ae(L),isMobile:gt(m)||Ye(),isMobileOnly:ve(m),isTablet:Gt(m)||Ye(),isBrowser:at(m),isDesktop:at(m),isAndroid:M(J),isWinPhone:Y(J),isIOS:$(J)||Ye(),isChrome:O(L),isFirefox:ie(L),isSafari:re(L),isOpera:se(L),isIE:W(L),osVersion:G(J),osName:b(J),fullBrowserVersion:ce(L),browserVersion:xe(L),browserName:Oe(L),mobileVendor:V(m),mobileModel:X(m),engineName:Ie(ke),engineVersion:De(ke),getUA:rn(Me),isEdge:he(L)||Ge(Me),isYandex:Te(L),deviceType:de(m),isIOS13:dt(),isIPad13:Ye(),isIPhone13:Pt(),isIPod13:an(),isElectron:Ze(),isEdgeChromium:Ge(Me),isLegacyEdge:he(L)&&!Ge(Me),isWindows:U(J),isMacOs:H(J),isMIUI:be(L),isSamsungBrowser:ge(L)}}var Ue=lt(i),En=R(i),Sn=Yt(i),uc=K(i),fc=_(a)||Ye(),pc=ae(a),xn=gt(i)||Ye(),Is=ve(i),Ns=Gt(i)||Ye(),Bs=at(i),mc=at(i),Fs=M(y),Ps=Y(y),Os=$(y)||Ye(),hc=O(a),gc=ie(a),wc=re(a),bc=se(a),Ds=W(a),yc=G(y),Ac=b(y),kc=ce(a),vc=xe(a),Tc=Oe(a),Cc=V(i),Ec=X(i),Sc=Ie(l),xc=De(l),Ic=rn(D),Nc=he(a)||Ge(D),Bc=Te(a),Fc=de(i),Pc=dt(),Oc=Ye(),Dc=Pt(),Lc=an(),Uc=Ze(),Mc=Ge(D),Rc=he(a)&&!Ge(D),Hc=U(y),Wc=H(y),Vc=be(a),Gc=ge(a),Yc=function(f){if(!f||typeof f!="string"){console.error("No valid user agent string was provided");return}var m=k(f),L=m.device,J=m.browser,ke=m.os,Me=m.engine,Ke=m.ua;return Jt({device:L,browser:J,os:ke,engine:Me,ua:Ke})},Jc=function(f){var m=f.renderWithFragment,L=f.children,J=p(f,["renderWithFragment","children"]);return Fs?m?n.createElement(t.Fragment,null,L):n.createElement("div",J,L):null},zc=function(f){var m=f.renderWithFragment,L=f.children,J=p(f,["renderWithFragment","children"]);return Bs?m?n.createElement(t.Fragment,null,L):n.createElement("div",J,L):null},jc=function(f){var m=f.renderWithFragment,L=f.children,J=p(f,["renderWithFragment","children"]);return Ds?m?n.createElement(t.Fragment,null,L):n.createElement("div",J,L):null},qc=function(f){var m=f.renderWithFragment,L=f.children,J=p(f,["renderWithFragment","children"]);return Os?m?n.createElement(t.Fragment,null,L):n.createElement("div",J,L):null},Qc=function(f){var m=f.renderWithFragment,L=f.children,J=p(f,["renderWithFragment","children"]);return xn?m?n.createElement(t.Fragment,null,L):n.createElement("div",J,L):null},Kc=function(f){var m=f.renderWithFragment,L=f.children,J=p(f,["renderWithFragment","children"]);return Ns?m?n.createElement(t.Fragment,null,L):n.createElement("div",J,L):null},Xc=function(f){var m=f.renderWithFragment,L=f.children,J=p(f,["renderWithFragment","children"]);return Ps?m?n.createElement(t.Fragment,null,L):n.createElement("div",J,L):null},Zc=function(f){var m=f.renderWithFragment,L=f.children;f.viewClassName,f.style;var J=p(f,["renderWithFragment","children","viewClassName","style"]);return Is?m?n.createElement(t.Fragment,null,L):n.createElement("div",J,L):null},_c=function(f){var m=f.renderWithFragment,L=f.children,J=p(f,["renderWithFragment","children"]);return Ue?m?n.createElement(t.Fragment,null,L):n.createElement("div",J,L):null},$c=function(f){var m=f.renderWithFragment,L=f.children,J=p(f,["renderWithFragment","children"]);return En?m?n.createElement(t.Fragment,null,L):n.createElement("div",J,L):null},el=function(f){var m=f.renderWithFragment,L=f.children,J=p(f,["renderWithFragment","children"]);return Sn?m?n.createElement(t.Fragment,null,L):n.createElement("div",J,L):null},tl=function(f){var m=f.renderWithFragment,L=f.children;f.viewClassName,f.style;var J=f.condition,ke=p(f,["renderWithFragment","children","viewClassName","style","condition"]);return J?m?n.createElement(t.Fragment,null,L):n.createElement("div",ke,L):null};function nl(v){return(function(f){we(m,f);function m(L){var J;return me(this,m),J=u(this,Ee(m).call(this,L)),J.isEventListenerAdded=!1,J.handleOrientationChange=J.handleOrientationChange.bind(C(J)),J.onOrientationChange=J.onOrientationChange.bind(C(J)),J.onPageLoad=J.onPageLoad.bind(C(J)),J.state={isLandscape:!1,isPortrait:!1},J}return z(m,[{key:"handleOrientationChange",value:function(){this.isEventListenerAdded||(this.isEventListenerAdded=!0);var J=window.innerWidth>window.innerHeight?90:0;this.setState({isPortrait:J===0,isLandscape:J===90})}},{key:"onOrientationChange",value:function(){this.handleOrientationChange()}},{key:"onPageLoad",value:function(){this.handleOrientationChange()}},{key:"componentDidMount",value:function(){(typeof window>"u"?"undefined":T(window))!==void 0&&xn&&(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 n.createElement(v,pe({},this.props,{isLandscape:this.state.isLandscape,isPortrait:this.state.isPortrait}))}}]),m})(n.Component)}function ol(){var v=t.useState(function(){var ke=window.innerWidth>window.innerHeight?90:0;return{isPortrait:ke===0,isLandscape:ke===90,orientation:ke===0?"portrait":"landscape"}}),f=g(v,2),m=f[0],L=f[1],J=t.useCallback(function(){var ke=window.innerWidth>window.innerHeight?90:0,Me={isPortrait:ke===0,isLandscape:ke===90,orientation:ke===0?"portrait":"landscape"};m.orientation!==Me.orientation&&L(Me)},[m.orientation]);return t.useEffect(function(){return(typeof window>"u"?"undefined":T(window))!==void 0&&xn&&(J(),window.addEventListener("load",J,!1),window.addEventListener("resize",J,!1)),function(){window.removeEventListener("resize",J,!1),window.removeEventListener("load",J,!1)}},[J]),m}function Ls(v){var f=v||window.navigator.userAgent;return k(f)}function sl(v){var f=v||window.navigator.userAgent,m=Ls(f),L=Jt(m);return[L,m]}return te.AndroidView=Jc,te.BrowserTypes=Z,te.BrowserView=zc,te.ConsoleView=$c,te.CustomView=tl,te.IEView=jc,te.IOSView=qc,te.MobileOnlyView=Zc,te.MobileView=Qc,te.OsTypes=ne,te.SmartTVView=_c,te.TabletView=Kc,te.WearableView=el,te.WinPhoneView=Xc,te.browserName=Tc,te.browserVersion=vc,te.deviceDetect=Pe,te.deviceType=Fc,te.engineName=Sc,te.engineVersion=xc,te.fullBrowserVersion=kc,te.getSelectorsByUserAgent=Yc,te.getUA=Ic,te.isAndroid=Fs,te.isBrowser=Bs,te.isChrome=hc,te.isChromium=pc,te.isConsole=En,te.isDesktop=mc,te.isEdge=Nc,te.isEdgeChromium=Mc,te.isElectron=Uc,te.isEmbedded=uc,te.isFirefox=gc,te.isIE=Ds,te.isIOS=Os,te.isIOS13=Pc,te.isIPad13=Oc,te.isIPhone13=Dc,te.isIPod13=Lc,te.isLegacyEdge=Rc,te.isMIUI=Vc,te.isMacOs=Wc,te.isMobile=xn,te.isMobileOnly=Is,te.isMobileSafari=fc,te.isOpera=bc,te.isSafari=wc,te.isSamsungBrowser=Gc,te.isSmartTV=Ue,te.isTablet=Ns,te.isWearable=Sn,te.isWinPhone=Ps,te.isWindows=Hc,te.isYandex=Bc,te.mobileModel=Ec,te.mobileVendor=Cc,te.osName=Ac,te.osVersion=yc,te.parseUserAgent=k,te.setUserAgent=Se,te.useDeviceData=Ls,te.useDeviceSelectors=sl,te.useMobileOrientation=ol,te.withOrientationChange=nl,te}var Ft=sc();const ac=void 0,rc=["AIzaSyD1KVBBG-QxLey_u4ce8l1tieJqmodH2-w","AIzaSyBnlVDkMyKNqbTnSc-p08OLmoa3-fvLvrk","AIzaSyAiXlBwSu5SfnRuYpda1zdVmIXNCQ3PBSM","AIzaSyBXKcrdJUszqWgvJs7gWJR335-kGGpjyXI","AIzaSyBj1X_Ip3xJomjN1lQ9q0WHxEyFJvAd_4Q","AIzaSyBlag_M5F8dC5YIcNWOF3g5xv0edVuiHQA","AIzaSyD9sPjc0kkFHI0XP2INhQsVYC27f8qhHzE","AIzaSyAIsWdN2PQTp0vGvIAnhC55U7m3T5vq-wo","AIzaSyDwnVG1YwJC3HOrZ-4jdwvE75Q3CKg35ug","AIzaSyBebB2G98NSBIoYePWYxa1WQiObwol8WHY"],Ss={model:"gemini-2.5-flash","model2.0":"gemini-2.5-flash",apiKey:ac,url:"https://generativelanguage.googleapis.com"};class ic extends Vt{enableGoogleSearch=!0;indexApiKey=0;constructor(){super(Ss.url)}getApiKey(){let t="",n=rc;const s=localStorage.getItem("arr_api_key_dev_gemini");s&&(n=JSON.parse(s));const o=localStorage.getItem("index_api_key_gemini");return o&&(this.indexApiKey=Number(o),this.indexApiKey++),this.indexApiKey>=n.length&&(this.indexApiKey=0),t=n[this.indexApiKey],localStorage.setItem("index_api_key_gemini",this.indexApiKey.toString()),t}getUrl(t,n){return`/v1beta/models/${n||"gemini-2.5-flash"}:${t}`}async generateContent(t,n){try{const s=`
|
|
414
|
+
Response: {"action":"swap_token","message":"<friendly explanation, e.g. Which token would you like to swap?>","parameters":{"token_in":"","token_in_symbol":"","token_in_decimals":"","token_out":"","token_out_symbol":"","token_out_decimals":"","amount":""}}`}const vs={1:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",10:"0x4200000000000000000000000000000000000006",56:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",137:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",8453:"0x4200000000000000000000000000000000000006",42161:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"},vn=[{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"}]}],Ts=[{name:"deposit",type:"function",stateMutability:"payable",inputs:[],outputs:[]},{name:"withdraw",type:"function",stateMutability:"nonpayable",inputs:[{name:"wad",type:"uint256"}],outputs:[]}],ji=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"tokenId",type:"uint256"}],outputs:[]}],qi=[{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 nn(e,t){return t||ct[e]?.rpcUrls?.default?.http?.[0]}function Qi(e){const{action:t,parameters:n,fromAddress:s,chainId:o}=e;switch(t){case"send_native":return Ki(n,s,o);case"send_token":return Xi(n,s,o);case"approve_token":return _i(n,s,o);case"wrap_native":return Zi(n,s,o);case"unwrap_native":return $i(n,s,o);case"send_nft":return tc(n,s,o);default:throw new Error(`Action "${t}" does not produce a transaction`)}}function Ki(e,t,n){const{to_address:s,amount:o}=e;if(!s)throw new Error("Recipient address is required");if(!o)throw new Error("Amount is required");const a=mt(o,18).toString();return{from:t,to:s,data:"0x",value:a,chainId:n,description:`Send ${o} native token to ${s}`}}function Xi(e,t,n){const{contract_address:s,to_address:o,amount:a,decimals:r,token_symbol:i}=e;if(!s)throw new Error("Token contract address is required");if(!o)throw new Error("Recipient address is required");if(!a)throw new Error("Amount is required");const l=parseInt(r)||18,y=mt(a,l),D=kt({abi:vn,functionName:"transfer",args:[o,y]});return{from:t,to:s,data:D,value:"0",chainId:n,description:`Send ${a} ${i||"tokens"} to ${o}`}}function _i(e,t,n){const{contract_address:s,spender_address:o,amount:a,token_symbol:r}=e;if(!s)throw new Error("Token contract address is required");if(!o)throw new Error("Spender address is required");const i=a&&a?.trim()!==""?mt(a,18):Rt,l=kt({abi:vn,functionName:"approve",args:[o,i]});return{from:t,to:s,data:l,value:"0",chainId:n,description:`Approve ${a||"unlimited"} ${r||"tokens"} for ${o}`}}function Zi(e,t,n){const{amount:s}=e;if(!s)throw new Error("Amount is required");const o=vs[n];if(!o)throw new Error(`WETH not supported on chain ${n}`);const a=mt(s,18).toString(),r=kt({abi:Ts,functionName:"deposit"});return{from:t,to:o,data:r,value:a,chainId:n,description:`Wrap ${s} native token`}}function $i(e,t,n){const{amount:s}=e;if(!s)throw new Error("Amount is required");const o=vs[n];if(!o)throw new Error(`WETH not supported on chain ${n}`);const a=mt(s,18),r=kt({abi:Ts,functionName:"withdraw",args:[a]});return{from:t,to:o,data:r,value:"0",chainId:n,description:`Unwrap ${s} WETH`}}function ec(e){return["send_native","send_token","approve_token","wrap_native","unwrap_native","send_nft"].includes(e)}async function lo(e){const{transactionHash:t,chainId:n,pollingInterval:s=3e3,timeout:o=12e4,rpcUrl:a}=e,r=nn(n,a);if(!r)throw new Error(`No RPC endpoint for chain ${n}`);const i=Date.now();for(;Date.now()-i<o;){try{const y=await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getTransactionReceipt",params:[t]})})).json();if(y.result){const D=y.result;return{status:D.status==="0x1"?"success":"fail",blockNumber:D.blockNumber,gasUsed:D.gasUsed,effectiveGasPrice:D.effectiveGasPrice}}}catch(l){console.warn("eth_getTransactionReceipt poll error:",l)}await new Promise(l=>setTimeout(l,s))}throw new Error(`Transaction ${t} was not mined within ${o/1e3}s`)}async function uo(e){const{tokenAddress:t,ownerAddress:n,spenderAddress:s,chainId:o,rpcUrl:a}=e,r=nn(o,a);if(!r)return console.warn(`No RPC endpoint for chain ${o}, assuming no allowance`),BigInt(0);try{const i=kt({abi:vn,functionName:"allowance",args:[n,s]}),y=await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_call",params:[{to:t,data:i},"latest"]})})).json();return y.result&&y.result!=="0x"?BigInt(y.result):BigInt(0)}catch(i){return console.warn("checkAllowance failed:",i),BigInt(0)}}function Tn(e){const{tokenAddress:t,spenderAddress:n,fromAddress:s,chainId:o,tokenSymbol:a}=e,r=kt({abi:vn,functionName:"approve",args:[n,Rt]});return{from:s,to:t,data:r,value:"0",chainId:o,description:`Approve ${a||"token"} for swap`}}function tc(e,t,n){const{contract_address:s,token_id:o,to_address:a,token_standard:r,amount:i,nft_name:l}=e;if(!s)throw new Error("NFT contract address is required");if(!o)throw new Error("Token ID is required");if(!a)throw new Error("Recipient address is required");const y=(r||"ERC721").toUpperCase(),D=BigInt(o);let z,k;if(y==="ERC1155"){const x=BigInt(i||"1");z=kt({abi:qi,functionName:"safeTransferFrom",args:[t,a,D,x,"0x"]}),k=`Send ${x>1n?x.toString()+"x ":""}${l||"NFT"} (ERC1155 #${o}) to ${a}`}else z=kt({abi:ji,functionName:"safeTransferFrom",args:[t,a,D]}),k=`Send ${l||"NFT"} (ERC721 #${o}) to ${a}`;return{from:t,to:s,data:z,value:"0",chainId:n,description:k}}async function Cn(e){const{address:t,chainId:n,rpcUrl:s}=e,o=nn(n,s);if(!o)return console.warn(`No RPC endpoint for chain ${n}`),new re(0);try{const r=await(await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getBalance",params:[t,"latest"]})})).json();return r.result&&r.result!=="0x"?new re(BigInt(r.result).toString()):new re(0)}catch(a){return console.warn("getNativeBalance failed:",a),new re(0)}}async function on(e){const{from:t,to:n,data:s,value:o,chainId:a,rpcUrl:r}=e,i=nn(a,r);if(!i)return console.warn(`No RPC endpoint for chain ${a}`),new re(0);try{const[l,y]=await Promise.all([fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[{from:t,to:n,data:s,...o&&o!=="0"?{value:o}:{}}]})}),fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:2,method:"eth_gasPrice",params:[]})})]),[D,z]=await Promise.all([l.json(),y.json()]),k=D.result?new re(BigInt(D.result).toString()):new re(0),x=z.result?new re(BigInt(z.result).toString()):new re(0);return k.times(x).times(1.1)}catch(l){return console.warn("estimateTransactionFee failed:",l),new re(0)}}async function fo(e){const{chainId:t,rpcUrl:n}=e,s=nn(t,n);if(!s)return console.warn(`No RPC endpoint for chain ${t}`),new re(0);try{const a=await(await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_gasPrice",params:[]})})).json();return a.result&&a.result!=="0x"?new re(BigInt(a.result).toString()):new re(0)}catch(o){return console.warn("getGasPrice failed:",o),new re(0)}}var oe={},sn={exports:{}},nc=sn.exports,Cs;function oc(){return Cs||(Cs=1,(function(e,t){(function(n,s){var o="1.0.39",a="",r="?",i="function",l="undefined",y="object",D="string",z="major",k="model",x="name",B="type",S="vendor",v="version",ge="architecture",A="console",J="mobile",Q="tablet",he="smarttv",we="wearable",Ee="embedded",c=500,d="Amazon",p="Apple",C="ASUS",u="BlackBerry",g="Browser",E="Chrome",h="Edge",w="Firefox",I="Google",N="Huawei",F="LG",X="Microsoft",se="Motorola",ue="Opera",Ce="Samsung",Se="Sharp",q="Sony",ye="Xiaomi",Ne="Zebra",qe="Facebook",Qe="Chromium OS",ot="Mac OS",Ve=" Browser",st=function(W,M){var L={};for(var Z in W)M[Z]&&M[Z].length%2===0?L[Z]=M[Z].concat(W[Z]):L[Z]=W[Z];return L},Be=function(W){for(var M={},L=0;L<W.length;L++)M[W[L].toUpperCase()]=W[L];return M},Oe=function(W,M){return typeof W===D?ke(M).indexOf(ke(W))!==-1:!1},ke=function(W){return W.toLowerCase()},Gt=function(W){return typeof W===D?W.replace(/[^\d\.]/g,a).split(".")[0]:s},gt=function(W,M){if(typeof W===D)return W=W.replace(/^\s\s*/,a),typeof M===l?W:W.substring(0,c)},lt=function(W,M){for(var L=0,Z,$,G,b,O,de;L<M.length&&!O;){var ie=M[L],ve=M[L+1];for(Z=$=0;Z<ie.length&&!O&&ie[Z];)if(O=ie[Z++].exec(W),O)for(G=0;G<ve.length;G++)de=O[++$],b=ve[G],typeof b===y&&b.length>0?b.length===2?typeof b[1]==i?this[b[0]]=b[1].call(this,de):this[b[0]]=b[1]:b.length===3?typeof b[1]===i&&!(b[1].exec&&b[1].test)?this[b[0]]=de?b[1].call(this,de,b[2]):s:this[b[0]]=de?de.replace(b[1],b[2]):s:b.length===4&&(this[b[0]]=de?b[3].call(this,de.replace(b[1],b[2])):s):this[b]=de||s;L+=2}},at=function(W,M){for(var L in M)if(typeof M[L]===y&&M[L].length>0){for(var Z=0;Z<M[L].length;Z++)if(Oe(M[L][Z],W))return L===r?s:L}else if(Oe(M[L],W))return L===r?s:L;return M.hasOwnProperty("*")?M["*"]:W},Yt={"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},R={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"},K={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[v,[x,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[v,[x,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[x,v],[/opios[\/ ]+([\w\.]+)/i],[v,[x,ue+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[v,[x,ue+" GX"]],[/\bopr\/([\w\.]+)/i],[v,[x,ue]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[v,[x,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/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)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[x,v],[/quark(?:pc)?\/([-\w\.]+)/i],[v,[x,"Quark"]],[/\bddg\/([\w\.]+)/i],[v,[x,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[v,[x,"UC"+g]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[v,[x,"WeChat"]],[/konqueror\/([\w\.]+)/i],[v,[x,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[v,[x,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[v,[x,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[v,[x,"Smart Lenovo "+g]],[/(avast|avg)\/([\w\.]+)/i],[[x,/(.+)/,"$1 Secure "+g],v],[/\bfocus\/([\w\.]+)/i],[v,[x,w+" Focus"]],[/\bopt\/([\w\.]+)/i],[v,[x,ue+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[v,[x,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[v,[x,"Dolphin"]],[/coast\/([\w\.]+)/i],[v,[x,ue+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[v,[x,"MIUI "+g]],[/fxios\/([-\w\.]+)/i],[v,[x,w]],[/\bqihu|(qi?ho?o?|360)browser/i],[[x,"360"+Ve]],[/\b(qq)\/([\w\.]+)/i],[[x,/(.+)/,"$1Browser"],v],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[x,/(.+)/,"$1"+Ve],v],[/samsungbrowser\/([\w\.]+)/i],[v,[x,Ce+" Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[x,/_/g," "],v],[/metasr[\/ ]?([\d\.]+)/i],[v,[x,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[x,"Sogou Mobile"],v],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[x,v],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[x],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[x,qe],v],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\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],[x,v],[/\bgsa\/([\w\.]+) .*safari\//i],[v,[x,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[v,[x,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[v,[x,E+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[x,E+" WebView"],v],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[v,[x,"Android "+g]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[x,v],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[v,[x,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[v,x],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[x,[v,at,Yt]],[/(webkit|khtml)\/([\w\.]+)/i],[x,v],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[x,"Netscape"],v],[/(wolvic)\/([\w\.]+)/i],[x,v],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[v,[x,w+" 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,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[x,[v,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[x,[v,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[ge,"amd64"]],[/(ia32(?=;))/i],[[ge,ke]],[/((?:i[346]|x)86)[;\)]/i],[[ge,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[ge,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[ge,"armhf"]],[/windows (ce|mobile); ppc;/i],[[ge,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[ge,/ower/,a,ke]],[/(sun4\w)[;\)]/i],[[ge,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[ge,ke]]],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],[k,[S,Ce],[B,Q]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[k,[S,Ce],[B,J]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[k,[S,p],[B,J]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[k,[S,p],[B,Q]],[/(macintosh);/i],[k,[S,p]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[k,[S,Se],[B,J]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[k,[S,N],[B,Q]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[k,[S,N],[B,J]],[/\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],[[k,/_/g," "],[S,ye],[B,J]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[k,/_/g," "],[S,ye],[B,Q]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[k,[S,"OPPO"],[B,J]],[/\b(opd2\d{3}a?) bui/i],[k,[S,"OPPO"],[B,Q]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[k,[S,"Vivo"],[B,J]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[k,[S,"Realme"],[B,J]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[k,[S,se],[B,J]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[k,[S,se],[B,Q]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[k,[S,F],[B,Q]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[k,[S,F],[B,J]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[k,[S,"Lenovo"],[B,Q]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[k,/_/g," "],[S,"Nokia"],[B,J]],[/(pixel c)\b/i],[k,[S,I],[B,Q]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[k,[S,I],[B,J]],[/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],[k,[S,q],[B,J]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[k,"Xperia Tablet"],[S,q],[B,Q]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[k,[S,"OnePlus"],[B,J]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[k,[S,d],[B,Q]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[k,/(.+)/g,"Fire Phone $1"],[S,d],[B,J]],[/(playbook);[-\w\),; ]+(rim)/i],[k,S,[B,Q]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[k,[S,u],[B,J]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[k,[S,C],[B,Q]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[k,[S,C],[B,J]],[/(nexus 9)/i],[k,[S,"HTC"],[B,Q]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[S,[k,/_/g," "],[B,J]],[/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],[k,[S,"TCL"],[B,Q]],[/(itel) ((\w+))/i],[[S,ke],k,[B,at,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[k,[S,"Acer"],[B,Q]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[k,[S,"Meizu"],[B,J]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[k,[S,"Ulefone"],[B,J]],[/droid.+; (a(?:015|06[35]|142p?))/i],[k,[S,"Nothing"],[B,J]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[S,k,[B,J]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/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],[S,k,[B,Q]],[/(surface duo)/i],[k,[S,X],[B,Q]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[k,[S,"Fairphone"],[B,J]],[/(u304aa)/i],[k,[S,"AT&T"],[B,J]],[/\bsie-(\w*)/i],[k,[S,"Siemens"],[B,J]],[/\b(rct\w+) b/i],[k,[S,"RCA"],[B,Q]],[/\b(venue[\d ]{2,7}) b/i],[k,[S,"Dell"],[B,Q]],[/\b(q(?:mv|ta)\w+) b/i],[k,[S,"Verizon"],[B,Q]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[k,[S,"Barnes & Noble"],[B,Q]],[/\b(tm\d{3}\w+) b/i],[k,[S,"NuVision"],[B,Q]],[/\b(k88) b/i],[k,[S,"ZTE"],[B,Q]],[/\b(nx\d{3}j) b/i],[k,[S,"ZTE"],[B,J]],[/\b(gen\d{3}) b.+49h/i],[k,[S,"Swiss"],[B,J]],[/\b(zur\d{3}) b/i],[k,[S,"Swiss"],[B,Q]],[/\b((zeki)?tb.*\b) b/i],[k,[S,"Zeki"],[B,Q]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[S,"Dragon Touch"],k,[B,Q]],[/\b(ns-?\w{0,9}) b/i],[k,[S,"Insignia"],[B,Q]],[/\b((nxa|next)-?\w{0,9}) b/i],[k,[S,"NextBook"],[B,Q]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[S,"Voice"],k,[B,J]],[/\b(lvtel\-)?(v1[12]) b/i],[[S,"LvTel"],k,[B,J]],[/\b(ph-1) /i],[k,[S,"Essential"],[B,J]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[k,[S,"Envizen"],[B,Q]],[/\b(trio[-\w\. ]+) b/i],[k,[S,"MachSpeed"],[B,Q]],[/\btu_(1491) b/i],[k,[S,"Rotor"],[B,Q]],[/(shield[\w ]+) b/i],[k,[S,"Nvidia"],[B,Q]],[/(sprint) (\w+)/i],[S,k,[B,J]],[/(kin\.[onetw]{3})/i],[[k,/\./g," "],[S,X],[B,J]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[k,[S,Ne],[B,Q]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[k,[S,Ne],[B,J]],[/smart-tv.+(samsung)/i],[S,[B,he]],[/hbbtv.+maple;(\d+)/i],[[k,/^/,"SmartTV"],[S,Ce],[B,he]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[S,F],[B,he]],[/(apple) ?tv/i],[S,[k,p+" TV"],[B,he]],[/crkey/i],[[k,E+"cast"],[S,I],[B,he]],[/droid.+aft(\w+)( bui|\))/i],[k,[S,d],[B,he]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[k,[S,Se],[B,he]],[/(bravia[\w ]+)( bui|\))/i],[k,[S,q],[B,he]],[/(mitv-\w{5}) bui/i],[k,[S,ye],[B,he]],[/Hbbtv.*(technisat) (.*);/i],[S,k,[B,he]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[S,gt],[k,gt],[B,he]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[B,he]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[S,k,[B,A]],[/droid.+; (shield) bui/i],[k,[S,"Nvidia"],[B,A]],[/(playstation [345portablevi]+)/i],[k,[S,q],[B,A]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[k,[S,X],[B,A]],[/\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i],[k,[S,Ce],[B,we]],[/((pebble))app/i],[S,k,[B,we]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[k,[S,p],[B,we]],[/droid.+; (glass) \d/i],[k,[S,I],[B,we]],[/droid.+; (wt63?0{2,3})\)/i],[k,[S,Ne],[B,we]],[/(quest( \d| pro)?)/i],[k,[S,qe],[B,we]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[S,[B,Ee]],[/(aeobc)\b/i],[k,[S,d],[B,Ee]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[k,[B,J]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[k,[B,Q]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[B,Q]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[B,J]],[/(android[-\w\. ]{0,9});.+buil/i],[k,[S,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[v,[x,h+"HTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[v,[x,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[x,v],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[v,x]],os:[[/microsoft (windows) (vista|xp)/i],[x,v],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[x,[v,at,R]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[v,at,R],[x,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[v,/_/g,"."],[x,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[x,ot],[v,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[v,x],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[x,v],[/\(bb(10);/i],[v,[x,u]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[v,[x,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[v,[x,w+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[v,[x,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[v,[x,"watchOS"]],[/crkey\/([\d\.]+)/i],[v,[x,E+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[x,Qe],v],[/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) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[x,v],[/(sunos) ?([\w\.\d]*)/i],[[x,"Solaris"],v],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[x,v]]},H=function(W,M){if(typeof W===y&&(M=W,W=s),!(this instanceof H))return new H(W,M).getResult();var L=typeof n!==l&&n.navigator?n.navigator:s,Z=W||(L&&L.userAgent?L.userAgent:a),$=L&&L.userAgentData?L.userAgentData:s,G=M?st(K,M):K,b=L&&L.userAgent==Z;return this.getBrowser=function(){var O={};return O[x]=s,O[v]=s,lt.call(O,Z,G.browser),O[z]=Gt(O[v]),b&&L&&L.brave&&typeof L.brave.isBrave==i&&(O[x]="Brave"),O},this.getCPU=function(){var O={};return O[ge]=s,lt.call(O,Z,G.cpu),O},this.getDevice=function(){var O={};return O[S]=s,O[k]=s,O[B]=s,lt.call(O,Z,G.device),b&&!O[B]&&$&&$.mobile&&(O[B]=J),b&&O[k]=="Macintosh"&&L&&typeof L.standalone!==l&&L.maxTouchPoints&&L.maxTouchPoints>2&&(O[k]="iPad",O[B]=Q),O},this.getEngine=function(){var O={};return O[x]=s,O[v]=s,lt.call(O,Z,G.engine),O},this.getOS=function(){var O={};return O[x]=s,O[v]=s,lt.call(O,Z,G.os),b&&!O[x]&&$&&$.platform&&$.platform!="Unknown"&&(O[x]=$.platform.replace(/chrome os/i,Qe).replace(/macos/i,ot)),O},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 Z},this.setUA=function(O){return Z=typeof O===D&&O.length>c?gt(O,c):O,this},this.setUA(Z),this};H.VERSION=o,H.BROWSER=Be([x,v,z]),H.CPU=Be([ge]),H.DEVICE=Be([k,S,B,A,J,he,Q,we,Ee]),H.ENGINE=H.OS=Be([x,v]),e.exports&&(t=e.exports=H),t.UAParser=H;var _=typeof n!==l&&(n.jQuery||n.Zepto);if(_&&!_.ua){var le=new H;_.ua=le.getResult(),_.ua.get=function(){return le.getUA()},_.ua.set=function(W){le.setUA(W);var M=le.getResult();for(var L in M)_.ua[L]=M[L]}}})(typeof window=="object"?window:nc)})(sn,sn.exports)),sn.exports}var Es;function sc(){if(Es)return oe;Es=1,Object.defineProperty(oe,"__esModule",{value:!0});function e(T){return T&&typeof T=="object"&&"default"in T?T.default:T}var t=ne,n=e(t),s=oc(),o=new s,a=o.getBrowser(),r=o.getCPU(),i=o.getDevice(),l=o.getEngine(),y=o.getOS(),D=o.getUA(),z=function(f){return o.setUA(f)},k=function(f){if(!f){console.error("No userAgent string was provided");return}var m=new s(f);return{UA:m,browser:m.getBrowser(),cpu:m.getCPU(),device:m.getDevice(),engine:m.getEngine(),os:m.getOS(),ua:m.getUA(),setUserAgent:function(Y){return m.setUA(Y)}}},x=Object.freeze({ClientUAInstance:o,browser:a,cpu:r,device:i,engine:l,os:y,ua:D,setUa:z,parseUserAgent:k});function B(T,f){var m=Object.keys(T);if(Object.getOwnPropertySymbols){var U=Object.getOwnPropertySymbols(T);f&&(U=U.filter(function(Y){return Object.getOwnPropertyDescriptor(T,Y).enumerable})),m.push.apply(m,U)}return m}function S(T){for(var f=1;f<arguments.length;f++){var m=arguments[f]!=null?arguments[f]:{};f%2?B(Object(m),!0).forEach(function(U){Q(T,U,m[U])}):Object.getOwnPropertyDescriptors?Object.defineProperties(T,Object.getOwnPropertyDescriptors(m)):B(Object(m)).forEach(function(U){Object.defineProperty(T,U,Object.getOwnPropertyDescriptor(m,U))})}return T}function v(T){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?v=function(f){return typeof f}:v=function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},v(T)}function ge(T,f){if(!(T instanceof f))throw new TypeError("Cannot call a class as a function")}function A(T,f){for(var m=0;m<f.length;m++){var U=f[m];U.enumerable=U.enumerable||!1,U.configurable=!0,"value"in U&&(U.writable=!0),Object.defineProperty(T,U.key,U)}}function J(T,f,m){return f&&A(T.prototype,f),T}function Q(T,f,m){return f in T?Object.defineProperty(T,f,{value:m,enumerable:!0,configurable:!0,writable:!0}):T[f]=m,T}function he(){return he=Object.assign||function(T){for(var f=1;f<arguments.length;f++){var m=arguments[f];for(var U in m)Object.prototype.hasOwnProperty.call(m,U)&&(T[U]=m[U])}return T},he.apply(this,arguments)}function we(T,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function");T.prototype=Object.create(f&&f.prototype,{constructor:{value:T,writable:!0,configurable:!0}}),f&&c(T,f)}function Ee(T){return Ee=Object.setPrototypeOf?Object.getPrototypeOf:function(m){return m.__proto__||Object.getPrototypeOf(m)},Ee(T)}function c(T,f){return c=Object.setPrototypeOf||function(U,Y){return U.__proto__=Y,U},c(T,f)}function d(T,f){if(T==null)return{};var m={},U=Object.keys(T),Y,Ae;for(Ae=0;Ae<U.length;Ae++)Y=U[Ae],!(f.indexOf(Y)>=0)&&(m[Y]=T[Y]);return m}function p(T,f){if(T==null)return{};var m=d(T,f),U,Y;if(Object.getOwnPropertySymbols){var Ae=Object.getOwnPropertySymbols(T);for(Y=0;Y<Ae.length;Y++)U=Ae[Y],!(f.indexOf(U)>=0)&&Object.prototype.propertyIsEnumerable.call(T,U)&&(m[U]=T[U])}return m}function C(T){if(T===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return T}function u(T,f){if(f&&(typeof f=="object"||typeof f=="function"))return f;if(f!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return C(T)}function g(T,f){return E(T)||h(T,f)||w(T,f)||N()}function E(T){if(Array.isArray(T))return T}function h(T,f){var m=T==null?null:typeof Symbol<"u"&&T[Symbol.iterator]||T["@@iterator"];if(m!=null){var U=[],Y=!0,Ae=!1,Me,Ke;try{for(m=m.call(T);!(Y=(Me=m.next()).done)&&(U.push(Me.value),!(f&&U.length===f));Y=!0);}catch(In){Ae=!0,Ke=In}finally{try{!Y&&m.return!=null&&m.return()}finally{if(Ae)throw Ke}}return U}}function w(T,f){if(T){if(typeof T=="string")return I(T,f);var m=Object.prototype.toString.call(T).slice(8,-1);if(m==="Object"&&T.constructor&&(m=T.constructor.name),m==="Map"||m==="Set")return Array.from(T);if(m==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(m))return I(T,f)}}function I(T,f){(f==null||f>T.length)&&(f=T.length);for(var m=0,U=new Array(f);m<f;m++)U[m]=T[m];return U}function N(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
415
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var F={Mobile:"mobile",Tablet:"tablet",SmartTv:"smarttv",Console:"console",Wearable:"wearable",Embedded:"embedded",Browser:void 0},X={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"},se={IOS:"iOS",Android:"Android",WindowsPhone:"Windows Phone",Windows:"Windows",MAC_OS:"Mac OS"},ue={isMobile:!1,isTablet:!1,isBrowser:!1,isSmartTV:!1,isConsole:!1,isWearable:!1},Ce=function(f){switch(f){case F.Mobile:return{isMobile:!0};case F.Tablet:return{isTablet:!0};case F.SmartTv:return{isSmartTV:!0};case F.Console:return{isConsole:!0};case F.Wearable:return{isWearable:!0};case F.Browser:return{isBrowser:!0};case F.Embedded:return{isEmbedded:!0};default:return ue}},Se=function(f){return z(f)},q=function(f){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"none";return f||m},ye=function(){return typeof window<"u"&&(window.navigator||navigator)?window.navigator||navigator:!1},Ne=function(f){var m=ye();return m&&m.platform&&(m.platform.indexOf(f)!==-1||m.platform==="MacIntel"&&m.maxTouchPoints>1&&!window.MSStream)},qe=function(f,m,U,Y,Ae){return{isBrowser:f,browserMajorVersion:q(m.major),browserFullVersion:q(m.version),browserName:q(m.name),engineName:q(U.name),engineVersion:q(U.version),osName:q(Y.name),osVersion:q(Y.version),userAgent:q(Ae)}},Qe=function(f,m,U,Y){return S({},f,{vendor:q(m.vendor),model:q(m.model),os:q(U.name),osVersion:q(U.version),ua:q(Y)})},ot=function(f,m,U,Y){return{isSmartTV:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(U.name),osVersion:q(U.version),userAgent:q(Y)}},Ve=function(f,m,U,Y){return{isConsole:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(U.name),osVersion:q(U.version),userAgent:q(Y)}},st=function(f,m,U,Y){return{isWearable:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(U.name),osVersion:q(U.version),userAgent:q(Y)}},Be=function(f,m,U,Y,Ae){return{isEmbedded:f,vendor:q(m.vendor),model:q(m.model),engineName:q(U.name),engineVersion:q(U.version),osName:q(Y.name),osVersion:q(Y.version),userAgent:q(Ae)}};function Oe(T){var f=T?k(T):x,m=f.device,U=f.browser,Y=f.engine,Ae=f.os,Me=f.ua,Ke=Ce(m.type),In=Ke.isBrowser,al=Ke.isMobile,rl=Ke.isTablet,Us=Ke.isSmartTV,Ms=Ke.isConsole,Rs=Ke.isWearable,Hs=Ke.isEmbedded;if(In)return qe(In,U,Y,Ae,Me);if(Us)return ot(Us,Y,Ae,Me);if(Ms)return Ve(Ms,Y,Ae,Me);if(al||rl)return Qe(Ke,m,Ae,Me);if(Rs)return st(Rs,Y,Ae,Me);if(Hs)return Be(Hs,m,Y,Ae,Me)}var ke=function(f){var m=f.type;return m===F.Mobile},Gt=function(f){var m=f.type;return m===F.Tablet},gt=function(f){var m=f.type;return m===F.Mobile||m===F.Tablet},lt=function(f){var m=f.type;return m===F.SmartTv},at=function(f){var m=f.type;return m===F.Browser},Yt=function(f){var m=f.type;return m===F.Wearable},R=function(f){var m=f.type;return m===F.Console},K=function(f){var m=f.type;return m===F.Embedded},H=function(f){var m=f.vendor;return q(m)},_=function(f){var m=f.model;return q(m)},le=function(f){var m=f.type;return q(m,"browser")},W=function(f){var m=f.name;return m===se.Android},M=function(f){var m=f.name;return m===se.Windows},L=function(f){var m=f.name;return m===se.MAC_OS},Z=function(f){var m=f.name;return m===se.WindowsPhone},$=function(f){var m=f.name;return m===se.IOS},G=function(f){var m=f.version;return q(m)},b=function(f){var m=f.name;return q(m)},O=function(f){var m=f.name;return m===X.Chrome},de=function(f){var m=f.name;return m===X.Firefox},ie=function(f){var m=f.name;return m===X.Chromium},ve=function(f){var m=f.name;return m===X.Edge},xe=function(f){var m=f.name;return m===X.Yandex},ae=function(f){var m=f.name;return m===X.Safari||m===X.MobileSafari},j=function(f){var m=f.name;return m===X.MobileSafari},ee=function(f){var m=f.name;return m===X.Opera},V=function(f){var m=f.name;return m===X.InternetExplorer||m===X.Ie},te=function(f){var m=f.name;return m===X.MIUI},fe=function(f){var m=f.name;return m===X.SamsungBrowser},ce=function(f){var m=f.version;return q(m)},Te=function(f){var m=f.major;return q(m)},Fe=function(f){var m=f.name;return q(m)},Ie=function(f){var m=f.name;return q(m)},De=function(f){var m=f.version;return q(m)},_e=function(){var f=ye(),m=f&&f.userAgent&&f.userAgent.toLowerCase();return typeof m=="string"?/electron/.test(m):!1},Ge=function(f){return typeof f=="string"&&f.indexOf("Edg/")!==-1},dt=function(){var f=ye();return f&&(/iPad|iPhone|iPod/.test(f.platform)||f.platform==="MacIntel"&&f.maxTouchPoints>1)&&!window.MSStream},Ye=function(){return Ne("iPad")},Pt=function(){return Ne("iPhone")},an=function(){return Ne("iPod")},rn=function(f){return q(f)};function Jt(T){var f=T||x,m=f.device,U=f.browser,Y=f.os,Ae=f.engine,Me=f.ua;return{isSmartTV:lt(m),isConsole:R(m),isWearable:Yt(m),isEmbedded:K(m),isMobileSafari:j(U)||Ye(),isChromium:ie(U),isMobile:gt(m)||Ye(),isMobileOnly:ke(m),isTablet:Gt(m)||Ye(),isBrowser:at(m),isDesktop:at(m),isAndroid:W(Y),isWinPhone:Z(Y),isIOS:$(Y)||Ye(),isChrome:O(U),isFirefox:de(U),isSafari:ae(U),isOpera:ee(U),isIE:V(U),osVersion:G(Y),osName:b(Y),fullBrowserVersion:ce(U),browserVersion:Te(U),browserName:Fe(U),mobileVendor:H(m),mobileModel:_(m),engineName:Ie(Ae),engineVersion:De(Ae),getUA:rn(Me),isEdge:ve(U)||Ge(Me),isYandex:xe(U),deviceType:le(m),isIOS13:dt(),isIPad13:Ye(),isIPhone13:Pt(),isIPod13:an(),isElectron:_e(),isEdgeChromium:Ge(Me),isLegacyEdge:ve(U)&&!Ge(Me),isWindows:M(Y),isMacOs:L(Y),isMIUI:te(U),isSamsungBrowser:fe(U)}}var Ue=lt(i),En=R(i),Sn=Yt(i),uc=K(i),fc=j(a)||Ye(),pc=ie(a),xn=gt(i)||Ye(),Is=ke(i),Ns=Gt(i)||Ye(),Bs=at(i),mc=at(i),Fs=W(y),Ps=Z(y),Os=$(y)||Ye(),hc=O(a),gc=de(a),wc=ae(a),bc=ee(a),Ds=V(a),yc=G(y),Ac=b(y),kc=ce(a),vc=Te(a),Tc=Fe(a),Cc=H(i),Ec=_(i),Sc=Ie(l),xc=De(l),Ic=rn(D),Nc=ve(a)||Ge(D),Bc=xe(a),Fc=le(i),Pc=dt(),Oc=Ye(),Dc=Pt(),Lc=an(),Uc=_e(),Mc=Ge(D),Rc=ve(a)&&!Ge(D),Hc=M(y),Wc=L(y),Vc=te(a),Gc=fe(a),Yc=function(f){if(!f||typeof f!="string"){console.error("No valid user agent string was provided");return}var m=k(f),U=m.device,Y=m.browser,Ae=m.os,Me=m.engine,Ke=m.ua;return Jt({device:U,browser:Y,os:Ae,engine:Me,ua:Ke})},Jc=function(f){var m=f.renderWithFragment,U=f.children,Y=p(f,["renderWithFragment","children"]);return Fs?m?n.createElement(t.Fragment,null,U):n.createElement("div",Y,U):null},zc=function(f){var m=f.renderWithFragment,U=f.children,Y=p(f,["renderWithFragment","children"]);return Bs?m?n.createElement(t.Fragment,null,U):n.createElement("div",Y,U):null},jc=function(f){var m=f.renderWithFragment,U=f.children,Y=p(f,["renderWithFragment","children"]);return Ds?m?n.createElement(t.Fragment,null,U):n.createElement("div",Y,U):null},qc=function(f){var m=f.renderWithFragment,U=f.children,Y=p(f,["renderWithFragment","children"]);return Os?m?n.createElement(t.Fragment,null,U):n.createElement("div",Y,U):null},Qc=function(f){var m=f.renderWithFragment,U=f.children,Y=p(f,["renderWithFragment","children"]);return xn?m?n.createElement(t.Fragment,null,U):n.createElement("div",Y,U):null},Kc=function(f){var m=f.renderWithFragment,U=f.children,Y=p(f,["renderWithFragment","children"]);return Ns?m?n.createElement(t.Fragment,null,U):n.createElement("div",Y,U):null},Xc=function(f){var m=f.renderWithFragment,U=f.children,Y=p(f,["renderWithFragment","children"]);return Ps?m?n.createElement(t.Fragment,null,U):n.createElement("div",Y,U):null},_c=function(f){var m=f.renderWithFragment,U=f.children;f.viewClassName,f.style;var Y=p(f,["renderWithFragment","children","viewClassName","style"]);return Is?m?n.createElement(t.Fragment,null,U):n.createElement("div",Y,U):null},Zc=function(f){var m=f.renderWithFragment,U=f.children,Y=p(f,["renderWithFragment","children"]);return Ue?m?n.createElement(t.Fragment,null,U):n.createElement("div",Y,U):null},$c=function(f){var m=f.renderWithFragment,U=f.children,Y=p(f,["renderWithFragment","children"]);return En?m?n.createElement(t.Fragment,null,U):n.createElement("div",Y,U):null},el=function(f){var m=f.renderWithFragment,U=f.children,Y=p(f,["renderWithFragment","children"]);return Sn?m?n.createElement(t.Fragment,null,U):n.createElement("div",Y,U):null},tl=function(f){var m=f.renderWithFragment,U=f.children;f.viewClassName,f.style;var Y=f.condition,Ae=p(f,["renderWithFragment","children","viewClassName","style","condition"]);return Y?m?n.createElement(t.Fragment,null,U):n.createElement("div",Ae,U):null};function nl(T){return(function(f){we(m,f);function m(U){var Y;return ge(this,m),Y=u(this,Ee(m).call(this,U)),Y.isEventListenerAdded=!1,Y.handleOrientationChange=Y.handleOrientationChange.bind(C(Y)),Y.onOrientationChange=Y.onOrientationChange.bind(C(Y)),Y.onPageLoad=Y.onPageLoad.bind(C(Y)),Y.state={isLandscape:!1,isPortrait:!1},Y}return J(m,[{key:"handleOrientationChange",value:function(){this.isEventListenerAdded||(this.isEventListenerAdded=!0);var Y=window.innerWidth>window.innerHeight?90:0;this.setState({isPortrait:Y===0,isLandscape:Y===90})}},{key:"onOrientationChange",value:function(){this.handleOrientationChange()}},{key:"onPageLoad",value:function(){this.handleOrientationChange()}},{key:"componentDidMount",value:function(){(typeof window>"u"?"undefined":v(window))!==void 0&&xn&&(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 n.createElement(T,he({},this.props,{isLandscape:this.state.isLandscape,isPortrait:this.state.isPortrait}))}}]),m})(n.Component)}function ol(){var T=t.useState(function(){var Ae=window.innerWidth>window.innerHeight?90:0;return{isPortrait:Ae===0,isLandscape:Ae===90,orientation:Ae===0?"portrait":"landscape"}}),f=g(T,2),m=f[0],U=f[1],Y=t.useCallback(function(){var Ae=window.innerWidth>window.innerHeight?90:0,Me={isPortrait:Ae===0,isLandscape:Ae===90,orientation:Ae===0?"portrait":"landscape"};m.orientation!==Me.orientation&&U(Me)},[m.orientation]);return t.useEffect(function(){return(typeof window>"u"?"undefined":v(window))!==void 0&&xn&&(Y(),window.addEventListener("load",Y,!1),window.addEventListener("resize",Y,!1)),function(){window.removeEventListener("resize",Y,!1),window.removeEventListener("load",Y,!1)}},[Y]),m}function Ls(T){var f=T||window.navigator.userAgent;return k(f)}function sl(T){var f=T||window.navigator.userAgent,m=Ls(f),U=Jt(m);return[U,m]}return oe.AndroidView=Jc,oe.BrowserTypes=X,oe.BrowserView=zc,oe.ConsoleView=$c,oe.CustomView=tl,oe.IEView=jc,oe.IOSView=qc,oe.MobileOnlyView=_c,oe.MobileView=Qc,oe.OsTypes=se,oe.SmartTVView=Zc,oe.TabletView=Kc,oe.WearableView=el,oe.WinPhoneView=Xc,oe.browserName=Tc,oe.browserVersion=vc,oe.deviceDetect=Oe,oe.deviceType=Fc,oe.engineName=Sc,oe.engineVersion=xc,oe.fullBrowserVersion=kc,oe.getSelectorsByUserAgent=Yc,oe.getUA=Ic,oe.isAndroid=Fs,oe.isBrowser=Bs,oe.isChrome=hc,oe.isChromium=pc,oe.isConsole=En,oe.isDesktop=mc,oe.isEdge=Nc,oe.isEdgeChromium=Mc,oe.isElectron=Uc,oe.isEmbedded=uc,oe.isFirefox=gc,oe.isIE=Ds,oe.isIOS=Os,oe.isIOS13=Pc,oe.isIPad13=Oc,oe.isIPhone13=Dc,oe.isIPod13=Lc,oe.isLegacyEdge=Rc,oe.isMIUI=Vc,oe.isMacOs=Wc,oe.isMobile=xn,oe.isMobileOnly=Is,oe.isMobileSafari=fc,oe.isOpera=bc,oe.isSafari=wc,oe.isSamsungBrowser=Gc,oe.isSmartTV=Ue,oe.isTablet=Ns,oe.isWearable=Sn,oe.isWinPhone=Ps,oe.isWindows=Hc,oe.isYandex=Bc,oe.mobileModel=Ec,oe.mobileVendor=Cc,oe.osName=Ac,oe.osVersion=yc,oe.parseUserAgent=k,oe.setUserAgent=Se,oe.useDeviceData=Ls,oe.useDeviceSelectors=sl,oe.useMobileOrientation=ol,oe.withOrientationChange=nl,oe}var Ft=sc();const ac=void 0,rc=["AIzaSyD1KVBBG-QxLey_u4ce8l1tieJqmodH2-w","AIzaSyBnlVDkMyKNqbTnSc-p08OLmoa3-fvLvrk","AIzaSyAiXlBwSu5SfnRuYpda1zdVmIXNCQ3PBSM","AIzaSyBXKcrdJUszqWgvJs7gWJR335-kGGpjyXI","AIzaSyBj1X_Ip3xJomjN1lQ9q0WHxEyFJvAd_4Q","AIzaSyBlag_M5F8dC5YIcNWOF3g5xv0edVuiHQA","AIzaSyD9sPjc0kkFHI0XP2INhQsVYC27f8qhHzE","AIzaSyAIsWdN2PQTp0vGvIAnhC55U7m3T5vq-wo","AIzaSyDwnVG1YwJC3HOrZ-4jdwvE75Q3CKg35ug","AIzaSyBebB2G98NSBIoYePWYxa1WQiObwol8WHY"],Ss={model:"gemini-2.5-flash","model2.0":"gemini-2.5-flash",apiKey:ac,url:"https://generativelanguage.googleapis.com"};class ic extends Vt{enableGoogleSearch=!0;indexApiKey=0;constructor(){super(Ss.url)}getApiKey(){let t="",n=rc;const s=localStorage.getItem("arr_api_key_dev_gemini");s&&(n=JSON.parse(s));const o=localStorage.getItem("index_api_key_gemini");return o&&(this.indexApiKey=Number(o),this.indexApiKey++),this.indexApiKey>=n.length&&(this.indexApiKey=0),t=n[this.indexApiKey],localStorage.setItem("index_api_key_gemini",this.indexApiKey.toString()),t}getUrl(t,n){return`/v1beta/models/${n||"gemini-2.5-flash"}:${t}`}async generateContent(t,n){try{const s=`
|
|
416
416
|
Below is the system context and conversation history. Use it for context but prioritize the instructions at the end.
|
|
417
417
|
|
|
418
418
|
---
|
|
@@ -456,50 +456,56 @@ The user may ask in their native language, so recognize the MEANING, not just sp
|
|
|
456
456
|
|
|
457
457
|
If the question is about ANY of the above topics, respond with ONLY the word "yes" (lowercase, nothing else).
|
|
458
458
|
Otherwise, respond with ONLY the word "no" (lowercase, nothing else).
|
|
459
|
-
Do not provide any explanation or additional text.`,o=this.getUrl("generateContent",Ss["model2.0"]),a={contents:[{parts:[{text:s}]}]},r=await this.post(o,a,{headers:{"x-goog-api-key":this.getApiKey()}});return r?.data?.data?.candidates?.[0]?.content?.parts?.[0]?.text||r?.data?.candidates?.[0]?.content?.parts?.[0]?.text}catch(s){throw s}}}const xs=new ic;function po(e,t){if(!e)return e;const n=e.toLowerCase().trim();if(n==="max"||n==="all")return t||e;const s=n.match(/^(\d+(?:\.\d+)?)%$/);if(s){const o=parseFloat(s[1])/100;return((parseFloat(t)||0)*o).toFixed(8).replace(/\.?0+$/,"")||"0"}return e}const cc=({isOpen:e,onClose:t,onTransaction:n,position:s="bottom-right",modalChatStyle:o={}})=>{const{t:a,ti:r}=cn(),{messages:i,addMessage:l,updateMessageAction:y,updateMessageText:D,getMessageById:
|
|
459
|
+
Do not provide any explanation or additional text.`,o=this.getUrl("generateContent",Ss["model2.0"]),a={contents:[{parts:[{text:s}]}]},r=await this.post(o,a,{headers:{"x-goog-api-key":this.getApiKey()}});return r?.data?.data?.candidates?.[0]?.content?.parts?.[0]?.text||r?.data?.candidates?.[0]?.content?.parts?.[0]?.text}catch(s){throw s}}}const xs=new ic;function po(e,t){if(!e)return e;const n=e.toLowerCase().trim();if(n==="max"||n==="all")return t||e;const s=n.match(/^(\d+(?:\.\d+)?)%$/);if(s){const o=parseFloat(s[1])/100;return((parseFloat(t)||0)*o).toFixed(8).replace(/\.?0+$/,"")||"0"}return e}const cc=({isOpen:e,onClose:t,onTransaction:n,position:s="bottom-right",modalChatStyle:o={}})=>{const{t:a,ti:r}=cn(),{messages:i,addMessage:l,updateMessageAction:y,updateMessageText:D,getMessageById:z,clearMessagesById:k}=Si(),[x,B]=ne.useState(""),[S,v]=ne.useState(!1),[ge,A]=ne.useState(!0),[J,Q]=ne.useState(null),he=ne.useRef(null),we=ne.useRef(null),Ee=ne.useRef(null),c=ne.useRef(null),d=ne.useRef(null),p=ne.useRef(!1),C=ne.useRef(ge);ne.useEffect(()=>{C.current=ge},[ge]);const{account:u,chainData:g,chainType:E,chainTypeMoralis:h,chainId:w,isChainSupported:I}=gn(),{config:N}=xi(),F=w&&N?.rpcUrls?.[w]||void 0,X=ne.useCallback(()=>{const R=Nt.getItem("dataBuyToken");if(R)try{return JSON.parse(R)}catch{return{srcTokenAddress:"",descTokenAddress:"",amount:"",srcTokenDecimals:18,descTokenDecimals:18}}return{srcTokenAddress:"",descTokenAddress:"",amount:"",srcTokenDecimals:18,descTokenDecimals:18}},[]),se=ne.useCallback(R=>{Nt.setItem("dataBuyToken",JSON.stringify(R))},[]),ue=ne.useCallback(R=>{const H={...X(),...R};se(H)},[X,se]),Ce=ne.useCallback(R=>{Q(R),Ft.isDesktop&&Ee.current?.focus()},[]),Se=ne.useCallback(async(R,K)=>{ue({descTokenAddress:R,descTokenDecimals:K||18});try{v(!0);const H=await je({address:u?.address||"",chain:h});if(H?.success&&H?.data?.result){const _=H.data.result;if(_?.length>0){const le=_.map(W=>({id:W.token_address,text:`${W.name}: ${W.balance_formatted} ${W.symbol} ($${re(W.usd_value||0)?.decimalPlaces(2).toFormat()||"0"})`,value:r("buttonBuyWith",{symbol:W.symbol}),action:"click_balance_item_user_to_buy_button",fullWidth:!0,extraData:{tokenAddress:W.token_address,symbol:W.symbol,balance:W.balance_formatted,usdValue:W.usd_value,decimals:W.decimals}}));l(r("walletBalanceSpendable",{chain:g?.name||"unknown"}),"bot",void 0,le)}else l(r("walletNoTokensFound",{chain:g?.name||"unknown"}),"bot")}else l(a("walletFetchFailed"),"bot")}catch(H){console.error("Error fetching wallet balance:",H),l(a("walletFetchError"),"bot")}finally{v(!1)}},[ue,u?.address,h,l,g?.name,a,r]),q=ne.useCallback(async(R,K,H,_)=>{const le=[25,50,75,100];ue({srcTokenAddress:R,srcTokenDecimals:_||18});let W=H||"0";if(R===We)try{const L=await fo({chainId:w,rpcUrl:F});if(L.isGreaterThan(0)){const Z=L.times(1e6),G=new re(mt(H,_||18).toString()).minus(Z);G.isGreaterThan(0)?W=re(Le(BigInt(G.toFixed(0)),18)).toFixed():W="0"}}catch(L){console.warn("getGasPrice for swap native fee deduction failed:",L)}const M=le.map(L=>({id:`percent-${L}`,text:`${L}%`,value:r("buttonUsePercent",{percent:String(L),symbol:K}),action:"select_percent",extraData:{percent:L,tokenAddress:R,tokenSymbol:K,tokenDecimals:_||18,tokenBalance:W}}));if(re(W).isZero()){l(r("insufficientFeeToken",{symbol:K}),"bot");return}l(r("selectAmountOf",{symbol:K,balance:W}),"bot",void 0,M)},[l,w,F,ue,r]),ye=ne.useCallback(async(R,K,H,_)=>{const le={amount:(parseFloat(K)*(R/100)).toFixed(6)};H!==void 0&&(le.srcTokenAddress=H),_!==void 0&&(le.srcTokenDecimals=_),ue(le);const W=X(),M=mt(W.amount,W.srcTokenDecimals||18).toString(),L=await io({chainId:w,tokenIn:W.srcTokenAddress,tokenInAmount:M,tokenOut:W.descTokenAddress,tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(L.success&&L.data){const Z=L.data,$=Z.tokenIn,G=Z.tokenOut,b=re(Le(BigInt($.amount||0),$.decimals)).decimalPlaces(6).toFormat(),O=re(Le(BigInt(G.amount||0),G.decimals)).decimalPlaces(6).toFormat(),de=W.srcTokenAddress===We||W.srcTokenAddress==="";let ie=!1;if(!de&&u?.address&&Z.tx?.to)try{const fe=await uo({tokenAddress:W.srcTokenAddress,ownerAddress:u.address,spenderAddress:Z.tx.to,chainId:w,rpcUrl:F});ie=re(fe.toString()).isLessThan(M)}catch(fe){console.warn("Allowance check failed:",fe),ie=!0}const ve=Z.estimatedTransactionFee?.total?re(Z.estimatedTransactionFee.total):re(0);let xe=re(0);if(ie&&u?.address)try{const fe=Tn({tokenAddress:W.srcTokenAddress,spenderAddress:Z.tx?.to||"",fromAddress:u.address,chainId:w});xe=await on({from:u.address,to:fe.to,data:fe.data,chainId:w,rpcUrl:F})}catch(fe){console.warn("Approve fee estimation failed:",fe)}const ae=ve.plus(xe),j=g?.nativeCurrency?.symbol||"native";let ee="",V=!1;if(u?.address&&ae.isGreaterThan(0))try{const fe=await Cn({address:u.address,chainId:w,rpcUrl:F});if(fe.isLessThan(ae)){V=!0;const ce=re(Le(BigInt(fe.toFixed(0)),18)).decimalPlaces(6).toFormat(),Te=re(Le(BigInt(ae.toFixed(0)),18)).decimalPlaces(6).toFormat();ee=r("swapFeeWarning",{symbol:j,balance:ce,needed:Te})}}catch(fe){console.warn("Fee balance check failed:",fe)}const te=`From: ${b} ${$.symbol}
|
|
460
460
|
⬇️
|
|
461
461
|
To: ${O} ${G.symbol}
|
|
462
462
|
|
|
463
|
-
`+
|
|
464
|
-
`;if(
|
|
465
|
-
[View on Explorer](${
|
|
466
|
-
Tx: ${
|
|
467
|
-
Error: ${
|
|
468
|
-
Error: ${$.error}`:"";l(a("approvalFailed")+b,"bot")}}catch($){console.error("Approval error:",$),l(a("approvalFailed"),"bot")}break}case"click_swap_dest_token":{const
|
|
469
|
-
$${
|
|
463
|
+
`+ee+`
|
|
464
|
+
`;if(V)l(te,"bot");else if(ie){const fe=te+r("swapNeedApprove",{symbol:$.symbol}),ce=[{id:"approve-for-swap",text:r("swapApproveButton",{symbol:$.symbol}),value:r("swapApproveValue",{symbol:$.symbol}),action:"approve_for_swap",fullWidth:!0,extraData:{tokenAddress:W.srcTokenAddress,spenderAddress:Z.tx.to,tokenSymbol:$.symbol,tx:Z.tx}}];l(fe,"bot",void 0,ce)}else{const fe=[{id:"confirm-swap",text:a("swapConfirmButton"),value:a("swapConfirmValue"),action:"confirm_swap",extraData:{tx:Z.tx}}];l(te+a("swapReadyToProceed"),"bot",void 0,fe)}}else l(r("swapEstimationError",{error:L.errorMessage||L.error||"Unknown error"}),"bot")},[X,ue,l,w,u?.address,g?.nativeCurrency?.symbol,F,a,r]),Ne=ne.useCallback(async(R,K,H)=>{try{if(K==="suggested_action"){c.current=R,B(R);return}if(l(R,"user"),A(!1),v(!0),K)switch(await Xe(500),K){case"click_buy_item_token_button":await Se(H?.tokenAddress||"",H?.decimals||18);break;case"click_balance_item_user_to_buy_button":await q(H?.tokenAddress||"",H?.symbol||"",H?.balance||"",H?.decimals||18);break;case"select_percent":await ye(H?.percent||0,H?.tokenBalance||"",H?.tokenAddress||void 0,H?.tokenDecimals||void 0);break;case"confirm_swap":if(H?.tx&&n){const _=H.tx,le={from:u?.address||"",to:_.to,data:_.data,value:_.value,chainId:w},W=l(a("txProcessing"),"bot");try{v(!1);const M=await n(le);if(M.status==="success"&&M.transactionHash){const L=g?.blockExplorers?.default?.url,Z=L?`
|
|
465
|
+
[View on Explorer](${L}/tx/${M.transactionHash})`:`
|
|
466
|
+
Tx: ${M.transactionHash}`;D(W.id,a("txSubmitted")+Z);try{await Xe(2e3),(await lo({transactionHash:M.transactionHash,chainId:w||1,rpcUrl:F})).status==="success"?D(W.id,a("txConfirmedSwap")+Z):D(W.id,a("txRevertedSwap")+Z)}catch($){console.warn("Transaction tracking timeout:",$),D(W.id,a("txTimeout")+Z)}}else if(M.status==="success")D(W.id,a("txSuccessfulSwap"));else{const L=M.error?`
|
|
467
|
+
Error: ${M.error}`:"";D(W.id,a("txFailed")+L)}}catch(M){console.error("Transaction error:",M),D(W.id,a("txFailed"))}}else l(a("txDataNotAvailable"),"bot");break;case"approve_for_swap":{const _=H?.tokenAddress||"",le=H?.spenderAddress||"",W=H?.tokenSymbol||"token",M=H?.tx;if(!_||!le||!n){l(a("approvalDataNotAvailable"),"bot");break}const L=Tn({tokenAddress:_,spenderAddress:le,fromAddress:u?.address||"",chainId:w,tokenSymbol:W}),Z={from:L.from,to:L.to,data:L.data,value:L.value,chainId:L.chainId};l(r("approving",{symbol:W}),"bot");try{v(!1);const $=await n(Z);let G=$.status==="success";if($.status==="success"&&$.transactionHash)try{G=(await lo({transactionHash:$.transactionHash,chainId:w||1,rpcUrl:F})).status==="success"}catch(b){console.warn("Approval tracking timeout:",b),G=!0}if(G){l(r("approvalSuccess",{symbol:W}),"bot");const b=[{id:"confirm-swap-after-approve",text:a("confirmSwapButton"),value:a("swapConfirmValue"),action:"confirm_swap",fullWidth:!0,extraData:{tx:M}}];l(a("approvalConfirmSwap"),"bot",void 0,b)}else{const b=$.error?`
|
|
468
|
+
Error: ${$.error}`:"";l(a("approvalFailed")+b,"bot")}}catch($){console.error("Approval error:",$),l(a("approvalFailed"),"bot")}break}case"click_swap_dest_token":{const _=H?.tokenAddress||"",le=H?.symbol||"",W=H?.decimals||18;ue({descTokenAddress:_,descTokenDecimals:W});const M=X(),L=M.srcTokenAddress||"",Z=L===We;try{const $=await je({address:u?.address||"",chain:h});if($?.success&&$?.data?.result){const G=$.data.result;let b="",O="0";if(Z){const de=G.find(ie=>ie.native_token);b=g?.nativeCurrency?.symbol||"ETH",O=de?.balance_formatted||"0"}else{const de=G.find(ie=>ie.token_address.toLowerCase()===L.toLowerCase());de&&(b=de.symbol,O=de.balance_formatted)}if(b&&parseFloat(O)>0){const de=[25,50,75,100],ie=M.srcTokenDecimals||18,ve=de.map(xe=>({id:`percent-${xe}`,text:`${xe}%`,value:r("buttonUsePercent",{percent:String(xe),symbol:b}),action:"select_percent",extraData:{percent:xe,tokenAddress:L,tokenSymbol:b,tokenDecimals:ie,tokenBalance:O}}));l(r("swapSelectAmount",{from:b,to:le,balance:O}),"bot",void 0,ve)}else l(a("swapNoSourceToken"),"bot")}else l(a("couldNotFetchBalance"),"bot")}catch($){console.error("Error in click_swap_dest_token:",$),l(a("couldNotLoadBalance"),"bot")}break}case"select_nft_to_send":{const _=H?.name||"NFT",le=H?.contractAddress||"",W=H?.tokenId||"",M=H?.tokenStandard||"ERC721",L=H?.amount||"1",Z=H?.image||"",$=H?.toAddress||"",G={contract_address:le,token_id:W,to_address:$,token_standard:M,amount:"1",maxAmount:L,nft_name:_};l(r("nftSendReview",{name:_,standard:M,tokenId:W}),"bot",void 0,void 0,{action:"send_nft",parameters:G,status:"pending",nftInfo:{name:_,image:Z||void 0,tokenId:W,contractAddress:le,tokenStandard:M}});break}default:l(r("actionExecutedFor",{action:K,value:R}),"bot")}else await Xe(500),l(r("receivedButtonValue",{value:R}),"bot");v(!1),Ft.isDesktop&&Ee.current?.focus()}catch(_){l(a("errorProcessingRequest"),"bot"),v(!1),console.error("Error handling button click:",_)}},[u?.address,l,D,g?.blockExplorers?.default?.url,g?.nativeCurrency?.symbol,w,h,X,Se,q,n,ye,ue,F,a,r]),qe=ne.useCallback(async()=>{try{v(!0);const R=g?.tokenTrendingDefault||[],[K,H]=await Promise.allSettled([tt.getTopGainers(E,"24h",5),tt.getTokensDetails(R,E)]);let _=[];K.status==="fulfilled"&&K.value?.data?_=[...K.value.data]:console.warn("⚠️ Top gainers failed:"),H.status==="fulfilled"&&H.value?.data?_=[...H.value.data,..._]:console.warn("⚠️ Default tokens failed:"),_=_.filter((M,L,Z)=>L===Z.findIndex($=>$.address.toLowerCase()===M.address.toLowerCase()));const le=_.map(M=>({id:M?.symbol,text:M?.symbol,value:r("buttonBuyToken",{name:M.name,symbol:M?.symbol||""}),action:"click_buy_item_token_button",extraData:{tokenAddress:M?.address||"",symbol:M?.symbol||"",decimals:M?.decimals||18}}));await Xe(1e3),v(!1),l(r("trendingTokensHeader",{chain:g?.name||"Unknown"}),"bot");const W=_.map((M,L)=>`${L+1}. ${M.name} (${M?.auditGoplus?.token_symbol||M.symbol||"Unknown"})
|
|
469
|
+
$${re(M?.price||0).decimalPlaces(4).toFormat()} (${M.price_change_percentage_24h||M.priceChange}%)
|
|
470
470
|
|
|
471
471
|
---
|
|
472
472
|
`).join(`
|
|
473
|
-
`);l(`${
|
|
474
|
-
`:"🖼️ ";return`${
|
|
475
|
-
${
|
|
473
|
+
`);l(`${W}${a("trendingTokensQuestion")}`,"bot",void 0,le)}catch(R){console.error("Error fetching trending tokens:",R),l(a("trendingTokensError"),"bot")}finally{v(!1)}},[l,g?.name,g?.tokenTrendingDefault,E,a,r]),Qe=ne.useCallback(async(R={})=>{const{numberOfView:K=5}=R;try{v(!0);const H=await kn({address:u?.address||"",chain:h,limit:100,exclude_spam:!1});if(H?.success&&H?.data?.result&&H.data.result.length>0){const _=H.data.result;let le=H.data.result;K&&K>0&&(le=le.slice(0,K));const W=le.map(L=>{const Z=L.normalized_metadata?.name||L.name||`#${L.token_id}`,$=L.normalized_metadata?.image||L.media?.original_media_url||"";return{id:`${L.token_address}-${L.token_id}`,text:`${Z} (${L.symbol||L.contract_type}) - ${L.token_id}`,value:r("buttonSendNft",{name:Z}),action:"select_nft_to_send",fullWidth:!0,extraData:{contractAddress:L.token_address,tokenId:L.token_id,tokenStandard:L.contract_type,name:Z,symbol:L.symbol,amount:L.amount,image:$}}}),M=le.map((L,Z)=>{const $=L.normalized_metadata?.name||L.name||`#${L.token_id}`,G=L.contract_type==="ERC1155"?` (x${L.amount})`:"",b=L.normalized_metadata?.image||L.media?.original_media_url||"",O=b?`
|
|
474
|
+
`:"🖼️ ";return`${Z+1}. ${O}**${$}**${G}
|
|
475
|
+
${L.symbol||L.contract_type} | Token ID: ${L.token_id}`}).join(`
|
|
476
476
|
|
|
477
|
-
`);await Xe(500),
|
|
478
|
-
Balance: ${
|
|
477
|
+
`);await Xe(500),v(!1),l(`${r("nftCollectionHeader",{count:String(le.length),list:M})}${K&&K>0&&_.length>K?r("nftMoreItems",{count:String(_.length-K)}):""}${a("nftSelectBelow")}`,"bot",void 0,W),K&&K>0&&_.length>K&&l(a("sendOtherNfts"),"bot")}else v(!1),l(a("nftNoCollection"),"bot")}catch(H){console.error("Error fetching NFTs:",H),v(!1),l(a("nftFetchError"),"bot")}},[u?.address,h,l,a,r]),ot=ne.useCallback(async()=>{try{v(!0);const R=await je({address:u?.address||"",chain:h});if(R?.success&&R?.data?.result&&R.data.result.length>0){const K=R.data.result,H=K.flatMap(le=>[{id:`send-${le.token_address}`,text:r("buttonSendToken",{symbol:le.symbol}),value:r("buttonSendToken",{symbol:le.symbol}),action:"suggested_action",fullWidth:!!Ft.isMobile},{id:`buy-more-${le.token_address}`,text:r("buttonBuyMoreToken",{symbol:le.symbol}),value:r("buttonBuyMoreToken",{symbol:le.symbol}),action:"suggested_action",fullWidth:!!Ft.isMobile}]),_=K.map((le,W)=>{const M=le.usd_value!==void 0?` ≈ $${re(le.usd_value).decimalPlaces(2).toFormat()}`:"";return`${W+1}. **${le.name}** (${le.symbol})
|
|
478
|
+
Balance: ${le.balance_formatted}${M}`}).join(`
|
|
479
479
|
|
|
480
|
-
`);await Xe(500),
|
|
480
|
+
`);await Xe(500),v(!1),l(r("viewBalancesHeader",{chain:g?.name||"this chain",list:_}),"bot",void 0,H)}else v(!1),l(a("viewBalancesEmpty"),"bot")}catch(R){console.error("Error fetching balances:",R),v(!1),l(a("viewBalancesFetchError"),"bot")}},[u?.address,h,l,g?.name,a,r]),Ve=ne.useMemo(()=>[{id:"ask",icon:"❓",text:a("suggestionAskText"),action:async()=>{A(!1),v(!0),l(a("suggestionAskUserMessage"),"user"),await Xe(1e3),v(!1),l(a("suggestionAskBotReply"),"bot")}},{id:"buy",icon:"💰",text:a("suggestionBuyText"),action:async()=>{A(!1),l(a("suggestionBuyText"),"user"),Re(u?.address||"")&&I?await qe():(v(!0),await Xe(1e3),Re(u?.address||"")&&!I?l(a("walletConnectedChainUnsupported"),"bot"):l(a("walletNotConnected"),"bot"),v(!1))}}],[l,u?.address,qe,a,I]),st=R=>{if(R===0)return!0;const K=i[R],H=i[R-1],_=new Date(K.timestamp),le=new Date(H.timestamp);return _.setHours(0,0,0,0),le.setHours(0,0,0,0),_.getTime()!==le.getTime()};ne.useEffect(()=>{he.current?.scrollIntoView({behavior:"smooth"})},[i]),ne.useEffect(()=>{e?(Ee.current&&Ft.isDesktop&&Ee.current.focus(),he.current?.scrollIntoView({behavior:"instant"}),p.current&&d.current?Date.now()-d.current>5e3&&A(!0):A(!0),d.current=null,p.current=!1,setTimeout(()=>{he.current?.scrollIntoView({behavior:"smooth"})},50)):(d.current=Date.now(),p.current=!C.current)},[e]),ne.useEffect(()=>{const R=K=>{K.key==="Escape"&&e&&t()};return document.addEventListener("keydown",R),()=>document.removeEventListener("keydown",R)},[e,t]);const Be=ne.useCallback(async()=>{if(x?.trim()===""||S)return;const R=J,K=l(x?.trim(),"user",J?.id);B(""),Q(null),v(!0),A(!1),v(!0);try{let H,_;const le=i.slice(-20);let W="";if(le.length>0){W=`
|
|
481
481
|
|
|
482
482
|
## CONVERSATION HISTORY:
|
|
483
|
-
`;for(const $ of
|
|
484
|
-
`;else{const G=$.text.length>400?$.text.substring(0,400)+"...":$.text;
|
|
485
|
-
`}
|
|
483
|
+
`;for(const $ of le)if($.sender==="user")W+=`User: ${$.text}
|
|
484
|
+
`;else{const G=$.text.length>400?$.text.substring(0,400)+"...":$.text;W+=`Assistant: ${G}
|
|
485
|
+
`}W+=`
|
|
486
486
|
---
|
|
487
|
-
`}let
|
|
487
|
+
`}let M=x?.trim();R&&(M=`[Replying to ${R.sender==="user"?"my previous":"your"} message: "${R.text}"]
|
|
488
488
|
|
|
489
|
-
${
|
|
489
|
+
${M}`);try{if((await xs.checkTypeQuestion(M,W))?.startsWith("no")){const G=await xs.generateContent(M,W);let b=null;try{let O=G?.trim();O.startsWith("```json")?O=O.replace(/^```json\s*/,"").replace(/\s*```$/,""):O.startsWith("```")&&(O=O.replace(/^```\s*/,"").replace(/\s*```$/,"")),b=JSON.parse(O)}catch{b=null}v(!1),l(b?.message||G,"bot");return}}catch($){console.warn("Error checking question type with Gemini:",$)}if(u?.address&&I)try{const[$,G]=await Promise.allSettled([je({address:u.address,chain:h}),kn({address:u.address,chain:h,limit:100,exclude_spam:!0})]);$.status==="fulfilled"&&$.value?.success&&$.value?.data?.result&&(H=$.value.data.result.map(b=>({symbol:b.symbol,name:b.name,balance_formatted:b.balance_formatted,usd_value:b.usd_value,native_token:b.native_token,token_address:b.token_address}))),G.status==="fulfilled"&&G.value?.success&&G.value?.data?.result&&(_=G.value.data.result.map(b=>({name:b.normalized_metadata?.name||b.name||`#${b.token_id}`,token_address:b.token_address,token_id:b.token_id,contract_type:b.contract_type||"",amount:b.amount||"1"})))}catch{}const L=zi({walletAddress:u?.address||void 0,chainName:g?.name||void 0,chainId:w||void 0,nativeSymbol:g?.nativeCurrency?.symbol||void 0,walletTokens:H,walletNfts:_}),Z=await Pi({prompt:M,model:"gpt-4.1-mini",stream:!1,systemPrompt:L+W});if(Z.success&&Z.data){const $=Z.data.text||"";let G=null;try{let b=$?.trim();b.startsWith("```json")?b=b.replace(/^```json\s*/,"").replace(/\s*```$/,""):b.startsWith("```")&&(b=b.replace(/^```\s*/,"").replace(/\s*```$/,"")),G=JSON.parse(b)}catch{G=null}if(G&&G.action&&G.action!=="chat")if(G.action==="buy_token"){const b=G.parameters?.token_symbol||"";let O=G.parameters?.contract_address||"",de=18;if(O.toLowerCase()==="native"&&(O=We),O&&O!==We)try{const ie=await tt.getTokensDetails([O],E);ie?.data?.[0]&&(de=ie.data[0].decimals||18)}catch(ie){console.warn("getTokensDetails for buy_token failed:",ie)}if(!O&&b&&u?.address)try{const ie=await je({address:u.address,chain:h});if(ie?.success&&ie?.data?.result){const ve=ie.data.result,xe=ve.find(ae=>ae.token_address.toLowerCase()===O.toLowerCase())||ve.find(ae=>ae.symbol.toUpperCase()===b.toUpperCase());xe&&(O=xe.token_address,de=xe.decimals)}if(!O){const ve=g.tokenTrendingDefault||[],[xe,ae]=await Promise.allSettled([tt.getTopGainers(E,"24h",10),tt.getTokensDetails(ve,E)]),j=[];xe.status==="fulfilled"&&xe.value?.data&&j.push(...xe.value.data),ae.status==="fulfilled"&&ae.value?.data&&j.push(...ae.value.data);const ee=j.find(V=>V.address?.toLowerCase()===O.toLowerCase())||j.find(V=>V.symbol?.toUpperCase()===b.toUpperCase());ee&&(O=ee.address,de=ee.decimals||18)}}catch(ie){console.warn("Token lookup for buy failed:",ie)}O?(l(G.message||r("buyTokenHelp",{symbol:b}),"bot",K.id),await Se(O,de)):(l(G.message||r("tokenNotFoundOnChain",{symbol:b}),"bot",K.id),await qe())}else if(G.action==="swap_token"){const b={...G.parameters||{}},O=b.token_in==="native"||b.token_in_symbol?.toUpperCase()===g?.nativeCurrency?.symbol?.toUpperCase(),de=b.token_out==="native"||b.token_out_symbol?.toUpperCase()===g?.nativeCurrency?.symbol?.toUpperCase();if(de&&(b.token_out=We),!O&&(b.token_in||b.token_in_symbol)&&u?.address)try{const ae=await je({address:u.address,chain:h});if(ae?.success&&ae?.data?.result){const j=ae.data.result,ee=b.token_in?j.find(V=>V.token_address.toLowerCase()===b.token_in.toLowerCase()):j.find(V=>V.symbol.toUpperCase()===b.token_in_symbol.toUpperCase());ee&&(b.token_in=ee.token_address,b.token_in_decimals=String(ee.decimals))}}catch(ae){console.warn("Resolve token_in failed:",ae)}if(!de&&(b.token_out||b.token_out_symbol)&&u?.address)try{const ae=await je({address:u.address,chain:h});if(ae?.success&&ae?.data?.result){const j=ae.data.result,ee=b.token_out?j.find(V=>V.token_address.toLowerCase()===b.token_out.toLowerCase()):j.find(V=>V.symbol.toUpperCase()===b.token_out_symbol.toUpperCase());ee&&(b.token_out=ee.token_address,b.token_out_decimals=String(ee.decimals))}}catch(ae){console.warn("Resolve token_out failed:",ae)}const ie=!!(b.token_in||O),ve=!!b.token_out,xe=!!b.amount;if(ie&&ve&&xe){l(G.message||a("swapPreparing"),"bot",K.id);try{const ae=[];b.token_out&&ae.push(b.token_out),b.token_in&&!O&&ae.push(b.token_in);let j=18,ee=18;if(ae.length>0)try{const ce=await tt.getTokensDetails(ae,E);if(ce?.data)for(const Te of ce.data)!O&&Te.address.toLowerCase()===b.token_in?.toLowerCase()&&(j=Te.decimals||18),Te.address.toLowerCase()===b.token_out?.toLowerCase()&&(ee=Te.decimals||18)}catch(ce){console.warn("getTokensDetails failed, using default decimals:",ce)}if(u?.address)try{const ce=await je({address:u.address,chain:h});if(ce?.success&&ce?.data?.result){const Te=ce.data.result;if(O){const Fe=Te.find(Ge=>Ge.native_token);let Ie=Fe?.balance_formatted||"0";try{const Ge=await fo({chainId:w,rpcUrl:F});if(Ge.isGreaterThan(0)){const dt=Ge.times(1e6),Pt=new re(Fe?.balance||"0").minus(dt);Pt.isGreaterThan(0)?Ie=re(Le(BigInt(Pt.toFixed(0)),Fe?.decimals||18)).toFixed():Ie="0"}}catch(Ge){console.warn("getGasPrice for swap native fee deduction failed:",Ge)}b.amount=po(b.amount,Ie);const De=parseFloat(Ie),_e=parseFloat(b.amount);if(re(De).lte(0)){l(r("formInsufficientBalance",{balance:re(De).decimalPlaces(6).toFixed(),symbol:g?.nativeCurrency?.symbol||"native"}),"bot"),v(!1);return}if(re(De).lt(_e)){l(r("swapInsufficientNativeBalance",{balance:re(De).decimalPlaces(6).toFixed(),symbol:g?.nativeCurrency?.symbol||"native",amount:b.amount}),"bot"),v(!1);return}}else{const Fe=Te.find(_e=>_e.token_address.toLowerCase()===b.token_in?.toLowerCase());if(!Fe){l(r("swapTokenNotInWallet",{symbol:b.token_in_symbol||b.token_in}),"bot"),v(!1);return}b.amount=po(b.amount,Fe.balance_formatted||"0");const Ie=parseFloat(Fe.balance_formatted||"0"),De=parseFloat(b.amount);if(re(Ie).lt(De)){l(r("swapInsufficientTokenBalance",{balance:re(Ie).decimalPlaces(6).toFixed(),symbol:Fe.symbol,amount:b.amount}),"bot"),v(!1);return}}}}catch(ce){console.warn("Balance check failed:",ce)}const V=O?We:b.token_in;ue({srcTokenAddress:V,descTokenAddress:b.token_out,amount:b.amount,srcTokenDecimals:j,descTokenDecimals:ee});const te=mt(b.amount,j).toString(),fe=await io({chainId:w,tokenIn:V,tokenInAmount:te,tokenOut:b.token_out,tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(fe.success&&fe.data){const ce=fe.data,Te=ce.tokenIn,Fe=ce.tokenOut,Ie=re(Le(BigInt(Te.amount||0),Te.decimals)).decimalPlaces(6).toFormat(),De=re(Le(BigInt(Fe.amount||0),Fe.decimals)).decimalPlaces(6).toFormat();let _e=!1;if(!O&&u?.address&&ce.tx?.to)try{const Ue=await uo({tokenAddress:V,ownerAddress:u.address,spenderAddress:ce.tx.to,chainId:w,rpcUrl:F});_e=re(Ue.toString()).isLessThan(te)}catch(Ue){console.warn("Allowance check failed (CASE 1):",Ue),_e=!0}const Ge=ce.estimatedTransactionFee?.total?re(ce.estimatedTransactionFee.total):re(0);let dt=re(0);if(_e&&u?.address)try{const Ue=Tn({tokenAddress:V,spenderAddress:ce.tx?.to||"",fromAddress:u.address,chainId:w});dt=await on({from:u.address,to:Ue.to,data:Ue.data,chainId:w,rpcUrl:F})}catch(Ue){console.warn("Approve fee estimation failed:",Ue)}const Ye=Ge.plus(dt),Pt=g?.nativeCurrency?.symbol||"native";let an="",rn=!1;if(u?.address&&Ye.isGreaterThan(0))try{const Ue=await Cn({address:u.address,chainId:w,rpcUrl:F});if(Ue.isLessThan(Ye)){rn=!0;const En=re(Le(BigInt(Ue.toFixed(0)),18)).decimalPlaces(6).toFormat(),Sn=re(Le(BigInt(Ye.toFixed(0)),18)).decimalPlaces(6).toFormat();an=r("swapFeeWarning",{symbol:Pt,balance:En,needed:Sn})}}catch(Ue){console.warn("Fee balance check failed:",Ue)}const Jt=`From: ${Ie} ${Te.symbol}
|
|
490
490
|
⬇️
|
|
491
|
-
To: ${De} ${
|
|
491
|
+
To: ${De} ${Fe.symbol}
|
|
492
492
|
|
|
493
493
|
`+an+`
|
|
494
|
-
`;if(rn)l(Jt,"bot");else if(Ze){const Ue=[{id:"approve-for-swap",text:r("swapApproveButton",{symbol:xe.symbol}),value:r("swapApproveValue",{symbol:xe.symbol}),action:"approve_for_swap",fullWidth:!0,extraData:{tokenAddress:W,spenderAddress:ce.tx.to,tokenSymbol:xe.symbol,tx:ce.tx}}];l(Jt+r("swapNeedApprove",{symbol:xe.symbol}),"bot",void 0,Ue)}else{const Ue=[{id:"confirm-swap",text:a("swapConfirmYes"),value:a("swapConfirmValue"),action:"confirm_swap",extraData:{tx:ce.tx}}];l(Jt+a("swapReadyToProceed"),"bot",void 0,Ue)}}else l(r("swapEstimationError",{error:ge.errorMessage||ge.error||"Unknown error"}),"bot")}catch(re){console.error("Swap estimation error:",re),l(a("swapEstimationFailed"),"bot")}}else if(ae&&he&&!Te){let re=O?18:parseInt(b.token_in_decimals||"18",10),_=parseInt(b.token_out_decimals||"18",10);const se=[];if(b.token_out&&se.push(b.token_out),b.token_in&&!O&&se.push(b.token_in),se.length>0)try{const W=await tt.getTokensDetails(se,E);if(W?.data)for(const be of W.data)!O&&be.address.toLowerCase()===b.token_in?.toLowerCase()&&(re=be.decimals||re),be.address.toLowerCase()===b.token_out?.toLowerCase()&&(_=be.decimals||_)}catch(W){console.warn("getTokensDetails failed in CASE 2, using fallback decimals:",W)}if(le({descTokenAddress:b.token_out,descTokenDecimals:_}),O)try{const W=await je({address:u?.address||"",chain:h});if(W?.success&&W?.data?.result){const ge=W.data.result.find(De=>De.native_token),ce=g?.nativeCurrency?.symbol||"ETH";let xe=ge?.balance_formatted||"0";try{const De=await fo({chainId:w,rpcUrl:F});if(De.isGreaterThan(0)){const Ze=De.times(1e6),dt=new oe(ge?.balance||"0").minus(Ze);dt.isGreaterThan(0)?xe=oe(Le(BigInt(dt.toFixed(0)),ge?.decimals||18)).toFixed():xe="0"}}catch(De){console.warn("getGasPrice for swap native fee deduction (CASE 2) failed:",De)}le({srcTokenAddress:We,srcTokenDecimals:re});const Ie=[25,50,75,100].map(De=>({id:`percent-${De}`,text:`${De}%`,value:r("buttonUsePercent",{percent:String(De),symbol:ce}),action:"select_percent",extraData:{percent:De,tokenAddress:We,tokenSymbol:ce,tokenDecimals:re,tokenBalance:xe}}));l(r("selectAmountToSwap",{symbol:ce,balance:xe}),"bot",K.id,Ie)}else l(a("couldNotFetchBalance"),"bot")}catch(W){console.warn("Native balance fetch failed:",W),l(a("couldNotFetchBalanceRetry"),"bot")}else{const W=b.token_in_symbol||"Token";le({srcTokenAddress:b.token_in,srcTokenDecimals:re});try{const be=await je({address:u?.address||"",chain:h});if(be?.success&&be?.data?.result){const ce=be.data.result.find(Ie=>Ie.token_address.toLowerCase()===b.token_in?.toLowerCase());if(!ce){l(r("swapTokenNotInWallet",{symbol:W}),"bot"),T(!1);return}const Oe=[25,50,75,100].map(Ie=>({id:`percent-${Ie}`,text:`${Ie}%`,value:r("buttonUsePercent",{percent:String(Ie),symbol:ce.symbol}),action:"select_percent",extraData:{percent:Ie,tokenAddress:ce.token_address,tokenSymbol:ce.symbol,tokenDecimals:ce.decimals||18,tokenBalance:ce.balance_formatted}}));l(r("selectAmountToSwap",{symbol:ce.symbol,balance:`${ce.balance_formatted} (~$${ce.usd_value?.toFixed(2)||"0"})`}),"bot",K.id,Oe)}else l(a("couldNotFetchBalance"),"bot")}catch(be){console.warn("Token balance fetch failed:",be),l(a("couldNotFetchBalanceRetry"),"bot")}}}else if(!ae&&he){l(G.message||a("swapChooseFrom"),"bot",K.id);let re=parseInt(b.token_out_decimals||"18",10);if(b.token_out)try{const _=await tt.getTokensDetails([b.token_out],E);_?.data?.[0]&&(re=_.data[0].decimals||re)}catch(_){console.warn("getTokensDetails failed in CASE 3, using fallback:",_)}await Se(b.token_out,re)}else if(ae&&!he){let re=O?18:parseInt(b.token_in_decimals||"18",10);if(b.token_in&&!O)try{const _=await tt.getTokensDetails([b.token_in],E);_?.data?.[0]&&(re=_.data[0].decimals||re)}catch(_){console.warn("getTokensDetails failed in CASE 4, using fallback:",_)}le(O?{srcTokenAddress:We,srcTokenDecimals:18}:{srcTokenAddress:b.token_in,srcTokenDecimals:re}),l(G.message||r("swapChooseTo",{symbol:b.token_in_symbol||"your token"}),"bot",K.id);try{T(!0);const _=g?.tokenTrendingDefault||[],[se,W]=await Promise.allSettled([tt.getTopGainers(E,"24h",5),tt.getTokensDetails(_,E)]);let be=[];se.status==="fulfilled"&&se.value?.data&&(be=[...se.value.data]),W.status==="fulfilled"&&W.value?.data&&(be=[...W.value.data,...be]),be=be.filter((ce,xe,Oe)=>xe===Oe.findIndex(Ie=>Ie.address.toLowerCase()===ce.address.toLowerCase()));const ge=be.map(ce=>({id:ce?.symbol,text:ce?.symbol,value:r("buttonSwapTo",{name:ce.name,symbol:ce?.symbol||""}),action:"click_swap_dest_token",extraData:{tokenAddress:ce?.address||"",symbol:ce?.symbol||"",decimals:ce?.decimals||18}}));l(r("trendingTokensForReceive",{chain:g?.name||"Unknown"}),"bot",void 0,ge)}catch(_){console.error("Error fetching trending tokens for swap:",_),l(a("couldNotLoadTokenList"),"bot")}finally{T(!1)}}else if(l(G.message||a("swapChooseToken"),"bot",K.id),u?.address)try{T(!0);const re=await je({address:u.address,chain:h});if(re?.success&&re?.data?.result&&re.data.result.length>0){const se=re.data.result.map(W=>({id:`swap-select-${W.token_address}`,text:`${W.name}: ${W.balance_formatted} ${W.symbol} ($${oe(W?.usd_value||0).decimalPlaces(2).toFixed()||"0"})`,value:`Swap ${W.symbol}`,action:"suggested_action",fullWidth:!0}));await Xe(500),T(!1),l(r("walletBalanceSpendable",{chain:g?.name||"this chain"}),"bot",void 0,se)}else T(!1),l(r("walletNoTokensFound",{chain:g?.name||"this chain"}),"bot")}catch(re){console.warn("Failed to fetch balance for swap picker:",re),T(!1),l(a("walletFetchError"),"bot")}}else if(G.action==="view_balances")l(G.message||a("viewBalancesLoading"),"bot",K.id),await ot();else if(G.action==="view_nfts")l(G.message||a("viewNftsLoading"),"bot",K.id),await Qe();else if(G.action==="send_token"&&!G.parameters?.contract_address&&!G.parameters?.token_symbol&&u?.address)try{const b=await je({address:u.address,chain:h});if(b?.success&&b?.data?.result&&b.data.result.length>0){l(a("sendTokenChoose"),"bot",K.id),T(!0),await Xe(500);const ie=b.data.result.map(ae=>({id:`send-select-${ae.token_address}`,text:`${ae.name}: ${ae.balance_formatted} ${ae.symbol} ($${oe(ae?.usd_value||0).decimalPlaces(2).toFixed()||"0"})`,value:`Send ${ae.name} (${ae.symbol})`,action:"suggested_action",fullWidth:!0}));await Xe(500),T(!1),l(r("walletBalanceSpendable",{chain:g?.name||"this chain"}),"bot",void 0,ie)}else T(!1),l(r("walletNoTokensFound",{chain:g?.name||"this chain"}),"bot")}catch(b){console.warn("Failed to fetch balance for send_token picker:",b),T(!1),l(a("walletFetchError"),"bot")}else if(G.action==="send_nft"&&!G.parameters?.contract_address&&!G.parameters?.token_id&&!G.parameters?.nft_name&&u?.address)l(a("sendNftChoose"),"bot",K.id),await Qe({numberOfView:5,action:"send_nft"});else if(G.action==="send_nft"&&!Re(G.parameters?.contract_address||"")&&(G.parameters?.nft_name||G.parameters?.token_id)&&u?.address)try{T(!0);const b=await kn({address:u.address,chain:h,limit:100,exclude_spam:!1});if(b?.success&&b?.data?.result){const O=b.data.result,ie=(G.parameters?.nft_name||"").toLowerCase(),ae=G.parameters?.token_id||"",he=O.find(Te=>{const re=(Te.normalized_metadata?.name||Te.name||"").toLowerCase(),_=(Te.name||"").toLowerCase(),se=ie&&(re.includes(ie)||_.includes(ie)),W=ae&&Te.token_id===ae;return ie&&ae?se&&W:ie?se:W});if(he){const Te=he.normalized_metadata?.name||he.name||`#${he.token_id}`,re=he.normalized_metadata?.image||he.media?.original_media_url||"",_={contract_address:he.token_address,token_id:he.token_id,to_address:G.parameters?.to_address||"",token_standard:he.contract_type||"",amount:"1",maxAmount:he.amount||"1",nft_name:Te};l(G.message||r("nftSendReview",{name:Te,standard:he.contract_type||"NFT",tokenId:he.token_id}),"bot",K.id,void 0,{action:"send_nft",parameters:_,status:"pending",nftInfo:{name:Te,image:re||void 0,tokenId:he.token_id,contractAddress:he.token_address,tokenStandard:he.contract_type||void 0}})}else l(G.message||r("nftNotFoundInWallet",{name:ie||ae}),"bot",K.id),await Qe()}else l(a("nftNoCollection"),"bot",K.id)}catch(b){console.error("NFT lookup by name failed:",b),l(a("nftFetchError"),"bot",K.id)}finally{T(!1)}else{const b=ec(G.action);let O={...G.parameters||{}},ie,ae;const he=["send_token","approve_token"].includes(G.action)&&(O.contract_address||O.token_symbol),Te=G.action==="send_native",re=G.action==="send_nft"&&O.contract_address;if(he&&u?.address)try{const _=await je({address:u.address,chain:h});if(_?.success&&_?.data?.result){const se=_.data.result,W=O.contract_address?se.find(be=>be.token_address.toLowerCase()===O.contract_address.toLowerCase()):se.find(be=>be.symbol.toUpperCase()===O.token_symbol.toUpperCase());W&&(O={...O,contract_address:W.token_address,decimals:String(W.decimals)},ie={symbol:W.symbol,name:W.name,balance:W.balance,balanceFormatted:W.balance_formatted,usdValue:W.usd_value,usdPrice:W.usd_price,decimals:W.decimals,logo:W.logo||W.thumbnail,contractAddress:W.token_address})}}catch(_){console.warn("Token enrichment failed:",_)}if(he&&!ie&&O.contract_address)try{const _=await ks({address:O.contract_address,chain:h});if(_?.success&&_?.data){const se=_.data;ie={symbol:se.symbol,name:se.name,balance:"0",balanceFormatted:"0",usdPrice:se.usd_price,decimals:se.decimals,logo:se.logo,contractAddress:O.contract_address},O={...O,decimals:String(se.decimals)}}}catch(_){console.warn("Token metadata fallback failed:",_)}if(Te&&u?.address)try{const _=await je({address:u.address,chain:h});if(_?.success&&_?.data?.result){const W=_.data.result.find(be=>be.native_token);if(W){let be=W.balance_formatted,ge=W.balance;try{const ce=new oe(W.balance),xe="0x"+BigInt(ce.toFixed(0)).toString(16),Oe=await on({from:u.address,to:u.address,data:"0x",value:xe,chainId:w,rpcUrl:F});if(Oe.isGreaterThan(0)){const Ie=ce.minus(Oe);Ie.isGreaterThan(0)?(ge=Ie.toFixed(0),be=oe(Le(BigInt(Ie.toFixed(0)),W.decimals)).toFixed()):(ge="0",be="0")}}catch(ce){console.warn("Estimate send fee for send_native failed:",ce)}ie={symbol:W.symbol,name:W.name,balance:ge,balanceFormatted:be,usdValue:W.usd_value,usdPrice:W.usd_price,decimals:W.decimals,logo:W.logo||W.thumbnail,contractAddress:We}}else{const be=await ks({address:We,chain:h});if(be?.success&&be?.data){const ge=be.data;ie={symbol:ge.symbol,name:ge.name,balance:"0",balanceFormatted:"0",usdValue:0,usdPrice:ge.usd_price,decimals:ge.decimals,logo:ge.logo||ge.thumbnail,contractAddress:We}}}}}catch(_){console.warn("Native token balance fetch failed:",_)}if(re){try{const _=await Oi({address:O.contract_address,chain:h});if(_?.success&&_?.data){const se=_.data;se.contract_type&&(O={...O,token_standard:se.contract_type}),!O.nft_name&&se.name&&(O={...O,nft_name:se.name})}}catch(_){console.warn("NFT contract metadata fetch failed:",_)}if(u?.address)try{const _=await kn({address:u.address,chain:h,limit:100,exclude_spam:!1});if(_?.success&&_?.data?.result){const se=_.data.result.find(W=>W.token_address.toLowerCase()===O.contract_address.toLowerCase()&&W.token_id===O.token_id);if(se){O={...O,amount:"1",maxAmount:se.amount||"1"};const W=se.normalized_metadata?.image||se.media?.original_media_url||"";ae={name:se.normalized_metadata?.name||se.name||O.nft_name||`#${se.token_id}`,image:W||void 0,tokenId:se.token_id,contractAddress:se.token_address,tokenStandard:se.contract_type||O.token_standard||void 0}}}}catch(_){console.warn("NFT ownership lookup failed:",_)}}if(O.amount&&ie?.balanceFormatted&&(G.action==="send_token"||G.action==="send_native")&&(O.amount=po(O.amount,ie.balanceFormatted)),b){const _=G.message||"Please review and complete the form below.";l(_,"bot",K.id,void 0,{action:G.action,parameters:O,status:"pending",tokenInfo:ie,nftInfo:ae})}else l(G.message||$,"bot",K.id)}else if(G&&G.action==="chat"){const b=G.token_mentions||[],O=G.suggested_actions||[],ie=[];b.length>0&&b.forEach(ae=>{ie.push({id:`buy-${ae.symbol}`,text:`💰 Buy ${ae.symbol}`,value:r("buttonBuySymbol",{symbol:ae.symbol}),action:"click_buy_item_token_button",extraData:{tokenAddress:ae.contract_address||"",symbol:ae.symbol,decimals:ae.decimals||18},fullWidth:!0})}),O.length>0&&O.forEach((ae,he)=>{ie.push({id:`suggested-${he}-${ae.label}`,text:ae.label,value:ae.prompt,action:"suggested_action",fullWidth:!0})}),ie.length>0?l(G.message||$,"bot",K.id,ie):l(G.message||$,"bot",K.id)}else l($,"bot",K.id)}else l(a("errorProcessingRequest"),"bot",K.id)}catch(V){console.error("Error getting AI response:",V),l(a("errorProcessingRequest"),"bot",K.id)}T(!1),await Xe(50),Ft.isDesktop&&Ee.current?.focus()},[x,S,i,l,z,u?.address,g?.name,g?.nativeCurrency?.symbol,g?.tokenTrendingDefault,w,E,h,I,Se,qe,Qe,ot,le,F,a,r]);ee.useEffect(()=>{c.current&&x===c.current&&(c.current=null,Be())},[x,Be]);const Pe=ee.useCallback(async(R,K,V)=>{try{if(A(!1),y(V,"submitted"),R==="swap_token"){let X=18;if(K.token_in&&K.token_in!==We)try{const U=await tt.getTokensDetails([K.token_in],E);U?.data?.[0]&&(X=U.data[0].decimals||18)}catch(U){console.warn("getTokensDetails failed in ActionForm swap, using default 18:",U)}const de=mt(K.amount||"0",X).toString(),M=await io({chainId:w,tokenIn:K.token_in||"",tokenInAmount:de,tokenOut:K.token_out||"",tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(M.success&&M.data){const U=M.data,H=U.tokenIn,Y=U.tokenOut,$=oe(Le(BigInt(H.amount||0),H.decimals)).decimalPlaces(6).toFormat(),G=oe(Le(BigInt(Y.amount||0),Y.decimals)).decimalPlaces(6).toFormat(),b=!K.token_in||K.token_in===We;let O=!1;if(!b&&u?.address&&U.tx?.to)try{const W=await uo({tokenAddress:K.token_in,ownerAddress:u.address,spenderAddress:U.tx.to,chainId:w,rpcUrl:F});O=oe(W.toString()).isLessThan(de)}catch(W){console.warn("Allowance check failed in ActionForm swap:",W)}const ie=U.estimatedTransactionFee?.total?oe(U.estimatedTransactionFee.total):oe(0);let ae=oe(0);if(O&&u?.address)try{const W=Tn({tokenAddress:K.token_in,spenderAddress:U.tx?.to||"",fromAddress:u.address,chainId:w});ae=await on({from:u.address,to:W.to,data:W.data,chainId:w,rpcUrl:F})}catch(W){console.warn("Approve fee estimation failed:",W)}const he=ie.plus(ae),Te=g?.nativeCurrency?.symbol||"native";let re="",_=!1;if(u?.address&&he.isGreaterThan(0))try{const W=await Cn({address:u.address,chainId:w,rpcUrl:F});if(W.isLessThan(he)){_=!0;const be=oe(Le(BigInt(W.toFixed(0)),18)).decimalPlaces(6).toFormat(),ge=oe(Le(BigInt(he.toFixed(0)),18)).decimalPlaces(6).toFormat();re=r("swapFeeWarning",{symbol:Te,balance:be,needed:ge})}}catch(W){console.warn("Fee balance check failed:",W)}const se=`From: ${$} ${H.symbol}
|
|
494
|
+
`;if(rn)l(Jt,"bot");else if(_e){const Ue=[{id:"approve-for-swap",text:r("swapApproveButton",{symbol:Te.symbol}),value:r("swapApproveValue",{symbol:Te.symbol}),action:"approve_for_swap",fullWidth:!0,extraData:{tokenAddress:V,spenderAddress:ce.tx.to,tokenSymbol:Te.symbol,tx:ce.tx}}];l(Jt+r("swapNeedApprove",{symbol:Te.symbol}),"bot",void 0,Ue)}else{const Ue=[{id:"confirm-swap",text:a("swapConfirmYes"),value:a("swapConfirmValue"),action:"confirm_swap",extraData:{tx:ce.tx}}];l(Jt+a("swapReadyToProceed"),"bot",void 0,Ue)}}else l(r("swapEstimationError",{error:fe.errorMessage||fe.error||"Unknown error"}),"bot")}catch(ae){console.error("Swap estimation error:",ae),l(a("swapEstimationFailed"),"bot")}}else if(ie&&ve&&!xe){let ae=O?18:parseInt(b.token_in_decimals||"18",10),j=parseInt(b.token_out_decimals||"18",10);const ee=[];if(b.token_out&&ee.push(b.token_out),b.token_in&&!O&&ee.push(b.token_in),ee.length>0)try{const V=await tt.getTokensDetails(ee,E);if(V?.data)for(const te of V.data)!O&&te.address.toLowerCase()===b.token_in?.toLowerCase()&&(ae=te.decimals||ae),te.address.toLowerCase()===b.token_out?.toLowerCase()&&(j=te.decimals||j)}catch(V){console.warn("getTokensDetails failed in CASE 2, using fallback decimals:",V)}if(ue({descTokenAddress:b.token_out,descTokenDecimals:j}),O)try{const V=await je({address:u?.address||"",chain:h});if(V?.success&&V?.data?.result){const fe=V.data.result.find(De=>De.native_token),ce=g?.nativeCurrency?.symbol||"ETH";let Te=fe?.balance_formatted||"0";try{const De=await fo({chainId:w,rpcUrl:F});if(De.isGreaterThan(0)){const _e=De.times(1e6),dt=new re(fe?.balance||"0").minus(_e);dt.isGreaterThan(0)?Te=re(Le(BigInt(dt.toFixed(0)),fe?.decimals||18)).toFixed():Te="0"}}catch(De){console.warn("getGasPrice for swap native fee deduction (CASE 2) failed:",De)}ue({srcTokenAddress:We,srcTokenDecimals:ae});const Ie=[25,50,75,100].map(De=>({id:`percent-${De}`,text:`${De}%`,value:r("buttonUsePercent",{percent:String(De),symbol:ce}),action:"select_percent",extraData:{percent:De,tokenAddress:We,tokenSymbol:ce,tokenDecimals:ae,tokenBalance:Te}}));l(r("selectAmountToSwap",{symbol:ce,balance:Te}),"bot",K.id,Ie)}else l(a("couldNotFetchBalance"),"bot")}catch(V){console.warn("Native balance fetch failed:",V),l(a("couldNotFetchBalanceRetry"),"bot")}else{const V=b.token_in_symbol||"Token";ue({srcTokenAddress:b.token_in,srcTokenDecimals:ae});try{const te=await je({address:u?.address||"",chain:h});if(te?.success&&te?.data?.result){const ce=te.data.result.find(Ie=>Ie.token_address.toLowerCase()===b.token_in?.toLowerCase());if(!ce){l(r("swapTokenNotInWallet",{symbol:V}),"bot"),v(!1);return}const Fe=[25,50,75,100].map(Ie=>({id:`percent-${Ie}`,text:`${Ie}%`,value:r("buttonUsePercent",{percent:String(Ie),symbol:ce.symbol}),action:"select_percent",extraData:{percent:Ie,tokenAddress:ce.token_address,tokenSymbol:ce.symbol,tokenDecimals:ce.decimals||18,tokenBalance:ce.balance_formatted}}));l(r("selectAmountToSwap",{symbol:ce.symbol,balance:`${ce.balance_formatted} (~$${ce.usd_value?.toFixed(2)||"0"})`}),"bot",K.id,Fe)}else l(a("couldNotFetchBalance"),"bot")}catch(te){console.warn("Token balance fetch failed:",te),l(a("couldNotFetchBalanceRetry"),"bot")}}}else if(!ie&&ve){l(G.message||a("swapChooseFrom"),"bot",K.id);let ae=parseInt(b.token_out_decimals||"18",10);if(b.token_out)try{const j=await tt.getTokensDetails([b.token_out],E);j?.data?.[0]&&(ae=j.data[0].decimals||ae)}catch(j){console.warn("getTokensDetails failed in CASE 3, using fallback:",j)}await Se(b.token_out,ae)}else if(ie&&!ve){let ae=O?18:parseInt(b.token_in_decimals||"18",10);if(b.token_in&&!O)try{const j=await tt.getTokensDetails([b.token_in],E);j?.data?.[0]&&(ae=j.data[0].decimals||ae)}catch(j){console.warn("getTokensDetails failed in CASE 4, using fallback:",j)}ue(O?{srcTokenAddress:We,srcTokenDecimals:18}:{srcTokenAddress:b.token_in,srcTokenDecimals:ae}),l(G.message||r("swapChooseTo",{symbol:b.token_in_symbol||"your token"}),"bot",K.id);try{v(!0);const j=g?.tokenTrendingDefault||[],[ee,V]=await Promise.allSettled([tt.getTopGainers(E,"24h",5),tt.getTokensDetails(j,E)]);let te=[];ee.status==="fulfilled"&&ee.value?.data&&(te=[...ee.value.data]),V.status==="fulfilled"&&V.value?.data&&(te=[...V.value.data,...te]),te=te.filter((ce,Te,Fe)=>Te===Fe.findIndex(Ie=>Ie.address.toLowerCase()===ce.address.toLowerCase()));const fe=te.map(ce=>({id:ce?.symbol,text:ce?.symbol,value:r("buttonSwapTo",{name:ce.name,symbol:ce?.symbol||""}),action:"click_swap_dest_token",extraData:{tokenAddress:ce?.address||"",symbol:ce?.symbol||"",decimals:ce?.decimals||18}}));l(r("trendingTokensForReceive",{chain:g?.name||"Unknown"}),"bot",void 0,fe)}catch(j){console.error("Error fetching trending tokens for swap:",j),l(a("couldNotLoadTokenList"),"bot")}finally{v(!1)}}else if(l(G.message||a("swapChooseToken"),"bot",K.id),u?.address)try{v(!0);const ae=await je({address:u.address,chain:h});if(ae?.success&&ae?.data?.result&&ae.data.result.length>0){const ee=ae.data.result.map(V=>({id:`swap-select-${V.token_address}`,text:`${V.name}: ${V.balance_formatted} ${V.symbol} ($${re(V?.usd_value||0).decimalPlaces(2).toFixed()||"0"})`,value:`Swap ${V.symbol}`,action:"suggested_action",fullWidth:!0}));await Xe(500),v(!1),l(r("walletBalanceSpendable",{chain:g?.name||"this chain"}),"bot",void 0,ee)}else v(!1),l(r("walletNoTokensFound",{chain:g?.name||"this chain"}),"bot")}catch(ae){console.warn("Failed to fetch balance for swap picker:",ae),v(!1),l(a("walletFetchError"),"bot")}}else if(G.action==="view_balances")l(G.message||a("viewBalancesLoading"),"bot",K.id),await ot();else if(G.action==="view_nfts")l(G.message||a("viewNftsLoading"),"bot",K.id),await Qe();else if(G.action==="send_token"&&!G.parameters?.contract_address&&!G.parameters?.token_symbol&&u?.address)try{const b=await je({address:u.address,chain:h});if(b?.success&&b?.data?.result&&b.data.result.length>0){l(a("sendTokenChoose"),"bot",K.id),v(!0),await Xe(500);const de=b.data.result.map(ie=>({id:`send-select-${ie.token_address}`,text:`${ie.name}: ${ie.balance_formatted} ${ie.symbol} ($${re(ie?.usd_value||0).decimalPlaces(2).toFixed()||"0"})`,value:`Send ${ie.name} (${ie.symbol})`,action:"suggested_action",fullWidth:!0}));await Xe(500),v(!1),l(r("walletBalanceSpendable",{chain:g?.name||"this chain"}),"bot",void 0,de)}else v(!1),l(r("walletNoTokensFound",{chain:g?.name||"this chain"}),"bot")}catch(b){console.warn("Failed to fetch balance for send_token picker:",b),v(!1),l(a("walletFetchError"),"bot")}else if(G.action==="send_nft"&&!G.parameters?.contract_address&&!G.parameters?.token_id&&!G.parameters?.nft_name&&u?.address)l(a("sendNftChoose"),"bot",K.id),await Qe({numberOfView:5});else if(G.action==="send_nft"&&!Re(G.parameters?.contract_address||"")&&(G.parameters?.nft_name||G.parameters?.token_id)&&u?.address)try{v(!0);const b=await kn({address:u.address,chain:h,limit:100,exclude_spam:!1});if(b?.success&&b?.data?.result){const O=b.data.result,de=(G.parameters?.nft_name||"").toLowerCase(),ie=G.parameters?.token_id||"",ve=ee=>{const V=(ee.normalized_metadata?.name||ee.name||"").toLowerCase(),te=(ee.name||"").toLowerCase(),fe=de&&(V.includes(de)||te.includes(de)),ce=ie&&ee.token_id===ie;return de&&ie?fe&&ce:de?fe:ce},xe=!de&&!!ie,ae=xe?O.filter(ve):[],j=xe?ae.length===1?ae[0]:null:O.find(ve);if(xe&&ae.length>1){const ee=ae.map(te=>{const fe=te.normalized_metadata?.name||te.name||`#${te.token_id}`,ce=te.normalized_metadata?.image||te.media?.original_media_url||"";return{id:`${te.token_address}-${te.token_id}`,text:`${fe} (${te.symbol||te.contract_type}) #${te.token_id}`,value:r("buttonSendNft",{name:fe}),action:"select_nft_to_send",fullWidth:!0,extraData:{contractAddress:te.token_address,tokenId:te.token_id,tokenStandard:te.contract_type,name:fe,symbol:te.symbol,amount:te.amount,image:ce,toAddress:G.parameters?.to_address||""}}}),V=ae.map((te,fe)=>{const ce=te.normalized_metadata?.name||te.name||`#${te.token_id}`,Te=te.normalized_metadata?.image||te.media?.original_media_url||"",Fe=Te?`
|
|
495
|
+
`:"🖼️ ";return`${fe+1}. ${Fe}**${ce}**
|
|
496
|
+
${te.symbol||te.contract_type} | Token ID: ${te.token_id}`}).join(`
|
|
497
|
+
|
|
498
|
+
`);v(!1),l(r("nftMultipleMatchesForTokenId",{count:String(ae.length),tokenId:ie})+`
|
|
499
|
+
|
|
500
|
+
`+V,"bot",K.id,ee)}else if(j){const ee=j.normalized_metadata?.name||j.name||`#${j.token_id}`,V=j.normalized_metadata?.image||j.media?.original_media_url||"",te={contract_address:j.token_address,token_id:j.token_id,to_address:G.parameters?.to_address||"",token_standard:j.contract_type||"",amount:"1",maxAmount:j.amount||"1",nft_name:ee};l(G.message||r("nftSendReview",{name:ee,standard:j.contract_type||"NFT",tokenId:j.token_id}),"bot",K.id,void 0,{action:"send_nft",parameters:te,status:"pending",nftInfo:{name:ee,image:V||void 0,tokenId:j.token_id,contractAddress:j.token_address,tokenStandard:j.contract_type||void 0}})}else l(G.message||r("nftNotFoundInWallet",{name:de||ie}),"bot",K.id),await Qe()}else l(a("nftNoCollection"),"bot",K.id)}catch(b){console.error("NFT lookup by name failed:",b),l(a("nftFetchError"),"bot",K.id)}finally{v(!1)}else{const b=ec(G.action);let O={...G.parameters||{}},de,ie;const ve=["send_token","approve_token"].includes(G.action)&&(O.contract_address||O.token_symbol),xe=G.action==="send_native",ae=G.action==="send_nft"&&O.contract_address;if(ve&&u?.address)try{const j=await je({address:u.address,chain:h});if(j?.success&&j?.data?.result){const ee=j.data.result,V=O.contract_address?ee.find(te=>te.token_address.toLowerCase()===O.contract_address.toLowerCase()):ee.find(te=>te.symbol.toUpperCase()===O.token_symbol.toUpperCase());V&&(O={...O,contract_address:V.token_address,decimals:String(V.decimals)},de={symbol:V.symbol,name:V.name,balance:V.balance,balanceFormatted:V.balance_formatted,usdValue:V.usd_value,usdPrice:V.usd_price,decimals:V.decimals,logo:V.logo||V.thumbnail,contractAddress:V.token_address})}}catch(j){console.warn("Token enrichment failed:",j)}if(ve&&!de&&O.contract_address)try{const j=await ks({address:O.contract_address,chain:h});if(j?.success&&j?.data){const ee=j.data;de={symbol:ee.symbol,name:ee.name,balance:"0",balanceFormatted:"0",usdPrice:ee.usd_price,decimals:ee.decimals,logo:ee.logo,contractAddress:O.contract_address},O={...O,decimals:String(ee.decimals)}}}catch(j){console.warn("Token metadata fallback failed:",j)}if(xe&&u?.address)try{const j=await je({address:u.address,chain:h});if(j?.success&&j?.data?.result){const V=j.data.result.find(te=>te.native_token);if(V){let te=V.balance_formatted,fe=V.balance;try{const ce=new re(V.balance),Te="0x"+BigInt(ce.toFixed(0)).toString(16),Fe=await on({from:u.address,to:u.address,data:"0x",value:Te,chainId:w,rpcUrl:F});if(Fe.isGreaterThan(0)){const Ie=ce.minus(Fe);Ie.isGreaterThan(0)?(fe=Ie.toFixed(0),te=re(Le(BigInt(Ie.toFixed(0)),V.decimals)).toFixed()):(fe="0",te="0")}}catch(ce){console.warn("Estimate send fee for send_native failed:",ce)}de={symbol:V.symbol,name:V.name,balance:fe,balanceFormatted:te,usdValue:V.usd_value,usdPrice:V.usd_price,decimals:V.decimals,logo:V.logo||V.thumbnail,contractAddress:We}}else{const te=await ks({address:We,chain:h});if(te?.success&&te?.data){const fe=te.data;de={symbol:fe.symbol,name:fe.name,balance:"0",balanceFormatted:"0",usdValue:0,usdPrice:fe.usd_price,decimals:fe.decimals,logo:fe.logo||fe.thumbnail,contractAddress:We}}}}}catch(j){console.warn("Native token balance fetch failed:",j)}if(ae){try{const j=await Oi({address:O.contract_address,chain:h});if(j?.success&&j?.data){const ee=j.data;ee.contract_type&&(O={...O,token_standard:ee.contract_type}),!O.nft_name&&ee.name&&(O={...O,nft_name:ee.name})}}catch(j){console.warn("NFT contract metadata fetch failed:",j)}if(u?.address)try{const j=await kn({address:u.address,chain:h,limit:100,exclude_spam:!1});if(j?.success&&j?.data?.result){const ee=j.data.result.find(V=>V.token_address.toLowerCase()===O.contract_address.toLowerCase()&&V.token_id===O.token_id);if(ee){O={...O,amount:"1",maxAmount:ee.amount||"1"};const V=ee.normalized_metadata?.image||ee.media?.original_media_url||"";ie={name:ee.normalized_metadata?.name||ee.name||O.nft_name||`#${ee.token_id}`,image:V||void 0,tokenId:ee.token_id,contractAddress:ee.token_address,tokenStandard:ee.contract_type||O.token_standard||void 0}}}}catch(j){console.warn("NFT ownership lookup failed:",j)}}if(O.amount&&de?.balanceFormatted&&(G.action==="send_token"||G.action==="send_native")&&(O.amount=po(O.amount,de.balanceFormatted)),b){const j=G.message||"Please review and complete the form below.";l(j,"bot",K.id,void 0,{action:G.action,parameters:O,status:"pending",tokenInfo:de,nftInfo:ie})}else l(G.message||$,"bot",K.id)}else if(G&&G.action==="chat"){const b=G.token_mentions||[],O=G.suggested_actions||[],de=[];b.length>0&&b.forEach(ie=>{de.push({id:`buy-${ie.symbol}`,text:`💰 Buy ${ie.symbol}`,value:r("buttonBuySymbol",{symbol:ie.symbol}),action:"click_buy_item_token_button",extraData:{tokenAddress:ie.contract_address||"",symbol:ie.symbol,decimals:ie.decimals||18},fullWidth:!0})}),O.length>0&&O.forEach((ie,ve)=>{de.push({id:`suggested-${ve}-${ie.label}`,text:ie.label,value:ie.prompt,action:"suggested_action",fullWidth:!0})}),de.length>0?l(G.message||$,"bot",K.id,de):l(G.message||$,"bot",K.id)}else l($,"bot",K.id)}else l(a("errorProcessingRequest"),"bot",K.id)}catch(H){console.error("Error getting AI response:",H),l(a("errorProcessingRequest"),"bot",K.id)}v(!1),await Xe(50),Ft.isDesktop&&Ee.current?.focus()},[x,S,i,l,J,u?.address,g?.name,g?.nativeCurrency?.symbol,g?.tokenTrendingDefault,w,E,h,I,Se,qe,Qe,ot,ue,F,a,r]);ne.useEffect(()=>{c.current&&x===c.current&&(c.current=null,Be())},[x,Be]);const Oe=ne.useCallback(async(R,K,H)=>{try{if(A(!1),y(H,"submitted"),R==="swap_token"){let _=18;if(K.token_in&&K.token_in!==We)try{const M=await tt.getTokensDetails([K.token_in],E);M?.data?.[0]&&(_=M.data[0].decimals||18)}catch(M){console.warn("getTokensDetails failed in ActionForm swap, using default 18:",M)}const le=mt(K.amount||"0",_).toString(),W=await io({chainId:w,tokenIn:K.token_in||"",tokenInAmount:le,tokenOut:K.token_out||"",tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(W.success&&W.data){const M=W.data,L=M.tokenIn,Z=M.tokenOut,$=re(Le(BigInt(L.amount||0),L.decimals)).decimalPlaces(6).toFormat(),G=re(Le(BigInt(Z.amount||0),Z.decimals)).decimalPlaces(6).toFormat(),b=!K.token_in||K.token_in===We;let O=!1;if(!b&&u?.address&&M.tx?.to)try{const V=await uo({tokenAddress:K.token_in,ownerAddress:u.address,spenderAddress:M.tx.to,chainId:w,rpcUrl:F});O=re(V.toString()).isLessThan(le)}catch(V){console.warn("Allowance check failed in ActionForm swap:",V)}const de=M.estimatedTransactionFee?.total?re(M.estimatedTransactionFee.total):re(0);let ie=re(0);if(O&&u?.address)try{const V=Tn({tokenAddress:K.token_in,spenderAddress:M.tx?.to||"",fromAddress:u.address,chainId:w});ie=await on({from:u.address,to:V.to,data:V.data,chainId:w,rpcUrl:F})}catch(V){console.warn("Approve fee estimation failed:",V)}const ve=de.plus(ie),xe=g?.nativeCurrency?.symbol||"native";let ae="",j=!1;if(u?.address&&ve.isGreaterThan(0))try{const V=await Cn({address:u.address,chainId:w,rpcUrl:F});if(V.isLessThan(ve)){j=!0;const te=re(Le(BigInt(V.toFixed(0)),18)).decimalPlaces(6).toFormat(),fe=re(Le(BigInt(ve.toFixed(0)),18)).decimalPlaces(6).toFormat();ae=r("swapFeeWarning",{symbol:xe,balance:te,needed:fe})}}catch(V){console.warn("Fee balance check failed:",V)}const ee=`From: ${$} ${L.symbol}
|
|
495
501
|
⬇️
|
|
496
|
-
To: ${G} ${
|
|
497
|
-
|
|
498
|
-
`+
|
|
499
|
-
`;if(
|
|
500
|
-
[View on Explorer](${
|
|
501
|
-
Tx: ${
|
|
502
|
-
`+
|
|
503
|
-
`+
|
|
504
|
-
`+
|
|
505
|
-
Error: ${
|
|
502
|
+
To: ${G} ${Z.symbol}
|
|
503
|
+
|
|
504
|
+
`+ae+`
|
|
505
|
+
`;if(j)y(H,"pending"),l(ee,"bot");else if(O){const V=[{id:"approve-swap-actionform",text:r("swapApproveButton",{symbol:L.symbol}),value:r("swapApproveValue",{symbol:L.symbol}),action:"approve_for_swap",extraData:{tokenAddress:K.token_in,spenderAddress:M.tx.to,tokenSymbol:L.symbol,tx:M.tx},fullWidth:!0}];y(H,"success"),l(ee+r("swapApprovalRequired",{symbol:L.symbol}),"bot",void 0,V)}else{const V=[{id:"confirm-swap-actionform",text:a("swapConfirmYes"),value:a("swapConfirmValue"),action:"confirm_swap",extraData:{tx:M.tx}}];y(H,"success"),l(ee+a("swapReadyToProceed"),"bot",void 0,V)}}else y(H,"pending"),l(r("swapEstimationError",{error:W.errorMessage||W.error||"Unknown error"}),"bot")}else{const _=Qi({action:R,parameters:K,fromAddress:u?.address||"",chainId:w||1}),le={from:_.from,to:_.to,data:_.data,value:_.value,chainId:_.chainId};if((R==="send_token"||R==="send_native"||R==="send_nft")&&u?.address)try{const M=g?.nativeCurrency?.symbol||"native",L=await on({from:_.from,to:_.to,data:_.data,value:_.value&&_.value!=="0"?`0x${BigInt(_.value).toString(16)}`:void 0,chainId:w,rpcUrl:F});if(L.isGreaterThan(0)){const Z=await Cn({address:u.address,chainId:w,rpcUrl:F});if(Z.isLessThan(L)){const $=re(Le(BigInt(Z.toFixed(0)),18)).decimalPlaces(6).toFormat(),G=re(Le(BigInt(L.toFixed(0)),18)).decimalPlaces(6).toFormat();y(H,"pending"),l(r("txInsufficientGas",{symbol:M,balance:$,fee:G}),"bot");return}}}catch(M){console.warn("Pre-execution fee check failed:",M)}const W=z(H);if(n){v(!1);const M=await n(le);if(M.status==="success"&&M.transactionHash){const L=g?.blockExplorers?.default?.url,Z=L?`
|
|
506
|
+
[View on Explorer](${L}/tx/${M.transactionHash})`:`
|
|
507
|
+
Tx: ${M.transactionHash}`;try{await Xe(2e3),(await lo({transactionHash:M.transactionHash,chainId:w||1,rpcUrl:F})).status==="success"?(y(H,"success"),D(H,W?.text+`
|
|
508
|
+
`+Z)):(y(H,"pending"),l(a("txReverted")+`
|
|
509
|
+
`+Z,"bot"))}catch($){console.warn("Transaction tracking timeout:",$),y(H,"success"),l(a("txTimeout")+`
|
|
510
|
+
`+Z,"bot")}}else if(M.status==="success")y(H,"success");else{y(H,"pending");const L=M.error?`
|
|
511
|
+
Error: ${M.error}`:"";l(a("txFailed")+L,"bot")}}else y(H,"pending"),l(a("txNoHandler"),"bot")}}catch(_){console.error("Action form submit error:",_),y(H,"pending"),l(r("txError",{message:_ instanceof Error?_.message:"Unknown error"}),"bot")}},[y,w,u?.address,E,g?.nativeCurrency?.symbol,g?.blockExplorers?.default?.url,F,r,l,a,z,n,D]),ke=ne.useCallback(R=>{k([R])},[k]),[Gt,gt]=ne.useState({}),lt=ne.useCallback(async(R,K,H)=>{gt(_=>({..._,[H]:!0}));try{await Oe(R,K,H)}finally{gt(_=>({..._,[H]:!1}))}},[Oe]),at=ne.useCallback(R=>{R.key==="Enter"&&!R.shiftKey&&(R.preventDefault(),Be())},[Be]),Yt=ne.useCallback(()=>{const R=window.getSelection();R&&R.toString().length>0||t()},[t]);return e?P.jsx("div",{className:`chat-modal-overlay${s==="bottom-left"?" chat-modal-overlay--left":""}`,onClick:Yt,role:"dialog","aria-modal":"true","aria-labelledby":"chat-modal-title",children:P.jsxs("div",{className:"chat-modal",style:o,onClick:R=>R.stopPropagation(),children:[P.jsxs("div",{className:"chat-modal-header",children:[P.jsxs("div",{className:"chat-modal-header-left",children:[P.jsx("div",{className:"keyring-logo",children:P.jsx("img",{src:Di,alt:"Keyring Logo",width:40,height:40})}),P.jsx("h3",{id:"chat-modal-title",children:a("chatTitle")})]}),P.jsx("button",{className:"close-button",onClick:t,"aria-label":a("closeChat"),type:"button",children:P.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:P.jsx("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})})]}),P.jsx(Ti,{address:u?.address,chainId:g?.chainId}),P.jsxs("div",{className:"chat-modal-messages-wrapper",children:[P.jsxs("div",{className:"chat-modal-messages",ref:we,role:"log","aria-live":"polite",children:[i.map((R,K)=>P.jsxs("div",{children:[st(K)&&P.jsx("div",{className:"date-separator",children:gi(R.timestamp)}),P.jsxs("div",{className:`message ${R.sender==="user"?"message-user":"message-bot"}`,role:"article",children:[P.jsx("button",{disabled:Ft.isMobile,className:"message-reply-button",onClick:()=>Ce(R),"aria-label":a("replyToMessage"),type:"button",children:P.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:P.jsx("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"})})}),P.jsxs("div",{className:"message-bubble",children:[R.replyTo&&P.jsxs("div",{className:"message-reply-to",children:[P.jsxs("div",{className:"message-reply-to-label",children:[a("replyingTo")," ",R.replyTo.sender==="user"?a("replyingToYou"):a("replyingToAgent")]}),P.jsx("div",{className:"message-reply-to-text",children:R.replyTo.text})]}),P.jsx("div",{className:"message-text",children:P.jsx(Wi,{content:R.text})}),R.buttons&&R.buttons.length>0&&P.jsx("div",{className:"message-buttons",children:R.buttons.map(H=>P.jsx("button",{className:`message-button ${H.fullWidth?"full-width":""} ${H.action==="suggested_action"?"suggested-action":""}`,onClick:()=>Ne(H.value,H.action,H?.extraData),type:"button",children:H.text},H.id))}),R.actionData&&R.actionData.status==="pending"&&P.jsx(Yi,{action:R.actionData.action,initialValues:R.actionData.parameters,onSubmit:(H,_)=>{lt(H,_,R.id),setTimeout(()=>{he.current?.scrollIntoView({behavior:"smooth"})},100)},onCancel:()=>ke(R.id),isSubmitting:Gt[R.id]||!1,tokenInfo:R.actionData.tokenInfo,nftInfo:R.actionData.nftInfo}),R.actionData&&R.actionData.status==="submitted"&&P.jsx("div",{className:"action-status action-status-submitted",children:a("txProcessing")}),R.actionData&&R.actionData.status==="success"&&P.jsx("div",{className:"action-status action-status-success",children:a("actionSuccess")}),R.actionData&&R.actionData.status==="fail"&&P.jsx("div",{className:"action-status action-status-fail",children:a("actionFail")}),P.jsxs("div",{className:"message-timestamp",children:[R.timestamp.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),R.sender==="user"&&P.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:"check-icon",children:P.jsx("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})]})]},R.id)),S&&P.jsx("div",{className:"message message-bot typing-indicator",role:"status","aria-label":a("botIsTyping"),children:P.jsxs("div",{className:"message-bubble",children:[P.jsx("span",{className:"typing-dot"}),P.jsx("span",{className:"typing-dot"}),P.jsx("span",{className:"typing-dot"})]})}),(ge||i.length===1)&&P.jsxs(P.Fragment,{children:[i.length>1&&P.jsx("div",{className:"message message-bot",role:"article",children:P.jsx("div",{className:"message-bubble",children:P.jsx("div",{className:"message-text",children:a("canIHelpYou")})})}),P.jsx("div",{className:"suggestions-container",children:Ve.map(R=>P.jsxs("button",{className:"suggestion-button",onClick:R.action,type:"button",children:[P.jsx("span",{className:"suggestion-icon",children:R.icon}),P.jsx("span",{className:"suggestion-text",children:R.text})]},R.id))})]}),P.jsx("div",{ref:he})]}),P.jsx(Ji,{scrollContainerRef:we})]}),P.jsxs("div",{className:"chat-modal-input",children:[J&&P.jsxs("div",{className:"reply-preview",children:[P.jsxs("div",{className:"reply-preview-content",children:[P.jsxs("div",{className:"reply-preview-label",children:[a("replyingTo")," ",J.sender==="user"?a("replyingToYou"):a("replyingToAgent")]}),P.jsx("div",{className:"reply-preview-text",children:J.text})]}),P.jsx("button",{className:"reply-preview-close",onClick:()=>Q(null),"aria-label":a("cancelReply"),type:"button",children:P.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:P.jsx("path",{d:"M12 4L4 12M4 4L12 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]}),P.jsxs("div",{className:"chat-modal-input-row",children:[P.jsx("input",{ref:Ee,type:"text",placeholder:a("messagePlaceholder"),value:x,onChange:R=>B(R.target.value),onKeyPress:at,disabled:S,"aria-label":"Message input"}),P.jsx("button",{className:"send-button",onClick:Be,"aria-label":a("sendMessage"),disabled:S||x?.trim()==="",type:"button",children:P.jsx("img",{src:Li,alt:"Send",width:44,height:44})})]})]})]})}):null},lc=({position:e,theme:t,defaultOpen:n,onOpen:s,onClose:o,onTransaction:a})=>{const{account:r,chainId:i}=gn(),[l,y]=ne.useState(n);ne.useEffect(()=>{n&&s&&s()},[]),ne.useEffect(()=>{if(typeof window>"u")return;const B=document.body,S=document.documentElement,v=B.style.overscrollBehavior,ge=S.style.overscrollBehavior,A=B.style.overflow;return l&&(B.style.overscrollBehavior="none",S.style.overscrollBehavior="none",B.style.overflow="hidden"),()=>{B.style.overscrollBehavior=v,S.style.overscrollBehavior=ge,B.style.overflow=A}},[l]);const D=ne.useCallback(()=>{y(!0),s?.()},[s]),z=ne.useCallback(()=>{y(!1),o?.()},[o]),k=ne.useCallback(()=>{l?z():D()},[l,D,z]),x={position:"fixed",[e==="bottom-right"?"right":"left"]:t.offset?.x??20,bottom:t.offset?.y??20,zIndex:t.zIndex??9999};return!Re(r?.address||"")||!i?P.jsx(P.Fragment,{}):P.jsxs("div",{style:x,role:"complementary","aria-label":"Chat widget",children:[P.jsx(Ys,{buttonSize:t.buttonSize,onClick:k}),P.jsx(cc,{isOpen:l,onClose:z,onTransaction:a,position:e,modalChatStyle:t.modalChatStyle})]})},dc=({position:e="bottom-right",theme:t={},defaultOpen:n=!1,onOpen:s,onClose:o,account:a,onTransaction:r,language:i="en",rpcUrls:l})=>{const y={position:e,theme:t,rpcUrls:l};return typeof window>"u"?null:P.jsx(Ii,{initialConfig:y,children:P.jsx(vi,{initialAccount:a,children:P.jsx(Gs,{initialLanguage:i,children:P.jsx(lc,{position:e,theme:t,defaultOpen:n,onOpen:s,onClose:o,onTransaction:r})})})})};wt.ChatWidget=dc,Object.defineProperty(wt,Symbol.toStringTag,{value:"Module"})}));
|