@solana/client 1.4.1 → 1.5.0

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/README.md CHANGED
@@ -219,9 +219,37 @@ Notes:
219
219
  - Default moniker is `devnet` when nothing is provided; moniker becomes `custom` when you pass a raw `endpoint`.
220
220
  - `createClient`, `createDefaultClient` (`resolveClientConfig`), and `SolanaProvider` all use `resolveCluster` under the hood, so the moniker/endpoint behavior is consistent across entrypoints.
221
221
 
222
+ ## Wallet connector filtering
223
+
224
+ Use `filterByNames` with `autoDiscover()` to filter wallets by name without wallet-specific code:
225
+
226
+ ```ts
227
+ import { autoDiscover, filterByNames } from "@solana/client";
228
+
229
+ // Only show Phantom and Solflare
230
+ const connectors = autoDiscover({
231
+ filter: filterByNames("phantom", "solflare"),
232
+ });
233
+
234
+ const client = createClient({
235
+ cluster: "devnet",
236
+ walletConnectors: connectors,
237
+ });
238
+ ```
239
+
240
+ This approach follows Wallet Standard's wallet-agnostic discovery pattern while still allowing you to curate which wallets appear in your app.
241
+
242
+ You can also write custom filter functions:
243
+
244
+ ```ts
245
+ const connectors = autoDiscover({
246
+ filter: (wallet) => wallet.name.toLowerCase().includes("phantom"),
247
+ });
248
+ ```
249
+
222
250
  ## Notes and defaults
223
251
 
224
- - Wallet connectors: `autoDiscover()` picks up Wallet Standard injectables; compose `phantom()`, `solflare()`, `backpack()`, or `injected()` when you need explicit control.
252
+ - Wallet connectors: `autoDiscover()` picks up Wallet Standard injectables; use `filterByNames()` to filter by name, or compose `phantom()`, `solflare()`, `backpack()`, etc. when you need explicit control.
225
253
  - Store: built on Zustand; pass `createStore` to `createClient` for custom persistence or server-side stores. `serializeSolanaState` / `deserializeSolanaState` help save and restore cluster + wallet metadata.
226
254
  - Actions: `fetchAccount`, `fetchBalance`, `fetchLookupTable`, `fetchLookupTables`, `fetchNonceAccount`, `setCluster`, `requestAirdrop`, `sendTransaction`, and wallet connect/disconnect keep the store in sync.
227
255
  - Watchers: `watchAccount`, `watchBalance`, and `watchSignature` stream updates into the store and return an `abort()` handle for cleanup.
@@ -1,3 +1,3 @@
1
- import {address,createSolanaRpc,createSolanaRpcSubscriptions,getBase64EncodedWireTransaction,compileTransaction,partiallySignTransactionMessageWithSigners,appendTransactionMessageInstruction,setTransactionMessageLifetimeUsingBlockhash,isTransactionSendingSigner,getMessagePackerInstructionPlanFromInstructions,pipe,createTransactionMessage,setTransactionMessageFeePayerSigner,setTransactionMessageFeePayer,signature,AccountRole,singleTransactionPlan,signAndSendTransactionMessageWithSigners,createTransactionPlanExecutor,signTransactionMessageWithSigners,isSolanaError,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED,generateKeyPairSigner,appendTransactionMessageInstructions,createTransactionPlanner,signatureBytes,isTransactionPartialSigner,SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED,isInstructionForProgram,isInstructionWithData,SolanaError,SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR,isSome,airdropFactory}from'@solana/kit';import {createBlockHeightExceedencePromiseFactory,createRecentSignatureConfirmationPromiseFactory,waitForRecentTransactionConfirmation}from'@solana/transaction-confirmation';import {fetchAddressLookupTable,fetchAllAddressLookupTable}from'@solana-program/address-lookup-table';import {getTransferSolInstruction,getCreateAccountInstruction,fetchNonce}from'@solana-program/system';import {getBase58Decoder,getBase58Encoder}from'@solana/codecs-strings';import {TOKEN_PROGRAM_ADDRESS,fetchMint,findAssociatedTokenPda,getCreateAssociatedTokenInstruction,getTransferCheckedInstruction,getCreateAssociatedTokenIdempotentInstruction,getSyncNativeInstruction,getCloseAccountInstruction}from'@solana-program/token';import {getInitializeInstruction,getDelegateStakeInstruction,getDeactivateInstruction,getWithdrawInstruction}from'@solana-program/stake';import {getSetComputeUnitLimitInstruction,getSetComputeUnitPriceInstruction,COMPUTE_BUDGET_PROGRAM_ADDRESS,ComputeBudgetInstruction}from'@solana-program/compute-budget';import {createStore}from'zustand/vanilla';import {getWallets}from'@wallet-standard/app';import {StandardConnect,StandardEvents,StandardDisconnect}from'@wallet-standard/features';import {getTransactionDecoder,getTransactionEncoder}from'@solana/transactions';import {SolanaSignMessage,SolanaSignTransaction,SolanaSignAndSendTransaction}from'@solana/wallet-standard-features';var en=Object.defineProperty;var t=(e,n)=>en(e,"name",{value:n,configurable:true});function tn(e,n){return e.actions.connectWallet(n.connectorId,n.options)}t(tn,"connectWallet");function nn(e,n){return e.actions.disconnectWallet()}t(nn,"disconnectWallet");function rn(e,n){return e.actions.fetchAccount(n.address,n.commitment)}t(rn,"fetchAccount");function an(e,n){return e.actions.fetchBalance(n.address,n.commitment)}t(an,"fetchBalance");function on(e,n){return e.actions.fetchLookupTable(n.address,n.commitment)}t(on,"fetchLookupTable");function sn(e,n){return e.actions.fetchLookupTables(n.addresses,n.commitment)}t(sn,"fetchLookupTables");function cn(e,n){return e.actions.fetchNonceAccount(n.address,n.commitment)}t(cn,"fetchNonceAccount");function ln(e,n){return e.actions.requestAirdrop(n.address,n.lamports)}t(ln,"requestAirdrop");function pn(e,n){return e.actions.sendTransaction(n.transaction,n.commitment)}t(pn,"sendTransaction");function un(e,n){return e.actions.setCluster(n.endpoint,n.config)}t(un,"setCluster");function fe(e){if(typeof e!="object"||e===null)return e;let n=e;for(let r of Reflect.ownKeys(n)){let o=n[r];fe(o);}return Object.freeze(e)}t(fe,"deepFreeze");function L(){return Date.now()}t(L,"now");function Xe(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}t(Xe,"toErrorMessage");function Z(e){return e||(({data:n,level:r,message:o})=>{let s=n?{...n}:{};switch(r){case "error":console.error(`[react-core] ${o}`,s);break;case "warn":console.warn(`[react-core] ${o}`,s);break;case "info":console.info(`[react-core] ${o}`,s);break;default:console.debug(`[react-core] ${o}`,s);}})}t(Z,"createLogger");function B(e){return {error:e,message:Xe(e)}}t(B,"formatError");function yn(e){let n=new AbortController;if(!e)return n;if(e.aborted)return n.abort(e.reason),n;let r=t(()=>{n.abort(e.reason),e.removeEventListener("abort",r);},"onAbort");return e.addEventListener("abort",r,{once:true}),n}t(yn,"createChainedAbortController");function et(e){if(e!==void 0)return typeof e=="bigint"?e:BigInt(Math.floor(e))}t(et,"toBigint");var Tn=Object.freeze({encoding:"base64",replaceRecentBlockhash:true,sigVerify:false});function Q(e){let n=e.endpoint,r=e.websocketEndpoint??n,o=e.commitment??"confirmed",s=createSolanaRpc(n,e.rpcConfig),p=createSolanaRpcSubscriptions(r,e.rpcSubscriptionsConfig);async function S(C,g={}){let l=yn(g.abortSignal),i=g.commitment??o,a=getBase64EncodedWireTransaction(C),u=await s.sendTransaction(a,{encoding:"base64",maxRetries:et(g.maxRetries),minContextSlot:et(g.minContextSlot),preflightCommitment:i,skipPreflight:g.skipPreflight}).send({abortSignal:l.signal}),c=createBlockHeightExceedencePromiseFactory({rpc:s,rpcSubscriptions:p}),b=createRecentSignatureConfirmationPromiseFactory({rpc:s,rpcSubscriptions:p});return await waitForRecentTransactionConfirmation({abortSignal:l.signal,commitment:i,getBlockHeightExceedencePromise:c,getRecentSignatureConfirmationPromise:b,transaction:C}),u}t(S,"sendAndConfirmTransaction");async function T(C,g={}){let l=getBase64EncodedWireTransaction(C),i=g.config??{},a={...Tn,...i,commitment:i.commitment??g.commitment??o},u=a.sigVerify===true&&a.replaceRecentBlockhash!==false?{...a,replaceRecentBlockhash:false}:a;return s.simulateTransaction(l,u).send({abortSignal:g.abortSignal})}return t(T,"simulateTransaction"),{commitment:o,endpoint:n,rpc:s,rpcSubscriptions:p,sendAndConfirmTransaction:S,simulateTransaction:T,websocketEndpoint:r}}t(Q,"createSolanaRpcClient");function hn(e){return {autoconnect:false,commitment:e.commitment,endpoint:e.endpoint,lastConnectorId:null,lastPublicKey:null,version:1,websocketEndpoint:e.websocketEndpoint}}t(hn,"getInitialSerializableState");function Se(e,n){return n?{...e,commitment:n.commitment??e.commitment,endpoint:n.endpoint??e.endpoint,websocketEndpoint:n.websocketEndpoint??e.websocketEndpoint}:e}t(Se,"applySerializableState");function ge(e){return JSON.stringify(e)}t(ge,"serializeSolanaState");function bn(e){if(!e)return null;try{let n=JSON.parse(e);if(typeof n!="object"||n===null)return null;let r=n;return {autoconnect:r.autoconnect??!1,commitment:r.commitment,endpoint:r.endpoint,lastConnectorId:r.lastConnectorId??null,lastPublicKey:r.lastPublicKey??null,version:r.version??1,websocketEndpoint:r.websocketEndpoint}}catch{return null}}t(bn,"deserializeSolanaState");function tt(e){let n=e.store.getState(),r=n.wallet,o=r.autoConnect,s=null,p=null;return "connectorId"in r&&(s=r.connectorId??null,r.status==="connected"&&(p=r.session.account.address.toString())),{autoconnect:o??!!s,commitment:n.cluster.commitment,endpoint:n.cluster.endpoint,lastConnectorId:s,lastPublicKey:p,version:1,websocketEndpoint:n.cluster.websocketEndpoint}}t(tt,"getSerializableStateSnapshot");function Cn(e,n){let r=ge(tt(e));return n(JSON.parse(r)),e.store.subscribe(()=>{let s=tt(e),p=ge(s);p!==r&&(r=p,n(s));})}t(Cn,"subscribeSolanaState");function nt(e){return e.startsWith("http://")||e.startsWith("https://")||e.startsWith("ws://")||e.startsWith("wss://")?e:`https://${e}`}t(nt,"ensureHttpProtocol");var wn={devnet:{endpoint:"https://api.devnet.solana.com",websocketEndpoint:"wss://api.devnet.solana.com"},localhost:{endpoint:"http://127.0.0.1:8899",websocketEndpoint:"ws://127.0.0.1:8900"},localnet:{endpoint:"http://127.0.0.1:8899",websocketEndpoint:"ws://127.0.0.1:8900"},"mainnet-beta":{endpoint:"https://api.mainnet-beta.solana.com",websocketEndpoint:"wss://api.mainnet-beta.solana.com"},mainnet:{endpoint:"https://api.mainnet-beta.solana.com",websocketEndpoint:"wss://api.mainnet-beta.solana.com"},testnet:{endpoint:"https://api.testnet.solana.com",websocketEndpoint:"wss://api.testnet.solana.com"}};function Pn(e){return e.startsWith("https://")?e.replace("https://","wss://"):e.startsWith("http://")?e.replace("http://","ws://"):(e.startsWith("ws://")||e.startsWith("wss://"),e)}t(Pn,"inferWebsocketEndpoint");function ee(e){let n=e.moniker??(e.endpoint?"custom":"devnet"),r=n==="custom"?void 0:wn[n],o=nt(e.endpoint??r?.endpoint),s=e.websocketEndpoint?nt(e.websocketEndpoint):void 0,p=Pn(s??r?.websocketEndpoint??o);return {endpoint:o,moniker:n,websocketEndpoint:p}}t(ee,"resolveCluster");function ye(e){let n=new Map;for(let r of e)n.has(r.id)||n.set(r.id,r);return {all:[...n.values()],get(r){return n.get(r)}}}t(ye,"createWalletRegistry");function In(e,n){e.setState(r=>({...r,...n,lastUpdatedAt:L()}));}t(In,"updateState");function at({connectors:e,logger:n,runtime:r,store:o}){let s=n??Z(),p;function S(m){return m??o.getState().cluster.commitment}t(S,"getCommitment");async function T(m,h){try{let d=L();return await r.rpc.getLatestBlockhash({commitment:h}).send({abortSignal:AbortSignal.timeout(1e4)}),L()-d}catch(d){s({data:{endpoint:m,...B(d)},level:"warn",message:"cluster warmup failed"});return}}t(T,"warmupCluster");async function C(m,h){let d=h?.commitment??o.getState().cluster.commitment,y=h?.websocketEndpoint??m;o.setState(w=>({...w,cluster:{commitment:d,endpoint:m,status:{status:"connecting"},websocketEndpoint:y},lastUpdatedAt:L()}));try{let w=Q({commitment:d,endpoint:m,websocketEndpoint:y});r.rpc=w.rpc,r.rpcSubscriptions=w.rpcSubscriptions;let W=await T(m,d);o.setState(k=>({...k,cluster:{commitment:d,endpoint:m,status:{latencyMs:W,status:"ready"},websocketEndpoint:y},lastUpdatedAt:L()}));}catch(w){throw o.setState(W=>({...W,cluster:{commitment:d,endpoint:m,status:{error:w,status:"error"},websocketEndpoint:y},lastUpdatedAt:L()})),s({data:{endpoint:m,...B(w)},level:"error",message:"cluster setup failed"}),w}}t(C,"setCluster");async function g(m,h={}){p?.(),p=void 0;let d=e.get(m);if(!d)throw new Error(`No wallet connector registered for id "${m}".`);if(!d.isSupported())throw new Error(`Wallet connector "${m}" is not supported in this environment.`);let y=h.autoConnect??false;o.setState(w=>({...w,lastUpdatedAt:L(),wallet:{autoConnect:y,connectorId:m,status:"connecting"}}));try{let w=await d.connect(h);return o.setState(W=>({...W,lastUpdatedAt:L(),wallet:{autoConnect:y,connectorId:m,session:w,status:"connected"}})),w.onAccountsChanged&&(p=w.onAccountsChanged(W=>{W.length===0&&(p?.(),p=void 0,l());})),s({data:{address:w.account.address.toString(),connectorId:m},level:"info",message:"wallet connected"}),w}catch(w){throw o.setState(W=>({...W,lastUpdatedAt:L(),wallet:{autoConnect:y,connectorId:m,error:w,status:"error"}})),s({data:{connectorId:m,...B(w)},level:"error",message:"wallet connection failed"}),w}}t(g,"connectWallet");async function l(){let m=o.getState().wallet;if(m.status!=="disconnected"){p?.(),p=void 0;try{if(m.status==="connected"){await m.session.disconnect();let h=e.get(m.connectorId);h&&await h.disconnect();}else if(m.status==="connecting"){let h=e.get(m.connectorId);h&&await h.disconnect();}}finally{In(o,{wallet:{status:"disconnected"}});}}}t(l,"disconnectWallet");async function i(m,h){let d=m.toString();o.setState(y=>({...y,accounts:{...y.accounts,[d]:{address:m,data:y.accounts[d]?.data,error:void 0,executable:y.accounts[d]?.executable??null,fetching:true,lamports:y.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:y.accounts[d]?.owner??null,slot:y.accounts[d]?.slot??null}},lastUpdatedAt:L()}));try{let y=await r.rpc.getBalance(m,{commitment:S(h)}).send({abortSignal:AbortSignal.timeout(1e4)}),w=y.value;return o.setState(W=>({...W,accounts:{...W.accounts,[d]:{address:m,data:W.accounts[d]?.data,error:void 0,executable:W.accounts[d]?.executable??null,fetching:!1,lamports:w,lastFetchedAt:L(),owner:W.accounts[d]?.owner??null,slot:y.context.slot}},lastUpdatedAt:L()})),w}catch(y){throw o.setState(w=>({...w,accounts:{...w.accounts,[d]:{address:m,data:w.accounts[d]?.data,error:y,executable:w.accounts[d]?.executable??null,fetching:false,lamports:w.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:w.accounts[d]?.owner??null,slot:w.accounts[d]?.slot??null}},lastUpdatedAt:L()})),s({data:{address:d,...B(y)},level:"error",message:"balance fetch failed"}),y}}t(i,"fetchBalance");async function a(m,h){let d=m.toString();o.setState(y=>({...y,accounts:{...y.accounts,[d]:{address:m,data:y.accounts[d]?.data,error:void 0,executable:y.accounts[d]?.executable??null,fetching:true,lamports:y.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:y.accounts[d]?.owner??null,slot:y.accounts[d]?.slot??null}},lastUpdatedAt:L()}));try{let y=await r.rpc.getAccountInfo(m,{commitment:S(h),encoding:"base64"}).send({abortSignal:AbortSignal.timeout(1e4)}),w=y.value,W=w?.lamports??null,k=w?.executable??null,A=w?.owner??null;return o.setState(x=>({...x,accounts:{...x.accounts,[d]:{address:m,data:w,error:void 0,executable:k,fetching:!1,lamports:W,lastFetchedAt:L(),owner:A,slot:y.context.slot}},lastUpdatedAt:L()})),o.getState().accounts[d]}catch(y){throw o.setState(w=>({...w,accounts:{...w.accounts,[d]:{address:m,data:w.accounts[d]?.data,error:y,executable:w.accounts[d]?.executable??null,fetching:false,lamports:w.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:w.accounts[d]?.owner??null,slot:w.accounts[d]?.slot??null}},lastUpdatedAt:L()})),s({data:{address:d,...B(y)},level:"error",message:"account fetch failed"}),y}}t(a,"fetchAccount");async function u(m,h){let d=await fetchAddressLookupTable(r.rpc,m,{commitment:S(h)}),{addresses:y,authority:w,deactivationSlot:W,lastExtendedSlot:k,lastExtendedSlotStartIndex:A}=d.data;return {addresses:y,authority:isSome(w)?w.value:void 0,deactivationSlot:W,lastExtendedSlot:k,lastExtendedSlotStartIndex:A}}t(u,"fetchLookupTable");async function c(m,h){return m.length===0?[]:(await fetchAllAddressLookupTable(r.rpc,m,{commitment:S(h)})).map(({data:y})=>({addresses:y.addresses,authority:isSome(y.authority)?y.authority.value:void 0,deactivationSlot:y.deactivationSlot,lastExtendedSlot:y.lastExtendedSlot,lastExtendedSlotStartIndex:y.lastExtendedSlotStartIndex}))}t(c,"fetchLookupTables");async function b(m,h){let d=await fetchNonce(r.rpc,m,{commitment:S(h)});return {authority:d.data.authority,blockhash:d.data.blockhash}}t(b,"fetchNonceAccount");async function P(m,h){let d=S(h),y=new AbortController,w=await r.rpc.sendTransaction(getBase64EncodedWireTransaction(m),{encoding:"base64",preflightCommitment:d}).send({abortSignal:y.signal}),W=w.toString();o.setState(x=>({...x,lastUpdatedAt:L(),transactions:{...x.transactions,[W]:{lastUpdatedAt:L(),signature:w,status:"sending"}}}));let k=createBlockHeightExceedencePromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions}),A=createRecentSignatureConfirmationPromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions});try{return await waitForRecentTransactionConfirmation({abortSignal:y.signal,commitment:d,getBlockHeightExceedencePromise:k,getRecentSignatureConfirmationPromise:A,transaction:m}),o.setState(x=>({...x,lastUpdatedAt:L(),transactions:{...x.transactions,[W]:{lastUpdatedAt:L(),signature:w,status:"confirmed"}}})),w}catch(x){throw o.setState(v=>({...v,lastUpdatedAt:L(),transactions:{...v.transactions,[W]:{error:x,lastUpdatedAt:L(),signature:w,status:"failed"}}})),s({data:{signature:W,...B(x)},level:"error",message:"transaction failed to confirm"}),x}}t(P,"sendTransaction");async function f(m,h){try{let y=await airdropFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions})({commitment:S("confirmed"),lamports:h,recipientAddress:m});return s({data:{address:m.toString(),lamports:h.toString(),signature:y},level:"info",message:"airdrop requested"}),y}catch(d){throw s({data:{address:m.toString(),lamports:h.toString(),...B(d)},level:"error",message:"airdrop request failed"}),d}}return t(f,"requestAirdrop"),{connectWallet:g,disconnectWallet:l,fetchAccount:a,fetchBalance:i,fetchLookupTable:u,fetchLookupTables:c,fetchNonceAccount:b,requestAirdrop:f,sendTransaction:P,setCluster:C}}t(at,"createActions");var Un=10n;function Te(e){return ae(e,"exponent"),Un**BigInt(e)}t(Te,"pow10");function D(e,n="value"){if(e<0n)throw new RangeError(`${n} must be non-negative`)}t(D,"assertNonNegative");function ae(e,n="decimals"){if(!Number.isInteger(e)||e<0||e>38)throw new RangeError(`${n} must be an integer between 0 and 38`)}t(ae,"assertDecimals");function q(e,n="value"){if(typeof e=="bigint")return e;if(typeof e=="number"){if(!Number.isFinite(e)||!Number.isInteger(e))throw new RangeError(`${n} must be a finite integer when provided as a number`);if(!Number.isSafeInteger(e))throw new RangeError(`${n} must be within the safe integer range when provided as a number`);return BigInt(e)}let r=e.trim(),o=/^[-+]?\d+$/.exec(r);if(!o)throw new SyntaxError(`${n} must be an integer string`);return BigInt(o[0])}t(q,"toBigint");function he(e,n,r="result"){let o=e+n;return D(o,r),o}t(he,"checkedAdd");function be(e,n,r="result"){let o=e-n;return D(o,r),o}t(be,"checkedSubtract");function Mn(e,n,r="result"){let o=e*n;return D(o,r),o}t(Mn,"checkedMultiply");function Bn(e,n,r="result"){if(n===0n)throw new RangeError("divisor must be non-zero");let o=e/n;return D(o,r),o}t(Bn,"checkedDivide");function En(e,n,r){if(n<=0n)throw new RangeError("divisor must be positive");let o=e/n,s=e%n;if(s===0n)return o;switch(r){case "ceil":return o+1n;case "round":return s*2n>=n?o+1n:o;default:return o}}t(En,"divideWithRounding");function Hn(e,n){let r=q(e,"numerator"),o=q(n,"denominator");if(o<=0n)throw new RangeError("denominator must be positive");return D(r,"numerator"),Object.freeze({denominator:o,numerator:r})}t(Hn,"createRatio");function Ce(e,n,r={}){D(e,"amount");let o=e*n.numerator,s=r.rounding??"floor";return En(o,n.denominator,s)}t(Ce,"applyRatio");var Dn=/^\d+(?:\.\d+)?$/;function Fn(e,n,r){if(!Number.isFinite(e))throw new RangeError(`${r} must be a finite number`);if(Number.isInteger(e))return e.toString(10);let o=e.toString(10);if(o.includes("e")||o.includes("E"))throw new RangeError(`${r} cannot use exponential notation; provide a string instead`);let s=o.split(".");if(s[1]&&s[1].length>n+6)throw new RangeError(`${r} exceeds safe precision; provide a string instead`);return o}t(Fn,"normalizeNumberInput");function ot(e,n,r,o){let s=o.label??"value",p=o.rounding??"floor",S=e.replace(/_/g,"").trim();if(S==="")throw new SyntaxError(`${s} must not be empty`);if(!Dn.test(S))throw new SyntaxError(`${s} must be a non-negative decimal string`);let[T,C]=S.split("."),g=T||"0";D(BigInt(g),s);let l=BigInt(g)*r,i=C??"";if(n===0){if(i.length===0)return l;let c=/[1-9]/.test(i);return p==="ceil"&&c||p==="round"&&i[0]!==void 0&&i[0]>="5"?l+1n:l}let a=i.slice(0,n).padEnd(n,"0"),u=a===""?0n:BigInt(a);if(l+=u,i.length>n){let c=i.slice(n),b=/[1-9]/.test(c);if(p==="ceil"&&b)l+=1n;else if(p==="round"){let P=c[0];P!==void 0&&P>="5"&&(l+=1n);}}return l}t(ot,"decimalToBaseUnits");function _n(e,n,r,o){D(e,"amount");let s=o.minimumFractionDigits??0;if(s<0||s>n)throw new RangeError("minimumFractionDigits must be between 0 and the token decimals");let p=o.trimTrailingZeros??true;if(n===0)return e.toString();let S=e/r,T=(e%r).toString().padStart(n,"0");return p&&(T=T.replace(/0+$/,"")),T.length<s&&(T=T.padEnd(s,"0")),T.length===0?S.toString():`${S.toString()}.${T}`}t(_n,"formatBaseUnits");function te(e){ae(e,"decimals");let n=Te(e);function r(l,i){let a=q(l,i??"amount");return D(a,i??"amount"),a}t(r,"fromBaseUnits");function o(l,i={}){let a=i.label??"value";if(typeof l=="number"){if(Number.isInteger(l)){if(!Number.isSafeInteger(l))throw new RangeError(`${a} must be within the safe integer range when provided as a number`);return r(BigInt(l)*n,a)}if(e===0)throw new RangeError(`${a} cannot include fractional digits for a token with 0 decimals`);let u=Fn(l,e,a);return ot(u,e,n,i)}return ot(l,e,n,i)}t(o,"fromDecimal");function s(l,i={}){return _n(r(l),e,n,i)}t(s,"toDecimalString");function p(l,i){return he(r(l),r(i))}t(p,"add");function S(l,i){return be(r(l),r(i))}t(S,"subtract");function T(l,i,a){return Ce(r(l),i,a)}t(T,"multiplyByRatio");function C(l){return r(l)===0n}t(C,"isZero");function g(l,i){let a=r(l),u=r(i);return a>u?1:a<u?-1:0}return t(g,"compare"),Object.freeze({add:p,compare:g,decimals:e,fromBaseUnits:r,fromDecimal:o,isZero:C,multiplyByRatio:T,scale:n,subtract:S,toDecimalString:s})}t(te,"createTokenAmount");var F=te(9),Nn=F.scale,N=Object.freeze({add(e,n){return F.add(e,n)},compare(e,n){return F.compare(e,n)},decimals:F.decimals,fromLamports(e,n){return F.fromBaseUnits(e,n)},fromSol(e,n){return F.fromDecimal(e,n)},isZero(e){return F.isZero(e)},multiplyByRatio(e,n,r){return F.multiplyByRatio(e,n,r)},raw:F,scale:F.scale,subtract(e,n){return F.subtract(e,n)},toSolString(e,n){return F.toDecimalString(e,n)}});function we(e,n){return N.fromLamports(e,n)}t(we,"lamports");function zn(e,n){return N.fromSol(e,n)}t(zn,"lamportsFromSol");function Vn(e,n){return N.toSolString(e,n)}t(Vn,"lamportsToSolString");function z(e){return typeof e!="object"||e===null?false:"account"in e&&"connector"in e&&"disconnect"in e}t(z,"isWalletSession");function V(e,n={}){let{commitment:r}=n,o=e.account.address;if(e.signTransaction){let s=e.signTransaction.bind(e);return {mode:"partial",signer:Object.freeze({address:o,async modifyAndSignTransactions(S){let T=[];for(let C of S){let g=C,l=await s(g);if(!l.signatures[o])throw new Error("Wallet did not populate the expected fee payer signature.");let a=Object.freeze({...g,messageBytes:l.messageBytes,signatures:Object.freeze({...g.signatures,...l.signatures})});T.push(a);}return Object.freeze(T)},async signTransactions(S){let T=await this.modifyAndSignTransactions(S);return Object.freeze(T.map(C=>{let g=C.signatures[o];if(!g)throw new Error("Expected signer to produce a signature for the provided address.");return Object.freeze({[o]:g})}))}})}}if(e.sendTransaction){let s=getBase58Encoder(),p=e.sendTransaction.bind(e);return {mode:"send",signer:Object.freeze({address:o,async signAndSendTransactions(T){let C=[];for(let g of T){let l=await p(g,r?{commitment:r}:void 0),i=s.encode(l);C.push(signatureBytes(i));}return C}})}}throw new Error("Wallet session does not support signing or sending transactions.")}t(V,"createWalletTransactionSigner");function j(e){return isTransactionPartialSigner(e)?"partial":isTransactionSendingSigner(e)?"send":"partial"}t(j,"resolveSignerMode");function sr(e){return typeof e=="string"?address(e):e}t(sr,"ensureAddress");async function cr(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(cr,"resolveLifetime");function lr(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(lr,"resolveSigner");function pr(e){return N.fromLamports(e)}t(pr,"toLamportAmount");function Pe(e){async function n(s){let p=s.commitment,S=await cr(e,p,s.lifetime),{signer:T,mode:C}=lr(s.authority,p),g=sr(s.destination),l=pr(s.amount),i=pipe(createTransactionMessage({version:s.transactionVersion??0}),a=>setTransactionMessageFeePayer(T.address,a),a=>setTransactionMessageLifetimeUsingBlockhash(S,a),a=>appendTransactionMessageInstruction(getTransferSolInstruction({amount:l,destination:g,source:T}),a));return {commitment:p,lifetime:S,message:i,mode:C,signer:T,plan:singleTransactionPlan(i)}}t(n,"prepareTransfer");async function r(s,p={}){if(s.mode==="send"&&isTransactionSendingSigner(s.signer)){let l=await signAndSendTransactionMessageWithSigners(s.message,{abortSignal:p.abortSignal,minContextSlot:p.minContextSlot}),i=getBase58Decoder();return signature(i.decode(l))}let S=p.commitment??s.commitment,T=p.maxRetries===void 0?void 0:typeof p.maxRetries=="bigint"?p.maxRetries:BigInt(p.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(l,i={}){let a=await signTransactionMessageWithSigners(l,{abortSignal:i.abortSignal??p.abortSignal,minContextSlot:p.minContextSlot}),u=getBase64EncodedWireTransaction(a),c=await e.rpc.sendTransaction(u,{encoding:"base64",maxRetries:T,preflightCommitment:S,skipPreflight:p.skipPreflight}).send({abortSignal:i.abortSignal??p.abortSignal});return C=signature(c),{transaction:a}}})(s.plan??singleTransactionPlan(s.message),{abortSignal:p.abortSignal}),!C)throw new Error("Failed to resolve transaction signature.");return C}t(r,"sendPreparedTransfer");async function o(s,p){let S=await n(s);return await r(S,p)}return t(o,"sendTransfer"),{prepareTransfer:n,sendPreparedTransfer:r,sendTransfer:o}}t(Pe,"createSolTransferHelper");function K(e,n){if(e)return typeof e=="string"?address(e):e;if(!n)throw new Error("An address value was expected but not provided.");return n}t(K,"ensureAddress");async function Lr(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(Lr,"resolveLifetime");function Or(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(Or,"resolveSigner");function ke(e,n){let r=K(n.mint),o=K(n.tokenProgram,address(TOKEN_PROGRAM_ADDRESS)),s=n.decimals,p;async function S(u){return s!==void 0||(s=(await fetchMint(e.rpc,r,{commitment:u})).data.decimals),s}t(S,"resolveDecimals");async function T(u){if(p)return p;let c=await S(u);return p=te(c),p}t(T,"getTokenMath");async function C(u){let[c]=await findAssociatedTokenPda({mint:r,owner:K(u),tokenProgram:o});return c}t(C,"deriveAssociatedTokenAddress");async function g(u,c){let b=await C(u),P=await S(c);try{let{value:f}=await e.rpc.getTokenAccountBalance(b,{commitment:c}).send(),h=(await T(c)).fromBaseUnits(f.amount,"balance"),d=f.uiAmountString??f.amount;return {amount:h,ataAddress:b,decimals:P,exists:!0,uiAmount:d}}catch{return {amount:0n,ataAddress:b,decimals:P,exists:false,uiAmount:"0"}}}t(g,"fetchBalance");async function l(u){let c=u.commitment,b=await Lr(e,c,u.lifetime),{signer:P,mode:f}=Or(u.authority,c),m=K(u.sourceOwner,P.address),h=K(u.destinationOwner),d=K(u.sourceToken,await C(m)),y=K(u.destinationToken,await C(h)),w=await T(c),W=await S(c),k=u.amountInBaseUnits?w.fromBaseUnits(u.amount,"amount"):w.fromDecimal(u.amount,{label:"amount"}),A=[];if(u.ensureDestinationAta??true){let{value:v}=await e.rpc.getAccountInfo(y,{commitment:c,dataSlice:{length:0,offset:0},encoding:"base64"}).send();v||A.push(getCreateAssociatedTokenInstruction({ata:y,mint:r,owner:h,payer:P,tokenProgram:o}));}A.push(getTransferCheckedInstruction({amount:k,authority:P,decimals:W,destination:y,mint:r,source:d}));let x=pipe(createTransactionMessage({version:u.transactionVersion??0}),v=>setTransactionMessageFeePayer(P.address,v),v=>setTransactionMessageLifetimeUsingBlockhash(b,v));for(let v of A)x=appendTransactionMessageInstruction(v,x);return {amount:k,commitment:c,decimals:W,destinationAta:y,lifetime:b,message:x,mode:f,signer:P,sourceAta:d,plan:singleTransactionPlan(x)}}t(l,"prepareTransfer");async function i(u,c={}){if(u.mode==="send"&&isTransactionSendingSigner(u.signer)){let h=await signAndSendTransactionMessageWithSigners(u.message,{abortSignal:c.abortSignal,minContextSlot:c.minContextSlot}),d=getBase58Decoder();return signature(d.decode(h))}let b=c.commitment??u.commitment,P=c.maxRetries===void 0?void 0:typeof c.maxRetries=="bigint"?c.maxRetries:BigInt(c.maxRetries),f=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(h,d={}){let y=await signTransactionMessageWithSigners(h,{abortSignal:d.abortSignal??c.abortSignal,minContextSlot:c.minContextSlot}),w=getBase64EncodedWireTransaction(y),W=await e.rpc.sendTransaction(w,{encoding:"base64",maxRetries:P,preflightCommitment:b,skipPreflight:c.skipPreflight}).send({abortSignal:d.abortSignal??c.abortSignal});return f=signature(W),{transaction:y}}})(u.plan??singleTransactionPlan(u.message),{abortSignal:c.abortSignal}),!f)throw new Error("Failed to resolve transaction signature.");return f}t(i,"sendPreparedTransfer");async function a(u,c){let b=await l(u);try{return await i(b,c)}catch(P){if(isSolanaError(P,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let f=await l({...u,lifetime:void 0});return await i(f,c)}throw P}}return t(a,"sendTransfer"),{deriveAssociatedTokenAddress:C,fetchBalance:g,prepareTransfer:l,sendPreparedTransfer:i,sendTransfer:a}}t(ke,"createSplTokenHelper");var ut="Stake11111111111111111111111111111111111111",dt="SysvarC1ock11111111111111111111111111111111",mt="SysvarStakeHistory1111111111111111111111111",Dr="StakeConfig11111111111111111111111111111111",ft=200;function ie(e){return typeof e=="string"?address(e):e}t(ie,"ensureAddress");async function Ee(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(Ee,"resolveLifetime");function He(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(He,"resolveSigner");function gt(e){return N.fromLamports(e)}t(gt,"toLamportAmount");function De(e){async function n(i){let a=i.commitment,u=await Ee(e,a,i.lifetime),{signer:c,mode:b}=He(i.authority,a),P=ie(i.validatorId),f=gt(i.amount),h=await e.rpc.getMinimumBalanceForRentExemption(BigInt(ft)).send()+f,d=await generateKeyPairSigner(),y=getCreateAccountInstruction({payer:c,newAccount:d,lamports:h,space:BigInt(ft),programAddress:ut}),w=getInitializeInstruction({stake:d.address,arg0:{staker:c.address,withdrawer:c.address},arg1:{unixTimestamp:0n,epoch:0n,custodian:c.address}}),W=getDelegateStakeInstruction({stake:d.address,vote:P,stakeHistory:mt,unused:Dr,stakeAuthority:c}),k=pipe(createTransactionMessage({version:i.transactionVersion??0}),A=>setTransactionMessageFeePayer(c.address,A),A=>setTransactionMessageLifetimeUsingBlockhash(u,A),A=>appendTransactionMessageInstructions([y,w,W],A));return {commitment:a,lifetime:u,message:k,mode:b,signer:c,stakeAccount:d,plan:singleTransactionPlan(k)}}t(n,"prepareStake");async function r(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan??singleTransactionPlan(i.message),{abortSignal:a.abortSignal}),!b)throw new Error("Failed to resolve transaction signature.");return b}t(r,"sendPreparedStake");async function o(i,a){let u=await n(i);return await r(u,a)}t(o,"sendStake");async function s(i){let a=i.commitment,u=await Ee(e,a,i.lifetime),{signer:c,mode:b}=He(i.authority,a),P=ie(i.stakeAccount),f=getDeactivateInstruction({stake:P,clockSysvar:dt,stakeAuthority:c}),m=pipe(createTransactionMessage({version:i.transactionVersion??0}),h=>setTransactionMessageFeePayer(c.address,h),h=>setTransactionMessageLifetimeUsingBlockhash(u,h),h=>appendTransactionMessageInstructions([f],h));return {commitment:a,lifetime:u,message:m,mode:b,signer:c,plan:singleTransactionPlan(m)}}t(s,"prepareUnstake");async function p(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan),!b)throw new Error("Failed to resolve transaction signature.");return b}t(p,"sendPreparedUnstake");async function S(i,a){let u=await s(i);return await p(u,a)}t(S,"sendUnstake");async function T(i){let a=i.commitment,u=await Ee(e,a,i.lifetime),{signer:c,mode:b}=He(i.authority,a),P=ie(i.stakeAccount),f=ie(i.destination),m=gt(i.amount),h=getWithdrawInstruction({stake:P,recipient:f,clockSysvar:dt,stakeHistory:mt,withdrawAuthority:c,args:m}),d=pipe(createTransactionMessage({version:i.transactionVersion??0}),y=>setTransactionMessageFeePayer(c.address,y),y=>setTransactionMessageLifetimeUsingBlockhash(u,y),y=>appendTransactionMessageInstructions([h],y));return {commitment:a,lifetime:u,message:d,mode:b,signer:c,plan:singleTransactionPlan(d)}}t(T,"prepareWithdraw");async function C(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan),!b)throw new Error("Failed to resolve transaction signature.");return b}t(C,"sendPreparedWithdraw");async function g(i,a){let u=await T(i);return await C(u,a)}t(g,"sendWithdraw");async function l(i,a){let u=typeof i=="string"?i:String(i),c=await e.rpc.getProgramAccounts(ut,{encoding:"jsonParsed",filters:[{memcmp:{offset:44n,bytes:u,encoding:"base58"}}]}).send();if(!a)return c;let b=typeof a=="string"?a:String(a);return c.filter(P=>{let f=P.account?.data;return f&&"parsed"in f?f.parsed?.info?.stake?.delegation?.voter===b:false})}return t(l,"getStakeAccounts"),{getStakeAccounts:l,prepareStake:n,prepareUnstake:s,prepareWithdraw:T,sendPreparedStake:r,sendPreparedUnstake:p,sendPreparedWithdraw:C,sendStake:o,sendUnstake:S,sendWithdraw:g}}t(De,"createStakeHelper");function X(e){return "messageBytes"in e?getBase64EncodedWireTransaction(e):getBase64EncodedWireTransaction(compileTransaction(e))}t(X,"transactionToBase64");async function Nr(e){if("messageBytes"in e)return X(e);let n=await partiallySignTransactionMessageWithSigners(e);return X(n)}t(Nr,"transactionToBase64WithSigners");var Kr=1.1,Tt=2e5,bt=14e5;function $r(e){return e.programAddress===COMPUTE_BUDGET_PROGRAM_ADDRESS&&e.data?.[0]===2}t($r,"isComputeUnitLimitInstruction");function Jr(e){let n=e;for(;isSolanaError(n);){if(isSolanaError(n,SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED))return true;n=n.cause;}return false}t(Jr,"didExceedComputeBudget");async function Gr(e,n){let r=n;if(!(n.lifetimeConstraint!==void 0)){let p=await e.getLatestBlockhash().send();r=setTransactionMessageLifetimeUsingBlockhash(p.value,n);}let s=X(r);try{let{value:p}=await e.simulateTransaction(s,{encoding:"base64",replaceRecentBlockhash:!1,sigVerify:!1}).send();return Number(p.unitsConsumed??0)||0}catch(p){if(Jr(p))return bt;throw p}}t(Gr,"estimateComputeUnits");async function ne(e){let n=e.computeUnitLimitMultiplier??Kr,r=e.blockhashReset!==false,o=e.computeUnitLimitReset??false,s=e.transaction,p=s.instructions.findIndex($r);if(p===-1||o){let T=await Gr(e.rpc,s),C=T?Math.ceil(T*n):Tt,g=Math.min(bt,Math.max(Tt,Math.max(1,C))),l=getSetComputeUnitLimitInstruction({units:g});if(p===-1)s=appendTransactionMessageInstruction(l,s);else {let i=[...s.instructions];i.splice(p,1,l),s=Object.freeze({...s,instructions:Object.freeze(i)});}}let S=s.lifetimeConstraint!==void 0;if(r||!S){let T=await e.rpc.getLatestBlockhash().send();S?r&&(s=Object.freeze({...s,lifetimeConstraint:T.value})):s=setTransactionMessageLifetimeUsingBlockhash(T.value,s),S=true;}return e.logRequest&&e.logRequest({base64WireTransaction:X(s)}),s}t(ne,"prepareTransaction");function ua(e){return typeof e=="string"?address(e):e}t(ua,"toAddress");function da(e){return e.some(n=>isInstructionForProgram(n,COMPUTE_BUDGET_PROGRAM_ADDRESS)&&isInstructionWithData(n)&&n.data[0]===ComputeBudgetInstruction.SetComputeUnitLimit)}t(da,"hasSetComputeUnitLimitInstruction");function ma(e){return e.some(n=>isInstructionForProgram(n,COMPUTE_BUDGET_PROGRAM_ADDRESS)&&isInstructionWithData(n)&&n.data[0]===ComputeBudgetInstruction.SetComputeUnitPrice)}t(ma,"hasSetComputeUnitPriceInstruction");function fa(e){return !!("addressTableLookup"in e&&e.addressTableLookup!=null||"addressTableLookups"in e&&Array.isArray(e.addressTableLookups)&&e.addressTableLookups.length>0)}t(fa,"instructionUsesAddressLookup");function ga(e,n){return e&&e!=="auto"?e:n.some(fa)?0:"legacy"}t(ga,"resolveVersion");function Sa(e,n){return e.commitment??n()}t(Sa,"normaliseCommitment");function ya(e,n){if(!e&&!n)throw new Error("A fee payer must be provided via `feePayer` or `authority`.");if(e&&typeof e=="object"&&"address"in e)return {address:e.address,signer:e};if(e){let o=ua(e);return n&&n.address===o?{address:o,signer:n}:{address:o}}if(!n)throw new Error("Unable to resolve authority signer for the fee payer.");return {address:n.address,signer:n}}t(ya,"resolveFeePayerAddress");function Ta(e,n){let r=e.computeUnitLimit;if(!(r===void 0||da(n)))return typeof r=="bigint"?r:BigInt(Math.floor(r))}t(Ta,"resolveComputeUnitLimit");function ha(e,n){if(!(e.computeUnitPrice===void 0||ma(n)))return typeof e.computeUnitPrice=="bigint"?e.computeUnitPrice:BigInt(Math.floor(e.computeUnitPrice))}t(ha,"resolveComputeUnitPrice");async function Rt(e,n){if(!e.instructions.length)throw new Error("Add at least one instruction before preparing a transaction.");let{getFallbackCommitment:r,runtime:o}=n;e.abortSignal?.throwIfAborted();let s=Sa(e,r),p,S="partial";if(e.authority)if(z(e.authority)){let{signer:f,mode:m}=V(e.authority,{commitment:s});p=f,S=m;}else p=e.authority,S=j(p);let{address:T,signer:C}=ya(e.feePayer,p);S==="send"&&(!C||!isTransactionSendingSigner(C))&&(S="partial");let g=[...e.instructions],l=ga(e.version,g),i=e.lifetime??(await o.rpc.getLatestBlockhash({commitment:s}).send({abortSignal:e.abortSignal})).value;e.abortSignal?.throwIfAborted();let a=Ta(e,g),u=ha(e,g),c=[];a!==void 0&&c.push(getSetComputeUnitLimitInstruction({units:Number(a)})),u!==void 0&&c.push(getSetComputeUnitPriceInstruction({microLamports:Number(u)}));let b=[...c,...g];return Object.freeze({commitment:s,computeUnitLimit:a,computeUnitPrice:u,createTransactionMessage:t(async()=>pipe(createTransactionMessage({version:l}),f=>C?setTransactionMessageFeePayerSigner(C,f):setTransactionMessageFeePayer(T,f),f=>setTransactionMessageLifetimeUsingBlockhash(i,f)),"createMessage"),feePayer:T,instructionPlan:getMessagePackerInstructionPlanFromInstructions(b),instructions:Object.freeze(g),lifetime:i,mode:S,version:l})}t(Rt,"createTransactionRecipe");function ba(e){if(e.kind!=="single")throw new Error("Transaction recipe produced a multi-transaction plan which is not supported.");return e}t(ba,"assertSingleTransactionPlan");function Ne(e,n){async function r(g){let l=await Rt(g,{getFallbackCommitment:n,runtime:e}),a=await createTransactionPlanner({createTransactionMessage:l.createTransactionMessage})(l.instructionPlan,{abortSignal:g.abortSignal}),u=ba(a);return Object.freeze({commitment:l.commitment,computeUnitLimit:l.computeUnitLimit,computeUnitPrice:l.computeUnitPrice,feePayer:l.feePayer,instructions:l.instructions,lifetime:l.lifetime,message:u.message,mode:l.mode,plan:a,version:l.version})}t(r,"prepare");async function o(g,l={}){return await signTransactionMessageWithSigners(g.message,{abortSignal:l.abortSignal,minContextSlot:l.minContextSlot})}t(o,"sign");async function s(g,l={}){let i=await o(g,l);return getBase64EncodedWireTransaction(i)}t(s,"toWire");async function p(g,l={}){return !g.plan||g.mode==="send"?S(g,l):T(g,l)}t(p,"send");async function S(g,l){let i=l.commitment??g.commitment;if(g.mode==="send"){let P=await signAndSendTransactionMessageWithSigners(g.message,{abortSignal:l.abortSignal,minContextSlot:l.minContextSlot}),f=getBase58Decoder();return signature(f.decode(P))}let a=await o(g,{abortSignal:l.abortSignal,minContextSlot:l.minContextSlot}),u=getBase64EncodedWireTransaction(a),c=l.maxRetries===void 0?void 0:typeof l.maxRetries=="bigint"?l.maxRetries:BigInt(l.maxRetries),b=await e.rpc.sendTransaction(u,{encoding:"base64",maxRetries:c,preflightCommitment:i,skipPreflight:l.skipPreflight}).send({abortSignal:l.abortSignal});return signature(b)}t(S,"sendDirect");async function T(g,l){if(!g.plan)return S(g,l);let i=l.commitment??g.commitment,a=l.maxRetries===void 0?void 0:typeof l.maxRetries=="bigint"?l.maxRetries:BigInt(l.maxRetries),u=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,P={}){let f=await signTransactionMessageWithSigners(b,{abortSignal:P.abortSignal??l.abortSignal,minContextSlot:l.minContextSlot}),m=getBase64EncodedWireTransaction(f),h=await e.rpc.sendTransaction(m,{encoding:"base64",maxRetries:a,preflightCommitment:i,skipPreflight:l.skipPreflight}).send({abortSignal:P.abortSignal??l.abortSignal});return u=signature(h),{transaction:f}}})(g.plan,{abortSignal:l.abortSignal}),!u)throw new Error("Failed to resolve transaction signature.");return u}t(T,"sendWithExecutor");async function C(g,l={}){let{prepareTransaction:i,...a}=g,u=await r(a);if(i===false)return p(u,l);let c=i??{},b=await ne({blockhashReset:c.blockhashReset??false,...c,rpc:e.rpc,transaction:u.message}),P=Object.freeze({...u,message:b,plan:singleTransactionPlan(b)});return p(P,l)}return t(C,"prepareAndSend"),Object.freeze({prepare:r,sign:o,toWire:s,send:p,prepareAndSend:C})}t(Ne,"createTransactionHelper");var je=address("So11111111111111111111111111111111111111112");function Ve(e,n){if(e)return typeof e=="string"?address(e):e;if(!n)throw new Error("An address value was expected but not provided.");return n}t(Ve,"ensureAddress");async function Mt(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(Mt,"resolveLifetime");function Bt(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(Bt,"resolveSigner");function Ba(e){return N.fromLamports(e)}t(Ba,"toLamportAmount");function Ke(e){let n=address(TOKEN_PROGRAM_ADDRESS);async function r(i){let[a]=await findAssociatedTokenPda({mint:je,owner:Ve(i),tokenProgram:n});return a}t(r,"deriveWsolAddress");async function o(i,a){let u=await r(i);try{let{value:c}=await e.rpc.getTokenAccountBalance(u,{commitment:a}).send();return {amount:BigInt(c.amount),ataAddress:u,exists:!0}}catch{return {amount:0n,ataAddress:u,exists:false}}}t(o,"fetchWsolBalance");async function s(i){let a=i.commitment,u=await Mt(e,a,i.lifetime),{signer:c,mode:b}=Bt(i.authority,a),P=Ve(i.owner,c.address),f=Ba(i.amount),m=await r(P),h=[getCreateAssociatedTokenIdempotentInstruction({ata:m,mint:je,owner:P,payer:c,tokenProgram:n}),getTransferSolInstruction({amount:f,destination:m,source:c}),getSyncNativeInstruction({account:m})],d=pipe(createTransactionMessage({version:i.transactionVersion??0}),y=>setTransactionMessageFeePayer(c.address,y),y=>setTransactionMessageLifetimeUsingBlockhash(u,y),y=>appendTransactionMessageInstructions(h,y));return {amount:f,ataAddress:m,commitment:a,lifetime:u,message:d,mode:b,owner:P,plan:singleTransactionPlan(d),signer:c}}t(s,"prepareWrap");async function p(i){let a=i.commitment,u=await Mt(e,a,i.lifetime),{signer:c,mode:b}=Bt(i.authority,a),P=Ve(i.owner,c.address),f=await r(P),m=getCloseAccountInstruction({account:f,destination:P,owner:c}),h=pipe(createTransactionMessage({version:i.transactionVersion??0}),d=>setTransactionMessageFeePayer(c.address,d),d=>setTransactionMessageLifetimeUsingBlockhash(u,d),d=>appendTransactionMessageInstruction(m,d));return {ataAddress:f,commitment:a,lifetime:u,message:h,mode:b,owner:P,plan:singleTransactionPlan(h),signer:c}}t(p,"prepareUnwrap");async function S(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan??singleTransactionPlan(i.message),{abortSignal:a.abortSignal}),!b)throw new Error("Failed to resolve transaction signature.");return b}t(S,"sendPreparedTransaction");async function T(i,a){return S(i,a)}t(T,"sendPreparedWrap");async function C(i,a){return S(i,a)}t(C,"sendPreparedUnwrap");async function g(i,a){let u=await s(i);try{return await T(u,a)}catch(c){if(isSolanaError(c,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let b=await s({...i,lifetime:void 0});return await T(b,a)}throw c}}t(g,"sendWrap");async function l(i,a){let u=await p(i);try{return await C(u,a)}catch(c){if(isSolanaError(c,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let b=await p({...i,lifetime:void 0});return await C(b,a)}throw c}}return t(l,"sendUnwrap"),{deriveWsolAddress:r,fetchWsolBalance:o,prepareUnwrap:p,prepareWrap:s,sendPreparedUnwrap:C,sendPreparedWrap:T,sendUnwrap:l,sendWrap:g}}t(Ke,"createWsolHelper");function H(e,n,r){if(e.commitment!==void 0)return e;let o=r??n();return {...e,commitment:o}}t(H,"withDefaultCommitment");function Ea(e,n){return {prepareTransfer:t(r=>e.prepareTransfer(H(r,n)),"prepareTransfer"),sendPreparedTransfer:e.sendPreparedTransfer,sendTransfer:t((r,o)=>e.sendTransfer(H(r,n),o),"sendTransfer")}}t(Ea,"wrapSolTransferHelper");function Ha(e,n,r){let o=t(s=>s??r??n(),"resolveCommitment");return {deriveAssociatedTokenAddress:e.deriveAssociatedTokenAddress,fetchBalance:t((s,p)=>e.fetchBalance(s,o(p)),"fetchBalance"),prepareTransfer:t(s=>e.prepareTransfer(H(s,n,r)),"prepareTransfer"),sendPreparedTransfer:e.sendPreparedTransfer,sendTransfer:t((s,p)=>e.sendTransfer(H(s,n,r),p),"sendTransfer")}}t(Ha,"wrapSplTokenHelper");function Da(e,n){return {getStakeAccounts:e.getStakeAccounts,prepareStake:t(r=>e.prepareStake(H(r,n)),"prepareStake"),prepareUnstake:t(r=>e.prepareUnstake(H(r,n)),"prepareUnstake"),prepareWithdraw:t(r=>e.prepareWithdraw(H(r,n)),"prepareWithdraw"),sendPreparedStake:e.sendPreparedStake,sendPreparedUnstake:e.sendPreparedUnstake,sendPreparedWithdraw:e.sendPreparedWithdraw,sendStake:t((r,o)=>e.sendStake(H(r,n),o),"sendStake"),sendUnstake:t((r,o)=>e.sendUnstake(H(r,n),o),"sendUnstake"),sendWithdraw:t((r,o)=>e.sendWithdraw(H(r,n),o),"sendWithdraw")}}t(Da,"wrapStakeHelper");function Fa(e,n){return {deriveWsolAddress:e.deriveWsolAddress,fetchWsolBalance:t((r,o)=>e.fetchWsolBalance(r,o??n()),"fetchWsolBalance"),prepareWrap:t(r=>e.prepareWrap(H(r,n)),"prepareWrap"),prepareUnwrap:t(r=>e.prepareUnwrap(H(r,n)),"prepareUnwrap"),sendPreparedWrap:e.sendPreparedWrap,sendPreparedUnwrap:e.sendPreparedUnwrap,sendWrap:t((r,o)=>e.sendWrap(H(r,n),o),"sendWrap"),sendUnwrap:t((r,o)=>e.sendUnwrap(H(r,n),o),"sendUnwrap")}}t(Fa,"wrapWsolHelper");function se(e){if(e!=null)return typeof e=="string"?e:typeof e=="object"&&"toString"in e?String(e.toString()):JSON.stringify(e)}t(se,"normaliseConfigValue");function _a(e){return JSON.stringify({associatedTokenProgram:se(e.associatedTokenProgram),commitment:se(e.commitment),decimals:e.decimals,mint:se(e.mint),tokenProgram:se(e.tokenProgram)})}t(_a,"serialiseSplConfig");function Et(e,n){let r=t(()=>n.getState().cluster.commitment,"getFallbackCommitment"),o=new Map,s,p,S,T,C=t(()=>(s||(s=Ea(Pe(e),r)),s),"getSolTransfer"),g=t(()=>(p||(p=Da(De(e),r)),p),"getStake"),l=t(()=>(S||(S=Ne(e,r)),S),"getTransaction"),i=t(()=>(T||(T=Fa(Ke(e),r)),T),"getWsol");function a(c){let b=_a(c),P=o.get(b);if(P)return P.scoped;let f=ke(e,c),m=Ha(f,r,c.commitment);return o.set(b,{baseCommitment:c.commitment,scoped:m}),m}return t(a,"getSplTokenHelper"),Object.freeze({get solTransfer(){return C()},splToken:a,get stake(){return g()},get transaction(){return l()},get wsol(){return i()},prepareTransaction:t(c=>ne({...c,rpc:e.rpc}),"prepareTransactionWithRuntime")})}t(Et,"createClientHelpers");function za(){return {status:"idle"}}t(za,"createClusterStatus");function ce(e){let{commitment:n,endpoint:r,websocketEndpoint:o}=e,s=Date.now();return fe({accounts:{},cluster:{commitment:n,endpoint:r,status:za(),websocketEndpoint:o},lastUpdatedAt:s,subscriptions:{account:{},signature:{}},transactions:{},wallet:{status:"disconnected"}})}t(ce,"createInitialClientState");function le(e){return createStore(()=>e)}t(le,"createClientStore");function Va(e){return le(ce(e))}t(Va,"createDefaultClientStore");function Ht({logger:e,runtime:n,store:r}){let o=e??Z();function s(a,u,c){r.setState(b=>({...b,lastUpdatedAt:L(),subscriptions:{...b.subscriptions,[a]:{...b.subscriptions[a],[u]:c}}}));}t(s,"setSubscriptionStatus");function p(a,u){s(a,u,{status:"inactive"});}t(p,"onAbort");function S(a,u,c){function b(){c.abort(),p(a,u);}return t(b,"abort"),{abort:b}}t(S,"createSubscriptionHandle");async function T(a,u,c){let b=a.commitment??r.getState().cluster.commitment,P=n.rpcSubscriptions.accountNotifications(a.address,{commitment:b}),f=a.address.toString();s("account",f,{status:"activating"}),c.signal.addEventListener("abort",()=>p("account",f));try{let m=await P.subscribe({abortSignal:c.signal});s("account",f,{status:"active"});for await(let h of m){let d=h.value?.lamports??null,y=h.value?.executable??null,w=h.value?.owner??null,W=h.context?.slot??null,k={address:a.address,data:h.value?.data,error:void 0,executable:y,fetching:!1,lamports:d,lastFetchedAt:L(),owner:w,slot:W};u(k),r.setState(A=>({...A,accounts:{...A.accounts,[f]:k},lastUpdatedAt:L()}));}}catch(m){c.signal.aborted||(o({data:{address:f,...B(m)},level:"error",message:"account subscription failed"}),s("account",f,{error:m,status:"error"}));}}t(T,"handleAccountNotifications");function C(a,u){let c=new AbortController;return T(a,u,c).catch(b=>{c.signal.aborted||o({data:{address:a.address.toString(),...B(b)},level:"error",message:"account watcher error"});}),S("account",a.address.toString(),c)}t(C,"watchAccount");function g(a,u){return C(a,c=>{c.lamports!==null&&u(c.lamports);})}t(g,"watchBalance");async function l(a,u,c){let b=a.commitment??r.getState().cluster.commitment,P=n.rpcSubscriptions.signatureNotifications(a.signature,{commitment:b,enableReceivedNotification:a.enableReceivedNotification}),f=a.signature.toString();s("signature",f,{status:"activating"}),c.signal.addEventListener("abort",()=>p("signature",f));try{let m=await P.subscribe({abortSignal:c.signal});s("signature",f,{status:"active"});for await(let h of m)u(h),r.setState(d=>({...d,lastUpdatedAt:L(),transactions:{...d.transactions,[f]:{lastUpdatedAt:L(),signature:a.signature,status:"waiting"}}}));}catch(m){c.signal.aborted||(o({data:{signature:f,...B(m)},level:"error",message:"signature subscription failed"}),s("signature",f,{error:m,status:"error"}));}}t(l,"handleSignatureNotifications");function i(a,u){let c=new AbortController;return l(a,u,c).catch(b=>{c.signal.aborted||o({data:{signature:a.signature.toString(),...B(b)},level:"error",message:"signature watcher error"});}),S("signature",a.signature.toString(),c)}return t(i,"watchSignature"),{watchAccount:C,watchBalance:g,watchSignature:i}}t(Ht,"createWatchers");function $e(e){let n=e.initialState?Se(e,e.initialState):e,r=ee({endpoint:n.rpc??n.endpoint,moniker:n.cluster,websocketEndpoint:n.websocket??n.websocketEndpoint}),o=n.commitment??"confirmed",s=ce({commitment:o,endpoint:r.endpoint,websocketEndpoint:r.websocketEndpoint}),p=e.createStore?e.createStore(s):le(s),S=n.rpcClient??Q({commitment:o,endpoint:r.endpoint,websocketEndpoint:r.websocketEndpoint}),T={rpc:S.rpc,rpcSubscriptions:S.rpcSubscriptions},C=ye(n.walletConnectors??[]),g=Z(n.logger),l=at({connectors:C,logger:g,runtime:T,store:p}),i=Ht({logger:g,runtime:T,store:p}),a=Et(T,p);p.setState(c=>({...c,cluster:{...c.cluster,status:{status:"connecting"}},lastUpdatedAt:L()})),l.setCluster(r.endpoint,{commitment:o,websocketEndpoint:r.websocketEndpoint}).catch(c=>g({data:B(c),level:"error",message:"initial cluster setup failed"}));function u(){p.setState(()=>s);}return t(u,"destroy"),{actions:l,config:e,connectors:C,destroy:u,get helpers(){return a},runtime:T,store:p,get solTransfer(){return a.solTransfer},get SolTransfer(){return a.solTransfer},splToken:a.splToken,SplToken:a.splToken,SplHelper:a.splToken,get stake(){return a.stake},get transaction(){return a.transaction},get wsol(){return a.wsol},prepareTransaction:a.prepareTransaction,watchers:i}}t($e,"createClient");var Qa=getBase58Decoder(),eo=getTransactionDecoder(),Ft=getTransactionEncoder();function to(e){return `wallet-standard:${e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-")}`}t(to,"deriveConnectorId");function no(e){let n=e[0];if(!n)throw new Error("Wallet returned no accounts.");return n}t(no,"getPrimaryAccount");function ro(e){if(e==="processed"||e==="confirmed"||e==="finalized")return e}t(ro,"mapCommitment");function Je(e){return {address:address(e.address),label:e.label,publicKey:new Uint8Array(e.publicKey)}}t(Je,"toSessionAccount");function _t(e){let[n]=e.chains??[];return n}t(_t,"getChain");async function Nt(e){let n=e.features[StandardDisconnect];n&&await n.disconnect();}t(Nt,"disconnectWallet");function re(e,n={}){let r={canAutoConnect:n.canAutoConnect??!!e.features[StandardConnect],icon:n.icon??e.icon,id:n.id??to(e),kind:n.kind??"wallet-standard",name:n.name??e.name,ready:typeof window<"u"};async function o(S={}){let T=e.features[StandardConnect],C=e.features[StandardEvents],g=!!S.autoConnect,l=S.allowInteractiveFallback??true,i=e.accounts;if(T){let k=t(async A=>T.connect({silent:A}),"connectWithMode");try{let{accounts:A}=await k(g);A.length&&(i=A);}catch(A){if(!g||!l)throw A;let{accounts:x}=await k(false);x.length&&(i=x);}}let a=no(i),u=Je(a),c=e.features[SolanaSignMessage],b=e.features[SolanaSignTransaction],P=e.features[SolanaSignAndSendTransaction],f=n.defaultChain??_t(a),m=c?async k=>{let[A]=await c.signMessage({account:a,message:k});return A.signature}:void 0,h=b?async k=>{let A=new Uint8Array(Ft.encode(k)),x=f?{account:a,chain:f,transaction:A}:{account:a,transaction:A},[v]=await b.signTransaction(x);return eo.decode(v.signedTransaction)}:void 0,d=P?async(k,A)=>{let x=new Uint8Array(Ft.encode(k)),v=n.defaultChain??_t(a)??"solana:mainnet-beta",[me]=await P.signAndSendTransaction({account:a,chain:v,options:{commitment:ro(A?.commitment)},transaction:x});return Qa.decode(me.signature)}:void 0;async function y(){w?.(),await Nt(e);}t(y,"disconnectSession");let w,W=C?k=>C.on("change",({accounts:x})=>{if(x){if(!x.length){k([]);return}a=x[0],u=Je(a),k(x.map(Je));}}):void 0;return {account:u,connector:r,disconnect:y,onAccountsChanged:W?k=>(w=W(k),()=>{w?.(),w=void 0;}):void 0,sendTransaction:d,signMessage:m,signTransaction:h}}t(o,"connect");async function s(){await Nt(e);}t(s,"disconnect");function p(){return typeof window<"u"}return t(p,"isSupported"),{...r,connect:o,disconnect:s,isSupported:p}}t(re,"createWalletStandardConnector");function Vt(e,n){return re(e,n?.(e))}t(Vt,"mapWalletToConnector");function ao(e={}){let{get:n}=getWallets(),r=n().map(s=>Vt(s,e.overrides)),o=new Set;return r.filter(s=>o.has(s.id)?false:(o.add(s.id),true))}t(ao,"getWalletStandardConnectors");function oo(e,n={}){let{get:r,on:o}=getWallets(),s=t(()=>{let T=r().map(l=>Vt(l,n.overrides)),C=new Set,g=T.filter(l=>C.has(l.id)?false:(C.add(l.id),true));e(g);},"emit");s();let p=o("register",s),S=o("unregister",s);return ()=>{p(),S();}}t(oo,"watchWalletStandardConnectors");function $(e={}){let{get:n}=getWallets(),o=n().filter(p=>e.filter?e.filter(p):true).map(p=>re(p,e.overrides?.(p))),s=new Set;return o.filter(p=>s.has(p.id)?false:(s.add(p.id),true))}t($,"autoDiscover");function so(e){return {canAutoConnect:true,id:"wallet-standard:injected",kind:"wallet-standard",name:"Injected Wallet",ready:typeof window<"u",async connect(){let o=getWallets().get().find(s=>StandardConnect in s.features);if(!o)throw new Error("No Wallet Standard wallets available.");return re(o,e).connect()},async disconnect(){},isSupported(){return typeof window<"u"}}}t(so,"injected");function pe(e){let n=e.toLowerCase();return r=>r.name.toLowerCase().includes(n)}t(pe,"filterByName");function Ge(e){return $({filter:pe("phantom"),overrides:t(()=>({...e,id:"wallet-standard:phantom"}),"overrides")})}t(Ge,"phantom");function Ze(e){return $({filter:pe("solflare"),overrides:t(()=>({...e,id:"wallet-standard:solflare"}),"overrides")})}t(Ze,"solflare");function Ye(e){return $({filter:pe("backpack"),overrides:t(()=>({...e,id:"wallet-standard:backpack"}),"overrides")})}t(Ye,"backpack");function co(e){return $({filter:pe("metamask"),overrides:t(()=>({...e,id:"wallet-standard:metamask"}),"overrides")})}t(co,"metamask");function qt(){return [...Ge(),...Ze(),...Ye(),...$()]}t(qt,"defaultWalletConnectors");function ue(e){if(!e)return;let n=e.trim();return n.length?n:void 0}t(ue,"normalizeUrl");function Kt(e={}){let{cluster:n,endpoint:r,rpc:o,websocket:s,websocketEndpoint:p,walletConnectors:S,...T}=e,C=ue(o)??ue(r)??ue(e.endpoint),g=ee({endpoint:C,moniker:n??void 0,websocketEndpoint:ue(s??p)}),l=S===void 0||S==="default"?qt():S;return {...T,endpoint:g.endpoint,websocketEndpoint:g.websocketEndpoint,walletConnectors:l}}t(Kt,"resolveClientConfig");function lo(e={}){return $e(Kt(e))}t(lo,"createDefaultClient");function I(){return {status:"idle"}}t(I,"createInitialAsyncState");function O(e,n={}){return {data:n.data,error:n.error,status:e}}t(O,"createAsyncState");function po(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before sending SOL transfers.");return {...e,authority:r}}t(po,"ensureAuthority");function uo(e){let n=new Set,r=e.helper,o=e.authorityProvider,s=I();function p(){for(let l of n)l();}t(p,"notify");function S(l){s=l,p();}t(S,"setState");async function T(l,i){let a=po(l,o);S(O("loading"));try{let u=await r.sendTransfer(a,i);return S(O("success",{data:u})),u}catch(u){throw S(O("error",{error:u})),u}}t(T,"send");function C(l){return n.add(l),()=>{n.delete(l);}}t(C,"subscribe");function g(){S(I());}return t(g,"reset"),{getHelper:t(()=>r,"getHelper"),getState:t(()=>s,"getState"),reset:g,send:T,subscribe:C}}t(uo,"createSolTransferController");function mo(e,n,r){let o=e.authority??n?.();if(!o)throw new Error("Connect a wallet or supply an `authority` before sending SPL tokens.");let s=e.sourceOwner??r?.();if(!s)throw new Error("Unable to resolve a source owner for the SPL token transfer.");return {...e,authority:o,sourceOwner:s}}t(mo,"ensureTransferConfig");function fo(e){let n=e.helper,r=e.authorityProvider,o=e.sourceOwnerProvider,s=new Set,p=I();function S(){for(let i of s)i();}t(S,"notify");function T(i){p=i,S();}t(T,"setState");async function C(i,a){let u=mo(i,i.authority?void 0:r,i.sourceOwner?void 0:o);T(O("loading"));try{let c=await n.sendTransfer(u,a);return T(O("success",{data:c})),c}catch(c){throw T(O("error",{error:c})),c}}t(C,"send");function g(i){return s.add(i),()=>{s.delete(i);}}t(g,"subscribe");function l(){T(I());}return t(l,"reset"),{getHelper:t(()=>n,"getHelper"),getState:t(()=>p,"getState"),reset:l,send:C,subscribe:g}}t(fo,"createSplTransferController");function go(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before staking SOL.");return {...e,authority:r}}t(go,"ensureAuthority");function So(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before unstaking SOL.");return {...e,authority:r}}t(So,"ensureUnstakeAuthority");function yo(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before withdrawing SOL.");return {...e,authority:r}}t(yo,"ensureWithdrawAuthority");function To(e){let n=new Set,r=new Set,o=new Set,s=e.helper,p=e.authorityProvider,S=I(),T=I(),C=I();function g(){for(let k of n)k();}t(g,"notify");function l(){for(let k of r)k();}t(l,"notifyUnstake");function i(){for(let k of o)k();}t(i,"notifyWithdraw");function a(k){S=k,g();}t(a,"setState");function u(k){T=k,l();}t(u,"setUnstakeState");function c(k){C=k,i();}t(c,"setWithdrawState");async function b(k,A){let x=go(k,p);a(O("loading"));try{let v=await s.sendStake(x,A);return a(O("success",{data:v})),v}catch(v){throw a(O("error",{error:v})),v}}t(b,"stake");async function P(k,A){let x=So(k,p);u(O("loading"));try{let v=await s.sendUnstake(x,A);return u(O("success",{data:v})),v}catch(v){throw u(O("error",{error:v})),v}}t(P,"unstake");async function f(k,A){let x=yo(k,p);c(O("loading"));try{let v=await s.sendWithdraw(x,A);return c(O("success",{data:v})),v}catch(v){throw c(O("error",{error:v})),v}}t(f,"withdraw");function m(k){return n.add(k),()=>{n.delete(k);}}t(m,"subscribe");function h(k){return r.add(k),()=>{r.delete(k);}}t(h,"subscribeUnstake");function d(k){return o.add(k),()=>{o.delete(k);}}t(d,"subscribeWithdraw");function y(){a(I());}t(y,"reset");function w(){u(I());}t(w,"resetUnstake");function W(){c(I());}return t(W,"resetWithdraw"),{getHelper:t(()=>s,"getHelper"),getState:t(()=>S,"getState"),getUnstakeState:t(()=>T,"getUnstakeState"),getWithdrawState:t(()=>C,"getWithdrawState"),reset:y,resetUnstake:w,resetWithdraw:W,stake:b,unstake:P,withdraw:f,subscribe:m,subscribeUnstake:h,subscribeWithdraw:d}}t(To,"createStakeController");function $t(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before wrapping/unwrapping SOL.");return {...e,authority:r}}t($t,"ensureAuthority");function ho(e){let n=new Set,r=new Set,o=e.helper,s=e.authorityProvider,p=I(),S=I();function T(){for(let f of n)f();}t(T,"notifyWrap");function C(){for(let f of r)f();}t(C,"notifyUnwrap");function g(f){p=f,T();}t(g,"setWrapState");function l(f){S=f,C();}t(l,"setUnwrapState");async function i(f,m){let h=$t(f,s);g(O("loading"));try{let d=await o.sendWrap(h,m);return g(O("success",{data:d})),d}catch(d){throw g(O("error",{error:d})),d}}t(i,"wrap");async function a(f,m){let h=$t(f,s);l(O("loading"));try{let d=await o.sendUnwrap(h,m);return l(O("success",{data:d})),d}catch(d){throw l(O("error",{error:d})),d}}t(a,"unwrap");function u(f){return n.add(f),()=>{n.delete(f);}}t(u,"subscribeWrap");function c(f){return r.add(f),()=>{r.delete(f);}}t(c,"subscribeUnwrap");function b(){g(I());}t(b,"resetWrap");function P(){l(I());}return t(P,"resetUnwrap"),{getHelper:t(()=>o,"getHelper"),getWrapState:t(()=>p,"getWrapState"),getUnwrapState:t(()=>S,"getUnwrapState"),resetWrap:b,resetUnwrap:P,wrap:i,unwrap:a,subscribeWrap:u,subscribeUnwrap:c}}t(ho,"createWsolController");function bo(e){return e.toString()}t(bo,"bigintToJson");function Co(e){return q(e,"bigint")}t(Co,"bigintFromJson");function wo(e){return e.toString()}t(wo,"lamportsToJson");function Po(e){return we(e,"lamports")}t(Po,"lamportsFromJson");var Jt={processed:0,confirmed:1,finalized:2},Ao=2e4;function Ro(e){if(e)return typeof e=="string"?signature(e):e}t(Ro,"normalizeSignature");function Wo(e){return e?e.confirmationStatus==="processed"||e.confirmationStatus==="confirmed"||e.confirmationStatus==="finalized"?e.confirmationStatus:e.confirmations===null?"finalized":typeof e.confirmations=="number"&&e.confirmations>0?"confirmed":"processed":null}t(Wo,"deriveConfirmationStatus");function xo(e,n){return e?Jt[e]>=Jt[n]:false}t(xo,"confirmationMeetsCommitment");var Io="MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr";function Uo(e){let n=e.findIndex(r=>r.programAddress!==Io);if(e.length===0||n===-1)throw new SolanaError(SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR,{cause:"At least one non-memo instruction is required.",index:e.length||n});return n}t(Uo,"ensureNonMemoInstructionIndex");function Mo(e,n){return Gt([e],n)}t(Mo,"insertReferenceKey");function Gt(e,n){let r=Uo(n.instructions),o=n.instructions[r],s=[...o.accounts??[],...e.map(S=>({address:S,role:AccountRole.READONLY}))],p=[...n.instructions];return p.splice(r,1,{...o,accounts:s}),Object.freeze({...n,instructions:Object.freeze(p)})}t(Gt,"insertReferenceKeys");function de(e){let n=e,r=new Set;return {getSnapshot:t(()=>n,"getSnapshot"),setSnapshot(o){n=o;for(let s of r)s();},subscribe(o){return r.add(o),()=>{r.delete(o);}}}}t(de,"createStore");function Zt(e){return Object.freeze([...e])}t(Zt,"freezeInstructions");function Bo(e){let n=e.helper,r=Zt(e.initialInstructions??[]),o=e.blockhashMaxAgeMs??3e4,s,p=de(r),S=de(null),T=de(I()),C=de(I());function g(){S.setSnapshot(null),T.setSnapshot(I()),C.setSnapshot(I());}t(g,"resetDerivedState");function l(R){p.setSnapshot(Zt(R)),g();}t(l,"commitInstructions");function i(R){let U=[...p.getSnapshot(),R];l(U);}t(i,"addInstruction");function a(R){if(!R.length)return;let U=[...p.getSnapshot(),...R];l(U);}t(a,"addInstructions");function u(R){l(R);}t(u,"replaceInstructions");function c(){l([]);}t(c,"clearInstructions");function b(R){let U=p.getSnapshot();if(R<0||R>=U.length)return;let E=U.filter((_,M)=>M!==R);l(E);}t(b,"removeInstruction");function P(){l(r);}t(P,"reset");function f(R){if(!R.length)throw new Error("Add at least one instruction before preparing a transaction.")}t(f,"ensureInstructions");function m(){if(s&&!(Date.now()-s.updatedAt>o))return s.value}t(m,"resolveCachedLifetime");async function h(R={}){let{instructions:U,...E}=R,_=U??p.getSnapshot();f(_),T.setSnapshot(O("loading"));try{let M=E.lifetime??m(),J=M&&!E.lifetime?{...E,lifetime:M}:E,G=await n.prepare({...J,instructions:_});return S.setSnapshot(G),T.setSnapshot(O("success",{data:G})),G}catch(M){throw T.setSnapshot(O("error",{error:M})),M}}t(h,"prepare");function d(R){let U=R??S.getSnapshot();if(!U)throw new Error("Prepare a transaction before sending.");return U}t(d,"resolvePrepared");function y(R){if(R.lifetime)return R;let U=m();return U?{...R,lifetime:U}:R}t(y,"resolveLifetimeOptions");async function w(R={}){let{prepared:U,...E}=R,_=d(U);C.setSnapshot(O("loading"));try{let M=await n.send(_,E);return C.setSnapshot(O("success",{data:M})),M}catch(M){throw C.setSnapshot(O("error",{error:M})),M}}t(w,"send");async function W(R={},U){let{instructions:E,..._}=R,M=E??p.getSnapshot();f(M),C.setSnapshot(O("loading"));try{let J=y(_),G=await n.prepareAndSend({...J,instructions:M},U);return C.setSnapshot(O("success",{data:G})),G}catch(J){throw C.setSnapshot(O("error",{error:J})),J}}t(W,"prepareAndSend");function k(R={}){let{prepared:U,...E}=R,_=d(U);return n.sign(_,E)}t(k,"sign");function A(R={}){let{prepared:U,...E}=R,_=d(U);return n.toWire(_,E)}t(A,"toWire");function x(R){return p.subscribe(R)}t(x,"subscribeInstructions");function v(R){return S.subscribe(R)}t(v,"subscribePrepared");function me(R){return T.subscribe(R)}t(me,"subscribePrepareState");function Xt(R){return C.subscribe(R)}t(Xt,"subscribeSendState");function Qt(R){s=R;}return t(Qt,"setLatestBlockhashCache"),{addInstruction:i,addInstructions:a,clearInstructions:c,get helper(){return n},getInstructions:p.getSnapshot,getPrepareState:T.getSnapshot,getPrepared:S.getSnapshot,getSendState:C.getSnapshot,getLatestBlockhashCache:t(()=>s,"getLatestBlockhashCache"),prepare:h,prepareAndSend:W,removeInstruction:b,replaceInstructions:u,reset:P,send:w,setLatestBlockhashCache:Qt,sign:k,subscribeInstructions:x,subscribePrepareState:me,subscribePrepared:v,subscribeSendState:Xt,toWire:A}}t(Bo,"createTransactionPoolController");function Yt(e){return typeof e=="string"?address(e):e}t(Yt,"toAddress");function Ho(e){return Yt(e).toString()}t(Ho,"toAddressString");function Do(e){return JSON.stringify(e,(r,o)=>typeof o=="bigint"?{__type:"bigint",value:o.toString()}:o instanceof Uint8Array?Array.from(o):o)??"undefined"}t(Do,"stableStringify");
2
- export{Nn as LAMPORTS_PER_SOL,Ao as SIGNATURE_STATUS_TIMEOUT_MS,je as WRAPPED_SOL_MINT,Ce as applyRatio,Se as applySerializableState,ae as assertDecimals,D as assertNonNegative,$ as autoDiscover,Ye as backpack,Co as bigintFromJson,bo as bigintToJson,he as checkedAdd,Bn as checkedDivide,Mn as checkedMultiply,be as checkedSubtract,xo as confirmationMeetsCommitment,tn as connectWallet,O as createAsyncState,$e as createClient,le as createClientStore,lo as createDefaultClient,Va as createDefaultClientStore,I as createInitialAsyncState,ce as createInitialClientState,Hn as createRatio,uo as createSolTransferController,Pe as createSolTransferHelper,Q as createSolanaRpcClient,ke as createSplTokenHelper,fo as createSplTransferController,To as createStakeController,De as createStakeHelper,te as createTokenAmount,Ne as createTransactionHelper,Bo as createTransactionPoolController,Rt as createTransactionRecipe,ye as createWalletRegistry,re as createWalletStandardConnector,ho as createWsolController,Ke as createWsolHelper,qt as defaultWalletConnectors,Wo as deriveConfirmationStatus,bn as deserializeSolanaState,nn as disconnectWallet,rn as fetchAccount,an as fetchBalance,on as fetchLookupTable,sn as fetchLookupTables,cn as fetchNonceAccount,hn as getInitialSerializableState,ao as getWalletStandardConnectors,so as injected,Mo as insertReferenceKey,Gt as insertReferenceKeys,we as lamports,Po as lamportsFromJson,zn as lamportsFromSol,N as lamportsMath,wo as lamportsToJson,Vn as lamportsToSolString,co as metamask,Ro as normalizeSignature,Ge as phantom,Te as pow10,ne as prepareTransaction,ln as requestAirdrop,Kt as resolveClientConfig,ee as resolveCluster,pn as sendTransaction,ge as serializeSolanaState,un as setCluster,Ze as solflare,Do as stableStringify,Cn as subscribeSolanaState,Yt as toAddress,Ho as toAddressString,q as toBigint,X as transactionToBase64,Nr as transactionToBase64WithSigners,oo as watchWalletStandardConnectors};//# sourceMappingURL=index.browser.mjs.map
1
+ import {address,createSolanaRpc,createSolanaRpcSubscriptions,getBase64EncodedWireTransaction,compileTransaction,partiallySignTransactionMessageWithSigners,appendTransactionMessageInstruction,setTransactionMessageLifetimeUsingBlockhash,isTransactionSendingSigner,getMessagePackerInstructionPlanFromInstructions,pipe,createTransactionMessage,setTransactionMessageFeePayerSigner,setTransactionMessageFeePayer,signature,AccountRole,singleTransactionPlan,signAndSendTransactionMessageWithSigners,createTransactionPlanExecutor,signTransactionMessageWithSigners,isSolanaError,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED,generateKeyPairSigner,appendTransactionMessageInstructions,createTransactionPlanner,signatureBytes,isTransactionPartialSigner,SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED,isInstructionForProgram,isInstructionWithData,SolanaError,SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR,isSome,airdropFactory}from'@solana/kit';import {createBlockHeightExceedencePromiseFactory,createRecentSignatureConfirmationPromiseFactory,waitForRecentTransactionConfirmation}from'@solana/transaction-confirmation';import {fetchAddressLookupTable,fetchAllAddressLookupTable}from'@solana-program/address-lookup-table';import {getTransferSolInstruction,getCreateAccountInstruction,fetchNonce}from'@solana-program/system';import {getBase58Decoder,getBase58Encoder}from'@solana/codecs-strings';import {TOKEN_PROGRAM_ADDRESS,fetchMint,findAssociatedTokenPda,getCreateAssociatedTokenInstruction,getTransferCheckedInstruction,getCreateAssociatedTokenIdempotentInstruction,getSyncNativeInstruction,getCloseAccountInstruction}from'@solana-program/token';import {getInitializeInstruction,getDelegateStakeInstruction,getDeactivateInstruction,getWithdrawInstruction}from'@solana-program/stake';import {getSetComputeUnitLimitInstruction,getSetComputeUnitPriceInstruction,COMPUTE_BUDGET_PROGRAM_ADDRESS,ComputeBudgetInstruction}from'@solana-program/compute-budget';import {createStore}from'zustand/vanilla';import {getWallets}from'@wallet-standard/app';import {StandardConnect,StandardEvents,StandardDisconnect}from'@wallet-standard/features';import {getTransactionDecoder,getTransactionEncoder}from'@solana/transactions';import {SolanaSignMessage,SolanaSignTransaction,SolanaSignAndSendTransaction}from'@solana/wallet-standard-features';var en=Object.defineProperty;var t=(e,n)=>en(e,"name",{value:n,configurable:true});function tn(e,n){return e.actions.connectWallet(n.connectorId,n.options)}t(tn,"connectWallet");function nn(e,n){return e.actions.disconnectWallet()}t(nn,"disconnectWallet");function rn(e,n){return e.actions.fetchAccount(n.address,n.commitment)}t(rn,"fetchAccount");function an(e,n){return e.actions.fetchBalance(n.address,n.commitment)}t(an,"fetchBalance");function on(e,n){return e.actions.fetchLookupTable(n.address,n.commitment)}t(on,"fetchLookupTable");function sn(e,n){return e.actions.fetchLookupTables(n.addresses,n.commitment)}t(sn,"fetchLookupTables");function cn(e,n){return e.actions.fetchNonceAccount(n.address,n.commitment)}t(cn,"fetchNonceAccount");function ln(e,n){return e.actions.requestAirdrop(n.address,n.lamports)}t(ln,"requestAirdrop");function pn(e,n){return e.actions.sendTransaction(n.transaction,n.commitment)}t(pn,"sendTransaction");function un(e,n){return e.actions.setCluster(n.endpoint,n.config)}t(un,"setCluster");function fe(e){if(typeof e!="object"||e===null)return e;let n=e;for(let r of Reflect.ownKeys(n)){let o=n[r];fe(o);}return Object.freeze(e)}t(fe,"deepFreeze");function L(){return Date.now()}t(L,"now");function Xe(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}t(Xe,"toErrorMessage");function Z(e){return e||(({data:n,level:r,message:o})=>{let s=n?{...n}:{};switch(r){case "error":console.error(`[react-core] ${o}`,s);break;case "warn":console.warn(`[react-core] ${o}`,s);break;case "info":console.info(`[react-core] ${o}`,s);break;default:console.debug(`[react-core] ${o}`,s);}})}t(Z,"createLogger");function B(e){return {error:e,message:Xe(e)}}t(B,"formatError");function yn(e){let n=new AbortController;if(!e)return n;if(e.aborted)return n.abort(e.reason),n;let r=t(()=>{n.abort(e.reason),e.removeEventListener("abort",r);},"onAbort");return e.addEventListener("abort",r,{once:true}),n}t(yn,"createChainedAbortController");function et(e){if(e!==void 0)return typeof e=="bigint"?e:BigInt(Math.floor(e))}t(et,"toBigint");var Tn=Object.freeze({encoding:"base64",replaceRecentBlockhash:true,sigVerify:false});function Q(e){let n=e.endpoint,r=e.websocketEndpoint??n,o=e.commitment??"confirmed",s=createSolanaRpc(n,e.rpcConfig),p=createSolanaRpcSubscriptions(r,e.rpcSubscriptionsConfig);async function S(C,g={}){let l=yn(g.abortSignal),i=g.commitment??o,a=getBase64EncodedWireTransaction(C),u=await s.sendTransaction(a,{encoding:"base64",maxRetries:et(g.maxRetries),minContextSlot:et(g.minContextSlot),preflightCommitment:i,skipPreflight:g.skipPreflight}).send({abortSignal:l.signal}),c=createBlockHeightExceedencePromiseFactory({rpc:s,rpcSubscriptions:p}),b=createRecentSignatureConfirmationPromiseFactory({rpc:s,rpcSubscriptions:p});return await waitForRecentTransactionConfirmation({abortSignal:l.signal,commitment:i,getBlockHeightExceedencePromise:c,getRecentSignatureConfirmationPromise:b,transaction:C}),u}t(S,"sendAndConfirmTransaction");async function T(C,g={}){let l=getBase64EncodedWireTransaction(C),i=g.config??{},a={...Tn,...i,commitment:i.commitment??g.commitment??o},u=a.sigVerify===true&&a.replaceRecentBlockhash!==false?{...a,replaceRecentBlockhash:false}:a;return s.simulateTransaction(l,u).send({abortSignal:g.abortSignal})}return t(T,"simulateTransaction"),{commitment:o,endpoint:n,rpc:s,rpcSubscriptions:p,sendAndConfirmTransaction:S,simulateTransaction:T,websocketEndpoint:r}}t(Q,"createSolanaRpcClient");function hn(e){return {autoconnect:false,commitment:e.commitment,endpoint:e.endpoint,lastConnectorId:null,lastPublicKey:null,version:1,websocketEndpoint:e.websocketEndpoint}}t(hn,"getInitialSerializableState");function Se(e,n){return n?{...e,commitment:n.commitment??e.commitment,endpoint:n.endpoint??e.endpoint,websocketEndpoint:n.websocketEndpoint??e.websocketEndpoint}:e}t(Se,"applySerializableState");function ge(e){return JSON.stringify(e)}t(ge,"serializeSolanaState");function bn(e){if(!e)return null;try{let n=JSON.parse(e);if(typeof n!="object"||n===null)return null;let r=n;return {autoconnect:r.autoconnect??!1,commitment:r.commitment,endpoint:r.endpoint,lastConnectorId:r.lastConnectorId??null,lastPublicKey:r.lastPublicKey??null,version:r.version??1,websocketEndpoint:r.websocketEndpoint}}catch{return null}}t(bn,"deserializeSolanaState");function tt(e){let n=e.store.getState(),r=n.wallet,o=r.autoConnect,s=null,p=null;return "connectorId"in r&&(s=r.connectorId??null,r.status==="connected"&&(p=r.session.account.address.toString())),{autoconnect:o??!!s,commitment:n.cluster.commitment,endpoint:n.cluster.endpoint,lastConnectorId:s,lastPublicKey:p,version:1,websocketEndpoint:n.cluster.websocketEndpoint}}t(tt,"getSerializableStateSnapshot");function Cn(e,n){let r=ge(tt(e));return n(JSON.parse(r)),e.store.subscribe(()=>{let s=tt(e),p=ge(s);p!==r&&(r=p,n(s));})}t(Cn,"subscribeSolanaState");function nt(e){return e.startsWith("http://")||e.startsWith("https://")||e.startsWith("ws://")||e.startsWith("wss://")?e:`https://${e}`}t(nt,"ensureHttpProtocol");var wn={devnet:{endpoint:"https://api.devnet.solana.com",websocketEndpoint:"wss://api.devnet.solana.com"},localhost:{endpoint:"http://127.0.0.1:8899",websocketEndpoint:"ws://127.0.0.1:8900"},localnet:{endpoint:"http://127.0.0.1:8899",websocketEndpoint:"ws://127.0.0.1:8900"},"mainnet-beta":{endpoint:"https://api.mainnet-beta.solana.com",websocketEndpoint:"wss://api.mainnet-beta.solana.com"},mainnet:{endpoint:"https://api.mainnet-beta.solana.com",websocketEndpoint:"wss://api.mainnet-beta.solana.com"},testnet:{endpoint:"https://api.testnet.solana.com",websocketEndpoint:"wss://api.testnet.solana.com"}};function Pn(e){return e.startsWith("https://")?e.replace("https://","wss://"):e.startsWith("http://")?e.replace("http://","ws://"):(e.startsWith("ws://")||e.startsWith("wss://"),e)}t(Pn,"inferWebsocketEndpoint");function ee(e){let n=e.moniker??(e.endpoint?"custom":"devnet"),r=n==="custom"?void 0:wn[n],o=nt(e.endpoint??r?.endpoint),s=e.websocketEndpoint?nt(e.websocketEndpoint):void 0,p=Pn(s??r?.websocketEndpoint??o);return {endpoint:o,moniker:n,websocketEndpoint:p}}t(ee,"resolveCluster");function ye(e){let n=new Map;for(let r of e)n.has(r.id)||n.set(r.id,r);return {all:[...n.values()],get(r){return n.get(r)}}}t(ye,"createWalletRegistry");function In(e,n){e.setState(r=>({...r,...n,lastUpdatedAt:L()}));}t(In,"updateState");function at({connectors:e,logger:n,runtime:r,store:o}){let s=n??Z(),p;function S(m){return m??o.getState().cluster.commitment}t(S,"getCommitment");async function T(m,h){try{let d=L();return await r.rpc.getLatestBlockhash({commitment:h}).send({abortSignal:AbortSignal.timeout(1e4)}),L()-d}catch(d){s({data:{endpoint:m,...B(d)},level:"warn",message:"cluster warmup failed"});return}}t(T,"warmupCluster");async function C(m,h){let d=h?.commitment??o.getState().cluster.commitment,y=h?.websocketEndpoint??m;o.setState(w=>({...w,cluster:{commitment:d,endpoint:m,status:{status:"connecting"},websocketEndpoint:y},lastUpdatedAt:L()}));try{let w=Q({commitment:d,endpoint:m,websocketEndpoint:y});r.rpc=w.rpc,r.rpcSubscriptions=w.rpcSubscriptions;let W=await T(m,d);o.setState(k=>({...k,cluster:{commitment:d,endpoint:m,status:{latencyMs:W,status:"ready"},websocketEndpoint:y},lastUpdatedAt:L()}));}catch(w){throw o.setState(W=>({...W,cluster:{commitment:d,endpoint:m,status:{error:w,status:"error"},websocketEndpoint:y},lastUpdatedAt:L()})),s({data:{endpoint:m,...B(w)},level:"error",message:"cluster setup failed"}),w}}t(C,"setCluster");async function g(m,h={}){p?.(),p=void 0;let d=e.get(m);if(!d)throw new Error(`No wallet connector registered for id "${m}".`);if(!d.isSupported())throw new Error(`Wallet connector "${m}" is not supported in this environment.`);let y=h.autoConnect??false;o.setState(w=>({...w,lastUpdatedAt:L(),wallet:{autoConnect:y,connectorId:m,status:"connecting"}}));try{let w=await d.connect(h);return o.setState(W=>({...W,lastUpdatedAt:L(),wallet:{autoConnect:y,connectorId:m,session:w,status:"connected"}})),w.onAccountsChanged&&(p=w.onAccountsChanged(W=>{W.length===0&&(p?.(),p=void 0,l());})),s({data:{address:w.account.address.toString(),connectorId:m},level:"info",message:"wallet connected"}),w}catch(w){throw o.setState(W=>({...W,lastUpdatedAt:L(),wallet:{autoConnect:y,connectorId:m,error:w,status:"error"}})),s({data:{connectorId:m,...B(w)},level:"error",message:"wallet connection failed"}),w}}t(g,"connectWallet");async function l(){let m=o.getState().wallet;if(m.status!=="disconnected"){p?.(),p=void 0;try{if(m.status==="connected"){await m.session.disconnect();let h=e.get(m.connectorId);h&&await h.disconnect();}else if(m.status==="connecting"){let h=e.get(m.connectorId);h&&await h.disconnect();}}finally{In(o,{wallet:{status:"disconnected"}});}}}t(l,"disconnectWallet");async function i(m,h){let d=m.toString();o.setState(y=>({...y,accounts:{...y.accounts,[d]:{address:m,data:y.accounts[d]?.data,error:void 0,executable:y.accounts[d]?.executable??null,fetching:true,lamports:y.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:y.accounts[d]?.owner??null,slot:y.accounts[d]?.slot??null}},lastUpdatedAt:L()}));try{let y=await r.rpc.getBalance(m,{commitment:S(h)}).send({abortSignal:AbortSignal.timeout(1e4)}),w=y.value;return o.setState(W=>({...W,accounts:{...W.accounts,[d]:{address:m,data:W.accounts[d]?.data,error:void 0,executable:W.accounts[d]?.executable??null,fetching:!1,lamports:w,lastFetchedAt:L(),owner:W.accounts[d]?.owner??null,slot:y.context.slot}},lastUpdatedAt:L()})),w}catch(y){throw o.setState(w=>({...w,accounts:{...w.accounts,[d]:{address:m,data:w.accounts[d]?.data,error:y,executable:w.accounts[d]?.executable??null,fetching:false,lamports:w.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:w.accounts[d]?.owner??null,slot:w.accounts[d]?.slot??null}},lastUpdatedAt:L()})),s({data:{address:d,...B(y)},level:"error",message:"balance fetch failed"}),y}}t(i,"fetchBalance");async function a(m,h){let d=m.toString();o.setState(y=>({...y,accounts:{...y.accounts,[d]:{address:m,data:y.accounts[d]?.data,error:void 0,executable:y.accounts[d]?.executable??null,fetching:true,lamports:y.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:y.accounts[d]?.owner??null,slot:y.accounts[d]?.slot??null}},lastUpdatedAt:L()}));try{let y=await r.rpc.getAccountInfo(m,{commitment:S(h),encoding:"base64"}).send({abortSignal:AbortSignal.timeout(1e4)}),w=y.value,W=w?.lamports??null,k=w?.executable??null,A=w?.owner??null;return o.setState(x=>({...x,accounts:{...x.accounts,[d]:{address:m,data:w,error:void 0,executable:k,fetching:!1,lamports:W,lastFetchedAt:L(),owner:A,slot:y.context.slot}},lastUpdatedAt:L()})),o.getState().accounts[d]}catch(y){throw o.setState(w=>({...w,accounts:{...w.accounts,[d]:{address:m,data:w.accounts[d]?.data,error:y,executable:w.accounts[d]?.executable??null,fetching:false,lamports:w.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:w.accounts[d]?.owner??null,slot:w.accounts[d]?.slot??null}},lastUpdatedAt:L()})),s({data:{address:d,...B(y)},level:"error",message:"account fetch failed"}),y}}t(a,"fetchAccount");async function u(m,h){let d=await fetchAddressLookupTable(r.rpc,m,{commitment:S(h)}),{addresses:y,authority:w,deactivationSlot:W,lastExtendedSlot:k,lastExtendedSlotStartIndex:A}=d.data;return {addresses:y,authority:isSome(w)?w.value:void 0,deactivationSlot:W,lastExtendedSlot:k,lastExtendedSlotStartIndex:A}}t(u,"fetchLookupTable");async function c(m,h){return m.length===0?[]:(await fetchAllAddressLookupTable(r.rpc,m,{commitment:S(h)})).map(({data:y})=>({addresses:y.addresses,authority:isSome(y.authority)?y.authority.value:void 0,deactivationSlot:y.deactivationSlot,lastExtendedSlot:y.lastExtendedSlot,lastExtendedSlotStartIndex:y.lastExtendedSlotStartIndex}))}t(c,"fetchLookupTables");async function b(m,h){let d=await fetchNonce(r.rpc,m,{commitment:S(h)});return {authority:d.data.authority,blockhash:d.data.blockhash}}t(b,"fetchNonceAccount");async function P(m,h){let d=S(h),y=new AbortController,w=await r.rpc.sendTransaction(getBase64EncodedWireTransaction(m),{encoding:"base64",preflightCommitment:d}).send({abortSignal:y.signal}),W=w.toString();o.setState(x=>({...x,lastUpdatedAt:L(),transactions:{...x.transactions,[W]:{lastUpdatedAt:L(),signature:w,status:"sending"}}}));let k=createBlockHeightExceedencePromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions}),A=createRecentSignatureConfirmationPromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions});try{return await waitForRecentTransactionConfirmation({abortSignal:y.signal,commitment:d,getBlockHeightExceedencePromise:k,getRecentSignatureConfirmationPromise:A,transaction:m}),o.setState(x=>({...x,lastUpdatedAt:L(),transactions:{...x.transactions,[W]:{lastUpdatedAt:L(),signature:w,status:"confirmed"}}})),w}catch(x){throw o.setState(v=>({...v,lastUpdatedAt:L(),transactions:{...v.transactions,[W]:{error:x,lastUpdatedAt:L(),signature:w,status:"failed"}}})),s({data:{signature:W,...B(x)},level:"error",message:"transaction failed to confirm"}),x}}t(P,"sendTransaction");async function f(m,h){try{let y=await airdropFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions})({commitment:S("confirmed"),lamports:h,recipientAddress:m});return s({data:{address:m.toString(),lamports:h.toString(),signature:y},level:"info",message:"airdrop requested"}),y}catch(d){throw s({data:{address:m.toString(),lamports:h.toString(),...B(d)},level:"error",message:"airdrop request failed"}),d}}return t(f,"requestAirdrop"),{connectWallet:g,disconnectWallet:l,fetchAccount:a,fetchBalance:i,fetchLookupTable:u,fetchLookupTables:c,fetchNonceAccount:b,requestAirdrop:f,sendTransaction:P,setCluster:C}}t(at,"createActions");var Un=10n;function Te(e){return ae(e,"exponent"),Un**BigInt(e)}t(Te,"pow10");function D(e,n="value"){if(e<0n)throw new RangeError(`${n} must be non-negative`)}t(D,"assertNonNegative");function ae(e,n="decimals"){if(!Number.isInteger(e)||e<0||e>38)throw new RangeError(`${n} must be an integer between 0 and 38`)}t(ae,"assertDecimals");function q(e,n="value"){if(typeof e=="bigint")return e;if(typeof e=="number"){if(!Number.isFinite(e)||!Number.isInteger(e))throw new RangeError(`${n} must be a finite integer when provided as a number`);if(!Number.isSafeInteger(e))throw new RangeError(`${n} must be within the safe integer range when provided as a number`);return BigInt(e)}let r=e.trim(),o=/^[-+]?\d+$/.exec(r);if(!o)throw new SyntaxError(`${n} must be an integer string`);return BigInt(o[0])}t(q,"toBigint");function he(e,n,r="result"){let o=e+n;return D(o,r),o}t(he,"checkedAdd");function be(e,n,r="result"){let o=e-n;return D(o,r),o}t(be,"checkedSubtract");function Mn(e,n,r="result"){let o=e*n;return D(o,r),o}t(Mn,"checkedMultiply");function Bn(e,n,r="result"){if(n===0n)throw new RangeError("divisor must be non-zero");let o=e/n;return D(o,r),o}t(Bn,"checkedDivide");function En(e,n,r){if(n<=0n)throw new RangeError("divisor must be positive");let o=e/n,s=e%n;if(s===0n)return o;switch(r){case "ceil":return o+1n;case "round":return s*2n>=n?o+1n:o;default:return o}}t(En,"divideWithRounding");function Hn(e,n){let r=q(e,"numerator"),o=q(n,"denominator");if(o<=0n)throw new RangeError("denominator must be positive");return D(r,"numerator"),Object.freeze({denominator:o,numerator:r})}t(Hn,"createRatio");function Ce(e,n,r={}){D(e,"amount");let o=e*n.numerator,s=r.rounding??"floor";return En(o,n.denominator,s)}t(Ce,"applyRatio");var Dn=/^\d+(?:\.\d+)?$/;function Fn(e,n,r){if(!Number.isFinite(e))throw new RangeError(`${r} must be a finite number`);if(Number.isInteger(e))return e.toString(10);let o=e.toString(10);if(o.includes("e")||o.includes("E"))throw new RangeError(`${r} cannot use exponential notation; provide a string instead`);let s=o.split(".");if(s[1]&&s[1].length>n+6)throw new RangeError(`${r} exceeds safe precision; provide a string instead`);return o}t(Fn,"normalizeNumberInput");function ot(e,n,r,o){let s=o.label??"value",p=o.rounding??"floor",S=e.replace(/_/g,"").trim();if(S==="")throw new SyntaxError(`${s} must not be empty`);if(!Dn.test(S))throw new SyntaxError(`${s} must be a non-negative decimal string`);let[T,C]=S.split("."),g=T||"0";D(BigInt(g),s);let l=BigInt(g)*r,i=C??"";if(n===0){if(i.length===0)return l;let c=/[1-9]/.test(i);return p==="ceil"&&c||p==="round"&&i[0]!==void 0&&i[0]>="5"?l+1n:l}let a=i.slice(0,n).padEnd(n,"0"),u=a===""?0n:BigInt(a);if(l+=u,i.length>n){let c=i.slice(n),b=/[1-9]/.test(c);if(p==="ceil"&&b)l+=1n;else if(p==="round"){let P=c[0];P!==void 0&&P>="5"&&(l+=1n);}}return l}t(ot,"decimalToBaseUnits");function _n(e,n,r,o){D(e,"amount");let s=o.minimumFractionDigits??0;if(s<0||s>n)throw new RangeError("minimumFractionDigits must be between 0 and the token decimals");let p=o.trimTrailingZeros??true;if(n===0)return e.toString();let S=e/r,T=(e%r).toString().padStart(n,"0");return p&&(T=T.replace(/0+$/,"")),T.length<s&&(T=T.padEnd(s,"0")),T.length===0?S.toString():`${S.toString()}.${T}`}t(_n,"formatBaseUnits");function te(e){ae(e,"decimals");let n=Te(e);function r(l,i){let a=q(l,i??"amount");return D(a,i??"amount"),a}t(r,"fromBaseUnits");function o(l,i={}){let a=i.label??"value";if(typeof l=="number"){if(Number.isInteger(l)){if(!Number.isSafeInteger(l))throw new RangeError(`${a} must be within the safe integer range when provided as a number`);return r(BigInt(l)*n,a)}if(e===0)throw new RangeError(`${a} cannot include fractional digits for a token with 0 decimals`);let u=Fn(l,e,a);return ot(u,e,n,i)}return ot(l,e,n,i)}t(o,"fromDecimal");function s(l,i={}){return _n(r(l),e,n,i)}t(s,"toDecimalString");function p(l,i){return he(r(l),r(i))}t(p,"add");function S(l,i){return be(r(l),r(i))}t(S,"subtract");function T(l,i,a){return Ce(r(l),i,a)}t(T,"multiplyByRatio");function C(l){return r(l)===0n}t(C,"isZero");function g(l,i){let a=r(l),u=r(i);return a>u?1:a<u?-1:0}return t(g,"compare"),Object.freeze({add:p,compare:g,decimals:e,fromBaseUnits:r,fromDecimal:o,isZero:C,multiplyByRatio:T,scale:n,subtract:S,toDecimalString:s})}t(te,"createTokenAmount");var F=te(9),Nn=F.scale,N=Object.freeze({add(e,n){return F.add(e,n)},compare(e,n){return F.compare(e,n)},decimals:F.decimals,fromLamports(e,n){return F.fromBaseUnits(e,n)},fromSol(e,n){return F.fromDecimal(e,n)},isZero(e){return F.isZero(e)},multiplyByRatio(e,n,r){return F.multiplyByRatio(e,n,r)},raw:F,scale:F.scale,subtract(e,n){return F.subtract(e,n)},toSolString(e,n){return F.toDecimalString(e,n)}});function we(e,n){return N.fromLamports(e,n)}t(we,"lamports");function zn(e,n){return N.fromSol(e,n)}t(zn,"lamportsFromSol");function Vn(e,n){return N.toSolString(e,n)}t(Vn,"lamportsToSolString");function z(e){return typeof e!="object"||e===null?false:"account"in e&&"connector"in e&&"disconnect"in e}t(z,"isWalletSession");function V(e,n={}){let{commitment:r}=n,o=e.account.address;if(e.signTransaction){let s=e.signTransaction.bind(e);return {mode:"partial",signer:Object.freeze({address:o,async modifyAndSignTransactions(S){let T=[];for(let C of S){let g=C,l=await s(g);if(!l.signatures[o])throw new Error("Wallet did not populate the expected fee payer signature.");let a=Object.freeze({...g,messageBytes:l.messageBytes,signatures:Object.freeze({...g.signatures,...l.signatures})});T.push(a);}return Object.freeze(T)},async signTransactions(S){let T=await this.modifyAndSignTransactions(S);return Object.freeze(T.map(C=>{let g=C.signatures[o];if(!g)throw new Error("Expected signer to produce a signature for the provided address.");return Object.freeze({[o]:g})}))}})}}if(e.sendTransaction){let s=getBase58Encoder(),p=e.sendTransaction.bind(e);return {mode:"send",signer:Object.freeze({address:o,async signAndSendTransactions(T){let C=[];for(let g of T){let l=await p(g,r?{commitment:r}:void 0),i=s.encode(l);C.push(signatureBytes(i));}return C}})}}throw new Error("Wallet session does not support signing or sending transactions.")}t(V,"createWalletTransactionSigner");function j(e){return isTransactionPartialSigner(e)?"partial":isTransactionSendingSigner(e)?"send":"partial"}t(j,"resolveSignerMode");function sr(e){return typeof e=="string"?address(e):e}t(sr,"ensureAddress");async function cr(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(cr,"resolveLifetime");function lr(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(lr,"resolveSigner");function pr(e){return N.fromLamports(e)}t(pr,"toLamportAmount");function Pe(e){async function n(s){let p=s.commitment,S=await cr(e,p,s.lifetime),{signer:T,mode:C}=lr(s.authority,p),g=sr(s.destination),l=pr(s.amount),i=pipe(createTransactionMessage({version:s.transactionVersion??0}),a=>setTransactionMessageFeePayer(T.address,a),a=>setTransactionMessageLifetimeUsingBlockhash(S,a),a=>appendTransactionMessageInstruction(getTransferSolInstruction({amount:l,destination:g,source:T}),a));return {commitment:p,lifetime:S,message:i,mode:C,signer:T,plan:singleTransactionPlan(i)}}t(n,"prepareTransfer");async function r(s,p={}){if(s.mode==="send"&&isTransactionSendingSigner(s.signer)){let l=await signAndSendTransactionMessageWithSigners(s.message,{abortSignal:p.abortSignal,minContextSlot:p.minContextSlot}),i=getBase58Decoder();return signature(i.decode(l))}let S=p.commitment??s.commitment,T=p.maxRetries===void 0?void 0:typeof p.maxRetries=="bigint"?p.maxRetries:BigInt(p.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(l,i={}){let a=await signTransactionMessageWithSigners(l,{abortSignal:i.abortSignal??p.abortSignal,minContextSlot:p.minContextSlot}),u=getBase64EncodedWireTransaction(a),c=await e.rpc.sendTransaction(u,{encoding:"base64",maxRetries:T,preflightCommitment:S,skipPreflight:p.skipPreflight}).send({abortSignal:i.abortSignal??p.abortSignal});return C=signature(c),{transaction:a}}})(s.plan??singleTransactionPlan(s.message),{abortSignal:p.abortSignal}),!C)throw new Error("Failed to resolve transaction signature.");return C}t(r,"sendPreparedTransfer");async function o(s,p){let S=await n(s);return await r(S,p)}return t(o,"sendTransfer"),{prepareTransfer:n,sendPreparedTransfer:r,sendTransfer:o}}t(Pe,"createSolTransferHelper");function K(e,n){if(e)return typeof e=="string"?address(e):e;if(!n)throw new Error("An address value was expected but not provided.");return n}t(K,"ensureAddress");async function Lr(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(Lr,"resolveLifetime");function Or(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(Or,"resolveSigner");function ke(e,n){let r=K(n.mint),o=K(n.tokenProgram,address(TOKEN_PROGRAM_ADDRESS)),s=n.decimals,p;async function S(u){return s!==void 0||(s=(await fetchMint(e.rpc,r,{commitment:u})).data.decimals),s}t(S,"resolveDecimals");async function T(u){if(p)return p;let c=await S(u);return p=te(c),p}t(T,"getTokenMath");async function C(u){let[c]=await findAssociatedTokenPda({mint:r,owner:K(u),tokenProgram:o});return c}t(C,"deriveAssociatedTokenAddress");async function g(u,c){let b=await C(u),P=await S(c);try{let{value:f}=await e.rpc.getTokenAccountBalance(b,{commitment:c}).send(),h=(await T(c)).fromBaseUnits(f.amount,"balance"),d=f.uiAmountString??f.amount;return {amount:h,ataAddress:b,decimals:P,exists:!0,uiAmount:d}}catch{return {amount:0n,ataAddress:b,decimals:P,exists:false,uiAmount:"0"}}}t(g,"fetchBalance");async function l(u){let c=u.commitment,b=await Lr(e,c,u.lifetime),{signer:P,mode:f}=Or(u.authority,c),m=K(u.sourceOwner,P.address),h=K(u.destinationOwner),d=K(u.sourceToken,await C(m)),y=K(u.destinationToken,await C(h)),w=await T(c),W=await S(c),k=u.amountInBaseUnits?w.fromBaseUnits(u.amount,"amount"):w.fromDecimal(u.amount,{label:"amount"}),A=[];if(u.ensureDestinationAta??true){let{value:v}=await e.rpc.getAccountInfo(y,{commitment:c,dataSlice:{length:0,offset:0},encoding:"base64"}).send();v||A.push(getCreateAssociatedTokenInstruction({ata:y,mint:r,owner:h,payer:P,tokenProgram:o}));}A.push(getTransferCheckedInstruction({amount:k,authority:P,decimals:W,destination:y,mint:r,source:d}));let x=pipe(createTransactionMessage({version:u.transactionVersion??0}),v=>setTransactionMessageFeePayer(P.address,v),v=>setTransactionMessageLifetimeUsingBlockhash(b,v));for(let v of A)x=appendTransactionMessageInstruction(v,x);return {amount:k,commitment:c,decimals:W,destinationAta:y,lifetime:b,message:x,mode:f,signer:P,sourceAta:d,plan:singleTransactionPlan(x)}}t(l,"prepareTransfer");async function i(u,c={}){if(u.mode==="send"&&isTransactionSendingSigner(u.signer)){let h=await signAndSendTransactionMessageWithSigners(u.message,{abortSignal:c.abortSignal,minContextSlot:c.minContextSlot}),d=getBase58Decoder();return signature(d.decode(h))}let b=c.commitment??u.commitment,P=c.maxRetries===void 0?void 0:typeof c.maxRetries=="bigint"?c.maxRetries:BigInt(c.maxRetries),f=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(h,d={}){let y=await signTransactionMessageWithSigners(h,{abortSignal:d.abortSignal??c.abortSignal,minContextSlot:c.minContextSlot}),w=getBase64EncodedWireTransaction(y),W=await e.rpc.sendTransaction(w,{encoding:"base64",maxRetries:P,preflightCommitment:b,skipPreflight:c.skipPreflight}).send({abortSignal:d.abortSignal??c.abortSignal});return f=signature(W),{transaction:y}}})(u.plan??singleTransactionPlan(u.message),{abortSignal:c.abortSignal}),!f)throw new Error("Failed to resolve transaction signature.");return f}t(i,"sendPreparedTransfer");async function a(u,c){let b=await l(u);try{return await i(b,c)}catch(P){if(isSolanaError(P,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let f=await l({...u,lifetime:void 0});return await i(f,c)}throw P}}return t(a,"sendTransfer"),{deriveAssociatedTokenAddress:C,fetchBalance:g,prepareTransfer:l,sendPreparedTransfer:i,sendTransfer:a}}t(ke,"createSplTokenHelper");var ut="Stake11111111111111111111111111111111111111",dt="SysvarC1ock11111111111111111111111111111111",mt="SysvarStakeHistory1111111111111111111111111",Dr="StakeConfig11111111111111111111111111111111",ft=200;function ie(e){return typeof e=="string"?address(e):e}t(ie,"ensureAddress");async function Ee(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(Ee,"resolveLifetime");function He(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(He,"resolveSigner");function gt(e){return N.fromLamports(e)}t(gt,"toLamportAmount");function De(e){async function n(i){let a=i.commitment,u=await Ee(e,a,i.lifetime),{signer:c,mode:b}=He(i.authority,a),P=ie(i.validatorId),f=gt(i.amount),h=await e.rpc.getMinimumBalanceForRentExemption(BigInt(ft)).send()+f,d=await generateKeyPairSigner(),y=getCreateAccountInstruction({payer:c,newAccount:d,lamports:h,space:BigInt(ft),programAddress:ut}),w=getInitializeInstruction({stake:d.address,arg0:{staker:c.address,withdrawer:c.address},arg1:{unixTimestamp:0n,epoch:0n,custodian:c.address}}),W=getDelegateStakeInstruction({stake:d.address,vote:P,stakeHistory:mt,unused:Dr,stakeAuthority:c}),k=pipe(createTransactionMessage({version:i.transactionVersion??0}),A=>setTransactionMessageFeePayer(c.address,A),A=>setTransactionMessageLifetimeUsingBlockhash(u,A),A=>appendTransactionMessageInstructions([y,w,W],A));return {commitment:a,lifetime:u,message:k,mode:b,signer:c,stakeAccount:d,plan:singleTransactionPlan(k)}}t(n,"prepareStake");async function r(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan??singleTransactionPlan(i.message),{abortSignal:a.abortSignal}),!b)throw new Error("Failed to resolve transaction signature.");return b}t(r,"sendPreparedStake");async function o(i,a){let u=await n(i);return await r(u,a)}t(o,"sendStake");async function s(i){let a=i.commitment,u=await Ee(e,a,i.lifetime),{signer:c,mode:b}=He(i.authority,a),P=ie(i.stakeAccount),f=getDeactivateInstruction({stake:P,clockSysvar:dt,stakeAuthority:c}),m=pipe(createTransactionMessage({version:i.transactionVersion??0}),h=>setTransactionMessageFeePayer(c.address,h),h=>setTransactionMessageLifetimeUsingBlockhash(u,h),h=>appendTransactionMessageInstructions([f],h));return {commitment:a,lifetime:u,message:m,mode:b,signer:c,plan:singleTransactionPlan(m)}}t(s,"prepareUnstake");async function p(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan),!b)throw new Error("Failed to resolve transaction signature.");return b}t(p,"sendPreparedUnstake");async function S(i,a){let u=await s(i);return await p(u,a)}t(S,"sendUnstake");async function T(i){let a=i.commitment,u=await Ee(e,a,i.lifetime),{signer:c,mode:b}=He(i.authority,a),P=ie(i.stakeAccount),f=ie(i.destination),m=gt(i.amount),h=getWithdrawInstruction({stake:P,recipient:f,clockSysvar:dt,stakeHistory:mt,withdrawAuthority:c,args:m}),d=pipe(createTransactionMessage({version:i.transactionVersion??0}),y=>setTransactionMessageFeePayer(c.address,y),y=>setTransactionMessageLifetimeUsingBlockhash(u,y),y=>appendTransactionMessageInstructions([h],y));return {commitment:a,lifetime:u,message:d,mode:b,signer:c,plan:singleTransactionPlan(d)}}t(T,"prepareWithdraw");async function C(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan),!b)throw new Error("Failed to resolve transaction signature.");return b}t(C,"sendPreparedWithdraw");async function g(i,a){let u=await T(i);return await C(u,a)}t(g,"sendWithdraw");async function l(i,a){let u=typeof i=="string"?i:String(i),c=await e.rpc.getProgramAccounts(ut,{encoding:"jsonParsed",filters:[{memcmp:{offset:44n,bytes:u,encoding:"base58"}}]}).send();if(!a)return c;let b=typeof a=="string"?a:String(a);return c.filter(P=>{let f=P.account?.data;return f&&"parsed"in f?f.parsed?.info?.stake?.delegation?.voter===b:false})}return t(l,"getStakeAccounts"),{getStakeAccounts:l,prepareStake:n,prepareUnstake:s,prepareWithdraw:T,sendPreparedStake:r,sendPreparedUnstake:p,sendPreparedWithdraw:C,sendStake:o,sendUnstake:S,sendWithdraw:g}}t(De,"createStakeHelper");function X(e){return "messageBytes"in e?getBase64EncodedWireTransaction(e):getBase64EncodedWireTransaction(compileTransaction(e))}t(X,"transactionToBase64");async function Nr(e){if("messageBytes"in e)return X(e);let n=await partiallySignTransactionMessageWithSigners(e);return X(n)}t(Nr,"transactionToBase64WithSigners");var Kr=1.1,Tt=2e5,bt=14e5;function $r(e){return e.programAddress===COMPUTE_BUDGET_PROGRAM_ADDRESS&&e.data?.[0]===2}t($r,"isComputeUnitLimitInstruction");function Jr(e){let n=e;for(;isSolanaError(n);){if(isSolanaError(n,SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED))return true;n=n.cause;}return false}t(Jr,"didExceedComputeBudget");async function Gr(e,n){let r=n;if(!(n.lifetimeConstraint!==void 0)){let p=await e.getLatestBlockhash().send();r=setTransactionMessageLifetimeUsingBlockhash(p.value,n);}let s=X(r);try{let{value:p}=await e.simulateTransaction(s,{encoding:"base64",replaceRecentBlockhash:!1,sigVerify:!1}).send();return Number(p.unitsConsumed??0)||0}catch(p){if(Jr(p))return bt;throw p}}t(Gr,"estimateComputeUnits");async function ne(e){let n=e.computeUnitLimitMultiplier??Kr,r=e.blockhashReset!==false,o=e.computeUnitLimitReset??false,s=e.transaction,p=s.instructions.findIndex($r);if(p===-1||o){let T=await Gr(e.rpc,s),C=T?Math.ceil(T*n):Tt,g=Math.min(bt,Math.max(Tt,Math.max(1,C))),l=getSetComputeUnitLimitInstruction({units:g});if(p===-1)s=appendTransactionMessageInstruction(l,s);else {let i=[...s.instructions];i.splice(p,1,l),s=Object.freeze({...s,instructions:Object.freeze(i)});}}let S=s.lifetimeConstraint!==void 0;if(r||!S){let T=await e.rpc.getLatestBlockhash().send();S?r&&(s=Object.freeze({...s,lifetimeConstraint:T.value})):s=setTransactionMessageLifetimeUsingBlockhash(T.value,s),S=true;}return e.logRequest&&e.logRequest({base64WireTransaction:X(s)}),s}t(ne,"prepareTransaction");function ua(e){return typeof e=="string"?address(e):e}t(ua,"toAddress");function da(e){return e.some(n=>isInstructionForProgram(n,COMPUTE_BUDGET_PROGRAM_ADDRESS)&&isInstructionWithData(n)&&n.data[0]===ComputeBudgetInstruction.SetComputeUnitLimit)}t(da,"hasSetComputeUnitLimitInstruction");function ma(e){return e.some(n=>isInstructionForProgram(n,COMPUTE_BUDGET_PROGRAM_ADDRESS)&&isInstructionWithData(n)&&n.data[0]===ComputeBudgetInstruction.SetComputeUnitPrice)}t(ma,"hasSetComputeUnitPriceInstruction");function fa(e){return !!("addressTableLookup"in e&&e.addressTableLookup!=null||"addressTableLookups"in e&&Array.isArray(e.addressTableLookups)&&e.addressTableLookups.length>0)}t(fa,"instructionUsesAddressLookup");function ga(e,n){return e&&e!=="auto"?e:n.some(fa)?0:"legacy"}t(ga,"resolveVersion");function Sa(e,n){return e.commitment??n()}t(Sa,"normaliseCommitment");function ya(e,n){if(!e&&!n)throw new Error("A fee payer must be provided via `feePayer` or `authority`.");if(e&&typeof e=="object"&&"address"in e)return {address:e.address,signer:e};if(e){let o=ua(e);return n&&n.address===o?{address:o,signer:n}:{address:o}}if(!n)throw new Error("Unable to resolve authority signer for the fee payer.");return {address:n.address,signer:n}}t(ya,"resolveFeePayerAddress");function Ta(e,n){let r=e.computeUnitLimit;if(!(r===void 0||da(n)))return typeof r=="bigint"?r:BigInt(Math.floor(r))}t(Ta,"resolveComputeUnitLimit");function ha(e,n){if(!(e.computeUnitPrice===void 0||ma(n)))return typeof e.computeUnitPrice=="bigint"?e.computeUnitPrice:BigInt(Math.floor(e.computeUnitPrice))}t(ha,"resolveComputeUnitPrice");async function Rt(e,n){if(!e.instructions.length)throw new Error("Add at least one instruction before preparing a transaction.");let{getFallbackCommitment:r,runtime:o}=n;e.abortSignal?.throwIfAborted();let s=Sa(e,r),p,S="partial";if(e.authority)if(z(e.authority)){let{signer:f,mode:m}=V(e.authority,{commitment:s});p=f,S=m;}else p=e.authority,S=j(p);let{address:T,signer:C}=ya(e.feePayer,p);S==="send"&&(!C||!isTransactionSendingSigner(C))&&(S="partial");let g=[...e.instructions],l=ga(e.version,g),i=e.lifetime??(await o.rpc.getLatestBlockhash({commitment:s}).send({abortSignal:e.abortSignal})).value;e.abortSignal?.throwIfAborted();let a=Ta(e,g),u=ha(e,g),c=[];a!==void 0&&c.push(getSetComputeUnitLimitInstruction({units:Number(a)})),u!==void 0&&c.push(getSetComputeUnitPriceInstruction({microLamports:Number(u)}));let b=[...c,...g];return Object.freeze({commitment:s,computeUnitLimit:a,computeUnitPrice:u,createTransactionMessage:t(async()=>pipe(createTransactionMessage({version:l}),f=>C?setTransactionMessageFeePayerSigner(C,f):setTransactionMessageFeePayer(T,f),f=>setTransactionMessageLifetimeUsingBlockhash(i,f)),"createMessage"),feePayer:T,instructionPlan:getMessagePackerInstructionPlanFromInstructions(b),instructions:Object.freeze(g),lifetime:i,mode:S,version:l})}t(Rt,"createTransactionRecipe");function ba(e){if(e.kind!=="single")throw new Error("Transaction recipe produced a multi-transaction plan which is not supported.");return e}t(ba,"assertSingleTransactionPlan");function Ne(e,n){async function r(g){let l=await Rt(g,{getFallbackCommitment:n,runtime:e}),a=await createTransactionPlanner({createTransactionMessage:l.createTransactionMessage})(l.instructionPlan,{abortSignal:g.abortSignal}),u=ba(a);return Object.freeze({commitment:l.commitment,computeUnitLimit:l.computeUnitLimit,computeUnitPrice:l.computeUnitPrice,feePayer:l.feePayer,instructions:l.instructions,lifetime:l.lifetime,message:u.message,mode:l.mode,plan:a,version:l.version})}t(r,"prepare");async function o(g,l={}){return await signTransactionMessageWithSigners(g.message,{abortSignal:l.abortSignal,minContextSlot:l.minContextSlot})}t(o,"sign");async function s(g,l={}){let i=await o(g,l);return getBase64EncodedWireTransaction(i)}t(s,"toWire");async function p(g,l={}){return !g.plan||g.mode==="send"?S(g,l):T(g,l)}t(p,"send");async function S(g,l){let i=l.commitment??g.commitment;if(g.mode==="send"){let P=await signAndSendTransactionMessageWithSigners(g.message,{abortSignal:l.abortSignal,minContextSlot:l.minContextSlot}),f=getBase58Decoder();return signature(f.decode(P))}let a=await o(g,{abortSignal:l.abortSignal,minContextSlot:l.minContextSlot}),u=getBase64EncodedWireTransaction(a),c=l.maxRetries===void 0?void 0:typeof l.maxRetries=="bigint"?l.maxRetries:BigInt(l.maxRetries),b=await e.rpc.sendTransaction(u,{encoding:"base64",maxRetries:c,preflightCommitment:i,skipPreflight:l.skipPreflight}).send({abortSignal:l.abortSignal});return signature(b)}t(S,"sendDirect");async function T(g,l){if(!g.plan)return S(g,l);let i=l.commitment??g.commitment,a=l.maxRetries===void 0?void 0:typeof l.maxRetries=="bigint"?l.maxRetries:BigInt(l.maxRetries),u=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,P={}){let f=await signTransactionMessageWithSigners(b,{abortSignal:P.abortSignal??l.abortSignal,minContextSlot:l.minContextSlot}),m=getBase64EncodedWireTransaction(f),h=await e.rpc.sendTransaction(m,{encoding:"base64",maxRetries:a,preflightCommitment:i,skipPreflight:l.skipPreflight}).send({abortSignal:P.abortSignal??l.abortSignal});return u=signature(h),{transaction:f}}})(g.plan,{abortSignal:l.abortSignal}),!u)throw new Error("Failed to resolve transaction signature.");return u}t(T,"sendWithExecutor");async function C(g,l={}){let{prepareTransaction:i,...a}=g,u=await r(a);if(i===false)return p(u,l);let c=i??{},b=await ne({blockhashReset:c.blockhashReset??false,...c,rpc:e.rpc,transaction:u.message}),P=Object.freeze({...u,message:b,plan:singleTransactionPlan(b)});return p(P,l)}return t(C,"prepareAndSend"),Object.freeze({prepare:r,sign:o,toWire:s,send:p,prepareAndSend:C})}t(Ne,"createTransactionHelper");var je=address("So11111111111111111111111111111111111111112");function Ve(e,n){if(e)return typeof e=="string"?address(e):e;if(!n)throw new Error("An address value was expected but not provided.");return n}t(Ve,"ensureAddress");async function Mt(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(Mt,"resolveLifetime");function Bt(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(Bt,"resolveSigner");function Ba(e){return N.fromLamports(e)}t(Ba,"toLamportAmount");function Ke(e){let n=address(TOKEN_PROGRAM_ADDRESS);async function r(i){let[a]=await findAssociatedTokenPda({mint:je,owner:Ve(i),tokenProgram:n});return a}t(r,"deriveWsolAddress");async function o(i,a){let u=await r(i);try{let{value:c}=await e.rpc.getTokenAccountBalance(u,{commitment:a}).send();return {amount:BigInt(c.amount),ataAddress:u,exists:!0}}catch{return {amount:0n,ataAddress:u,exists:false}}}t(o,"fetchWsolBalance");async function s(i){let a=i.commitment,u=await Mt(e,a,i.lifetime),{signer:c,mode:b}=Bt(i.authority,a),P=Ve(i.owner,c.address),f=Ba(i.amount),m=await r(P),h=[getCreateAssociatedTokenIdempotentInstruction({ata:m,mint:je,owner:P,payer:c,tokenProgram:n}),getTransferSolInstruction({amount:f,destination:m,source:c}),getSyncNativeInstruction({account:m})],d=pipe(createTransactionMessage({version:i.transactionVersion??0}),y=>setTransactionMessageFeePayer(c.address,y),y=>setTransactionMessageLifetimeUsingBlockhash(u,y),y=>appendTransactionMessageInstructions(h,y));return {amount:f,ataAddress:m,commitment:a,lifetime:u,message:d,mode:b,owner:P,plan:singleTransactionPlan(d),signer:c}}t(s,"prepareWrap");async function p(i){let a=i.commitment,u=await Mt(e,a,i.lifetime),{signer:c,mode:b}=Bt(i.authority,a),P=Ve(i.owner,c.address),f=await r(P),m=getCloseAccountInstruction({account:f,destination:P,owner:c}),h=pipe(createTransactionMessage({version:i.transactionVersion??0}),d=>setTransactionMessageFeePayer(c.address,d),d=>setTransactionMessageLifetimeUsingBlockhash(u,d),d=>appendTransactionMessageInstruction(m,d));return {ataAddress:f,commitment:a,lifetime:u,message:h,mode:b,owner:P,plan:singleTransactionPlan(h),signer:c}}t(p,"prepareUnwrap");async function S(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan??singleTransactionPlan(i.message),{abortSignal:a.abortSignal}),!b)throw new Error("Failed to resolve transaction signature.");return b}t(S,"sendPreparedTransaction");async function T(i,a){return S(i,a)}t(T,"sendPreparedWrap");async function C(i,a){return S(i,a)}t(C,"sendPreparedUnwrap");async function g(i,a){let u=await s(i);try{return await T(u,a)}catch(c){if(isSolanaError(c,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let b=await s({...i,lifetime:void 0});return await T(b,a)}throw c}}t(g,"sendWrap");async function l(i,a){let u=await p(i);try{return await C(u,a)}catch(c){if(isSolanaError(c,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let b=await p({...i,lifetime:void 0});return await C(b,a)}throw c}}return t(l,"sendUnwrap"),{deriveWsolAddress:r,fetchWsolBalance:o,prepareUnwrap:p,prepareWrap:s,sendPreparedUnwrap:C,sendPreparedWrap:T,sendUnwrap:l,sendWrap:g}}t(Ke,"createWsolHelper");function H(e,n,r){if(e.commitment!==void 0)return e;let o=r??n();return {...e,commitment:o}}t(H,"withDefaultCommitment");function Ea(e,n){return {prepareTransfer:t(r=>e.prepareTransfer(H(r,n)),"prepareTransfer"),sendPreparedTransfer:e.sendPreparedTransfer,sendTransfer:t((r,o)=>e.sendTransfer(H(r,n),o),"sendTransfer")}}t(Ea,"wrapSolTransferHelper");function Ha(e,n,r){let o=t(s=>s??r??n(),"resolveCommitment");return {deriveAssociatedTokenAddress:e.deriveAssociatedTokenAddress,fetchBalance:t((s,p)=>e.fetchBalance(s,o(p)),"fetchBalance"),prepareTransfer:t(s=>e.prepareTransfer(H(s,n,r)),"prepareTransfer"),sendPreparedTransfer:e.sendPreparedTransfer,sendTransfer:t((s,p)=>e.sendTransfer(H(s,n,r),p),"sendTransfer")}}t(Ha,"wrapSplTokenHelper");function Da(e,n){return {getStakeAccounts:e.getStakeAccounts,prepareStake:t(r=>e.prepareStake(H(r,n)),"prepareStake"),prepareUnstake:t(r=>e.prepareUnstake(H(r,n)),"prepareUnstake"),prepareWithdraw:t(r=>e.prepareWithdraw(H(r,n)),"prepareWithdraw"),sendPreparedStake:e.sendPreparedStake,sendPreparedUnstake:e.sendPreparedUnstake,sendPreparedWithdraw:e.sendPreparedWithdraw,sendStake:t((r,o)=>e.sendStake(H(r,n),o),"sendStake"),sendUnstake:t((r,o)=>e.sendUnstake(H(r,n),o),"sendUnstake"),sendWithdraw:t((r,o)=>e.sendWithdraw(H(r,n),o),"sendWithdraw")}}t(Da,"wrapStakeHelper");function Fa(e,n){return {deriveWsolAddress:e.deriveWsolAddress,fetchWsolBalance:t((r,o)=>e.fetchWsolBalance(r,o??n()),"fetchWsolBalance"),prepareWrap:t(r=>e.prepareWrap(H(r,n)),"prepareWrap"),prepareUnwrap:t(r=>e.prepareUnwrap(H(r,n)),"prepareUnwrap"),sendPreparedWrap:e.sendPreparedWrap,sendPreparedUnwrap:e.sendPreparedUnwrap,sendWrap:t((r,o)=>e.sendWrap(H(r,n),o),"sendWrap"),sendUnwrap:t((r,o)=>e.sendUnwrap(H(r,n),o),"sendUnwrap")}}t(Fa,"wrapWsolHelper");function se(e){if(e!=null)return typeof e=="string"?e:typeof e=="object"&&"toString"in e?String(e.toString()):JSON.stringify(e)}t(se,"normaliseConfigValue");function _a(e){return JSON.stringify({associatedTokenProgram:se(e.associatedTokenProgram),commitment:se(e.commitment),decimals:e.decimals,mint:se(e.mint),tokenProgram:se(e.tokenProgram)})}t(_a,"serialiseSplConfig");function Et(e,n){let r=t(()=>n.getState().cluster.commitment,"getFallbackCommitment"),o=new Map,s,p,S,T,C=t(()=>(s||(s=Ea(Pe(e),r)),s),"getSolTransfer"),g=t(()=>(p||(p=Da(De(e),r)),p),"getStake"),l=t(()=>(S||(S=Ne(e,r)),S),"getTransaction"),i=t(()=>(T||(T=Fa(Ke(e),r)),T),"getWsol");function a(c){let b=_a(c),P=o.get(b);if(P)return P.scoped;let f=ke(e,c),m=Ha(f,r,c.commitment);return o.set(b,{baseCommitment:c.commitment,scoped:m}),m}return t(a,"getSplTokenHelper"),Object.freeze({get solTransfer(){return C()},splToken:a,get stake(){return g()},get transaction(){return l()},get wsol(){return i()},prepareTransaction:t(c=>ne({...c,rpc:e.rpc}),"prepareTransactionWithRuntime")})}t(Et,"createClientHelpers");function za(){return {status:"idle"}}t(za,"createClusterStatus");function ce(e){let{commitment:n,endpoint:r,websocketEndpoint:o}=e,s=Date.now();return fe({accounts:{},cluster:{commitment:n,endpoint:r,status:za(),websocketEndpoint:o},lastUpdatedAt:s,subscriptions:{account:{},signature:{}},transactions:{},wallet:{status:"disconnected"}})}t(ce,"createInitialClientState");function le(e){return createStore(()=>e)}t(le,"createClientStore");function Va(e){return le(ce(e))}t(Va,"createDefaultClientStore");function Ht({logger:e,runtime:n,store:r}){let o=e??Z();function s(a,u,c){r.setState(b=>({...b,lastUpdatedAt:L(),subscriptions:{...b.subscriptions,[a]:{...b.subscriptions[a],[u]:c}}}));}t(s,"setSubscriptionStatus");function p(a,u){s(a,u,{status:"inactive"});}t(p,"onAbort");function S(a,u,c){function b(){c.abort(),p(a,u);}return t(b,"abort"),{abort:b}}t(S,"createSubscriptionHandle");async function T(a,u,c){let b=a.commitment??r.getState().cluster.commitment,P=n.rpcSubscriptions.accountNotifications(a.address,{commitment:b}),f=a.address.toString();s("account",f,{status:"activating"}),c.signal.addEventListener("abort",()=>p("account",f));try{let m=await P.subscribe({abortSignal:c.signal});s("account",f,{status:"active"});for await(let h of m){let d=h.value?.lamports??null,y=h.value?.executable??null,w=h.value?.owner??null,W=h.context?.slot??null,k={address:a.address,data:h.value?.data,error:void 0,executable:y,fetching:!1,lamports:d,lastFetchedAt:L(),owner:w,slot:W};u(k),r.setState(A=>({...A,accounts:{...A.accounts,[f]:k},lastUpdatedAt:L()}));}}catch(m){c.signal.aborted||(o({data:{address:f,...B(m)},level:"error",message:"account subscription failed"}),s("account",f,{error:m,status:"error"}));}}t(T,"handleAccountNotifications");function C(a,u){let c=new AbortController;return T(a,u,c).catch(b=>{c.signal.aborted||o({data:{address:a.address.toString(),...B(b)},level:"error",message:"account watcher error"});}),S("account",a.address.toString(),c)}t(C,"watchAccount");function g(a,u){return C(a,c=>{c.lamports!==null&&u(c.lamports);})}t(g,"watchBalance");async function l(a,u,c){let b=a.commitment??r.getState().cluster.commitment,P=n.rpcSubscriptions.signatureNotifications(a.signature,{commitment:b,enableReceivedNotification:a.enableReceivedNotification}),f=a.signature.toString();s("signature",f,{status:"activating"}),c.signal.addEventListener("abort",()=>p("signature",f));try{let m=await P.subscribe({abortSignal:c.signal});s("signature",f,{status:"active"});for await(let h of m)u(h),r.setState(d=>({...d,lastUpdatedAt:L(),transactions:{...d.transactions,[f]:{lastUpdatedAt:L(),signature:a.signature,status:"waiting"}}}));}catch(m){c.signal.aborted||(o({data:{signature:f,...B(m)},level:"error",message:"signature subscription failed"}),s("signature",f,{error:m,status:"error"}));}}t(l,"handleSignatureNotifications");function i(a,u){let c=new AbortController;return l(a,u,c).catch(b=>{c.signal.aborted||o({data:{signature:a.signature.toString(),...B(b)},level:"error",message:"signature watcher error"});}),S("signature",a.signature.toString(),c)}return t(i,"watchSignature"),{watchAccount:C,watchBalance:g,watchSignature:i}}t(Ht,"createWatchers");function $e(e){let n=e.initialState?Se(e,e.initialState):e,r=ee({endpoint:n.rpc??n.endpoint,moniker:n.cluster,websocketEndpoint:n.websocket??n.websocketEndpoint}),o=n.commitment??"confirmed",s=ce({commitment:o,endpoint:r.endpoint,websocketEndpoint:r.websocketEndpoint}),p=e.createStore?e.createStore(s):le(s),S=n.rpcClient??Q({commitment:o,endpoint:r.endpoint,websocketEndpoint:r.websocketEndpoint}),T={rpc:S.rpc,rpcSubscriptions:S.rpcSubscriptions},C=ye(n.walletConnectors??[]),g=Z(n.logger),l=at({connectors:C,logger:g,runtime:T,store:p}),i=Ht({logger:g,runtime:T,store:p}),a=Et(T,p);p.setState(c=>({...c,cluster:{...c.cluster,status:{status:"connecting"}},lastUpdatedAt:L()})),l.setCluster(r.endpoint,{commitment:o,websocketEndpoint:r.websocketEndpoint}).catch(c=>g({data:B(c),level:"error",message:"initial cluster setup failed"}));function u(){p.setState(()=>s);}return t(u,"destroy"),{actions:l,config:e,connectors:C,destroy:u,get helpers(){return a},runtime:T,store:p,get solTransfer(){return a.solTransfer},get SolTransfer(){return a.solTransfer},splToken:a.splToken,SplToken:a.splToken,SplHelper:a.splToken,get stake(){return a.stake},get transaction(){return a.transaction},get wsol(){return a.wsol},prepareTransaction:a.prepareTransaction,watchers:i}}t($e,"createClient");var Qa=getBase58Decoder(),eo=getTransactionDecoder(),Ft=getTransactionEncoder();function to(e){return `wallet-standard:${e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-")}`}t(to,"deriveConnectorId");function no(e){let n=e[0];if(!n)throw new Error("Wallet returned no accounts.");return n}t(no,"getPrimaryAccount");function ro(e){if(e==="processed"||e==="confirmed"||e==="finalized")return e}t(ro,"mapCommitment");function Je(e){return {address:address(e.address),label:e.label,publicKey:new Uint8Array(e.publicKey)}}t(Je,"toSessionAccount");function _t(e){let[n]=e.chains??[];return n}t(_t,"getChain");async function Nt(e){let n=e.features[StandardDisconnect];n&&await n.disconnect();}t(Nt,"disconnectWallet");function re(e,n={}){let r={canAutoConnect:n.canAutoConnect??!!e.features[StandardConnect],icon:n.icon??e.icon,id:n.id??to(e),kind:n.kind??"wallet-standard",name:n.name??e.name,ready:typeof window<"u"};async function o(S={}){let T=e.features[StandardConnect],C=e.features[StandardEvents],g=!!S.autoConnect,l=S.allowInteractiveFallback??true,i=e.accounts;if(T){let k=t(async A=>T.connect({silent:A}),"connectWithMode");try{let{accounts:A}=await k(g);A.length&&(i=A);}catch(A){if(!g||!l)throw A;let{accounts:x}=await k(false);x.length&&(i=x);}}let a=no(i),u=Je(a),c=e.features[SolanaSignMessage],b=e.features[SolanaSignTransaction],P=e.features[SolanaSignAndSendTransaction],f=n.defaultChain??_t(a),m=c?async k=>{let[A]=await c.signMessage({account:a,message:k});return A.signature}:void 0,h=b?async k=>{let A=new Uint8Array(Ft.encode(k)),x=f?{account:a,chain:f,transaction:A}:{account:a,transaction:A},[v]=await b.signTransaction(x);return eo.decode(v.signedTransaction)}:void 0,d=P?async(k,A)=>{let x=new Uint8Array(Ft.encode(k)),v=n.defaultChain??_t(a)??"solana:mainnet-beta",[me]=await P.signAndSendTransaction({account:a,chain:v,options:{commitment:ro(A?.commitment)},transaction:x});return Qa.decode(me.signature)}:void 0;async function y(){w?.(),await Nt(e);}t(y,"disconnectSession");let w,W=C?k=>C.on("change",({accounts:x})=>{if(x){if(!x.length){k([]);return}a=x[0],u=Je(a),k(x.map(Je));}}):void 0;return {account:u,connector:r,disconnect:y,onAccountsChanged:W?k=>(w=W(k),()=>{w?.(),w=void 0;}):void 0,sendTransaction:d,signMessage:m,signTransaction:h}}t(o,"connect");async function s(){await Nt(e);}t(s,"disconnect");function p(){return typeof window<"u"}return t(p,"isSupported"),{...r,connect:o,disconnect:s,isSupported:p}}t(re,"createWalletStandardConnector");function Vt(e,n){return re(e,n?.(e))}t(Vt,"mapWalletToConnector");function ao(e={}){let{get:n}=getWallets(),r=n().map(s=>Vt(s,e.overrides)),o=new Set;return r.filter(s=>o.has(s.id)?false:(o.add(s.id),true))}t(ao,"getWalletStandardConnectors");function oo(e,n={}){let{get:r,on:o}=getWallets(),s=t(()=>{let T=r().map(l=>Vt(l,n.overrides)),C=new Set,g=T.filter(l=>C.has(l.id)?false:(C.add(l.id),true));e(g);},"emit");s();let p=o("register",s),S=o("unregister",s);return ()=>{p(),S();}}t(oo,"watchWalletStandardConnectors");function $(e={}){let{get:n}=getWallets(),o=n().filter(p=>e.filter?e.filter(p):true).map(p=>re(p,e.overrides?.(p))),s=new Set;return o.filter(p=>s.has(p.id)?false:(s.add(p.id),true))}t($,"autoDiscover");function so(e){return {canAutoConnect:true,id:"wallet-standard:injected",kind:"wallet-standard",name:"Injected Wallet",ready:typeof window<"u",async connect(){let o=getWallets().get().find(s=>StandardConnect in s.features);if(!o)throw new Error("No Wallet Standard wallets available.");return re(o,e).connect()},async disconnect(){},isSupported(){return typeof window<"u"}}}t(so,"injected");function pe(e){let n=e.toLowerCase();return r=>r.name.toLowerCase().includes(n)}t(pe,"filterByName");function co(...e){let n=e.map(r=>r.toLowerCase());return r=>n.some(o=>r.name.toLowerCase().includes(o))}t(co,"filterByNames");function Ge(e){return $({filter:pe("phantom"),overrides:t(()=>({...e,id:"wallet-standard:phantom"}),"overrides")})}t(Ge,"phantom");function Ze(e){return $({filter:pe("solflare"),overrides:t(()=>({...e,id:"wallet-standard:solflare"}),"overrides")})}t(Ze,"solflare");function Ye(e){return $({filter:pe("backpack"),overrides:t(()=>({...e,id:"wallet-standard:backpack"}),"overrides")})}t(Ye,"backpack");function lo(e){return $({filter:pe("metamask"),overrides:t(()=>({...e,id:"wallet-standard:metamask"}),"overrides")})}t(lo,"metamask");function qt(){return [...Ge(),...Ze(),...Ye(),...$()]}t(qt,"defaultWalletConnectors");function ue(e){if(!e)return;let n=e.trim();return n.length?n:void 0}t(ue,"normalizeUrl");function Kt(e={}){let{cluster:n,endpoint:r,rpc:o,websocket:s,websocketEndpoint:p,walletConnectors:S,...T}=e,C=ue(o)??ue(r)??ue(e.endpoint),g=ee({endpoint:C,moniker:n??void 0,websocketEndpoint:ue(s??p)}),l=S===void 0||S==="default"?qt():S;return {...T,endpoint:g.endpoint,websocketEndpoint:g.websocketEndpoint,walletConnectors:l}}t(Kt,"resolveClientConfig");function po(e={}){return $e(Kt(e))}t(po,"createDefaultClient");function I(){return {status:"idle"}}t(I,"createInitialAsyncState");function O(e,n={}){return {data:n.data,error:n.error,status:e}}t(O,"createAsyncState");function uo(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before sending SOL transfers.");return {...e,authority:r}}t(uo,"ensureAuthority");function mo(e){let n=new Set,r=e.helper,o=e.authorityProvider,s=I();function p(){for(let l of n)l();}t(p,"notify");function S(l){s=l,p();}t(S,"setState");async function T(l,i){let a=uo(l,o);S(O("loading"));try{let u=await r.sendTransfer(a,i);return S(O("success",{data:u})),u}catch(u){throw S(O("error",{error:u})),u}}t(T,"send");function C(l){return n.add(l),()=>{n.delete(l);}}t(C,"subscribe");function g(){S(I());}return t(g,"reset"),{getHelper:t(()=>r,"getHelper"),getState:t(()=>s,"getState"),reset:g,send:T,subscribe:C}}t(mo,"createSolTransferController");function fo(e,n,r){let o=e.authority??n?.();if(!o)throw new Error("Connect a wallet or supply an `authority` before sending SPL tokens.");let s=e.sourceOwner??r?.();if(!s)throw new Error("Unable to resolve a source owner for the SPL token transfer.");return {...e,authority:o,sourceOwner:s}}t(fo,"ensureTransferConfig");function go(e){let n=e.helper,r=e.authorityProvider,o=e.sourceOwnerProvider,s=new Set,p=I();function S(){for(let i of s)i();}t(S,"notify");function T(i){p=i,S();}t(T,"setState");async function C(i,a){let u=fo(i,i.authority?void 0:r,i.sourceOwner?void 0:o);T(O("loading"));try{let c=await n.sendTransfer(u,a);return T(O("success",{data:c})),c}catch(c){throw T(O("error",{error:c})),c}}t(C,"send");function g(i){return s.add(i),()=>{s.delete(i);}}t(g,"subscribe");function l(){T(I());}return t(l,"reset"),{getHelper:t(()=>n,"getHelper"),getState:t(()=>p,"getState"),reset:l,send:C,subscribe:g}}t(go,"createSplTransferController");function So(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before staking SOL.");return {...e,authority:r}}t(So,"ensureAuthority");function yo(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before unstaking SOL.");return {...e,authority:r}}t(yo,"ensureUnstakeAuthority");function To(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before withdrawing SOL.");return {...e,authority:r}}t(To,"ensureWithdrawAuthority");function ho(e){let n=new Set,r=new Set,o=new Set,s=e.helper,p=e.authorityProvider,S=I(),T=I(),C=I();function g(){for(let k of n)k();}t(g,"notify");function l(){for(let k of r)k();}t(l,"notifyUnstake");function i(){for(let k of o)k();}t(i,"notifyWithdraw");function a(k){S=k,g();}t(a,"setState");function u(k){T=k,l();}t(u,"setUnstakeState");function c(k){C=k,i();}t(c,"setWithdrawState");async function b(k,A){let x=So(k,p);a(O("loading"));try{let v=await s.sendStake(x,A);return a(O("success",{data:v})),v}catch(v){throw a(O("error",{error:v})),v}}t(b,"stake");async function P(k,A){let x=yo(k,p);u(O("loading"));try{let v=await s.sendUnstake(x,A);return u(O("success",{data:v})),v}catch(v){throw u(O("error",{error:v})),v}}t(P,"unstake");async function f(k,A){let x=To(k,p);c(O("loading"));try{let v=await s.sendWithdraw(x,A);return c(O("success",{data:v})),v}catch(v){throw c(O("error",{error:v})),v}}t(f,"withdraw");function m(k){return n.add(k),()=>{n.delete(k);}}t(m,"subscribe");function h(k){return r.add(k),()=>{r.delete(k);}}t(h,"subscribeUnstake");function d(k){return o.add(k),()=>{o.delete(k);}}t(d,"subscribeWithdraw");function y(){a(I());}t(y,"reset");function w(){u(I());}t(w,"resetUnstake");function W(){c(I());}return t(W,"resetWithdraw"),{getHelper:t(()=>s,"getHelper"),getState:t(()=>S,"getState"),getUnstakeState:t(()=>T,"getUnstakeState"),getWithdrawState:t(()=>C,"getWithdrawState"),reset:y,resetUnstake:w,resetWithdraw:W,stake:b,unstake:P,withdraw:f,subscribe:m,subscribeUnstake:h,subscribeWithdraw:d}}t(ho,"createStakeController");function $t(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before wrapping/unwrapping SOL.");return {...e,authority:r}}t($t,"ensureAuthority");function bo(e){let n=new Set,r=new Set,o=e.helper,s=e.authorityProvider,p=I(),S=I();function T(){for(let f of n)f();}t(T,"notifyWrap");function C(){for(let f of r)f();}t(C,"notifyUnwrap");function g(f){p=f,T();}t(g,"setWrapState");function l(f){S=f,C();}t(l,"setUnwrapState");async function i(f,m){let h=$t(f,s);g(O("loading"));try{let d=await o.sendWrap(h,m);return g(O("success",{data:d})),d}catch(d){throw g(O("error",{error:d})),d}}t(i,"wrap");async function a(f,m){let h=$t(f,s);l(O("loading"));try{let d=await o.sendUnwrap(h,m);return l(O("success",{data:d})),d}catch(d){throw l(O("error",{error:d})),d}}t(a,"unwrap");function u(f){return n.add(f),()=>{n.delete(f);}}t(u,"subscribeWrap");function c(f){return r.add(f),()=>{r.delete(f);}}t(c,"subscribeUnwrap");function b(){g(I());}t(b,"resetWrap");function P(){l(I());}return t(P,"resetUnwrap"),{getHelper:t(()=>o,"getHelper"),getWrapState:t(()=>p,"getWrapState"),getUnwrapState:t(()=>S,"getUnwrapState"),resetWrap:b,resetUnwrap:P,wrap:i,unwrap:a,subscribeWrap:u,subscribeUnwrap:c}}t(bo,"createWsolController");function Co(e){return e.toString()}t(Co,"bigintToJson");function wo(e){return q(e,"bigint")}t(wo,"bigintFromJson");function Po(e){return e.toString()}t(Po,"lamportsToJson");function ko(e){return we(e,"lamports")}t(ko,"lamportsFromJson");var Jt={processed:0,confirmed:1,finalized:2},Ro=2e4;function Wo(e){if(e)return typeof e=="string"?signature(e):e}t(Wo,"normalizeSignature");function xo(e){return e?e.confirmationStatus==="processed"||e.confirmationStatus==="confirmed"||e.confirmationStatus==="finalized"?e.confirmationStatus:e.confirmations===null?"finalized":typeof e.confirmations=="number"&&e.confirmations>0?"confirmed":"processed":null}t(xo,"deriveConfirmationStatus");function Lo(e,n){return e?Jt[e]>=Jt[n]:false}t(Lo,"confirmationMeetsCommitment");var Uo="MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr";function Mo(e){let n=e.findIndex(r=>r.programAddress!==Uo);if(e.length===0||n===-1)throw new SolanaError(SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR,{cause:"At least one non-memo instruction is required.",index:e.length||n});return n}t(Mo,"ensureNonMemoInstructionIndex");function Bo(e,n){return Gt([e],n)}t(Bo,"insertReferenceKey");function Gt(e,n){let r=Mo(n.instructions),o=n.instructions[r],s=[...o.accounts??[],...e.map(S=>({address:S,role:AccountRole.READONLY}))],p=[...n.instructions];return p.splice(r,1,{...o,accounts:s}),Object.freeze({...n,instructions:Object.freeze(p)})}t(Gt,"insertReferenceKeys");function de(e){let n=e,r=new Set;return {getSnapshot:t(()=>n,"getSnapshot"),setSnapshot(o){n=o;for(let s of r)s();},subscribe(o){return r.add(o),()=>{r.delete(o);}}}}t(de,"createStore");function Zt(e){return Object.freeze([...e])}t(Zt,"freezeInstructions");function Eo(e){let n=e.helper,r=Zt(e.initialInstructions??[]),o=e.blockhashMaxAgeMs??3e4,s,p=de(r),S=de(null),T=de(I()),C=de(I());function g(){S.setSnapshot(null),T.setSnapshot(I()),C.setSnapshot(I());}t(g,"resetDerivedState");function l(R){p.setSnapshot(Zt(R)),g();}t(l,"commitInstructions");function i(R){let U=[...p.getSnapshot(),R];l(U);}t(i,"addInstruction");function a(R){if(!R.length)return;let U=[...p.getSnapshot(),...R];l(U);}t(a,"addInstructions");function u(R){l(R);}t(u,"replaceInstructions");function c(){l([]);}t(c,"clearInstructions");function b(R){let U=p.getSnapshot();if(R<0||R>=U.length)return;let E=U.filter((_,M)=>M!==R);l(E);}t(b,"removeInstruction");function P(){l(r);}t(P,"reset");function f(R){if(!R.length)throw new Error("Add at least one instruction before preparing a transaction.")}t(f,"ensureInstructions");function m(){if(s&&!(Date.now()-s.updatedAt>o))return s.value}t(m,"resolveCachedLifetime");async function h(R={}){let{instructions:U,...E}=R,_=U??p.getSnapshot();f(_),T.setSnapshot(O("loading"));try{let M=E.lifetime??m(),J=M&&!E.lifetime?{...E,lifetime:M}:E,G=await n.prepare({...J,instructions:_});return S.setSnapshot(G),T.setSnapshot(O("success",{data:G})),G}catch(M){throw T.setSnapshot(O("error",{error:M})),M}}t(h,"prepare");function d(R){let U=R??S.getSnapshot();if(!U)throw new Error("Prepare a transaction before sending.");return U}t(d,"resolvePrepared");function y(R){if(R.lifetime)return R;let U=m();return U?{...R,lifetime:U}:R}t(y,"resolveLifetimeOptions");async function w(R={}){let{prepared:U,...E}=R,_=d(U);C.setSnapshot(O("loading"));try{let M=await n.send(_,E);return C.setSnapshot(O("success",{data:M})),M}catch(M){throw C.setSnapshot(O("error",{error:M})),M}}t(w,"send");async function W(R={},U){let{instructions:E,..._}=R,M=E??p.getSnapshot();f(M),C.setSnapshot(O("loading"));try{let J=y(_),G=await n.prepareAndSend({...J,instructions:M},U);return C.setSnapshot(O("success",{data:G})),G}catch(J){throw C.setSnapshot(O("error",{error:J})),J}}t(W,"prepareAndSend");function k(R={}){let{prepared:U,...E}=R,_=d(U);return n.sign(_,E)}t(k,"sign");function A(R={}){let{prepared:U,...E}=R,_=d(U);return n.toWire(_,E)}t(A,"toWire");function x(R){return p.subscribe(R)}t(x,"subscribeInstructions");function v(R){return S.subscribe(R)}t(v,"subscribePrepared");function me(R){return T.subscribe(R)}t(me,"subscribePrepareState");function Xt(R){return C.subscribe(R)}t(Xt,"subscribeSendState");function Qt(R){s=R;}return t(Qt,"setLatestBlockhashCache"),{addInstruction:i,addInstructions:a,clearInstructions:c,get helper(){return n},getInstructions:p.getSnapshot,getPrepareState:T.getSnapshot,getPrepared:S.getSnapshot,getSendState:C.getSnapshot,getLatestBlockhashCache:t(()=>s,"getLatestBlockhashCache"),prepare:h,prepareAndSend:W,removeInstruction:b,replaceInstructions:u,reset:P,send:w,setLatestBlockhashCache:Qt,sign:k,subscribeInstructions:x,subscribePrepareState:me,subscribePrepared:v,subscribeSendState:Xt,toWire:A}}t(Eo,"createTransactionPoolController");function Yt(e){return typeof e=="string"?address(e):e}t(Yt,"toAddress");function Do(e){return Yt(e).toString()}t(Do,"toAddressString");function Fo(e){return JSON.stringify(e,(r,o)=>typeof o=="bigint"?{__type:"bigint",value:o.toString()}:o instanceof Uint8Array?Array.from(o):o)??"undefined"}t(Fo,"stableStringify");
2
+ export{Nn as LAMPORTS_PER_SOL,Ro as SIGNATURE_STATUS_TIMEOUT_MS,je as WRAPPED_SOL_MINT,Ce as applyRatio,Se as applySerializableState,ae as assertDecimals,D as assertNonNegative,$ as autoDiscover,Ye as backpack,wo as bigintFromJson,Co as bigintToJson,he as checkedAdd,Bn as checkedDivide,Mn as checkedMultiply,be as checkedSubtract,Lo as confirmationMeetsCommitment,tn as connectWallet,O as createAsyncState,$e as createClient,le as createClientStore,po as createDefaultClient,Va as createDefaultClientStore,I as createInitialAsyncState,ce as createInitialClientState,Hn as createRatio,mo as createSolTransferController,Pe as createSolTransferHelper,Q as createSolanaRpcClient,ke as createSplTokenHelper,go as createSplTransferController,ho as createStakeController,De as createStakeHelper,te as createTokenAmount,Ne as createTransactionHelper,Eo as createTransactionPoolController,Rt as createTransactionRecipe,ye as createWalletRegistry,re as createWalletStandardConnector,bo as createWsolController,Ke as createWsolHelper,qt as defaultWalletConnectors,xo as deriveConfirmationStatus,bn as deserializeSolanaState,nn as disconnectWallet,rn as fetchAccount,an as fetchBalance,on as fetchLookupTable,sn as fetchLookupTables,cn as fetchNonceAccount,co as filterByNames,hn as getInitialSerializableState,ao as getWalletStandardConnectors,so as injected,Bo as insertReferenceKey,Gt as insertReferenceKeys,we as lamports,ko as lamportsFromJson,zn as lamportsFromSol,N as lamportsMath,Po as lamportsToJson,Vn as lamportsToSolString,lo as metamask,Wo as normalizeSignature,Ge as phantom,Te as pow10,ne as prepareTransaction,ln as requestAirdrop,Kt as resolveClientConfig,ee as resolveCluster,pn as sendTransaction,ge as serializeSolanaState,un as setCluster,Ze as solflare,Fo as stableStringify,Cn as subscribeSolanaState,Yt as toAddress,Do as toAddressString,q as toBigint,X as transactionToBase64,Nr as transactionToBase64WithSigners,oo as watchWalletStandardConnectors};//# sourceMappingURL=index.browser.mjs.map
3
3
  //# sourceMappingURL=index.browser.mjs.map
@@ -1,3 +1,3 @@
1
- import {address,createSolanaRpc,createSolanaRpcSubscriptions,getBase64EncodedWireTransaction,compileTransaction,partiallySignTransactionMessageWithSigners,appendTransactionMessageInstruction,setTransactionMessageLifetimeUsingBlockhash,isTransactionSendingSigner,getMessagePackerInstructionPlanFromInstructions,pipe,createTransactionMessage,setTransactionMessageFeePayerSigner,setTransactionMessageFeePayer,signature,AccountRole,singleTransactionPlan,signAndSendTransactionMessageWithSigners,createTransactionPlanExecutor,signTransactionMessageWithSigners,isSolanaError,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED,generateKeyPairSigner,appendTransactionMessageInstructions,createTransactionPlanner,signatureBytes,isTransactionPartialSigner,SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED,isInstructionForProgram,isInstructionWithData,SolanaError,SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR,isSome,airdropFactory}from'@solana/kit';import {createBlockHeightExceedencePromiseFactory,createRecentSignatureConfirmationPromiseFactory,waitForRecentTransactionConfirmation}from'@solana/transaction-confirmation';import {fetchAddressLookupTable,fetchAllAddressLookupTable}from'@solana-program/address-lookup-table';import {getTransferSolInstruction,getCreateAccountInstruction,fetchNonce}from'@solana-program/system';import {getBase58Decoder,getBase58Encoder}from'@solana/codecs-strings';import {TOKEN_PROGRAM_ADDRESS,fetchMint,findAssociatedTokenPda,getCreateAssociatedTokenInstruction,getTransferCheckedInstruction,getCreateAssociatedTokenIdempotentInstruction,getSyncNativeInstruction,getCloseAccountInstruction}from'@solana-program/token';import {getInitializeInstruction,getDelegateStakeInstruction,getDeactivateInstruction,getWithdrawInstruction}from'@solana-program/stake';import {getSetComputeUnitLimitInstruction,getSetComputeUnitPriceInstruction,COMPUTE_BUDGET_PROGRAM_ADDRESS,ComputeBudgetInstruction}from'@solana-program/compute-budget';import {createStore}from'zustand/vanilla';import {getWallets}from'@wallet-standard/app';import {StandardConnect,StandardEvents,StandardDisconnect}from'@wallet-standard/features';import {getTransactionDecoder,getTransactionEncoder}from'@solana/transactions';import {SolanaSignMessage,SolanaSignTransaction,SolanaSignAndSendTransaction}from'@solana/wallet-standard-features';var en=Object.defineProperty;var t=(e,n)=>en(e,"name",{value:n,configurable:true});function tn(e,n){return e.actions.connectWallet(n.connectorId,n.options)}t(tn,"connectWallet");function nn(e,n){return e.actions.disconnectWallet()}t(nn,"disconnectWallet");function rn(e,n){return e.actions.fetchAccount(n.address,n.commitment)}t(rn,"fetchAccount");function an(e,n){return e.actions.fetchBalance(n.address,n.commitment)}t(an,"fetchBalance");function on(e,n){return e.actions.fetchLookupTable(n.address,n.commitment)}t(on,"fetchLookupTable");function sn(e,n){return e.actions.fetchLookupTables(n.addresses,n.commitment)}t(sn,"fetchLookupTables");function cn(e,n){return e.actions.fetchNonceAccount(n.address,n.commitment)}t(cn,"fetchNonceAccount");function ln(e,n){return e.actions.requestAirdrop(n.address,n.lamports)}t(ln,"requestAirdrop");function pn(e,n){return e.actions.sendTransaction(n.transaction,n.commitment)}t(pn,"sendTransaction");function un(e,n){return e.actions.setCluster(n.endpoint,n.config)}t(un,"setCluster");function fe(e){if(typeof e!="object"||e===null)return e;let n=e;for(let r of Reflect.ownKeys(n)){let o=n[r];fe(o);}return Object.freeze(e)}t(fe,"deepFreeze");function L(){return Date.now()}t(L,"now");function Xe(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}t(Xe,"toErrorMessage");function Z(e){return e||(({data:n,level:r,message:o})=>{let s=n?{...n}:{};switch(r){case "error":console.error(`[react-core] ${o}`,s);break;case "warn":console.warn(`[react-core] ${o}`,s);break;case "info":console.info(`[react-core] ${o}`,s);break;default:console.debug(`[react-core] ${o}`,s);}})}t(Z,"createLogger");function B(e){return {error:e,message:Xe(e)}}t(B,"formatError");function yn(e){let n=new AbortController;if(!e)return n;if(e.aborted)return n.abort(e.reason),n;let r=t(()=>{n.abort(e.reason),e.removeEventListener("abort",r);},"onAbort");return e.addEventListener("abort",r,{once:true}),n}t(yn,"createChainedAbortController");function et(e){if(e!==void 0)return typeof e=="bigint"?e:BigInt(Math.floor(e))}t(et,"toBigint");var Tn=Object.freeze({encoding:"base64",replaceRecentBlockhash:true,sigVerify:false});function Q(e){let n=e.endpoint,r=e.websocketEndpoint??n,o=e.commitment??"confirmed",s=createSolanaRpc(n,e.rpcConfig),p=createSolanaRpcSubscriptions(r,e.rpcSubscriptionsConfig);async function S(C,g={}){let l=yn(g.abortSignal),i=g.commitment??o,a=getBase64EncodedWireTransaction(C),u=await s.sendTransaction(a,{encoding:"base64",maxRetries:et(g.maxRetries),minContextSlot:et(g.minContextSlot),preflightCommitment:i,skipPreflight:g.skipPreflight}).send({abortSignal:l.signal}),c=createBlockHeightExceedencePromiseFactory({rpc:s,rpcSubscriptions:p}),b=createRecentSignatureConfirmationPromiseFactory({rpc:s,rpcSubscriptions:p});return await waitForRecentTransactionConfirmation({abortSignal:l.signal,commitment:i,getBlockHeightExceedencePromise:c,getRecentSignatureConfirmationPromise:b,transaction:C}),u}t(S,"sendAndConfirmTransaction");async function T(C,g={}){let l=getBase64EncodedWireTransaction(C),i=g.config??{},a={...Tn,...i,commitment:i.commitment??g.commitment??o},u=a.sigVerify===true&&a.replaceRecentBlockhash!==false?{...a,replaceRecentBlockhash:false}:a;return s.simulateTransaction(l,u).send({abortSignal:g.abortSignal})}return t(T,"simulateTransaction"),{commitment:o,endpoint:n,rpc:s,rpcSubscriptions:p,sendAndConfirmTransaction:S,simulateTransaction:T,websocketEndpoint:r}}t(Q,"createSolanaRpcClient");function hn(e){return {autoconnect:false,commitment:e.commitment,endpoint:e.endpoint,lastConnectorId:null,lastPublicKey:null,version:1,websocketEndpoint:e.websocketEndpoint}}t(hn,"getInitialSerializableState");function Se(e,n){return n?{...e,commitment:n.commitment??e.commitment,endpoint:n.endpoint??e.endpoint,websocketEndpoint:n.websocketEndpoint??e.websocketEndpoint}:e}t(Se,"applySerializableState");function ge(e){return JSON.stringify(e)}t(ge,"serializeSolanaState");function bn(e){if(!e)return null;try{let n=JSON.parse(e);if(typeof n!="object"||n===null)return null;let r=n;return {autoconnect:r.autoconnect??!1,commitment:r.commitment,endpoint:r.endpoint,lastConnectorId:r.lastConnectorId??null,lastPublicKey:r.lastPublicKey??null,version:r.version??1,websocketEndpoint:r.websocketEndpoint}}catch{return null}}t(bn,"deserializeSolanaState");function tt(e){let n=e.store.getState(),r=n.wallet,o=r.autoConnect,s=null,p=null;return "connectorId"in r&&(s=r.connectorId??null,r.status==="connected"&&(p=r.session.account.address.toString())),{autoconnect:o??!!s,commitment:n.cluster.commitment,endpoint:n.cluster.endpoint,lastConnectorId:s,lastPublicKey:p,version:1,websocketEndpoint:n.cluster.websocketEndpoint}}t(tt,"getSerializableStateSnapshot");function Cn(e,n){let r=ge(tt(e));return n(JSON.parse(r)),e.store.subscribe(()=>{let s=tt(e),p=ge(s);p!==r&&(r=p,n(s));})}t(Cn,"subscribeSolanaState");function nt(e){return e.startsWith("http://")||e.startsWith("https://")||e.startsWith("ws://")||e.startsWith("wss://")?e:`https://${e}`}t(nt,"ensureHttpProtocol");var wn={devnet:{endpoint:"https://api.devnet.solana.com",websocketEndpoint:"wss://api.devnet.solana.com"},localhost:{endpoint:"http://127.0.0.1:8899",websocketEndpoint:"ws://127.0.0.1:8900"},localnet:{endpoint:"http://127.0.0.1:8899",websocketEndpoint:"ws://127.0.0.1:8900"},"mainnet-beta":{endpoint:"https://api.mainnet-beta.solana.com",websocketEndpoint:"wss://api.mainnet-beta.solana.com"},mainnet:{endpoint:"https://api.mainnet-beta.solana.com",websocketEndpoint:"wss://api.mainnet-beta.solana.com"},testnet:{endpoint:"https://api.testnet.solana.com",websocketEndpoint:"wss://api.testnet.solana.com"}};function Pn(e){return e.startsWith("https://")?e.replace("https://","wss://"):e.startsWith("http://")?e.replace("http://","ws://"):(e.startsWith("ws://")||e.startsWith("wss://"),e)}t(Pn,"inferWebsocketEndpoint");function ee(e){let n=e.moniker??(e.endpoint?"custom":"devnet"),r=n==="custom"?void 0:wn[n],o=nt(e.endpoint??r?.endpoint),s=e.websocketEndpoint?nt(e.websocketEndpoint):void 0,p=Pn(s??r?.websocketEndpoint??o);return {endpoint:o,moniker:n,websocketEndpoint:p}}t(ee,"resolveCluster");function ye(e){let n=new Map;for(let r of e)n.has(r.id)||n.set(r.id,r);return {all:[...n.values()],get(r){return n.get(r)}}}t(ye,"createWalletRegistry");function In(e,n){e.setState(r=>({...r,...n,lastUpdatedAt:L()}));}t(In,"updateState");function at({connectors:e,logger:n,runtime:r,store:o}){let s=n??Z(),p;function S(m){return m??o.getState().cluster.commitment}t(S,"getCommitment");async function T(m,h){try{let d=L();return await r.rpc.getLatestBlockhash({commitment:h}).send({abortSignal:AbortSignal.timeout(1e4)}),L()-d}catch(d){s({data:{endpoint:m,...B(d)},level:"warn",message:"cluster warmup failed"});return}}t(T,"warmupCluster");async function C(m,h){let d=h?.commitment??o.getState().cluster.commitment,y=h?.websocketEndpoint??m;o.setState(w=>({...w,cluster:{commitment:d,endpoint:m,status:{status:"connecting"},websocketEndpoint:y},lastUpdatedAt:L()}));try{let w=Q({commitment:d,endpoint:m,websocketEndpoint:y});r.rpc=w.rpc,r.rpcSubscriptions=w.rpcSubscriptions;let W=await T(m,d);o.setState(k=>({...k,cluster:{commitment:d,endpoint:m,status:{latencyMs:W,status:"ready"},websocketEndpoint:y},lastUpdatedAt:L()}));}catch(w){throw o.setState(W=>({...W,cluster:{commitment:d,endpoint:m,status:{error:w,status:"error"},websocketEndpoint:y},lastUpdatedAt:L()})),s({data:{endpoint:m,...B(w)},level:"error",message:"cluster setup failed"}),w}}t(C,"setCluster");async function g(m,h={}){p?.(),p=void 0;let d=e.get(m);if(!d)throw new Error(`No wallet connector registered for id "${m}".`);if(!d.isSupported())throw new Error(`Wallet connector "${m}" is not supported in this environment.`);let y=h.autoConnect??false;o.setState(w=>({...w,lastUpdatedAt:L(),wallet:{autoConnect:y,connectorId:m,status:"connecting"}}));try{let w=await d.connect(h);return o.setState(W=>({...W,lastUpdatedAt:L(),wallet:{autoConnect:y,connectorId:m,session:w,status:"connected"}})),w.onAccountsChanged&&(p=w.onAccountsChanged(W=>{W.length===0&&(p?.(),p=void 0,l());})),s({data:{address:w.account.address.toString(),connectorId:m},level:"info",message:"wallet connected"}),w}catch(w){throw o.setState(W=>({...W,lastUpdatedAt:L(),wallet:{autoConnect:y,connectorId:m,error:w,status:"error"}})),s({data:{connectorId:m,...B(w)},level:"error",message:"wallet connection failed"}),w}}t(g,"connectWallet");async function l(){let m=o.getState().wallet;if(m.status!=="disconnected"){p?.(),p=void 0;try{if(m.status==="connected"){await m.session.disconnect();let h=e.get(m.connectorId);h&&await h.disconnect();}else if(m.status==="connecting"){let h=e.get(m.connectorId);h&&await h.disconnect();}}finally{In(o,{wallet:{status:"disconnected"}});}}}t(l,"disconnectWallet");async function i(m,h){let d=m.toString();o.setState(y=>({...y,accounts:{...y.accounts,[d]:{address:m,data:y.accounts[d]?.data,error:void 0,executable:y.accounts[d]?.executable??null,fetching:true,lamports:y.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:y.accounts[d]?.owner??null,slot:y.accounts[d]?.slot??null}},lastUpdatedAt:L()}));try{let y=await r.rpc.getBalance(m,{commitment:S(h)}).send({abortSignal:AbortSignal.timeout(1e4)}),w=y.value;return o.setState(W=>({...W,accounts:{...W.accounts,[d]:{address:m,data:W.accounts[d]?.data,error:void 0,executable:W.accounts[d]?.executable??null,fetching:!1,lamports:w,lastFetchedAt:L(),owner:W.accounts[d]?.owner??null,slot:y.context.slot}},lastUpdatedAt:L()})),w}catch(y){throw o.setState(w=>({...w,accounts:{...w.accounts,[d]:{address:m,data:w.accounts[d]?.data,error:y,executable:w.accounts[d]?.executable??null,fetching:false,lamports:w.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:w.accounts[d]?.owner??null,slot:w.accounts[d]?.slot??null}},lastUpdatedAt:L()})),s({data:{address:d,...B(y)},level:"error",message:"balance fetch failed"}),y}}t(i,"fetchBalance");async function a(m,h){let d=m.toString();o.setState(y=>({...y,accounts:{...y.accounts,[d]:{address:m,data:y.accounts[d]?.data,error:void 0,executable:y.accounts[d]?.executable??null,fetching:true,lamports:y.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:y.accounts[d]?.owner??null,slot:y.accounts[d]?.slot??null}},lastUpdatedAt:L()}));try{let y=await r.rpc.getAccountInfo(m,{commitment:S(h),encoding:"base64"}).send({abortSignal:AbortSignal.timeout(1e4)}),w=y.value,W=w?.lamports??null,k=w?.executable??null,A=w?.owner??null;return o.setState(x=>({...x,accounts:{...x.accounts,[d]:{address:m,data:w,error:void 0,executable:k,fetching:!1,lamports:W,lastFetchedAt:L(),owner:A,slot:y.context.slot}},lastUpdatedAt:L()})),o.getState().accounts[d]}catch(y){throw o.setState(w=>({...w,accounts:{...w.accounts,[d]:{address:m,data:w.accounts[d]?.data,error:y,executable:w.accounts[d]?.executable??null,fetching:false,lamports:w.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:w.accounts[d]?.owner??null,slot:w.accounts[d]?.slot??null}},lastUpdatedAt:L()})),s({data:{address:d,...B(y)},level:"error",message:"account fetch failed"}),y}}t(a,"fetchAccount");async function u(m,h){let d=await fetchAddressLookupTable(r.rpc,m,{commitment:S(h)}),{addresses:y,authority:w,deactivationSlot:W,lastExtendedSlot:k,lastExtendedSlotStartIndex:A}=d.data;return {addresses:y,authority:isSome(w)?w.value:void 0,deactivationSlot:W,lastExtendedSlot:k,lastExtendedSlotStartIndex:A}}t(u,"fetchLookupTable");async function c(m,h){return m.length===0?[]:(await fetchAllAddressLookupTable(r.rpc,m,{commitment:S(h)})).map(({data:y})=>({addresses:y.addresses,authority:isSome(y.authority)?y.authority.value:void 0,deactivationSlot:y.deactivationSlot,lastExtendedSlot:y.lastExtendedSlot,lastExtendedSlotStartIndex:y.lastExtendedSlotStartIndex}))}t(c,"fetchLookupTables");async function b(m,h){let d=await fetchNonce(r.rpc,m,{commitment:S(h)});return {authority:d.data.authority,blockhash:d.data.blockhash}}t(b,"fetchNonceAccount");async function P(m,h){let d=S(h),y=new AbortController,w=await r.rpc.sendTransaction(getBase64EncodedWireTransaction(m),{encoding:"base64",preflightCommitment:d}).send({abortSignal:y.signal}),W=w.toString();o.setState(x=>({...x,lastUpdatedAt:L(),transactions:{...x.transactions,[W]:{lastUpdatedAt:L(),signature:w,status:"sending"}}}));let k=createBlockHeightExceedencePromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions}),A=createRecentSignatureConfirmationPromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions});try{return await waitForRecentTransactionConfirmation({abortSignal:y.signal,commitment:d,getBlockHeightExceedencePromise:k,getRecentSignatureConfirmationPromise:A,transaction:m}),o.setState(x=>({...x,lastUpdatedAt:L(),transactions:{...x.transactions,[W]:{lastUpdatedAt:L(),signature:w,status:"confirmed"}}})),w}catch(x){throw o.setState(v=>({...v,lastUpdatedAt:L(),transactions:{...v.transactions,[W]:{error:x,lastUpdatedAt:L(),signature:w,status:"failed"}}})),s({data:{signature:W,...B(x)},level:"error",message:"transaction failed to confirm"}),x}}t(P,"sendTransaction");async function f(m,h){try{let y=await airdropFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions})({commitment:S("confirmed"),lamports:h,recipientAddress:m});return s({data:{address:m.toString(),lamports:h.toString(),signature:y},level:"info",message:"airdrop requested"}),y}catch(d){throw s({data:{address:m.toString(),lamports:h.toString(),...B(d)},level:"error",message:"airdrop request failed"}),d}}return t(f,"requestAirdrop"),{connectWallet:g,disconnectWallet:l,fetchAccount:a,fetchBalance:i,fetchLookupTable:u,fetchLookupTables:c,fetchNonceAccount:b,requestAirdrop:f,sendTransaction:P,setCluster:C}}t(at,"createActions");var Un=10n;function Te(e){return ae(e,"exponent"),Un**BigInt(e)}t(Te,"pow10");function D(e,n="value"){if(e<0n)throw new RangeError(`${n} must be non-negative`)}t(D,"assertNonNegative");function ae(e,n="decimals"){if(!Number.isInteger(e)||e<0||e>38)throw new RangeError(`${n} must be an integer between 0 and 38`)}t(ae,"assertDecimals");function q(e,n="value"){if(typeof e=="bigint")return e;if(typeof e=="number"){if(!Number.isFinite(e)||!Number.isInteger(e))throw new RangeError(`${n} must be a finite integer when provided as a number`);if(!Number.isSafeInteger(e))throw new RangeError(`${n} must be within the safe integer range when provided as a number`);return BigInt(e)}let r=e.trim(),o=/^[-+]?\d+$/.exec(r);if(!o)throw new SyntaxError(`${n} must be an integer string`);return BigInt(o[0])}t(q,"toBigint");function he(e,n,r="result"){let o=e+n;return D(o,r),o}t(he,"checkedAdd");function be(e,n,r="result"){let o=e-n;return D(o,r),o}t(be,"checkedSubtract");function Mn(e,n,r="result"){let o=e*n;return D(o,r),o}t(Mn,"checkedMultiply");function Bn(e,n,r="result"){if(n===0n)throw new RangeError("divisor must be non-zero");let o=e/n;return D(o,r),o}t(Bn,"checkedDivide");function En(e,n,r){if(n<=0n)throw new RangeError("divisor must be positive");let o=e/n,s=e%n;if(s===0n)return o;switch(r){case "ceil":return o+1n;case "round":return s*2n>=n?o+1n:o;default:return o}}t(En,"divideWithRounding");function Hn(e,n){let r=q(e,"numerator"),o=q(n,"denominator");if(o<=0n)throw new RangeError("denominator must be positive");return D(r,"numerator"),Object.freeze({denominator:o,numerator:r})}t(Hn,"createRatio");function Ce(e,n,r={}){D(e,"amount");let o=e*n.numerator,s=r.rounding??"floor";return En(o,n.denominator,s)}t(Ce,"applyRatio");var Dn=/^\d+(?:\.\d+)?$/;function Fn(e,n,r){if(!Number.isFinite(e))throw new RangeError(`${r} must be a finite number`);if(Number.isInteger(e))return e.toString(10);let o=e.toString(10);if(o.includes("e")||o.includes("E"))throw new RangeError(`${r} cannot use exponential notation; provide a string instead`);let s=o.split(".");if(s[1]&&s[1].length>n+6)throw new RangeError(`${r} exceeds safe precision; provide a string instead`);return o}t(Fn,"normalizeNumberInput");function ot(e,n,r,o){let s=o.label??"value",p=o.rounding??"floor",S=e.replace(/_/g,"").trim();if(S==="")throw new SyntaxError(`${s} must not be empty`);if(!Dn.test(S))throw new SyntaxError(`${s} must be a non-negative decimal string`);let[T,C]=S.split("."),g=T||"0";D(BigInt(g),s);let l=BigInt(g)*r,i=C??"";if(n===0){if(i.length===0)return l;let c=/[1-9]/.test(i);return p==="ceil"&&c||p==="round"&&i[0]!==void 0&&i[0]>="5"?l+1n:l}let a=i.slice(0,n).padEnd(n,"0"),u=a===""?0n:BigInt(a);if(l+=u,i.length>n){let c=i.slice(n),b=/[1-9]/.test(c);if(p==="ceil"&&b)l+=1n;else if(p==="round"){let P=c[0];P!==void 0&&P>="5"&&(l+=1n);}}return l}t(ot,"decimalToBaseUnits");function _n(e,n,r,o){D(e,"amount");let s=o.minimumFractionDigits??0;if(s<0||s>n)throw new RangeError("minimumFractionDigits must be between 0 and the token decimals");let p=o.trimTrailingZeros??true;if(n===0)return e.toString();let S=e/r,T=(e%r).toString().padStart(n,"0");return p&&(T=T.replace(/0+$/,"")),T.length<s&&(T=T.padEnd(s,"0")),T.length===0?S.toString():`${S.toString()}.${T}`}t(_n,"formatBaseUnits");function te(e){ae(e,"decimals");let n=Te(e);function r(l,i){let a=q(l,i??"amount");return D(a,i??"amount"),a}t(r,"fromBaseUnits");function o(l,i={}){let a=i.label??"value";if(typeof l=="number"){if(Number.isInteger(l)){if(!Number.isSafeInteger(l))throw new RangeError(`${a} must be within the safe integer range when provided as a number`);return r(BigInt(l)*n,a)}if(e===0)throw new RangeError(`${a} cannot include fractional digits for a token with 0 decimals`);let u=Fn(l,e,a);return ot(u,e,n,i)}return ot(l,e,n,i)}t(o,"fromDecimal");function s(l,i={}){return _n(r(l),e,n,i)}t(s,"toDecimalString");function p(l,i){return he(r(l),r(i))}t(p,"add");function S(l,i){return be(r(l),r(i))}t(S,"subtract");function T(l,i,a){return Ce(r(l),i,a)}t(T,"multiplyByRatio");function C(l){return r(l)===0n}t(C,"isZero");function g(l,i){let a=r(l),u=r(i);return a>u?1:a<u?-1:0}return t(g,"compare"),Object.freeze({add:p,compare:g,decimals:e,fromBaseUnits:r,fromDecimal:o,isZero:C,multiplyByRatio:T,scale:n,subtract:S,toDecimalString:s})}t(te,"createTokenAmount");var F=te(9),Nn=F.scale,N=Object.freeze({add(e,n){return F.add(e,n)},compare(e,n){return F.compare(e,n)},decimals:F.decimals,fromLamports(e,n){return F.fromBaseUnits(e,n)},fromSol(e,n){return F.fromDecimal(e,n)},isZero(e){return F.isZero(e)},multiplyByRatio(e,n,r){return F.multiplyByRatio(e,n,r)},raw:F,scale:F.scale,subtract(e,n){return F.subtract(e,n)},toSolString(e,n){return F.toDecimalString(e,n)}});function we(e,n){return N.fromLamports(e,n)}t(we,"lamports");function zn(e,n){return N.fromSol(e,n)}t(zn,"lamportsFromSol");function Vn(e,n){return N.toSolString(e,n)}t(Vn,"lamportsToSolString");function z(e){return typeof e!="object"||e===null?false:"account"in e&&"connector"in e&&"disconnect"in e}t(z,"isWalletSession");function V(e,n={}){let{commitment:r}=n,o=e.account.address;if(e.signTransaction){let s=e.signTransaction.bind(e);return {mode:"partial",signer:Object.freeze({address:o,async modifyAndSignTransactions(S){let T=[];for(let C of S){let g=C,l=await s(g);if(!l.signatures[o])throw new Error("Wallet did not populate the expected fee payer signature.");let a=Object.freeze({...g,messageBytes:l.messageBytes,signatures:Object.freeze({...g.signatures,...l.signatures})});T.push(a);}return Object.freeze(T)},async signTransactions(S){let T=await this.modifyAndSignTransactions(S);return Object.freeze(T.map(C=>{let g=C.signatures[o];if(!g)throw new Error("Expected signer to produce a signature for the provided address.");return Object.freeze({[o]:g})}))}})}}if(e.sendTransaction){let s=getBase58Encoder(),p=e.sendTransaction.bind(e);return {mode:"send",signer:Object.freeze({address:o,async signAndSendTransactions(T){let C=[];for(let g of T){let l=await p(g,r?{commitment:r}:void 0),i=s.encode(l);C.push(signatureBytes(i));}return C}})}}throw new Error("Wallet session does not support signing or sending transactions.")}t(V,"createWalletTransactionSigner");function j(e){return isTransactionPartialSigner(e)?"partial":isTransactionSendingSigner(e)?"send":"partial"}t(j,"resolveSignerMode");function sr(e){return typeof e=="string"?address(e):e}t(sr,"ensureAddress");async function cr(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(cr,"resolveLifetime");function lr(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(lr,"resolveSigner");function pr(e){return N.fromLamports(e)}t(pr,"toLamportAmount");function Pe(e){async function n(s){let p=s.commitment,S=await cr(e,p,s.lifetime),{signer:T,mode:C}=lr(s.authority,p),g=sr(s.destination),l=pr(s.amount),i=pipe(createTransactionMessage({version:s.transactionVersion??0}),a=>setTransactionMessageFeePayer(T.address,a),a=>setTransactionMessageLifetimeUsingBlockhash(S,a),a=>appendTransactionMessageInstruction(getTransferSolInstruction({amount:l,destination:g,source:T}),a));return {commitment:p,lifetime:S,message:i,mode:C,signer:T,plan:singleTransactionPlan(i)}}t(n,"prepareTransfer");async function r(s,p={}){if(s.mode==="send"&&isTransactionSendingSigner(s.signer)){let l=await signAndSendTransactionMessageWithSigners(s.message,{abortSignal:p.abortSignal,minContextSlot:p.minContextSlot}),i=getBase58Decoder();return signature(i.decode(l))}let S=p.commitment??s.commitment,T=p.maxRetries===void 0?void 0:typeof p.maxRetries=="bigint"?p.maxRetries:BigInt(p.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(l,i={}){let a=await signTransactionMessageWithSigners(l,{abortSignal:i.abortSignal??p.abortSignal,minContextSlot:p.minContextSlot}),u=getBase64EncodedWireTransaction(a),c=await e.rpc.sendTransaction(u,{encoding:"base64",maxRetries:T,preflightCommitment:S,skipPreflight:p.skipPreflight}).send({abortSignal:i.abortSignal??p.abortSignal});return C=signature(c),{transaction:a}}})(s.plan??singleTransactionPlan(s.message),{abortSignal:p.abortSignal}),!C)throw new Error("Failed to resolve transaction signature.");return C}t(r,"sendPreparedTransfer");async function o(s,p){let S=await n(s);return await r(S,p)}return t(o,"sendTransfer"),{prepareTransfer:n,sendPreparedTransfer:r,sendTransfer:o}}t(Pe,"createSolTransferHelper");function K(e,n){if(e)return typeof e=="string"?address(e):e;if(!n)throw new Error("An address value was expected but not provided.");return n}t(K,"ensureAddress");async function Lr(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(Lr,"resolveLifetime");function Or(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(Or,"resolveSigner");function ke(e,n){let r=K(n.mint),o=K(n.tokenProgram,address(TOKEN_PROGRAM_ADDRESS)),s=n.decimals,p;async function S(u){return s!==void 0||(s=(await fetchMint(e.rpc,r,{commitment:u})).data.decimals),s}t(S,"resolveDecimals");async function T(u){if(p)return p;let c=await S(u);return p=te(c),p}t(T,"getTokenMath");async function C(u){let[c]=await findAssociatedTokenPda({mint:r,owner:K(u),tokenProgram:o});return c}t(C,"deriveAssociatedTokenAddress");async function g(u,c){let b=await C(u),P=await S(c);try{let{value:f}=await e.rpc.getTokenAccountBalance(b,{commitment:c}).send(),h=(await T(c)).fromBaseUnits(f.amount,"balance"),d=f.uiAmountString??f.amount;return {amount:h,ataAddress:b,decimals:P,exists:!0,uiAmount:d}}catch{return {amount:0n,ataAddress:b,decimals:P,exists:false,uiAmount:"0"}}}t(g,"fetchBalance");async function l(u){let c=u.commitment,b=await Lr(e,c,u.lifetime),{signer:P,mode:f}=Or(u.authority,c),m=K(u.sourceOwner,P.address),h=K(u.destinationOwner),d=K(u.sourceToken,await C(m)),y=K(u.destinationToken,await C(h)),w=await T(c),W=await S(c),k=u.amountInBaseUnits?w.fromBaseUnits(u.amount,"amount"):w.fromDecimal(u.amount,{label:"amount"}),A=[];if(u.ensureDestinationAta??true){let{value:v}=await e.rpc.getAccountInfo(y,{commitment:c,dataSlice:{length:0,offset:0},encoding:"base64"}).send();v||A.push(getCreateAssociatedTokenInstruction({ata:y,mint:r,owner:h,payer:P,tokenProgram:o}));}A.push(getTransferCheckedInstruction({amount:k,authority:P,decimals:W,destination:y,mint:r,source:d}));let x=pipe(createTransactionMessage({version:u.transactionVersion??0}),v=>setTransactionMessageFeePayer(P.address,v),v=>setTransactionMessageLifetimeUsingBlockhash(b,v));for(let v of A)x=appendTransactionMessageInstruction(v,x);return {amount:k,commitment:c,decimals:W,destinationAta:y,lifetime:b,message:x,mode:f,signer:P,sourceAta:d,plan:singleTransactionPlan(x)}}t(l,"prepareTransfer");async function i(u,c={}){if(u.mode==="send"&&isTransactionSendingSigner(u.signer)){let h=await signAndSendTransactionMessageWithSigners(u.message,{abortSignal:c.abortSignal,minContextSlot:c.minContextSlot}),d=getBase58Decoder();return signature(d.decode(h))}let b=c.commitment??u.commitment,P=c.maxRetries===void 0?void 0:typeof c.maxRetries=="bigint"?c.maxRetries:BigInt(c.maxRetries),f=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(h,d={}){let y=await signTransactionMessageWithSigners(h,{abortSignal:d.abortSignal??c.abortSignal,minContextSlot:c.minContextSlot}),w=getBase64EncodedWireTransaction(y),W=await e.rpc.sendTransaction(w,{encoding:"base64",maxRetries:P,preflightCommitment:b,skipPreflight:c.skipPreflight}).send({abortSignal:d.abortSignal??c.abortSignal});return f=signature(W),{transaction:y}}})(u.plan??singleTransactionPlan(u.message),{abortSignal:c.abortSignal}),!f)throw new Error("Failed to resolve transaction signature.");return f}t(i,"sendPreparedTransfer");async function a(u,c){let b=await l(u);try{return await i(b,c)}catch(P){if(isSolanaError(P,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let f=await l({...u,lifetime:void 0});return await i(f,c)}throw P}}return t(a,"sendTransfer"),{deriveAssociatedTokenAddress:C,fetchBalance:g,prepareTransfer:l,sendPreparedTransfer:i,sendTransfer:a}}t(ke,"createSplTokenHelper");var ut="Stake11111111111111111111111111111111111111",dt="SysvarC1ock11111111111111111111111111111111",mt="SysvarStakeHistory1111111111111111111111111",Dr="StakeConfig11111111111111111111111111111111",ft=200;function ie(e){return typeof e=="string"?address(e):e}t(ie,"ensureAddress");async function Ee(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(Ee,"resolveLifetime");function He(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(He,"resolveSigner");function gt(e){return N.fromLamports(e)}t(gt,"toLamportAmount");function De(e){async function n(i){let a=i.commitment,u=await Ee(e,a,i.lifetime),{signer:c,mode:b}=He(i.authority,a),P=ie(i.validatorId),f=gt(i.amount),h=await e.rpc.getMinimumBalanceForRentExemption(BigInt(ft)).send()+f,d=await generateKeyPairSigner(),y=getCreateAccountInstruction({payer:c,newAccount:d,lamports:h,space:BigInt(ft),programAddress:ut}),w=getInitializeInstruction({stake:d.address,arg0:{staker:c.address,withdrawer:c.address},arg1:{unixTimestamp:0n,epoch:0n,custodian:c.address}}),W=getDelegateStakeInstruction({stake:d.address,vote:P,stakeHistory:mt,unused:Dr,stakeAuthority:c}),k=pipe(createTransactionMessage({version:i.transactionVersion??0}),A=>setTransactionMessageFeePayer(c.address,A),A=>setTransactionMessageLifetimeUsingBlockhash(u,A),A=>appendTransactionMessageInstructions([y,w,W],A));return {commitment:a,lifetime:u,message:k,mode:b,signer:c,stakeAccount:d,plan:singleTransactionPlan(k)}}t(n,"prepareStake");async function r(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan??singleTransactionPlan(i.message),{abortSignal:a.abortSignal}),!b)throw new Error("Failed to resolve transaction signature.");return b}t(r,"sendPreparedStake");async function o(i,a){let u=await n(i);return await r(u,a)}t(o,"sendStake");async function s(i){let a=i.commitment,u=await Ee(e,a,i.lifetime),{signer:c,mode:b}=He(i.authority,a),P=ie(i.stakeAccount),f=getDeactivateInstruction({stake:P,clockSysvar:dt,stakeAuthority:c}),m=pipe(createTransactionMessage({version:i.transactionVersion??0}),h=>setTransactionMessageFeePayer(c.address,h),h=>setTransactionMessageLifetimeUsingBlockhash(u,h),h=>appendTransactionMessageInstructions([f],h));return {commitment:a,lifetime:u,message:m,mode:b,signer:c,plan:singleTransactionPlan(m)}}t(s,"prepareUnstake");async function p(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan),!b)throw new Error("Failed to resolve transaction signature.");return b}t(p,"sendPreparedUnstake");async function S(i,a){let u=await s(i);return await p(u,a)}t(S,"sendUnstake");async function T(i){let a=i.commitment,u=await Ee(e,a,i.lifetime),{signer:c,mode:b}=He(i.authority,a),P=ie(i.stakeAccount),f=ie(i.destination),m=gt(i.amount),h=getWithdrawInstruction({stake:P,recipient:f,clockSysvar:dt,stakeHistory:mt,withdrawAuthority:c,args:m}),d=pipe(createTransactionMessage({version:i.transactionVersion??0}),y=>setTransactionMessageFeePayer(c.address,y),y=>setTransactionMessageLifetimeUsingBlockhash(u,y),y=>appendTransactionMessageInstructions([h],y));return {commitment:a,lifetime:u,message:d,mode:b,signer:c,plan:singleTransactionPlan(d)}}t(T,"prepareWithdraw");async function C(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan),!b)throw new Error("Failed to resolve transaction signature.");return b}t(C,"sendPreparedWithdraw");async function g(i,a){let u=await T(i);return await C(u,a)}t(g,"sendWithdraw");async function l(i,a){let u=typeof i=="string"?i:String(i),c=await e.rpc.getProgramAccounts(ut,{encoding:"jsonParsed",filters:[{memcmp:{offset:44n,bytes:u,encoding:"base58"}}]}).send();if(!a)return c;let b=typeof a=="string"?a:String(a);return c.filter(P=>{let f=P.account?.data;return f&&"parsed"in f?f.parsed?.info?.stake?.delegation?.voter===b:false})}return t(l,"getStakeAccounts"),{getStakeAccounts:l,prepareStake:n,prepareUnstake:s,prepareWithdraw:T,sendPreparedStake:r,sendPreparedUnstake:p,sendPreparedWithdraw:C,sendStake:o,sendUnstake:S,sendWithdraw:g}}t(De,"createStakeHelper");function X(e){return "messageBytes"in e?getBase64EncodedWireTransaction(e):getBase64EncodedWireTransaction(compileTransaction(e))}t(X,"transactionToBase64");async function Nr(e){if("messageBytes"in e)return X(e);let n=await partiallySignTransactionMessageWithSigners(e);return X(n)}t(Nr,"transactionToBase64WithSigners");var Kr=1.1,Tt=2e5,bt=14e5;function $r(e){return e.programAddress===COMPUTE_BUDGET_PROGRAM_ADDRESS&&e.data?.[0]===2}t($r,"isComputeUnitLimitInstruction");function Jr(e){let n=e;for(;isSolanaError(n);){if(isSolanaError(n,SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED))return true;n=n.cause;}return false}t(Jr,"didExceedComputeBudget");async function Gr(e,n){let r=n;if(!(n.lifetimeConstraint!==void 0)){let p=await e.getLatestBlockhash().send();r=setTransactionMessageLifetimeUsingBlockhash(p.value,n);}let s=X(r);try{let{value:p}=await e.simulateTransaction(s,{encoding:"base64",replaceRecentBlockhash:!1,sigVerify:!1}).send();return Number(p.unitsConsumed??0)||0}catch(p){if(Jr(p))return bt;throw p}}t(Gr,"estimateComputeUnits");async function ne(e){let n=e.computeUnitLimitMultiplier??Kr,r=e.blockhashReset!==false,o=e.computeUnitLimitReset??false,s=e.transaction,p=s.instructions.findIndex($r);if(p===-1||o){let T=await Gr(e.rpc,s),C=T?Math.ceil(T*n):Tt,g=Math.min(bt,Math.max(Tt,Math.max(1,C))),l=getSetComputeUnitLimitInstruction({units:g});if(p===-1)s=appendTransactionMessageInstruction(l,s);else {let i=[...s.instructions];i.splice(p,1,l),s=Object.freeze({...s,instructions:Object.freeze(i)});}}let S=s.lifetimeConstraint!==void 0;if(r||!S){let T=await e.rpc.getLatestBlockhash().send();S?r&&(s=Object.freeze({...s,lifetimeConstraint:T.value})):s=setTransactionMessageLifetimeUsingBlockhash(T.value,s),S=true;}return e.logRequest&&e.logRequest({base64WireTransaction:X(s)}),s}t(ne,"prepareTransaction");function ua(e){return typeof e=="string"?address(e):e}t(ua,"toAddress");function da(e){return e.some(n=>isInstructionForProgram(n,COMPUTE_BUDGET_PROGRAM_ADDRESS)&&isInstructionWithData(n)&&n.data[0]===ComputeBudgetInstruction.SetComputeUnitLimit)}t(da,"hasSetComputeUnitLimitInstruction");function ma(e){return e.some(n=>isInstructionForProgram(n,COMPUTE_BUDGET_PROGRAM_ADDRESS)&&isInstructionWithData(n)&&n.data[0]===ComputeBudgetInstruction.SetComputeUnitPrice)}t(ma,"hasSetComputeUnitPriceInstruction");function fa(e){return !!("addressTableLookup"in e&&e.addressTableLookup!=null||"addressTableLookups"in e&&Array.isArray(e.addressTableLookups)&&e.addressTableLookups.length>0)}t(fa,"instructionUsesAddressLookup");function ga(e,n){return e&&e!=="auto"?e:n.some(fa)?0:"legacy"}t(ga,"resolveVersion");function Sa(e,n){return e.commitment??n()}t(Sa,"normaliseCommitment");function ya(e,n){if(!e&&!n)throw new Error("A fee payer must be provided via `feePayer` or `authority`.");if(e&&typeof e=="object"&&"address"in e)return {address:e.address,signer:e};if(e){let o=ua(e);return n&&n.address===o?{address:o,signer:n}:{address:o}}if(!n)throw new Error("Unable to resolve authority signer for the fee payer.");return {address:n.address,signer:n}}t(ya,"resolveFeePayerAddress");function Ta(e,n){let r=e.computeUnitLimit;if(!(r===void 0||da(n)))return typeof r=="bigint"?r:BigInt(Math.floor(r))}t(Ta,"resolveComputeUnitLimit");function ha(e,n){if(!(e.computeUnitPrice===void 0||ma(n)))return typeof e.computeUnitPrice=="bigint"?e.computeUnitPrice:BigInt(Math.floor(e.computeUnitPrice))}t(ha,"resolveComputeUnitPrice");async function Rt(e,n){if(!e.instructions.length)throw new Error("Add at least one instruction before preparing a transaction.");let{getFallbackCommitment:r,runtime:o}=n;e.abortSignal?.throwIfAborted();let s=Sa(e,r),p,S="partial";if(e.authority)if(z(e.authority)){let{signer:f,mode:m}=V(e.authority,{commitment:s});p=f,S=m;}else p=e.authority,S=j(p);let{address:T,signer:C}=ya(e.feePayer,p);S==="send"&&(!C||!isTransactionSendingSigner(C))&&(S="partial");let g=[...e.instructions],l=ga(e.version,g),i=e.lifetime??(await o.rpc.getLatestBlockhash({commitment:s}).send({abortSignal:e.abortSignal})).value;e.abortSignal?.throwIfAborted();let a=Ta(e,g),u=ha(e,g),c=[];a!==void 0&&c.push(getSetComputeUnitLimitInstruction({units:Number(a)})),u!==void 0&&c.push(getSetComputeUnitPriceInstruction({microLamports:Number(u)}));let b=[...c,...g];return Object.freeze({commitment:s,computeUnitLimit:a,computeUnitPrice:u,createTransactionMessage:t(async()=>pipe(createTransactionMessage({version:l}),f=>C?setTransactionMessageFeePayerSigner(C,f):setTransactionMessageFeePayer(T,f),f=>setTransactionMessageLifetimeUsingBlockhash(i,f)),"createMessage"),feePayer:T,instructionPlan:getMessagePackerInstructionPlanFromInstructions(b),instructions:Object.freeze(g),lifetime:i,mode:S,version:l})}t(Rt,"createTransactionRecipe");function ba(e){if(e.kind!=="single")throw new Error("Transaction recipe produced a multi-transaction plan which is not supported.");return e}t(ba,"assertSingleTransactionPlan");function Ne(e,n){async function r(g){let l=await Rt(g,{getFallbackCommitment:n,runtime:e}),a=await createTransactionPlanner({createTransactionMessage:l.createTransactionMessage})(l.instructionPlan,{abortSignal:g.abortSignal}),u=ba(a);return Object.freeze({commitment:l.commitment,computeUnitLimit:l.computeUnitLimit,computeUnitPrice:l.computeUnitPrice,feePayer:l.feePayer,instructions:l.instructions,lifetime:l.lifetime,message:u.message,mode:l.mode,plan:a,version:l.version})}t(r,"prepare");async function o(g,l={}){return await signTransactionMessageWithSigners(g.message,{abortSignal:l.abortSignal,minContextSlot:l.minContextSlot})}t(o,"sign");async function s(g,l={}){let i=await o(g,l);return getBase64EncodedWireTransaction(i)}t(s,"toWire");async function p(g,l={}){return !g.plan||g.mode==="send"?S(g,l):T(g,l)}t(p,"send");async function S(g,l){let i=l.commitment??g.commitment;if(g.mode==="send"){let P=await signAndSendTransactionMessageWithSigners(g.message,{abortSignal:l.abortSignal,minContextSlot:l.minContextSlot}),f=getBase58Decoder();return signature(f.decode(P))}let a=await o(g,{abortSignal:l.abortSignal,minContextSlot:l.minContextSlot}),u=getBase64EncodedWireTransaction(a),c=l.maxRetries===void 0?void 0:typeof l.maxRetries=="bigint"?l.maxRetries:BigInt(l.maxRetries),b=await e.rpc.sendTransaction(u,{encoding:"base64",maxRetries:c,preflightCommitment:i,skipPreflight:l.skipPreflight}).send({abortSignal:l.abortSignal});return signature(b)}t(S,"sendDirect");async function T(g,l){if(!g.plan)return S(g,l);let i=l.commitment??g.commitment,a=l.maxRetries===void 0?void 0:typeof l.maxRetries=="bigint"?l.maxRetries:BigInt(l.maxRetries),u=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,P={}){let f=await signTransactionMessageWithSigners(b,{abortSignal:P.abortSignal??l.abortSignal,minContextSlot:l.minContextSlot}),m=getBase64EncodedWireTransaction(f),h=await e.rpc.sendTransaction(m,{encoding:"base64",maxRetries:a,preflightCommitment:i,skipPreflight:l.skipPreflight}).send({abortSignal:P.abortSignal??l.abortSignal});return u=signature(h),{transaction:f}}})(g.plan,{abortSignal:l.abortSignal}),!u)throw new Error("Failed to resolve transaction signature.");return u}t(T,"sendWithExecutor");async function C(g,l={}){let{prepareTransaction:i,...a}=g,u=await r(a);if(i===false)return p(u,l);let c=i??{},b=await ne({blockhashReset:c.blockhashReset??false,...c,rpc:e.rpc,transaction:u.message}),P=Object.freeze({...u,message:b,plan:singleTransactionPlan(b)});return p(P,l)}return t(C,"prepareAndSend"),Object.freeze({prepare:r,sign:o,toWire:s,send:p,prepareAndSend:C})}t(Ne,"createTransactionHelper");var je=address("So11111111111111111111111111111111111111112");function Ve(e,n){if(e)return typeof e=="string"?address(e):e;if(!n)throw new Error("An address value was expected but not provided.");return n}t(Ve,"ensureAddress");async function Mt(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(Mt,"resolveLifetime");function Bt(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(Bt,"resolveSigner");function Ba(e){return N.fromLamports(e)}t(Ba,"toLamportAmount");function Ke(e){let n=address(TOKEN_PROGRAM_ADDRESS);async function r(i){let[a]=await findAssociatedTokenPda({mint:je,owner:Ve(i),tokenProgram:n});return a}t(r,"deriveWsolAddress");async function o(i,a){let u=await r(i);try{let{value:c}=await e.rpc.getTokenAccountBalance(u,{commitment:a}).send();return {amount:BigInt(c.amount),ataAddress:u,exists:!0}}catch{return {amount:0n,ataAddress:u,exists:false}}}t(o,"fetchWsolBalance");async function s(i){let a=i.commitment,u=await Mt(e,a,i.lifetime),{signer:c,mode:b}=Bt(i.authority,a),P=Ve(i.owner,c.address),f=Ba(i.amount),m=await r(P),h=[getCreateAssociatedTokenIdempotentInstruction({ata:m,mint:je,owner:P,payer:c,tokenProgram:n}),getTransferSolInstruction({amount:f,destination:m,source:c}),getSyncNativeInstruction({account:m})],d=pipe(createTransactionMessage({version:i.transactionVersion??0}),y=>setTransactionMessageFeePayer(c.address,y),y=>setTransactionMessageLifetimeUsingBlockhash(u,y),y=>appendTransactionMessageInstructions(h,y));return {amount:f,ataAddress:m,commitment:a,lifetime:u,message:d,mode:b,owner:P,plan:singleTransactionPlan(d),signer:c}}t(s,"prepareWrap");async function p(i){let a=i.commitment,u=await Mt(e,a,i.lifetime),{signer:c,mode:b}=Bt(i.authority,a),P=Ve(i.owner,c.address),f=await r(P),m=getCloseAccountInstruction({account:f,destination:P,owner:c}),h=pipe(createTransactionMessage({version:i.transactionVersion??0}),d=>setTransactionMessageFeePayer(c.address,d),d=>setTransactionMessageLifetimeUsingBlockhash(u,d),d=>appendTransactionMessageInstruction(m,d));return {ataAddress:f,commitment:a,lifetime:u,message:h,mode:b,owner:P,plan:singleTransactionPlan(h),signer:c}}t(p,"prepareUnwrap");async function S(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan??singleTransactionPlan(i.message),{abortSignal:a.abortSignal}),!b)throw new Error("Failed to resolve transaction signature.");return b}t(S,"sendPreparedTransaction");async function T(i,a){return S(i,a)}t(T,"sendPreparedWrap");async function C(i,a){return S(i,a)}t(C,"sendPreparedUnwrap");async function g(i,a){let u=await s(i);try{return await T(u,a)}catch(c){if(isSolanaError(c,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let b=await s({...i,lifetime:void 0});return await T(b,a)}throw c}}t(g,"sendWrap");async function l(i,a){let u=await p(i);try{return await C(u,a)}catch(c){if(isSolanaError(c,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let b=await p({...i,lifetime:void 0});return await C(b,a)}throw c}}return t(l,"sendUnwrap"),{deriveWsolAddress:r,fetchWsolBalance:o,prepareUnwrap:p,prepareWrap:s,sendPreparedUnwrap:C,sendPreparedWrap:T,sendUnwrap:l,sendWrap:g}}t(Ke,"createWsolHelper");function H(e,n,r){if(e.commitment!==void 0)return e;let o=r??n();return {...e,commitment:o}}t(H,"withDefaultCommitment");function Ea(e,n){return {prepareTransfer:t(r=>e.prepareTransfer(H(r,n)),"prepareTransfer"),sendPreparedTransfer:e.sendPreparedTransfer,sendTransfer:t((r,o)=>e.sendTransfer(H(r,n),o),"sendTransfer")}}t(Ea,"wrapSolTransferHelper");function Ha(e,n,r){let o=t(s=>s??r??n(),"resolveCommitment");return {deriveAssociatedTokenAddress:e.deriveAssociatedTokenAddress,fetchBalance:t((s,p)=>e.fetchBalance(s,o(p)),"fetchBalance"),prepareTransfer:t(s=>e.prepareTransfer(H(s,n,r)),"prepareTransfer"),sendPreparedTransfer:e.sendPreparedTransfer,sendTransfer:t((s,p)=>e.sendTransfer(H(s,n,r),p),"sendTransfer")}}t(Ha,"wrapSplTokenHelper");function Da(e,n){return {getStakeAccounts:e.getStakeAccounts,prepareStake:t(r=>e.prepareStake(H(r,n)),"prepareStake"),prepareUnstake:t(r=>e.prepareUnstake(H(r,n)),"prepareUnstake"),prepareWithdraw:t(r=>e.prepareWithdraw(H(r,n)),"prepareWithdraw"),sendPreparedStake:e.sendPreparedStake,sendPreparedUnstake:e.sendPreparedUnstake,sendPreparedWithdraw:e.sendPreparedWithdraw,sendStake:t((r,o)=>e.sendStake(H(r,n),o),"sendStake"),sendUnstake:t((r,o)=>e.sendUnstake(H(r,n),o),"sendUnstake"),sendWithdraw:t((r,o)=>e.sendWithdraw(H(r,n),o),"sendWithdraw")}}t(Da,"wrapStakeHelper");function Fa(e,n){return {deriveWsolAddress:e.deriveWsolAddress,fetchWsolBalance:t((r,o)=>e.fetchWsolBalance(r,o??n()),"fetchWsolBalance"),prepareWrap:t(r=>e.prepareWrap(H(r,n)),"prepareWrap"),prepareUnwrap:t(r=>e.prepareUnwrap(H(r,n)),"prepareUnwrap"),sendPreparedWrap:e.sendPreparedWrap,sendPreparedUnwrap:e.sendPreparedUnwrap,sendWrap:t((r,o)=>e.sendWrap(H(r,n),o),"sendWrap"),sendUnwrap:t((r,o)=>e.sendUnwrap(H(r,n),o),"sendUnwrap")}}t(Fa,"wrapWsolHelper");function se(e){if(e!=null)return typeof e=="string"?e:typeof e=="object"&&"toString"in e?String(e.toString()):JSON.stringify(e)}t(se,"normaliseConfigValue");function _a(e){return JSON.stringify({associatedTokenProgram:se(e.associatedTokenProgram),commitment:se(e.commitment),decimals:e.decimals,mint:se(e.mint),tokenProgram:se(e.tokenProgram)})}t(_a,"serialiseSplConfig");function Et(e,n){let r=t(()=>n.getState().cluster.commitment,"getFallbackCommitment"),o=new Map,s,p,S,T,C=t(()=>(s||(s=Ea(Pe(e),r)),s),"getSolTransfer"),g=t(()=>(p||(p=Da(De(e),r)),p),"getStake"),l=t(()=>(S||(S=Ne(e,r)),S),"getTransaction"),i=t(()=>(T||(T=Fa(Ke(e),r)),T),"getWsol");function a(c){let b=_a(c),P=o.get(b);if(P)return P.scoped;let f=ke(e,c),m=Ha(f,r,c.commitment);return o.set(b,{baseCommitment:c.commitment,scoped:m}),m}return t(a,"getSplTokenHelper"),Object.freeze({get solTransfer(){return C()},splToken:a,get stake(){return g()},get transaction(){return l()},get wsol(){return i()},prepareTransaction:t(c=>ne({...c,rpc:e.rpc}),"prepareTransactionWithRuntime")})}t(Et,"createClientHelpers");function za(){return {status:"idle"}}t(za,"createClusterStatus");function ce(e){let{commitment:n,endpoint:r,websocketEndpoint:o}=e,s=Date.now();return fe({accounts:{},cluster:{commitment:n,endpoint:r,status:za(),websocketEndpoint:o},lastUpdatedAt:s,subscriptions:{account:{},signature:{}},transactions:{},wallet:{status:"disconnected"}})}t(ce,"createInitialClientState");function le(e){return createStore(()=>e)}t(le,"createClientStore");function Va(e){return le(ce(e))}t(Va,"createDefaultClientStore");function Ht({logger:e,runtime:n,store:r}){let o=e??Z();function s(a,u,c){r.setState(b=>({...b,lastUpdatedAt:L(),subscriptions:{...b.subscriptions,[a]:{...b.subscriptions[a],[u]:c}}}));}t(s,"setSubscriptionStatus");function p(a,u){s(a,u,{status:"inactive"});}t(p,"onAbort");function S(a,u,c){function b(){c.abort(),p(a,u);}return t(b,"abort"),{abort:b}}t(S,"createSubscriptionHandle");async function T(a,u,c){let b=a.commitment??r.getState().cluster.commitment,P=n.rpcSubscriptions.accountNotifications(a.address,{commitment:b}),f=a.address.toString();s("account",f,{status:"activating"}),c.signal.addEventListener("abort",()=>p("account",f));try{let m=await P.subscribe({abortSignal:c.signal});s("account",f,{status:"active"});for await(let h of m){let d=h.value?.lamports??null,y=h.value?.executable??null,w=h.value?.owner??null,W=h.context?.slot??null,k={address:a.address,data:h.value?.data,error:void 0,executable:y,fetching:!1,lamports:d,lastFetchedAt:L(),owner:w,slot:W};u(k),r.setState(A=>({...A,accounts:{...A.accounts,[f]:k},lastUpdatedAt:L()}));}}catch(m){c.signal.aborted||(o({data:{address:f,...B(m)},level:"error",message:"account subscription failed"}),s("account",f,{error:m,status:"error"}));}}t(T,"handleAccountNotifications");function C(a,u){let c=new AbortController;return T(a,u,c).catch(b=>{c.signal.aborted||o({data:{address:a.address.toString(),...B(b)},level:"error",message:"account watcher error"});}),S("account",a.address.toString(),c)}t(C,"watchAccount");function g(a,u){return C(a,c=>{c.lamports!==null&&u(c.lamports);})}t(g,"watchBalance");async function l(a,u,c){let b=a.commitment??r.getState().cluster.commitment,P=n.rpcSubscriptions.signatureNotifications(a.signature,{commitment:b,enableReceivedNotification:a.enableReceivedNotification}),f=a.signature.toString();s("signature",f,{status:"activating"}),c.signal.addEventListener("abort",()=>p("signature",f));try{let m=await P.subscribe({abortSignal:c.signal});s("signature",f,{status:"active"});for await(let h of m)u(h),r.setState(d=>({...d,lastUpdatedAt:L(),transactions:{...d.transactions,[f]:{lastUpdatedAt:L(),signature:a.signature,status:"waiting"}}}));}catch(m){c.signal.aborted||(o({data:{signature:f,...B(m)},level:"error",message:"signature subscription failed"}),s("signature",f,{error:m,status:"error"}));}}t(l,"handleSignatureNotifications");function i(a,u){let c=new AbortController;return l(a,u,c).catch(b=>{c.signal.aborted||o({data:{signature:a.signature.toString(),...B(b)},level:"error",message:"signature watcher error"});}),S("signature",a.signature.toString(),c)}return t(i,"watchSignature"),{watchAccount:C,watchBalance:g,watchSignature:i}}t(Ht,"createWatchers");function $e(e){let n=e.initialState?Se(e,e.initialState):e,r=ee({endpoint:n.rpc??n.endpoint,moniker:n.cluster,websocketEndpoint:n.websocket??n.websocketEndpoint}),o=n.commitment??"confirmed",s=ce({commitment:o,endpoint:r.endpoint,websocketEndpoint:r.websocketEndpoint}),p=e.createStore?e.createStore(s):le(s),S=n.rpcClient??Q({commitment:o,endpoint:r.endpoint,websocketEndpoint:r.websocketEndpoint}),T={rpc:S.rpc,rpcSubscriptions:S.rpcSubscriptions},C=ye(n.walletConnectors??[]),g=Z(n.logger),l=at({connectors:C,logger:g,runtime:T,store:p}),i=Ht({logger:g,runtime:T,store:p}),a=Et(T,p);p.setState(c=>({...c,cluster:{...c.cluster,status:{status:"connecting"}},lastUpdatedAt:L()})),l.setCluster(r.endpoint,{commitment:o,websocketEndpoint:r.websocketEndpoint}).catch(c=>g({data:B(c),level:"error",message:"initial cluster setup failed"}));function u(){p.setState(()=>s);}return t(u,"destroy"),{actions:l,config:e,connectors:C,destroy:u,get helpers(){return a},runtime:T,store:p,get solTransfer(){return a.solTransfer},get SolTransfer(){return a.solTransfer},splToken:a.splToken,SplToken:a.splToken,SplHelper:a.splToken,get stake(){return a.stake},get transaction(){return a.transaction},get wsol(){return a.wsol},prepareTransaction:a.prepareTransaction,watchers:i}}t($e,"createClient");var Qa=getBase58Decoder(),eo=getTransactionDecoder(),Ft=getTransactionEncoder();function to(e){return `wallet-standard:${e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-")}`}t(to,"deriveConnectorId");function no(e){let n=e[0];if(!n)throw new Error("Wallet returned no accounts.");return n}t(no,"getPrimaryAccount");function ro(e){if(e==="processed"||e==="confirmed"||e==="finalized")return e}t(ro,"mapCommitment");function Je(e){return {address:address(e.address),label:e.label,publicKey:new Uint8Array(e.publicKey)}}t(Je,"toSessionAccount");function _t(e){let[n]=e.chains??[];return n}t(_t,"getChain");async function Nt(e){let n=e.features[StandardDisconnect];n&&await n.disconnect();}t(Nt,"disconnectWallet");function re(e,n={}){let r={canAutoConnect:n.canAutoConnect??!!e.features[StandardConnect],icon:n.icon??e.icon,id:n.id??to(e),kind:n.kind??"wallet-standard",name:n.name??e.name,ready:typeof window<"u"};async function o(S={}){let T=e.features[StandardConnect],C=e.features[StandardEvents],g=!!S.autoConnect,l=S.allowInteractiveFallback??true,i=e.accounts;if(T){let k=t(async A=>T.connect({silent:A}),"connectWithMode");try{let{accounts:A}=await k(g);A.length&&(i=A);}catch(A){if(!g||!l)throw A;let{accounts:x}=await k(false);x.length&&(i=x);}}let a=no(i),u=Je(a),c=e.features[SolanaSignMessage],b=e.features[SolanaSignTransaction],P=e.features[SolanaSignAndSendTransaction],f=n.defaultChain??_t(a),m=c?async k=>{let[A]=await c.signMessage({account:a,message:k});return A.signature}:void 0,h=b?async k=>{let A=new Uint8Array(Ft.encode(k)),x=f?{account:a,chain:f,transaction:A}:{account:a,transaction:A},[v]=await b.signTransaction(x);return eo.decode(v.signedTransaction)}:void 0,d=P?async(k,A)=>{let x=new Uint8Array(Ft.encode(k)),v=n.defaultChain??_t(a)??"solana:mainnet-beta",[me]=await P.signAndSendTransaction({account:a,chain:v,options:{commitment:ro(A?.commitment)},transaction:x});return Qa.decode(me.signature)}:void 0;async function y(){w?.(),await Nt(e);}t(y,"disconnectSession");let w,W=C?k=>C.on("change",({accounts:x})=>{if(x){if(!x.length){k([]);return}a=x[0],u=Je(a),k(x.map(Je));}}):void 0;return {account:u,connector:r,disconnect:y,onAccountsChanged:W?k=>(w=W(k),()=>{w?.(),w=void 0;}):void 0,sendTransaction:d,signMessage:m,signTransaction:h}}t(o,"connect");async function s(){await Nt(e);}t(s,"disconnect");function p(){return typeof window<"u"}return t(p,"isSupported"),{...r,connect:o,disconnect:s,isSupported:p}}t(re,"createWalletStandardConnector");function Vt(e,n){return re(e,n?.(e))}t(Vt,"mapWalletToConnector");function ao(e={}){let{get:n}=getWallets(),r=n().map(s=>Vt(s,e.overrides)),o=new Set;return r.filter(s=>o.has(s.id)?false:(o.add(s.id),true))}t(ao,"getWalletStandardConnectors");function oo(e,n={}){let{get:r,on:o}=getWallets(),s=t(()=>{let T=r().map(l=>Vt(l,n.overrides)),C=new Set,g=T.filter(l=>C.has(l.id)?false:(C.add(l.id),true));e(g);},"emit");s();let p=o("register",s),S=o("unregister",s);return ()=>{p(),S();}}t(oo,"watchWalletStandardConnectors");function $(e={}){let{get:n}=getWallets(),o=n().filter(p=>e.filter?e.filter(p):true).map(p=>re(p,e.overrides?.(p))),s=new Set;return o.filter(p=>s.has(p.id)?false:(s.add(p.id),true))}t($,"autoDiscover");function so(e){return {canAutoConnect:true,id:"wallet-standard:injected",kind:"wallet-standard",name:"Injected Wallet",ready:typeof window<"u",async connect(){let o=getWallets().get().find(s=>StandardConnect in s.features);if(!o)throw new Error("No Wallet Standard wallets available.");return re(o,e).connect()},async disconnect(){},isSupported(){return typeof window<"u"}}}t(so,"injected");function pe(e){let n=e.toLowerCase();return r=>r.name.toLowerCase().includes(n)}t(pe,"filterByName");function Ge(e){return $({filter:pe("phantom"),overrides:t(()=>({...e,id:"wallet-standard:phantom"}),"overrides")})}t(Ge,"phantom");function Ze(e){return $({filter:pe("solflare"),overrides:t(()=>({...e,id:"wallet-standard:solflare"}),"overrides")})}t(Ze,"solflare");function Ye(e){return $({filter:pe("backpack"),overrides:t(()=>({...e,id:"wallet-standard:backpack"}),"overrides")})}t(Ye,"backpack");function co(e){return $({filter:pe("metamask"),overrides:t(()=>({...e,id:"wallet-standard:metamask"}),"overrides")})}t(co,"metamask");function qt(){return [...Ge(),...Ze(),...Ye(),...$()]}t(qt,"defaultWalletConnectors");function ue(e){if(!e)return;let n=e.trim();return n.length?n:void 0}t(ue,"normalizeUrl");function Kt(e={}){let{cluster:n,endpoint:r,rpc:o,websocket:s,websocketEndpoint:p,walletConnectors:S,...T}=e,C=ue(o)??ue(r)??ue(e.endpoint),g=ee({endpoint:C,moniker:n??void 0,websocketEndpoint:ue(s??p)}),l=S===void 0||S==="default"?qt():S;return {...T,endpoint:g.endpoint,websocketEndpoint:g.websocketEndpoint,walletConnectors:l}}t(Kt,"resolveClientConfig");function lo(e={}){return $e(Kt(e))}t(lo,"createDefaultClient");function I(){return {status:"idle"}}t(I,"createInitialAsyncState");function O(e,n={}){return {data:n.data,error:n.error,status:e}}t(O,"createAsyncState");function po(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before sending SOL transfers.");return {...e,authority:r}}t(po,"ensureAuthority");function uo(e){let n=new Set,r=e.helper,o=e.authorityProvider,s=I();function p(){for(let l of n)l();}t(p,"notify");function S(l){s=l,p();}t(S,"setState");async function T(l,i){let a=po(l,o);S(O("loading"));try{let u=await r.sendTransfer(a,i);return S(O("success",{data:u})),u}catch(u){throw S(O("error",{error:u})),u}}t(T,"send");function C(l){return n.add(l),()=>{n.delete(l);}}t(C,"subscribe");function g(){S(I());}return t(g,"reset"),{getHelper:t(()=>r,"getHelper"),getState:t(()=>s,"getState"),reset:g,send:T,subscribe:C}}t(uo,"createSolTransferController");function mo(e,n,r){let o=e.authority??n?.();if(!o)throw new Error("Connect a wallet or supply an `authority` before sending SPL tokens.");let s=e.sourceOwner??r?.();if(!s)throw new Error("Unable to resolve a source owner for the SPL token transfer.");return {...e,authority:o,sourceOwner:s}}t(mo,"ensureTransferConfig");function fo(e){let n=e.helper,r=e.authorityProvider,o=e.sourceOwnerProvider,s=new Set,p=I();function S(){for(let i of s)i();}t(S,"notify");function T(i){p=i,S();}t(T,"setState");async function C(i,a){let u=mo(i,i.authority?void 0:r,i.sourceOwner?void 0:o);T(O("loading"));try{let c=await n.sendTransfer(u,a);return T(O("success",{data:c})),c}catch(c){throw T(O("error",{error:c})),c}}t(C,"send");function g(i){return s.add(i),()=>{s.delete(i);}}t(g,"subscribe");function l(){T(I());}return t(l,"reset"),{getHelper:t(()=>n,"getHelper"),getState:t(()=>p,"getState"),reset:l,send:C,subscribe:g}}t(fo,"createSplTransferController");function go(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before staking SOL.");return {...e,authority:r}}t(go,"ensureAuthority");function So(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before unstaking SOL.");return {...e,authority:r}}t(So,"ensureUnstakeAuthority");function yo(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before withdrawing SOL.");return {...e,authority:r}}t(yo,"ensureWithdrawAuthority");function To(e){let n=new Set,r=new Set,o=new Set,s=e.helper,p=e.authorityProvider,S=I(),T=I(),C=I();function g(){for(let k of n)k();}t(g,"notify");function l(){for(let k of r)k();}t(l,"notifyUnstake");function i(){for(let k of o)k();}t(i,"notifyWithdraw");function a(k){S=k,g();}t(a,"setState");function u(k){T=k,l();}t(u,"setUnstakeState");function c(k){C=k,i();}t(c,"setWithdrawState");async function b(k,A){let x=go(k,p);a(O("loading"));try{let v=await s.sendStake(x,A);return a(O("success",{data:v})),v}catch(v){throw a(O("error",{error:v})),v}}t(b,"stake");async function P(k,A){let x=So(k,p);u(O("loading"));try{let v=await s.sendUnstake(x,A);return u(O("success",{data:v})),v}catch(v){throw u(O("error",{error:v})),v}}t(P,"unstake");async function f(k,A){let x=yo(k,p);c(O("loading"));try{let v=await s.sendWithdraw(x,A);return c(O("success",{data:v})),v}catch(v){throw c(O("error",{error:v})),v}}t(f,"withdraw");function m(k){return n.add(k),()=>{n.delete(k);}}t(m,"subscribe");function h(k){return r.add(k),()=>{r.delete(k);}}t(h,"subscribeUnstake");function d(k){return o.add(k),()=>{o.delete(k);}}t(d,"subscribeWithdraw");function y(){a(I());}t(y,"reset");function w(){u(I());}t(w,"resetUnstake");function W(){c(I());}return t(W,"resetWithdraw"),{getHelper:t(()=>s,"getHelper"),getState:t(()=>S,"getState"),getUnstakeState:t(()=>T,"getUnstakeState"),getWithdrawState:t(()=>C,"getWithdrawState"),reset:y,resetUnstake:w,resetWithdraw:W,stake:b,unstake:P,withdraw:f,subscribe:m,subscribeUnstake:h,subscribeWithdraw:d}}t(To,"createStakeController");function $t(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before wrapping/unwrapping SOL.");return {...e,authority:r}}t($t,"ensureAuthority");function ho(e){let n=new Set,r=new Set,o=e.helper,s=e.authorityProvider,p=I(),S=I();function T(){for(let f of n)f();}t(T,"notifyWrap");function C(){for(let f of r)f();}t(C,"notifyUnwrap");function g(f){p=f,T();}t(g,"setWrapState");function l(f){S=f,C();}t(l,"setUnwrapState");async function i(f,m){let h=$t(f,s);g(O("loading"));try{let d=await o.sendWrap(h,m);return g(O("success",{data:d})),d}catch(d){throw g(O("error",{error:d})),d}}t(i,"wrap");async function a(f,m){let h=$t(f,s);l(O("loading"));try{let d=await o.sendUnwrap(h,m);return l(O("success",{data:d})),d}catch(d){throw l(O("error",{error:d})),d}}t(a,"unwrap");function u(f){return n.add(f),()=>{n.delete(f);}}t(u,"subscribeWrap");function c(f){return r.add(f),()=>{r.delete(f);}}t(c,"subscribeUnwrap");function b(){g(I());}t(b,"resetWrap");function P(){l(I());}return t(P,"resetUnwrap"),{getHelper:t(()=>o,"getHelper"),getWrapState:t(()=>p,"getWrapState"),getUnwrapState:t(()=>S,"getUnwrapState"),resetWrap:b,resetUnwrap:P,wrap:i,unwrap:a,subscribeWrap:u,subscribeUnwrap:c}}t(ho,"createWsolController");function bo(e){return e.toString()}t(bo,"bigintToJson");function Co(e){return q(e,"bigint")}t(Co,"bigintFromJson");function wo(e){return e.toString()}t(wo,"lamportsToJson");function Po(e){return we(e,"lamports")}t(Po,"lamportsFromJson");var Jt={processed:0,confirmed:1,finalized:2},Ao=2e4;function Ro(e){if(e)return typeof e=="string"?signature(e):e}t(Ro,"normalizeSignature");function Wo(e){return e?e.confirmationStatus==="processed"||e.confirmationStatus==="confirmed"||e.confirmationStatus==="finalized"?e.confirmationStatus:e.confirmations===null?"finalized":typeof e.confirmations=="number"&&e.confirmations>0?"confirmed":"processed":null}t(Wo,"deriveConfirmationStatus");function xo(e,n){return e?Jt[e]>=Jt[n]:false}t(xo,"confirmationMeetsCommitment");var Io="MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr";function Uo(e){let n=e.findIndex(r=>r.programAddress!==Io);if(e.length===0||n===-1)throw new SolanaError(SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR,{cause:"At least one non-memo instruction is required.",index:e.length||n});return n}t(Uo,"ensureNonMemoInstructionIndex");function Mo(e,n){return Gt([e],n)}t(Mo,"insertReferenceKey");function Gt(e,n){let r=Uo(n.instructions),o=n.instructions[r],s=[...o.accounts??[],...e.map(S=>({address:S,role:AccountRole.READONLY}))],p=[...n.instructions];return p.splice(r,1,{...o,accounts:s}),Object.freeze({...n,instructions:Object.freeze(p)})}t(Gt,"insertReferenceKeys");function de(e){let n=e,r=new Set;return {getSnapshot:t(()=>n,"getSnapshot"),setSnapshot(o){n=o;for(let s of r)s();},subscribe(o){return r.add(o),()=>{r.delete(o);}}}}t(de,"createStore");function Zt(e){return Object.freeze([...e])}t(Zt,"freezeInstructions");function Bo(e){let n=e.helper,r=Zt(e.initialInstructions??[]),o=e.blockhashMaxAgeMs??3e4,s,p=de(r),S=de(null),T=de(I()),C=de(I());function g(){S.setSnapshot(null),T.setSnapshot(I()),C.setSnapshot(I());}t(g,"resetDerivedState");function l(R){p.setSnapshot(Zt(R)),g();}t(l,"commitInstructions");function i(R){let U=[...p.getSnapshot(),R];l(U);}t(i,"addInstruction");function a(R){if(!R.length)return;let U=[...p.getSnapshot(),...R];l(U);}t(a,"addInstructions");function u(R){l(R);}t(u,"replaceInstructions");function c(){l([]);}t(c,"clearInstructions");function b(R){let U=p.getSnapshot();if(R<0||R>=U.length)return;let E=U.filter((_,M)=>M!==R);l(E);}t(b,"removeInstruction");function P(){l(r);}t(P,"reset");function f(R){if(!R.length)throw new Error("Add at least one instruction before preparing a transaction.")}t(f,"ensureInstructions");function m(){if(s&&!(Date.now()-s.updatedAt>o))return s.value}t(m,"resolveCachedLifetime");async function h(R={}){let{instructions:U,...E}=R,_=U??p.getSnapshot();f(_),T.setSnapshot(O("loading"));try{let M=E.lifetime??m(),J=M&&!E.lifetime?{...E,lifetime:M}:E,G=await n.prepare({...J,instructions:_});return S.setSnapshot(G),T.setSnapshot(O("success",{data:G})),G}catch(M){throw T.setSnapshot(O("error",{error:M})),M}}t(h,"prepare");function d(R){let U=R??S.getSnapshot();if(!U)throw new Error("Prepare a transaction before sending.");return U}t(d,"resolvePrepared");function y(R){if(R.lifetime)return R;let U=m();return U?{...R,lifetime:U}:R}t(y,"resolveLifetimeOptions");async function w(R={}){let{prepared:U,...E}=R,_=d(U);C.setSnapshot(O("loading"));try{let M=await n.send(_,E);return C.setSnapshot(O("success",{data:M})),M}catch(M){throw C.setSnapshot(O("error",{error:M})),M}}t(w,"send");async function W(R={},U){let{instructions:E,..._}=R,M=E??p.getSnapshot();f(M),C.setSnapshot(O("loading"));try{let J=y(_),G=await n.prepareAndSend({...J,instructions:M},U);return C.setSnapshot(O("success",{data:G})),G}catch(J){throw C.setSnapshot(O("error",{error:J})),J}}t(W,"prepareAndSend");function k(R={}){let{prepared:U,...E}=R,_=d(U);return n.sign(_,E)}t(k,"sign");function A(R={}){let{prepared:U,...E}=R,_=d(U);return n.toWire(_,E)}t(A,"toWire");function x(R){return p.subscribe(R)}t(x,"subscribeInstructions");function v(R){return S.subscribe(R)}t(v,"subscribePrepared");function me(R){return T.subscribe(R)}t(me,"subscribePrepareState");function Xt(R){return C.subscribe(R)}t(Xt,"subscribeSendState");function Qt(R){s=R;}return t(Qt,"setLatestBlockhashCache"),{addInstruction:i,addInstructions:a,clearInstructions:c,get helper(){return n},getInstructions:p.getSnapshot,getPrepareState:T.getSnapshot,getPrepared:S.getSnapshot,getSendState:C.getSnapshot,getLatestBlockhashCache:t(()=>s,"getLatestBlockhashCache"),prepare:h,prepareAndSend:W,removeInstruction:b,replaceInstructions:u,reset:P,send:w,setLatestBlockhashCache:Qt,sign:k,subscribeInstructions:x,subscribePrepareState:me,subscribePrepared:v,subscribeSendState:Xt,toWire:A}}t(Bo,"createTransactionPoolController");function Yt(e){return typeof e=="string"?address(e):e}t(Yt,"toAddress");function Ho(e){return Yt(e).toString()}t(Ho,"toAddressString");function Do(e){return JSON.stringify(e,(r,o)=>typeof o=="bigint"?{__type:"bigint",value:o.toString()}:o instanceof Uint8Array?Array.from(o):o)??"undefined"}t(Do,"stableStringify");
2
- export{Nn as LAMPORTS_PER_SOL,Ao as SIGNATURE_STATUS_TIMEOUT_MS,je as WRAPPED_SOL_MINT,Ce as applyRatio,Se as applySerializableState,ae as assertDecimals,D as assertNonNegative,$ as autoDiscover,Ye as backpack,Co as bigintFromJson,bo as bigintToJson,he as checkedAdd,Bn as checkedDivide,Mn as checkedMultiply,be as checkedSubtract,xo as confirmationMeetsCommitment,tn as connectWallet,O as createAsyncState,$e as createClient,le as createClientStore,lo as createDefaultClient,Va as createDefaultClientStore,I as createInitialAsyncState,ce as createInitialClientState,Hn as createRatio,uo as createSolTransferController,Pe as createSolTransferHelper,Q as createSolanaRpcClient,ke as createSplTokenHelper,fo as createSplTransferController,To as createStakeController,De as createStakeHelper,te as createTokenAmount,Ne as createTransactionHelper,Bo as createTransactionPoolController,Rt as createTransactionRecipe,ye as createWalletRegistry,re as createWalletStandardConnector,ho as createWsolController,Ke as createWsolHelper,qt as defaultWalletConnectors,Wo as deriveConfirmationStatus,bn as deserializeSolanaState,nn as disconnectWallet,rn as fetchAccount,an as fetchBalance,on as fetchLookupTable,sn as fetchLookupTables,cn as fetchNonceAccount,hn as getInitialSerializableState,ao as getWalletStandardConnectors,so as injected,Mo as insertReferenceKey,Gt as insertReferenceKeys,we as lamports,Po as lamportsFromJson,zn as lamportsFromSol,N as lamportsMath,wo as lamportsToJson,Vn as lamportsToSolString,co as metamask,Ro as normalizeSignature,Ge as phantom,Te as pow10,ne as prepareTransaction,ln as requestAirdrop,Kt as resolveClientConfig,ee as resolveCluster,pn as sendTransaction,ge as serializeSolanaState,un as setCluster,Ze as solflare,Do as stableStringify,Cn as subscribeSolanaState,Yt as toAddress,Ho as toAddressString,q as toBigint,X as transactionToBase64,Nr as transactionToBase64WithSigners,oo as watchWalletStandardConnectors};//# sourceMappingURL=index.native.mjs.map
1
+ import {address,createSolanaRpc,createSolanaRpcSubscriptions,getBase64EncodedWireTransaction,compileTransaction,partiallySignTransactionMessageWithSigners,appendTransactionMessageInstruction,setTransactionMessageLifetimeUsingBlockhash,isTransactionSendingSigner,getMessagePackerInstructionPlanFromInstructions,pipe,createTransactionMessage,setTransactionMessageFeePayerSigner,setTransactionMessageFeePayer,signature,AccountRole,singleTransactionPlan,signAndSendTransactionMessageWithSigners,createTransactionPlanExecutor,signTransactionMessageWithSigners,isSolanaError,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED,generateKeyPairSigner,appendTransactionMessageInstructions,createTransactionPlanner,signatureBytes,isTransactionPartialSigner,SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED,isInstructionForProgram,isInstructionWithData,SolanaError,SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR,isSome,airdropFactory}from'@solana/kit';import {createBlockHeightExceedencePromiseFactory,createRecentSignatureConfirmationPromiseFactory,waitForRecentTransactionConfirmation}from'@solana/transaction-confirmation';import {fetchAddressLookupTable,fetchAllAddressLookupTable}from'@solana-program/address-lookup-table';import {getTransferSolInstruction,getCreateAccountInstruction,fetchNonce}from'@solana-program/system';import {getBase58Decoder,getBase58Encoder}from'@solana/codecs-strings';import {TOKEN_PROGRAM_ADDRESS,fetchMint,findAssociatedTokenPda,getCreateAssociatedTokenInstruction,getTransferCheckedInstruction,getCreateAssociatedTokenIdempotentInstruction,getSyncNativeInstruction,getCloseAccountInstruction}from'@solana-program/token';import {getInitializeInstruction,getDelegateStakeInstruction,getDeactivateInstruction,getWithdrawInstruction}from'@solana-program/stake';import {getSetComputeUnitLimitInstruction,getSetComputeUnitPriceInstruction,COMPUTE_BUDGET_PROGRAM_ADDRESS,ComputeBudgetInstruction}from'@solana-program/compute-budget';import {createStore}from'zustand/vanilla';import {getWallets}from'@wallet-standard/app';import {StandardConnect,StandardEvents,StandardDisconnect}from'@wallet-standard/features';import {getTransactionDecoder,getTransactionEncoder}from'@solana/transactions';import {SolanaSignMessage,SolanaSignTransaction,SolanaSignAndSendTransaction}from'@solana/wallet-standard-features';var en=Object.defineProperty;var t=(e,n)=>en(e,"name",{value:n,configurable:true});function tn(e,n){return e.actions.connectWallet(n.connectorId,n.options)}t(tn,"connectWallet");function nn(e,n){return e.actions.disconnectWallet()}t(nn,"disconnectWallet");function rn(e,n){return e.actions.fetchAccount(n.address,n.commitment)}t(rn,"fetchAccount");function an(e,n){return e.actions.fetchBalance(n.address,n.commitment)}t(an,"fetchBalance");function on(e,n){return e.actions.fetchLookupTable(n.address,n.commitment)}t(on,"fetchLookupTable");function sn(e,n){return e.actions.fetchLookupTables(n.addresses,n.commitment)}t(sn,"fetchLookupTables");function cn(e,n){return e.actions.fetchNonceAccount(n.address,n.commitment)}t(cn,"fetchNonceAccount");function ln(e,n){return e.actions.requestAirdrop(n.address,n.lamports)}t(ln,"requestAirdrop");function pn(e,n){return e.actions.sendTransaction(n.transaction,n.commitment)}t(pn,"sendTransaction");function un(e,n){return e.actions.setCluster(n.endpoint,n.config)}t(un,"setCluster");function fe(e){if(typeof e!="object"||e===null)return e;let n=e;for(let r of Reflect.ownKeys(n)){let o=n[r];fe(o);}return Object.freeze(e)}t(fe,"deepFreeze");function L(){return Date.now()}t(L,"now");function Xe(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}t(Xe,"toErrorMessage");function Z(e){return e||(({data:n,level:r,message:o})=>{let s=n?{...n}:{};switch(r){case "error":console.error(`[react-core] ${o}`,s);break;case "warn":console.warn(`[react-core] ${o}`,s);break;case "info":console.info(`[react-core] ${o}`,s);break;default:console.debug(`[react-core] ${o}`,s);}})}t(Z,"createLogger");function B(e){return {error:e,message:Xe(e)}}t(B,"formatError");function yn(e){let n=new AbortController;if(!e)return n;if(e.aborted)return n.abort(e.reason),n;let r=t(()=>{n.abort(e.reason),e.removeEventListener("abort",r);},"onAbort");return e.addEventListener("abort",r,{once:true}),n}t(yn,"createChainedAbortController");function et(e){if(e!==void 0)return typeof e=="bigint"?e:BigInt(Math.floor(e))}t(et,"toBigint");var Tn=Object.freeze({encoding:"base64",replaceRecentBlockhash:true,sigVerify:false});function Q(e){let n=e.endpoint,r=e.websocketEndpoint??n,o=e.commitment??"confirmed",s=createSolanaRpc(n,e.rpcConfig),p=createSolanaRpcSubscriptions(r,e.rpcSubscriptionsConfig);async function S(C,g={}){let l=yn(g.abortSignal),i=g.commitment??o,a=getBase64EncodedWireTransaction(C),u=await s.sendTransaction(a,{encoding:"base64",maxRetries:et(g.maxRetries),minContextSlot:et(g.minContextSlot),preflightCommitment:i,skipPreflight:g.skipPreflight}).send({abortSignal:l.signal}),c=createBlockHeightExceedencePromiseFactory({rpc:s,rpcSubscriptions:p}),b=createRecentSignatureConfirmationPromiseFactory({rpc:s,rpcSubscriptions:p});return await waitForRecentTransactionConfirmation({abortSignal:l.signal,commitment:i,getBlockHeightExceedencePromise:c,getRecentSignatureConfirmationPromise:b,transaction:C}),u}t(S,"sendAndConfirmTransaction");async function T(C,g={}){let l=getBase64EncodedWireTransaction(C),i=g.config??{},a={...Tn,...i,commitment:i.commitment??g.commitment??o},u=a.sigVerify===true&&a.replaceRecentBlockhash!==false?{...a,replaceRecentBlockhash:false}:a;return s.simulateTransaction(l,u).send({abortSignal:g.abortSignal})}return t(T,"simulateTransaction"),{commitment:o,endpoint:n,rpc:s,rpcSubscriptions:p,sendAndConfirmTransaction:S,simulateTransaction:T,websocketEndpoint:r}}t(Q,"createSolanaRpcClient");function hn(e){return {autoconnect:false,commitment:e.commitment,endpoint:e.endpoint,lastConnectorId:null,lastPublicKey:null,version:1,websocketEndpoint:e.websocketEndpoint}}t(hn,"getInitialSerializableState");function Se(e,n){return n?{...e,commitment:n.commitment??e.commitment,endpoint:n.endpoint??e.endpoint,websocketEndpoint:n.websocketEndpoint??e.websocketEndpoint}:e}t(Se,"applySerializableState");function ge(e){return JSON.stringify(e)}t(ge,"serializeSolanaState");function bn(e){if(!e)return null;try{let n=JSON.parse(e);if(typeof n!="object"||n===null)return null;let r=n;return {autoconnect:r.autoconnect??!1,commitment:r.commitment,endpoint:r.endpoint,lastConnectorId:r.lastConnectorId??null,lastPublicKey:r.lastPublicKey??null,version:r.version??1,websocketEndpoint:r.websocketEndpoint}}catch{return null}}t(bn,"deserializeSolanaState");function tt(e){let n=e.store.getState(),r=n.wallet,o=r.autoConnect,s=null,p=null;return "connectorId"in r&&(s=r.connectorId??null,r.status==="connected"&&(p=r.session.account.address.toString())),{autoconnect:o??!!s,commitment:n.cluster.commitment,endpoint:n.cluster.endpoint,lastConnectorId:s,lastPublicKey:p,version:1,websocketEndpoint:n.cluster.websocketEndpoint}}t(tt,"getSerializableStateSnapshot");function Cn(e,n){let r=ge(tt(e));return n(JSON.parse(r)),e.store.subscribe(()=>{let s=tt(e),p=ge(s);p!==r&&(r=p,n(s));})}t(Cn,"subscribeSolanaState");function nt(e){return e.startsWith("http://")||e.startsWith("https://")||e.startsWith("ws://")||e.startsWith("wss://")?e:`https://${e}`}t(nt,"ensureHttpProtocol");var wn={devnet:{endpoint:"https://api.devnet.solana.com",websocketEndpoint:"wss://api.devnet.solana.com"},localhost:{endpoint:"http://127.0.0.1:8899",websocketEndpoint:"ws://127.0.0.1:8900"},localnet:{endpoint:"http://127.0.0.1:8899",websocketEndpoint:"ws://127.0.0.1:8900"},"mainnet-beta":{endpoint:"https://api.mainnet-beta.solana.com",websocketEndpoint:"wss://api.mainnet-beta.solana.com"},mainnet:{endpoint:"https://api.mainnet-beta.solana.com",websocketEndpoint:"wss://api.mainnet-beta.solana.com"},testnet:{endpoint:"https://api.testnet.solana.com",websocketEndpoint:"wss://api.testnet.solana.com"}};function Pn(e){return e.startsWith("https://")?e.replace("https://","wss://"):e.startsWith("http://")?e.replace("http://","ws://"):(e.startsWith("ws://")||e.startsWith("wss://"),e)}t(Pn,"inferWebsocketEndpoint");function ee(e){let n=e.moniker??(e.endpoint?"custom":"devnet"),r=n==="custom"?void 0:wn[n],o=nt(e.endpoint??r?.endpoint),s=e.websocketEndpoint?nt(e.websocketEndpoint):void 0,p=Pn(s??r?.websocketEndpoint??o);return {endpoint:o,moniker:n,websocketEndpoint:p}}t(ee,"resolveCluster");function ye(e){let n=new Map;for(let r of e)n.has(r.id)||n.set(r.id,r);return {all:[...n.values()],get(r){return n.get(r)}}}t(ye,"createWalletRegistry");function In(e,n){e.setState(r=>({...r,...n,lastUpdatedAt:L()}));}t(In,"updateState");function at({connectors:e,logger:n,runtime:r,store:o}){let s=n??Z(),p;function S(m){return m??o.getState().cluster.commitment}t(S,"getCommitment");async function T(m,h){try{let d=L();return await r.rpc.getLatestBlockhash({commitment:h}).send({abortSignal:AbortSignal.timeout(1e4)}),L()-d}catch(d){s({data:{endpoint:m,...B(d)},level:"warn",message:"cluster warmup failed"});return}}t(T,"warmupCluster");async function C(m,h){let d=h?.commitment??o.getState().cluster.commitment,y=h?.websocketEndpoint??m;o.setState(w=>({...w,cluster:{commitment:d,endpoint:m,status:{status:"connecting"},websocketEndpoint:y},lastUpdatedAt:L()}));try{let w=Q({commitment:d,endpoint:m,websocketEndpoint:y});r.rpc=w.rpc,r.rpcSubscriptions=w.rpcSubscriptions;let W=await T(m,d);o.setState(k=>({...k,cluster:{commitment:d,endpoint:m,status:{latencyMs:W,status:"ready"},websocketEndpoint:y},lastUpdatedAt:L()}));}catch(w){throw o.setState(W=>({...W,cluster:{commitment:d,endpoint:m,status:{error:w,status:"error"},websocketEndpoint:y},lastUpdatedAt:L()})),s({data:{endpoint:m,...B(w)},level:"error",message:"cluster setup failed"}),w}}t(C,"setCluster");async function g(m,h={}){p?.(),p=void 0;let d=e.get(m);if(!d)throw new Error(`No wallet connector registered for id "${m}".`);if(!d.isSupported())throw new Error(`Wallet connector "${m}" is not supported in this environment.`);let y=h.autoConnect??false;o.setState(w=>({...w,lastUpdatedAt:L(),wallet:{autoConnect:y,connectorId:m,status:"connecting"}}));try{let w=await d.connect(h);return o.setState(W=>({...W,lastUpdatedAt:L(),wallet:{autoConnect:y,connectorId:m,session:w,status:"connected"}})),w.onAccountsChanged&&(p=w.onAccountsChanged(W=>{W.length===0&&(p?.(),p=void 0,l());})),s({data:{address:w.account.address.toString(),connectorId:m},level:"info",message:"wallet connected"}),w}catch(w){throw o.setState(W=>({...W,lastUpdatedAt:L(),wallet:{autoConnect:y,connectorId:m,error:w,status:"error"}})),s({data:{connectorId:m,...B(w)},level:"error",message:"wallet connection failed"}),w}}t(g,"connectWallet");async function l(){let m=o.getState().wallet;if(m.status!=="disconnected"){p?.(),p=void 0;try{if(m.status==="connected"){await m.session.disconnect();let h=e.get(m.connectorId);h&&await h.disconnect();}else if(m.status==="connecting"){let h=e.get(m.connectorId);h&&await h.disconnect();}}finally{In(o,{wallet:{status:"disconnected"}});}}}t(l,"disconnectWallet");async function i(m,h){let d=m.toString();o.setState(y=>({...y,accounts:{...y.accounts,[d]:{address:m,data:y.accounts[d]?.data,error:void 0,executable:y.accounts[d]?.executable??null,fetching:true,lamports:y.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:y.accounts[d]?.owner??null,slot:y.accounts[d]?.slot??null}},lastUpdatedAt:L()}));try{let y=await r.rpc.getBalance(m,{commitment:S(h)}).send({abortSignal:AbortSignal.timeout(1e4)}),w=y.value;return o.setState(W=>({...W,accounts:{...W.accounts,[d]:{address:m,data:W.accounts[d]?.data,error:void 0,executable:W.accounts[d]?.executable??null,fetching:!1,lamports:w,lastFetchedAt:L(),owner:W.accounts[d]?.owner??null,slot:y.context.slot}},lastUpdatedAt:L()})),w}catch(y){throw o.setState(w=>({...w,accounts:{...w.accounts,[d]:{address:m,data:w.accounts[d]?.data,error:y,executable:w.accounts[d]?.executable??null,fetching:false,lamports:w.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:w.accounts[d]?.owner??null,slot:w.accounts[d]?.slot??null}},lastUpdatedAt:L()})),s({data:{address:d,...B(y)},level:"error",message:"balance fetch failed"}),y}}t(i,"fetchBalance");async function a(m,h){let d=m.toString();o.setState(y=>({...y,accounts:{...y.accounts,[d]:{address:m,data:y.accounts[d]?.data,error:void 0,executable:y.accounts[d]?.executable??null,fetching:true,lamports:y.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:y.accounts[d]?.owner??null,slot:y.accounts[d]?.slot??null}},lastUpdatedAt:L()}));try{let y=await r.rpc.getAccountInfo(m,{commitment:S(h),encoding:"base64"}).send({abortSignal:AbortSignal.timeout(1e4)}),w=y.value,W=w?.lamports??null,k=w?.executable??null,A=w?.owner??null;return o.setState(x=>({...x,accounts:{...x.accounts,[d]:{address:m,data:w,error:void 0,executable:k,fetching:!1,lamports:W,lastFetchedAt:L(),owner:A,slot:y.context.slot}},lastUpdatedAt:L()})),o.getState().accounts[d]}catch(y){throw o.setState(w=>({...w,accounts:{...w.accounts,[d]:{address:m,data:w.accounts[d]?.data,error:y,executable:w.accounts[d]?.executable??null,fetching:false,lamports:w.accounts[d]?.lamports??null,lastFetchedAt:L(),owner:w.accounts[d]?.owner??null,slot:w.accounts[d]?.slot??null}},lastUpdatedAt:L()})),s({data:{address:d,...B(y)},level:"error",message:"account fetch failed"}),y}}t(a,"fetchAccount");async function u(m,h){let d=await fetchAddressLookupTable(r.rpc,m,{commitment:S(h)}),{addresses:y,authority:w,deactivationSlot:W,lastExtendedSlot:k,lastExtendedSlotStartIndex:A}=d.data;return {addresses:y,authority:isSome(w)?w.value:void 0,deactivationSlot:W,lastExtendedSlot:k,lastExtendedSlotStartIndex:A}}t(u,"fetchLookupTable");async function c(m,h){return m.length===0?[]:(await fetchAllAddressLookupTable(r.rpc,m,{commitment:S(h)})).map(({data:y})=>({addresses:y.addresses,authority:isSome(y.authority)?y.authority.value:void 0,deactivationSlot:y.deactivationSlot,lastExtendedSlot:y.lastExtendedSlot,lastExtendedSlotStartIndex:y.lastExtendedSlotStartIndex}))}t(c,"fetchLookupTables");async function b(m,h){let d=await fetchNonce(r.rpc,m,{commitment:S(h)});return {authority:d.data.authority,blockhash:d.data.blockhash}}t(b,"fetchNonceAccount");async function P(m,h){let d=S(h),y=new AbortController,w=await r.rpc.sendTransaction(getBase64EncodedWireTransaction(m),{encoding:"base64",preflightCommitment:d}).send({abortSignal:y.signal}),W=w.toString();o.setState(x=>({...x,lastUpdatedAt:L(),transactions:{...x.transactions,[W]:{lastUpdatedAt:L(),signature:w,status:"sending"}}}));let k=createBlockHeightExceedencePromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions}),A=createRecentSignatureConfirmationPromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions});try{return await waitForRecentTransactionConfirmation({abortSignal:y.signal,commitment:d,getBlockHeightExceedencePromise:k,getRecentSignatureConfirmationPromise:A,transaction:m}),o.setState(x=>({...x,lastUpdatedAt:L(),transactions:{...x.transactions,[W]:{lastUpdatedAt:L(),signature:w,status:"confirmed"}}})),w}catch(x){throw o.setState(v=>({...v,lastUpdatedAt:L(),transactions:{...v.transactions,[W]:{error:x,lastUpdatedAt:L(),signature:w,status:"failed"}}})),s({data:{signature:W,...B(x)},level:"error",message:"transaction failed to confirm"}),x}}t(P,"sendTransaction");async function f(m,h){try{let y=await airdropFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions})({commitment:S("confirmed"),lamports:h,recipientAddress:m});return s({data:{address:m.toString(),lamports:h.toString(),signature:y},level:"info",message:"airdrop requested"}),y}catch(d){throw s({data:{address:m.toString(),lamports:h.toString(),...B(d)},level:"error",message:"airdrop request failed"}),d}}return t(f,"requestAirdrop"),{connectWallet:g,disconnectWallet:l,fetchAccount:a,fetchBalance:i,fetchLookupTable:u,fetchLookupTables:c,fetchNonceAccount:b,requestAirdrop:f,sendTransaction:P,setCluster:C}}t(at,"createActions");var Un=10n;function Te(e){return ae(e,"exponent"),Un**BigInt(e)}t(Te,"pow10");function D(e,n="value"){if(e<0n)throw new RangeError(`${n} must be non-negative`)}t(D,"assertNonNegative");function ae(e,n="decimals"){if(!Number.isInteger(e)||e<0||e>38)throw new RangeError(`${n} must be an integer between 0 and 38`)}t(ae,"assertDecimals");function q(e,n="value"){if(typeof e=="bigint")return e;if(typeof e=="number"){if(!Number.isFinite(e)||!Number.isInteger(e))throw new RangeError(`${n} must be a finite integer when provided as a number`);if(!Number.isSafeInteger(e))throw new RangeError(`${n} must be within the safe integer range when provided as a number`);return BigInt(e)}let r=e.trim(),o=/^[-+]?\d+$/.exec(r);if(!o)throw new SyntaxError(`${n} must be an integer string`);return BigInt(o[0])}t(q,"toBigint");function he(e,n,r="result"){let o=e+n;return D(o,r),o}t(he,"checkedAdd");function be(e,n,r="result"){let o=e-n;return D(o,r),o}t(be,"checkedSubtract");function Mn(e,n,r="result"){let o=e*n;return D(o,r),o}t(Mn,"checkedMultiply");function Bn(e,n,r="result"){if(n===0n)throw new RangeError("divisor must be non-zero");let o=e/n;return D(o,r),o}t(Bn,"checkedDivide");function En(e,n,r){if(n<=0n)throw new RangeError("divisor must be positive");let o=e/n,s=e%n;if(s===0n)return o;switch(r){case "ceil":return o+1n;case "round":return s*2n>=n?o+1n:o;default:return o}}t(En,"divideWithRounding");function Hn(e,n){let r=q(e,"numerator"),o=q(n,"denominator");if(o<=0n)throw new RangeError("denominator must be positive");return D(r,"numerator"),Object.freeze({denominator:o,numerator:r})}t(Hn,"createRatio");function Ce(e,n,r={}){D(e,"amount");let o=e*n.numerator,s=r.rounding??"floor";return En(o,n.denominator,s)}t(Ce,"applyRatio");var Dn=/^\d+(?:\.\d+)?$/;function Fn(e,n,r){if(!Number.isFinite(e))throw new RangeError(`${r} must be a finite number`);if(Number.isInteger(e))return e.toString(10);let o=e.toString(10);if(o.includes("e")||o.includes("E"))throw new RangeError(`${r} cannot use exponential notation; provide a string instead`);let s=o.split(".");if(s[1]&&s[1].length>n+6)throw new RangeError(`${r} exceeds safe precision; provide a string instead`);return o}t(Fn,"normalizeNumberInput");function ot(e,n,r,o){let s=o.label??"value",p=o.rounding??"floor",S=e.replace(/_/g,"").trim();if(S==="")throw new SyntaxError(`${s} must not be empty`);if(!Dn.test(S))throw new SyntaxError(`${s} must be a non-negative decimal string`);let[T,C]=S.split("."),g=T||"0";D(BigInt(g),s);let l=BigInt(g)*r,i=C??"";if(n===0){if(i.length===0)return l;let c=/[1-9]/.test(i);return p==="ceil"&&c||p==="round"&&i[0]!==void 0&&i[0]>="5"?l+1n:l}let a=i.slice(0,n).padEnd(n,"0"),u=a===""?0n:BigInt(a);if(l+=u,i.length>n){let c=i.slice(n),b=/[1-9]/.test(c);if(p==="ceil"&&b)l+=1n;else if(p==="round"){let P=c[0];P!==void 0&&P>="5"&&(l+=1n);}}return l}t(ot,"decimalToBaseUnits");function _n(e,n,r,o){D(e,"amount");let s=o.minimumFractionDigits??0;if(s<0||s>n)throw new RangeError("minimumFractionDigits must be between 0 and the token decimals");let p=o.trimTrailingZeros??true;if(n===0)return e.toString();let S=e/r,T=(e%r).toString().padStart(n,"0");return p&&(T=T.replace(/0+$/,"")),T.length<s&&(T=T.padEnd(s,"0")),T.length===0?S.toString():`${S.toString()}.${T}`}t(_n,"formatBaseUnits");function te(e){ae(e,"decimals");let n=Te(e);function r(l,i){let a=q(l,i??"amount");return D(a,i??"amount"),a}t(r,"fromBaseUnits");function o(l,i={}){let a=i.label??"value";if(typeof l=="number"){if(Number.isInteger(l)){if(!Number.isSafeInteger(l))throw new RangeError(`${a} must be within the safe integer range when provided as a number`);return r(BigInt(l)*n,a)}if(e===0)throw new RangeError(`${a} cannot include fractional digits for a token with 0 decimals`);let u=Fn(l,e,a);return ot(u,e,n,i)}return ot(l,e,n,i)}t(o,"fromDecimal");function s(l,i={}){return _n(r(l),e,n,i)}t(s,"toDecimalString");function p(l,i){return he(r(l),r(i))}t(p,"add");function S(l,i){return be(r(l),r(i))}t(S,"subtract");function T(l,i,a){return Ce(r(l),i,a)}t(T,"multiplyByRatio");function C(l){return r(l)===0n}t(C,"isZero");function g(l,i){let a=r(l),u=r(i);return a>u?1:a<u?-1:0}return t(g,"compare"),Object.freeze({add:p,compare:g,decimals:e,fromBaseUnits:r,fromDecimal:o,isZero:C,multiplyByRatio:T,scale:n,subtract:S,toDecimalString:s})}t(te,"createTokenAmount");var F=te(9),Nn=F.scale,N=Object.freeze({add(e,n){return F.add(e,n)},compare(e,n){return F.compare(e,n)},decimals:F.decimals,fromLamports(e,n){return F.fromBaseUnits(e,n)},fromSol(e,n){return F.fromDecimal(e,n)},isZero(e){return F.isZero(e)},multiplyByRatio(e,n,r){return F.multiplyByRatio(e,n,r)},raw:F,scale:F.scale,subtract(e,n){return F.subtract(e,n)},toSolString(e,n){return F.toDecimalString(e,n)}});function we(e,n){return N.fromLamports(e,n)}t(we,"lamports");function zn(e,n){return N.fromSol(e,n)}t(zn,"lamportsFromSol");function Vn(e,n){return N.toSolString(e,n)}t(Vn,"lamportsToSolString");function z(e){return typeof e!="object"||e===null?false:"account"in e&&"connector"in e&&"disconnect"in e}t(z,"isWalletSession");function V(e,n={}){let{commitment:r}=n,o=e.account.address;if(e.signTransaction){let s=e.signTransaction.bind(e);return {mode:"partial",signer:Object.freeze({address:o,async modifyAndSignTransactions(S){let T=[];for(let C of S){let g=C,l=await s(g);if(!l.signatures[o])throw new Error("Wallet did not populate the expected fee payer signature.");let a=Object.freeze({...g,messageBytes:l.messageBytes,signatures:Object.freeze({...g.signatures,...l.signatures})});T.push(a);}return Object.freeze(T)},async signTransactions(S){let T=await this.modifyAndSignTransactions(S);return Object.freeze(T.map(C=>{let g=C.signatures[o];if(!g)throw new Error("Expected signer to produce a signature for the provided address.");return Object.freeze({[o]:g})}))}})}}if(e.sendTransaction){let s=getBase58Encoder(),p=e.sendTransaction.bind(e);return {mode:"send",signer:Object.freeze({address:o,async signAndSendTransactions(T){let C=[];for(let g of T){let l=await p(g,r?{commitment:r}:void 0),i=s.encode(l);C.push(signatureBytes(i));}return C}})}}throw new Error("Wallet session does not support signing or sending transactions.")}t(V,"createWalletTransactionSigner");function j(e){return isTransactionPartialSigner(e)?"partial":isTransactionSendingSigner(e)?"send":"partial"}t(j,"resolveSignerMode");function sr(e){return typeof e=="string"?address(e):e}t(sr,"ensureAddress");async function cr(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(cr,"resolveLifetime");function lr(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(lr,"resolveSigner");function pr(e){return N.fromLamports(e)}t(pr,"toLamportAmount");function Pe(e){async function n(s){let p=s.commitment,S=await cr(e,p,s.lifetime),{signer:T,mode:C}=lr(s.authority,p),g=sr(s.destination),l=pr(s.amount),i=pipe(createTransactionMessage({version:s.transactionVersion??0}),a=>setTransactionMessageFeePayer(T.address,a),a=>setTransactionMessageLifetimeUsingBlockhash(S,a),a=>appendTransactionMessageInstruction(getTransferSolInstruction({amount:l,destination:g,source:T}),a));return {commitment:p,lifetime:S,message:i,mode:C,signer:T,plan:singleTransactionPlan(i)}}t(n,"prepareTransfer");async function r(s,p={}){if(s.mode==="send"&&isTransactionSendingSigner(s.signer)){let l=await signAndSendTransactionMessageWithSigners(s.message,{abortSignal:p.abortSignal,minContextSlot:p.minContextSlot}),i=getBase58Decoder();return signature(i.decode(l))}let S=p.commitment??s.commitment,T=p.maxRetries===void 0?void 0:typeof p.maxRetries=="bigint"?p.maxRetries:BigInt(p.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(l,i={}){let a=await signTransactionMessageWithSigners(l,{abortSignal:i.abortSignal??p.abortSignal,minContextSlot:p.minContextSlot}),u=getBase64EncodedWireTransaction(a),c=await e.rpc.sendTransaction(u,{encoding:"base64",maxRetries:T,preflightCommitment:S,skipPreflight:p.skipPreflight}).send({abortSignal:i.abortSignal??p.abortSignal});return C=signature(c),{transaction:a}}})(s.plan??singleTransactionPlan(s.message),{abortSignal:p.abortSignal}),!C)throw new Error("Failed to resolve transaction signature.");return C}t(r,"sendPreparedTransfer");async function o(s,p){let S=await n(s);return await r(S,p)}return t(o,"sendTransfer"),{prepareTransfer:n,sendPreparedTransfer:r,sendTransfer:o}}t(Pe,"createSolTransferHelper");function K(e,n){if(e)return typeof e=="string"?address(e):e;if(!n)throw new Error("An address value was expected but not provided.");return n}t(K,"ensureAddress");async function Lr(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(Lr,"resolveLifetime");function Or(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(Or,"resolveSigner");function ke(e,n){let r=K(n.mint),o=K(n.tokenProgram,address(TOKEN_PROGRAM_ADDRESS)),s=n.decimals,p;async function S(u){return s!==void 0||(s=(await fetchMint(e.rpc,r,{commitment:u})).data.decimals),s}t(S,"resolveDecimals");async function T(u){if(p)return p;let c=await S(u);return p=te(c),p}t(T,"getTokenMath");async function C(u){let[c]=await findAssociatedTokenPda({mint:r,owner:K(u),tokenProgram:o});return c}t(C,"deriveAssociatedTokenAddress");async function g(u,c){let b=await C(u),P=await S(c);try{let{value:f}=await e.rpc.getTokenAccountBalance(b,{commitment:c}).send(),h=(await T(c)).fromBaseUnits(f.amount,"balance"),d=f.uiAmountString??f.amount;return {amount:h,ataAddress:b,decimals:P,exists:!0,uiAmount:d}}catch{return {amount:0n,ataAddress:b,decimals:P,exists:false,uiAmount:"0"}}}t(g,"fetchBalance");async function l(u){let c=u.commitment,b=await Lr(e,c,u.lifetime),{signer:P,mode:f}=Or(u.authority,c),m=K(u.sourceOwner,P.address),h=K(u.destinationOwner),d=K(u.sourceToken,await C(m)),y=K(u.destinationToken,await C(h)),w=await T(c),W=await S(c),k=u.amountInBaseUnits?w.fromBaseUnits(u.amount,"amount"):w.fromDecimal(u.amount,{label:"amount"}),A=[];if(u.ensureDestinationAta??true){let{value:v}=await e.rpc.getAccountInfo(y,{commitment:c,dataSlice:{length:0,offset:0},encoding:"base64"}).send();v||A.push(getCreateAssociatedTokenInstruction({ata:y,mint:r,owner:h,payer:P,tokenProgram:o}));}A.push(getTransferCheckedInstruction({amount:k,authority:P,decimals:W,destination:y,mint:r,source:d}));let x=pipe(createTransactionMessage({version:u.transactionVersion??0}),v=>setTransactionMessageFeePayer(P.address,v),v=>setTransactionMessageLifetimeUsingBlockhash(b,v));for(let v of A)x=appendTransactionMessageInstruction(v,x);return {amount:k,commitment:c,decimals:W,destinationAta:y,lifetime:b,message:x,mode:f,signer:P,sourceAta:d,plan:singleTransactionPlan(x)}}t(l,"prepareTransfer");async function i(u,c={}){if(u.mode==="send"&&isTransactionSendingSigner(u.signer)){let h=await signAndSendTransactionMessageWithSigners(u.message,{abortSignal:c.abortSignal,minContextSlot:c.minContextSlot}),d=getBase58Decoder();return signature(d.decode(h))}let b=c.commitment??u.commitment,P=c.maxRetries===void 0?void 0:typeof c.maxRetries=="bigint"?c.maxRetries:BigInt(c.maxRetries),f=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(h,d={}){let y=await signTransactionMessageWithSigners(h,{abortSignal:d.abortSignal??c.abortSignal,minContextSlot:c.minContextSlot}),w=getBase64EncodedWireTransaction(y),W=await e.rpc.sendTransaction(w,{encoding:"base64",maxRetries:P,preflightCommitment:b,skipPreflight:c.skipPreflight}).send({abortSignal:d.abortSignal??c.abortSignal});return f=signature(W),{transaction:y}}})(u.plan??singleTransactionPlan(u.message),{abortSignal:c.abortSignal}),!f)throw new Error("Failed to resolve transaction signature.");return f}t(i,"sendPreparedTransfer");async function a(u,c){let b=await l(u);try{return await i(b,c)}catch(P){if(isSolanaError(P,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let f=await l({...u,lifetime:void 0});return await i(f,c)}throw P}}return t(a,"sendTransfer"),{deriveAssociatedTokenAddress:C,fetchBalance:g,prepareTransfer:l,sendPreparedTransfer:i,sendTransfer:a}}t(ke,"createSplTokenHelper");var ut="Stake11111111111111111111111111111111111111",dt="SysvarC1ock11111111111111111111111111111111",mt="SysvarStakeHistory1111111111111111111111111",Dr="StakeConfig11111111111111111111111111111111",ft=200;function ie(e){return typeof e=="string"?address(e):e}t(ie,"ensureAddress");async function Ee(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(Ee,"resolveLifetime");function He(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(He,"resolveSigner");function gt(e){return N.fromLamports(e)}t(gt,"toLamportAmount");function De(e){async function n(i){let a=i.commitment,u=await Ee(e,a,i.lifetime),{signer:c,mode:b}=He(i.authority,a),P=ie(i.validatorId),f=gt(i.amount),h=await e.rpc.getMinimumBalanceForRentExemption(BigInt(ft)).send()+f,d=await generateKeyPairSigner(),y=getCreateAccountInstruction({payer:c,newAccount:d,lamports:h,space:BigInt(ft),programAddress:ut}),w=getInitializeInstruction({stake:d.address,arg0:{staker:c.address,withdrawer:c.address},arg1:{unixTimestamp:0n,epoch:0n,custodian:c.address}}),W=getDelegateStakeInstruction({stake:d.address,vote:P,stakeHistory:mt,unused:Dr,stakeAuthority:c}),k=pipe(createTransactionMessage({version:i.transactionVersion??0}),A=>setTransactionMessageFeePayer(c.address,A),A=>setTransactionMessageLifetimeUsingBlockhash(u,A),A=>appendTransactionMessageInstructions([y,w,W],A));return {commitment:a,lifetime:u,message:k,mode:b,signer:c,stakeAccount:d,plan:singleTransactionPlan(k)}}t(n,"prepareStake");async function r(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan??singleTransactionPlan(i.message),{abortSignal:a.abortSignal}),!b)throw new Error("Failed to resolve transaction signature.");return b}t(r,"sendPreparedStake");async function o(i,a){let u=await n(i);return await r(u,a)}t(o,"sendStake");async function s(i){let a=i.commitment,u=await Ee(e,a,i.lifetime),{signer:c,mode:b}=He(i.authority,a),P=ie(i.stakeAccount),f=getDeactivateInstruction({stake:P,clockSysvar:dt,stakeAuthority:c}),m=pipe(createTransactionMessage({version:i.transactionVersion??0}),h=>setTransactionMessageFeePayer(c.address,h),h=>setTransactionMessageLifetimeUsingBlockhash(u,h),h=>appendTransactionMessageInstructions([f],h));return {commitment:a,lifetime:u,message:m,mode:b,signer:c,plan:singleTransactionPlan(m)}}t(s,"prepareUnstake");async function p(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan),!b)throw new Error("Failed to resolve transaction signature.");return b}t(p,"sendPreparedUnstake");async function S(i,a){let u=await s(i);return await p(u,a)}t(S,"sendUnstake");async function T(i){let a=i.commitment,u=await Ee(e,a,i.lifetime),{signer:c,mode:b}=He(i.authority,a),P=ie(i.stakeAccount),f=ie(i.destination),m=gt(i.amount),h=getWithdrawInstruction({stake:P,recipient:f,clockSysvar:dt,stakeHistory:mt,withdrawAuthority:c,args:m}),d=pipe(createTransactionMessage({version:i.transactionVersion??0}),y=>setTransactionMessageFeePayer(c.address,y),y=>setTransactionMessageLifetimeUsingBlockhash(u,y),y=>appendTransactionMessageInstructions([h],y));return {commitment:a,lifetime:u,message:d,mode:b,signer:c,plan:singleTransactionPlan(d)}}t(T,"prepareWithdraw");async function C(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan),!b)throw new Error("Failed to resolve transaction signature.");return b}t(C,"sendPreparedWithdraw");async function g(i,a){let u=await T(i);return await C(u,a)}t(g,"sendWithdraw");async function l(i,a){let u=typeof i=="string"?i:String(i),c=await e.rpc.getProgramAccounts(ut,{encoding:"jsonParsed",filters:[{memcmp:{offset:44n,bytes:u,encoding:"base58"}}]}).send();if(!a)return c;let b=typeof a=="string"?a:String(a);return c.filter(P=>{let f=P.account?.data;return f&&"parsed"in f?f.parsed?.info?.stake?.delegation?.voter===b:false})}return t(l,"getStakeAccounts"),{getStakeAccounts:l,prepareStake:n,prepareUnstake:s,prepareWithdraw:T,sendPreparedStake:r,sendPreparedUnstake:p,sendPreparedWithdraw:C,sendStake:o,sendUnstake:S,sendWithdraw:g}}t(De,"createStakeHelper");function X(e){return "messageBytes"in e?getBase64EncodedWireTransaction(e):getBase64EncodedWireTransaction(compileTransaction(e))}t(X,"transactionToBase64");async function Nr(e){if("messageBytes"in e)return X(e);let n=await partiallySignTransactionMessageWithSigners(e);return X(n)}t(Nr,"transactionToBase64WithSigners");var Kr=1.1,Tt=2e5,bt=14e5;function $r(e){return e.programAddress===COMPUTE_BUDGET_PROGRAM_ADDRESS&&e.data?.[0]===2}t($r,"isComputeUnitLimitInstruction");function Jr(e){let n=e;for(;isSolanaError(n);){if(isSolanaError(n,SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED))return true;n=n.cause;}return false}t(Jr,"didExceedComputeBudget");async function Gr(e,n){let r=n;if(!(n.lifetimeConstraint!==void 0)){let p=await e.getLatestBlockhash().send();r=setTransactionMessageLifetimeUsingBlockhash(p.value,n);}let s=X(r);try{let{value:p}=await e.simulateTransaction(s,{encoding:"base64",replaceRecentBlockhash:!1,sigVerify:!1}).send();return Number(p.unitsConsumed??0)||0}catch(p){if(Jr(p))return bt;throw p}}t(Gr,"estimateComputeUnits");async function ne(e){let n=e.computeUnitLimitMultiplier??Kr,r=e.blockhashReset!==false,o=e.computeUnitLimitReset??false,s=e.transaction,p=s.instructions.findIndex($r);if(p===-1||o){let T=await Gr(e.rpc,s),C=T?Math.ceil(T*n):Tt,g=Math.min(bt,Math.max(Tt,Math.max(1,C))),l=getSetComputeUnitLimitInstruction({units:g});if(p===-1)s=appendTransactionMessageInstruction(l,s);else {let i=[...s.instructions];i.splice(p,1,l),s=Object.freeze({...s,instructions:Object.freeze(i)});}}let S=s.lifetimeConstraint!==void 0;if(r||!S){let T=await e.rpc.getLatestBlockhash().send();S?r&&(s=Object.freeze({...s,lifetimeConstraint:T.value})):s=setTransactionMessageLifetimeUsingBlockhash(T.value,s),S=true;}return e.logRequest&&e.logRequest({base64WireTransaction:X(s)}),s}t(ne,"prepareTransaction");function ua(e){return typeof e=="string"?address(e):e}t(ua,"toAddress");function da(e){return e.some(n=>isInstructionForProgram(n,COMPUTE_BUDGET_PROGRAM_ADDRESS)&&isInstructionWithData(n)&&n.data[0]===ComputeBudgetInstruction.SetComputeUnitLimit)}t(da,"hasSetComputeUnitLimitInstruction");function ma(e){return e.some(n=>isInstructionForProgram(n,COMPUTE_BUDGET_PROGRAM_ADDRESS)&&isInstructionWithData(n)&&n.data[0]===ComputeBudgetInstruction.SetComputeUnitPrice)}t(ma,"hasSetComputeUnitPriceInstruction");function fa(e){return !!("addressTableLookup"in e&&e.addressTableLookup!=null||"addressTableLookups"in e&&Array.isArray(e.addressTableLookups)&&e.addressTableLookups.length>0)}t(fa,"instructionUsesAddressLookup");function ga(e,n){return e&&e!=="auto"?e:n.some(fa)?0:"legacy"}t(ga,"resolveVersion");function Sa(e,n){return e.commitment??n()}t(Sa,"normaliseCommitment");function ya(e,n){if(!e&&!n)throw new Error("A fee payer must be provided via `feePayer` or `authority`.");if(e&&typeof e=="object"&&"address"in e)return {address:e.address,signer:e};if(e){let o=ua(e);return n&&n.address===o?{address:o,signer:n}:{address:o}}if(!n)throw new Error("Unable to resolve authority signer for the fee payer.");return {address:n.address,signer:n}}t(ya,"resolveFeePayerAddress");function Ta(e,n){let r=e.computeUnitLimit;if(!(r===void 0||da(n)))return typeof r=="bigint"?r:BigInt(Math.floor(r))}t(Ta,"resolveComputeUnitLimit");function ha(e,n){if(!(e.computeUnitPrice===void 0||ma(n)))return typeof e.computeUnitPrice=="bigint"?e.computeUnitPrice:BigInt(Math.floor(e.computeUnitPrice))}t(ha,"resolveComputeUnitPrice");async function Rt(e,n){if(!e.instructions.length)throw new Error("Add at least one instruction before preparing a transaction.");let{getFallbackCommitment:r,runtime:o}=n;e.abortSignal?.throwIfAborted();let s=Sa(e,r),p,S="partial";if(e.authority)if(z(e.authority)){let{signer:f,mode:m}=V(e.authority,{commitment:s});p=f,S=m;}else p=e.authority,S=j(p);let{address:T,signer:C}=ya(e.feePayer,p);S==="send"&&(!C||!isTransactionSendingSigner(C))&&(S="partial");let g=[...e.instructions],l=ga(e.version,g),i=e.lifetime??(await o.rpc.getLatestBlockhash({commitment:s}).send({abortSignal:e.abortSignal})).value;e.abortSignal?.throwIfAborted();let a=Ta(e,g),u=ha(e,g),c=[];a!==void 0&&c.push(getSetComputeUnitLimitInstruction({units:Number(a)})),u!==void 0&&c.push(getSetComputeUnitPriceInstruction({microLamports:Number(u)}));let b=[...c,...g];return Object.freeze({commitment:s,computeUnitLimit:a,computeUnitPrice:u,createTransactionMessage:t(async()=>pipe(createTransactionMessage({version:l}),f=>C?setTransactionMessageFeePayerSigner(C,f):setTransactionMessageFeePayer(T,f),f=>setTransactionMessageLifetimeUsingBlockhash(i,f)),"createMessage"),feePayer:T,instructionPlan:getMessagePackerInstructionPlanFromInstructions(b),instructions:Object.freeze(g),lifetime:i,mode:S,version:l})}t(Rt,"createTransactionRecipe");function ba(e){if(e.kind!=="single")throw new Error("Transaction recipe produced a multi-transaction plan which is not supported.");return e}t(ba,"assertSingleTransactionPlan");function Ne(e,n){async function r(g){let l=await Rt(g,{getFallbackCommitment:n,runtime:e}),a=await createTransactionPlanner({createTransactionMessage:l.createTransactionMessage})(l.instructionPlan,{abortSignal:g.abortSignal}),u=ba(a);return Object.freeze({commitment:l.commitment,computeUnitLimit:l.computeUnitLimit,computeUnitPrice:l.computeUnitPrice,feePayer:l.feePayer,instructions:l.instructions,lifetime:l.lifetime,message:u.message,mode:l.mode,plan:a,version:l.version})}t(r,"prepare");async function o(g,l={}){return await signTransactionMessageWithSigners(g.message,{abortSignal:l.abortSignal,minContextSlot:l.minContextSlot})}t(o,"sign");async function s(g,l={}){let i=await o(g,l);return getBase64EncodedWireTransaction(i)}t(s,"toWire");async function p(g,l={}){return !g.plan||g.mode==="send"?S(g,l):T(g,l)}t(p,"send");async function S(g,l){let i=l.commitment??g.commitment;if(g.mode==="send"){let P=await signAndSendTransactionMessageWithSigners(g.message,{abortSignal:l.abortSignal,minContextSlot:l.minContextSlot}),f=getBase58Decoder();return signature(f.decode(P))}let a=await o(g,{abortSignal:l.abortSignal,minContextSlot:l.minContextSlot}),u=getBase64EncodedWireTransaction(a),c=l.maxRetries===void 0?void 0:typeof l.maxRetries=="bigint"?l.maxRetries:BigInt(l.maxRetries),b=await e.rpc.sendTransaction(u,{encoding:"base64",maxRetries:c,preflightCommitment:i,skipPreflight:l.skipPreflight}).send({abortSignal:l.abortSignal});return signature(b)}t(S,"sendDirect");async function T(g,l){if(!g.plan)return S(g,l);let i=l.commitment??g.commitment,a=l.maxRetries===void 0?void 0:typeof l.maxRetries=="bigint"?l.maxRetries:BigInt(l.maxRetries),u=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,P={}){let f=await signTransactionMessageWithSigners(b,{abortSignal:P.abortSignal??l.abortSignal,minContextSlot:l.minContextSlot}),m=getBase64EncodedWireTransaction(f),h=await e.rpc.sendTransaction(m,{encoding:"base64",maxRetries:a,preflightCommitment:i,skipPreflight:l.skipPreflight}).send({abortSignal:P.abortSignal??l.abortSignal});return u=signature(h),{transaction:f}}})(g.plan,{abortSignal:l.abortSignal}),!u)throw new Error("Failed to resolve transaction signature.");return u}t(T,"sendWithExecutor");async function C(g,l={}){let{prepareTransaction:i,...a}=g,u=await r(a);if(i===false)return p(u,l);let c=i??{},b=await ne({blockhashReset:c.blockhashReset??false,...c,rpc:e.rpc,transaction:u.message}),P=Object.freeze({...u,message:b,plan:singleTransactionPlan(b)});return p(P,l)}return t(C,"prepareAndSend"),Object.freeze({prepare:r,sign:o,toWire:s,send:p,prepareAndSend:C})}t(Ne,"createTransactionHelper");var je=address("So11111111111111111111111111111111111111112");function Ve(e,n){if(e)return typeof e=="string"?address(e):e;if(!n)throw new Error("An address value was expected but not provided.");return n}t(Ve,"ensureAddress");async function Mt(e,n,r){if(r)return r;let{value:o}=await e.rpc.getLatestBlockhash({commitment:n}).send();return o}t(Mt,"resolveLifetime");function Bt(e,n){if(z(e)){let{signer:r,mode:o}=V(e,{commitment:n});return {mode:o,signer:r}}return {mode:j(e),signer:e}}t(Bt,"resolveSigner");function Ba(e){return N.fromLamports(e)}t(Ba,"toLamportAmount");function Ke(e){let n=address(TOKEN_PROGRAM_ADDRESS);async function r(i){let[a]=await findAssociatedTokenPda({mint:je,owner:Ve(i),tokenProgram:n});return a}t(r,"deriveWsolAddress");async function o(i,a){let u=await r(i);try{let{value:c}=await e.rpc.getTokenAccountBalance(u,{commitment:a}).send();return {amount:BigInt(c.amount),ataAddress:u,exists:!0}}catch{return {amount:0n,ataAddress:u,exists:false}}}t(o,"fetchWsolBalance");async function s(i){let a=i.commitment,u=await Mt(e,a,i.lifetime),{signer:c,mode:b}=Bt(i.authority,a),P=Ve(i.owner,c.address),f=Ba(i.amount),m=await r(P),h=[getCreateAssociatedTokenIdempotentInstruction({ata:m,mint:je,owner:P,payer:c,tokenProgram:n}),getTransferSolInstruction({amount:f,destination:m,source:c}),getSyncNativeInstruction({account:m})],d=pipe(createTransactionMessage({version:i.transactionVersion??0}),y=>setTransactionMessageFeePayer(c.address,y),y=>setTransactionMessageLifetimeUsingBlockhash(u,y),y=>appendTransactionMessageInstructions(h,y));return {amount:f,ataAddress:m,commitment:a,lifetime:u,message:d,mode:b,owner:P,plan:singleTransactionPlan(d),signer:c}}t(s,"prepareWrap");async function p(i){let a=i.commitment,u=await Mt(e,a,i.lifetime),{signer:c,mode:b}=Bt(i.authority,a),P=Ve(i.owner,c.address),f=await r(P),m=getCloseAccountInstruction({account:f,destination:P,owner:c}),h=pipe(createTransactionMessage({version:i.transactionVersion??0}),d=>setTransactionMessageFeePayer(c.address,d),d=>setTransactionMessageLifetimeUsingBlockhash(u,d),d=>appendTransactionMessageInstruction(m,d));return {ataAddress:f,commitment:a,lifetime:u,message:h,mode:b,owner:P,plan:singleTransactionPlan(h),signer:c}}t(p,"prepareUnwrap");async function S(i,a={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let f=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:a.abortSignal,minContextSlot:a.minContextSlot}),m=getBase58Decoder();return signature(m.decode(f))}let u=a.commitment??i.commitment,c=a.maxRetries===void 0?void 0:typeof a.maxRetries=="bigint"?a.maxRetries:BigInt(a.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(f,m={}){let h=await signTransactionMessageWithSigners(f,{abortSignal:m.abortSignal??a.abortSignal,minContextSlot:a.minContextSlot}),d=getBase64EncodedWireTransaction(h),y=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:c,preflightCommitment:u,skipPreflight:a.skipPreflight}).send({abortSignal:m.abortSignal??a.abortSignal});return b=signature(y),{transaction:h}}})(i.plan??singleTransactionPlan(i.message),{abortSignal:a.abortSignal}),!b)throw new Error("Failed to resolve transaction signature.");return b}t(S,"sendPreparedTransaction");async function T(i,a){return S(i,a)}t(T,"sendPreparedWrap");async function C(i,a){return S(i,a)}t(C,"sendPreparedUnwrap");async function g(i,a){let u=await s(i);try{return await T(u,a)}catch(c){if(isSolanaError(c,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let b=await s({...i,lifetime:void 0});return await T(b,a)}throw c}}t(g,"sendWrap");async function l(i,a){let u=await p(i);try{return await C(u,a)}catch(c){if(isSolanaError(c,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let b=await p({...i,lifetime:void 0});return await C(b,a)}throw c}}return t(l,"sendUnwrap"),{deriveWsolAddress:r,fetchWsolBalance:o,prepareUnwrap:p,prepareWrap:s,sendPreparedUnwrap:C,sendPreparedWrap:T,sendUnwrap:l,sendWrap:g}}t(Ke,"createWsolHelper");function H(e,n,r){if(e.commitment!==void 0)return e;let o=r??n();return {...e,commitment:o}}t(H,"withDefaultCommitment");function Ea(e,n){return {prepareTransfer:t(r=>e.prepareTransfer(H(r,n)),"prepareTransfer"),sendPreparedTransfer:e.sendPreparedTransfer,sendTransfer:t((r,o)=>e.sendTransfer(H(r,n),o),"sendTransfer")}}t(Ea,"wrapSolTransferHelper");function Ha(e,n,r){let o=t(s=>s??r??n(),"resolveCommitment");return {deriveAssociatedTokenAddress:e.deriveAssociatedTokenAddress,fetchBalance:t((s,p)=>e.fetchBalance(s,o(p)),"fetchBalance"),prepareTransfer:t(s=>e.prepareTransfer(H(s,n,r)),"prepareTransfer"),sendPreparedTransfer:e.sendPreparedTransfer,sendTransfer:t((s,p)=>e.sendTransfer(H(s,n,r),p),"sendTransfer")}}t(Ha,"wrapSplTokenHelper");function Da(e,n){return {getStakeAccounts:e.getStakeAccounts,prepareStake:t(r=>e.prepareStake(H(r,n)),"prepareStake"),prepareUnstake:t(r=>e.prepareUnstake(H(r,n)),"prepareUnstake"),prepareWithdraw:t(r=>e.prepareWithdraw(H(r,n)),"prepareWithdraw"),sendPreparedStake:e.sendPreparedStake,sendPreparedUnstake:e.sendPreparedUnstake,sendPreparedWithdraw:e.sendPreparedWithdraw,sendStake:t((r,o)=>e.sendStake(H(r,n),o),"sendStake"),sendUnstake:t((r,o)=>e.sendUnstake(H(r,n),o),"sendUnstake"),sendWithdraw:t((r,o)=>e.sendWithdraw(H(r,n),o),"sendWithdraw")}}t(Da,"wrapStakeHelper");function Fa(e,n){return {deriveWsolAddress:e.deriveWsolAddress,fetchWsolBalance:t((r,o)=>e.fetchWsolBalance(r,o??n()),"fetchWsolBalance"),prepareWrap:t(r=>e.prepareWrap(H(r,n)),"prepareWrap"),prepareUnwrap:t(r=>e.prepareUnwrap(H(r,n)),"prepareUnwrap"),sendPreparedWrap:e.sendPreparedWrap,sendPreparedUnwrap:e.sendPreparedUnwrap,sendWrap:t((r,o)=>e.sendWrap(H(r,n),o),"sendWrap"),sendUnwrap:t((r,o)=>e.sendUnwrap(H(r,n),o),"sendUnwrap")}}t(Fa,"wrapWsolHelper");function se(e){if(e!=null)return typeof e=="string"?e:typeof e=="object"&&"toString"in e?String(e.toString()):JSON.stringify(e)}t(se,"normaliseConfigValue");function _a(e){return JSON.stringify({associatedTokenProgram:se(e.associatedTokenProgram),commitment:se(e.commitment),decimals:e.decimals,mint:se(e.mint),tokenProgram:se(e.tokenProgram)})}t(_a,"serialiseSplConfig");function Et(e,n){let r=t(()=>n.getState().cluster.commitment,"getFallbackCommitment"),o=new Map,s,p,S,T,C=t(()=>(s||(s=Ea(Pe(e),r)),s),"getSolTransfer"),g=t(()=>(p||(p=Da(De(e),r)),p),"getStake"),l=t(()=>(S||(S=Ne(e,r)),S),"getTransaction"),i=t(()=>(T||(T=Fa(Ke(e),r)),T),"getWsol");function a(c){let b=_a(c),P=o.get(b);if(P)return P.scoped;let f=ke(e,c),m=Ha(f,r,c.commitment);return o.set(b,{baseCommitment:c.commitment,scoped:m}),m}return t(a,"getSplTokenHelper"),Object.freeze({get solTransfer(){return C()},splToken:a,get stake(){return g()},get transaction(){return l()},get wsol(){return i()},prepareTransaction:t(c=>ne({...c,rpc:e.rpc}),"prepareTransactionWithRuntime")})}t(Et,"createClientHelpers");function za(){return {status:"idle"}}t(za,"createClusterStatus");function ce(e){let{commitment:n,endpoint:r,websocketEndpoint:o}=e,s=Date.now();return fe({accounts:{},cluster:{commitment:n,endpoint:r,status:za(),websocketEndpoint:o},lastUpdatedAt:s,subscriptions:{account:{},signature:{}},transactions:{},wallet:{status:"disconnected"}})}t(ce,"createInitialClientState");function le(e){return createStore(()=>e)}t(le,"createClientStore");function Va(e){return le(ce(e))}t(Va,"createDefaultClientStore");function Ht({logger:e,runtime:n,store:r}){let o=e??Z();function s(a,u,c){r.setState(b=>({...b,lastUpdatedAt:L(),subscriptions:{...b.subscriptions,[a]:{...b.subscriptions[a],[u]:c}}}));}t(s,"setSubscriptionStatus");function p(a,u){s(a,u,{status:"inactive"});}t(p,"onAbort");function S(a,u,c){function b(){c.abort(),p(a,u);}return t(b,"abort"),{abort:b}}t(S,"createSubscriptionHandle");async function T(a,u,c){let b=a.commitment??r.getState().cluster.commitment,P=n.rpcSubscriptions.accountNotifications(a.address,{commitment:b}),f=a.address.toString();s("account",f,{status:"activating"}),c.signal.addEventListener("abort",()=>p("account",f));try{let m=await P.subscribe({abortSignal:c.signal});s("account",f,{status:"active"});for await(let h of m){let d=h.value?.lamports??null,y=h.value?.executable??null,w=h.value?.owner??null,W=h.context?.slot??null,k={address:a.address,data:h.value?.data,error:void 0,executable:y,fetching:!1,lamports:d,lastFetchedAt:L(),owner:w,slot:W};u(k),r.setState(A=>({...A,accounts:{...A.accounts,[f]:k},lastUpdatedAt:L()}));}}catch(m){c.signal.aborted||(o({data:{address:f,...B(m)},level:"error",message:"account subscription failed"}),s("account",f,{error:m,status:"error"}));}}t(T,"handleAccountNotifications");function C(a,u){let c=new AbortController;return T(a,u,c).catch(b=>{c.signal.aborted||o({data:{address:a.address.toString(),...B(b)},level:"error",message:"account watcher error"});}),S("account",a.address.toString(),c)}t(C,"watchAccount");function g(a,u){return C(a,c=>{c.lamports!==null&&u(c.lamports);})}t(g,"watchBalance");async function l(a,u,c){let b=a.commitment??r.getState().cluster.commitment,P=n.rpcSubscriptions.signatureNotifications(a.signature,{commitment:b,enableReceivedNotification:a.enableReceivedNotification}),f=a.signature.toString();s("signature",f,{status:"activating"}),c.signal.addEventListener("abort",()=>p("signature",f));try{let m=await P.subscribe({abortSignal:c.signal});s("signature",f,{status:"active"});for await(let h of m)u(h),r.setState(d=>({...d,lastUpdatedAt:L(),transactions:{...d.transactions,[f]:{lastUpdatedAt:L(),signature:a.signature,status:"waiting"}}}));}catch(m){c.signal.aborted||(o({data:{signature:f,...B(m)},level:"error",message:"signature subscription failed"}),s("signature",f,{error:m,status:"error"}));}}t(l,"handleSignatureNotifications");function i(a,u){let c=new AbortController;return l(a,u,c).catch(b=>{c.signal.aborted||o({data:{signature:a.signature.toString(),...B(b)},level:"error",message:"signature watcher error"});}),S("signature",a.signature.toString(),c)}return t(i,"watchSignature"),{watchAccount:C,watchBalance:g,watchSignature:i}}t(Ht,"createWatchers");function $e(e){let n=e.initialState?Se(e,e.initialState):e,r=ee({endpoint:n.rpc??n.endpoint,moniker:n.cluster,websocketEndpoint:n.websocket??n.websocketEndpoint}),o=n.commitment??"confirmed",s=ce({commitment:o,endpoint:r.endpoint,websocketEndpoint:r.websocketEndpoint}),p=e.createStore?e.createStore(s):le(s),S=n.rpcClient??Q({commitment:o,endpoint:r.endpoint,websocketEndpoint:r.websocketEndpoint}),T={rpc:S.rpc,rpcSubscriptions:S.rpcSubscriptions},C=ye(n.walletConnectors??[]),g=Z(n.logger),l=at({connectors:C,logger:g,runtime:T,store:p}),i=Ht({logger:g,runtime:T,store:p}),a=Et(T,p);p.setState(c=>({...c,cluster:{...c.cluster,status:{status:"connecting"}},lastUpdatedAt:L()})),l.setCluster(r.endpoint,{commitment:o,websocketEndpoint:r.websocketEndpoint}).catch(c=>g({data:B(c),level:"error",message:"initial cluster setup failed"}));function u(){p.setState(()=>s);}return t(u,"destroy"),{actions:l,config:e,connectors:C,destroy:u,get helpers(){return a},runtime:T,store:p,get solTransfer(){return a.solTransfer},get SolTransfer(){return a.solTransfer},splToken:a.splToken,SplToken:a.splToken,SplHelper:a.splToken,get stake(){return a.stake},get transaction(){return a.transaction},get wsol(){return a.wsol},prepareTransaction:a.prepareTransaction,watchers:i}}t($e,"createClient");var Qa=getBase58Decoder(),eo=getTransactionDecoder(),Ft=getTransactionEncoder();function to(e){return `wallet-standard:${e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-")}`}t(to,"deriveConnectorId");function no(e){let n=e[0];if(!n)throw new Error("Wallet returned no accounts.");return n}t(no,"getPrimaryAccount");function ro(e){if(e==="processed"||e==="confirmed"||e==="finalized")return e}t(ro,"mapCommitment");function Je(e){return {address:address(e.address),label:e.label,publicKey:new Uint8Array(e.publicKey)}}t(Je,"toSessionAccount");function _t(e){let[n]=e.chains??[];return n}t(_t,"getChain");async function Nt(e){let n=e.features[StandardDisconnect];n&&await n.disconnect();}t(Nt,"disconnectWallet");function re(e,n={}){let r={canAutoConnect:n.canAutoConnect??!!e.features[StandardConnect],icon:n.icon??e.icon,id:n.id??to(e),kind:n.kind??"wallet-standard",name:n.name??e.name,ready:typeof window<"u"};async function o(S={}){let T=e.features[StandardConnect],C=e.features[StandardEvents],g=!!S.autoConnect,l=S.allowInteractiveFallback??true,i=e.accounts;if(T){let k=t(async A=>T.connect({silent:A}),"connectWithMode");try{let{accounts:A}=await k(g);A.length&&(i=A);}catch(A){if(!g||!l)throw A;let{accounts:x}=await k(false);x.length&&(i=x);}}let a=no(i),u=Je(a),c=e.features[SolanaSignMessage],b=e.features[SolanaSignTransaction],P=e.features[SolanaSignAndSendTransaction],f=n.defaultChain??_t(a),m=c?async k=>{let[A]=await c.signMessage({account:a,message:k});return A.signature}:void 0,h=b?async k=>{let A=new Uint8Array(Ft.encode(k)),x=f?{account:a,chain:f,transaction:A}:{account:a,transaction:A},[v]=await b.signTransaction(x);return eo.decode(v.signedTransaction)}:void 0,d=P?async(k,A)=>{let x=new Uint8Array(Ft.encode(k)),v=n.defaultChain??_t(a)??"solana:mainnet-beta",[me]=await P.signAndSendTransaction({account:a,chain:v,options:{commitment:ro(A?.commitment)},transaction:x});return Qa.decode(me.signature)}:void 0;async function y(){w?.(),await Nt(e);}t(y,"disconnectSession");let w,W=C?k=>C.on("change",({accounts:x})=>{if(x){if(!x.length){k([]);return}a=x[0],u=Je(a),k(x.map(Je));}}):void 0;return {account:u,connector:r,disconnect:y,onAccountsChanged:W?k=>(w=W(k),()=>{w?.(),w=void 0;}):void 0,sendTransaction:d,signMessage:m,signTransaction:h}}t(o,"connect");async function s(){await Nt(e);}t(s,"disconnect");function p(){return typeof window<"u"}return t(p,"isSupported"),{...r,connect:o,disconnect:s,isSupported:p}}t(re,"createWalletStandardConnector");function Vt(e,n){return re(e,n?.(e))}t(Vt,"mapWalletToConnector");function ao(e={}){let{get:n}=getWallets(),r=n().map(s=>Vt(s,e.overrides)),o=new Set;return r.filter(s=>o.has(s.id)?false:(o.add(s.id),true))}t(ao,"getWalletStandardConnectors");function oo(e,n={}){let{get:r,on:o}=getWallets(),s=t(()=>{let T=r().map(l=>Vt(l,n.overrides)),C=new Set,g=T.filter(l=>C.has(l.id)?false:(C.add(l.id),true));e(g);},"emit");s();let p=o("register",s),S=o("unregister",s);return ()=>{p(),S();}}t(oo,"watchWalletStandardConnectors");function $(e={}){let{get:n}=getWallets(),o=n().filter(p=>e.filter?e.filter(p):true).map(p=>re(p,e.overrides?.(p))),s=new Set;return o.filter(p=>s.has(p.id)?false:(s.add(p.id),true))}t($,"autoDiscover");function so(e){return {canAutoConnect:true,id:"wallet-standard:injected",kind:"wallet-standard",name:"Injected Wallet",ready:typeof window<"u",async connect(){let o=getWallets().get().find(s=>StandardConnect in s.features);if(!o)throw new Error("No Wallet Standard wallets available.");return re(o,e).connect()},async disconnect(){},isSupported(){return typeof window<"u"}}}t(so,"injected");function pe(e){let n=e.toLowerCase();return r=>r.name.toLowerCase().includes(n)}t(pe,"filterByName");function co(...e){let n=e.map(r=>r.toLowerCase());return r=>n.some(o=>r.name.toLowerCase().includes(o))}t(co,"filterByNames");function Ge(e){return $({filter:pe("phantom"),overrides:t(()=>({...e,id:"wallet-standard:phantom"}),"overrides")})}t(Ge,"phantom");function Ze(e){return $({filter:pe("solflare"),overrides:t(()=>({...e,id:"wallet-standard:solflare"}),"overrides")})}t(Ze,"solflare");function Ye(e){return $({filter:pe("backpack"),overrides:t(()=>({...e,id:"wallet-standard:backpack"}),"overrides")})}t(Ye,"backpack");function lo(e){return $({filter:pe("metamask"),overrides:t(()=>({...e,id:"wallet-standard:metamask"}),"overrides")})}t(lo,"metamask");function qt(){return [...Ge(),...Ze(),...Ye(),...$()]}t(qt,"defaultWalletConnectors");function ue(e){if(!e)return;let n=e.trim();return n.length?n:void 0}t(ue,"normalizeUrl");function Kt(e={}){let{cluster:n,endpoint:r,rpc:o,websocket:s,websocketEndpoint:p,walletConnectors:S,...T}=e,C=ue(o)??ue(r)??ue(e.endpoint),g=ee({endpoint:C,moniker:n??void 0,websocketEndpoint:ue(s??p)}),l=S===void 0||S==="default"?qt():S;return {...T,endpoint:g.endpoint,websocketEndpoint:g.websocketEndpoint,walletConnectors:l}}t(Kt,"resolveClientConfig");function po(e={}){return $e(Kt(e))}t(po,"createDefaultClient");function I(){return {status:"idle"}}t(I,"createInitialAsyncState");function O(e,n={}){return {data:n.data,error:n.error,status:e}}t(O,"createAsyncState");function uo(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before sending SOL transfers.");return {...e,authority:r}}t(uo,"ensureAuthority");function mo(e){let n=new Set,r=e.helper,o=e.authorityProvider,s=I();function p(){for(let l of n)l();}t(p,"notify");function S(l){s=l,p();}t(S,"setState");async function T(l,i){let a=uo(l,o);S(O("loading"));try{let u=await r.sendTransfer(a,i);return S(O("success",{data:u})),u}catch(u){throw S(O("error",{error:u})),u}}t(T,"send");function C(l){return n.add(l),()=>{n.delete(l);}}t(C,"subscribe");function g(){S(I());}return t(g,"reset"),{getHelper:t(()=>r,"getHelper"),getState:t(()=>s,"getState"),reset:g,send:T,subscribe:C}}t(mo,"createSolTransferController");function fo(e,n,r){let o=e.authority??n?.();if(!o)throw new Error("Connect a wallet or supply an `authority` before sending SPL tokens.");let s=e.sourceOwner??r?.();if(!s)throw new Error("Unable to resolve a source owner for the SPL token transfer.");return {...e,authority:o,sourceOwner:s}}t(fo,"ensureTransferConfig");function go(e){let n=e.helper,r=e.authorityProvider,o=e.sourceOwnerProvider,s=new Set,p=I();function S(){for(let i of s)i();}t(S,"notify");function T(i){p=i,S();}t(T,"setState");async function C(i,a){let u=fo(i,i.authority?void 0:r,i.sourceOwner?void 0:o);T(O("loading"));try{let c=await n.sendTransfer(u,a);return T(O("success",{data:c})),c}catch(c){throw T(O("error",{error:c})),c}}t(C,"send");function g(i){return s.add(i),()=>{s.delete(i);}}t(g,"subscribe");function l(){T(I());}return t(l,"reset"),{getHelper:t(()=>n,"getHelper"),getState:t(()=>p,"getState"),reset:l,send:C,subscribe:g}}t(go,"createSplTransferController");function So(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before staking SOL.");return {...e,authority:r}}t(So,"ensureAuthority");function yo(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before unstaking SOL.");return {...e,authority:r}}t(yo,"ensureUnstakeAuthority");function To(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before withdrawing SOL.");return {...e,authority:r}}t(To,"ensureWithdrawAuthority");function ho(e){let n=new Set,r=new Set,o=new Set,s=e.helper,p=e.authorityProvider,S=I(),T=I(),C=I();function g(){for(let k of n)k();}t(g,"notify");function l(){for(let k of r)k();}t(l,"notifyUnstake");function i(){for(let k of o)k();}t(i,"notifyWithdraw");function a(k){S=k,g();}t(a,"setState");function u(k){T=k,l();}t(u,"setUnstakeState");function c(k){C=k,i();}t(c,"setWithdrawState");async function b(k,A){let x=So(k,p);a(O("loading"));try{let v=await s.sendStake(x,A);return a(O("success",{data:v})),v}catch(v){throw a(O("error",{error:v})),v}}t(b,"stake");async function P(k,A){let x=yo(k,p);u(O("loading"));try{let v=await s.sendUnstake(x,A);return u(O("success",{data:v})),v}catch(v){throw u(O("error",{error:v})),v}}t(P,"unstake");async function f(k,A){let x=To(k,p);c(O("loading"));try{let v=await s.sendWithdraw(x,A);return c(O("success",{data:v})),v}catch(v){throw c(O("error",{error:v})),v}}t(f,"withdraw");function m(k){return n.add(k),()=>{n.delete(k);}}t(m,"subscribe");function h(k){return r.add(k),()=>{r.delete(k);}}t(h,"subscribeUnstake");function d(k){return o.add(k),()=>{o.delete(k);}}t(d,"subscribeWithdraw");function y(){a(I());}t(y,"reset");function w(){u(I());}t(w,"resetUnstake");function W(){c(I());}return t(W,"resetWithdraw"),{getHelper:t(()=>s,"getHelper"),getState:t(()=>S,"getState"),getUnstakeState:t(()=>T,"getUnstakeState"),getWithdrawState:t(()=>C,"getWithdrawState"),reset:y,resetUnstake:w,resetWithdraw:W,stake:b,unstake:P,withdraw:f,subscribe:m,subscribeUnstake:h,subscribeWithdraw:d}}t(ho,"createStakeController");function $t(e,n){let r=e.authority??n?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before wrapping/unwrapping SOL.");return {...e,authority:r}}t($t,"ensureAuthority");function bo(e){let n=new Set,r=new Set,o=e.helper,s=e.authorityProvider,p=I(),S=I();function T(){for(let f of n)f();}t(T,"notifyWrap");function C(){for(let f of r)f();}t(C,"notifyUnwrap");function g(f){p=f,T();}t(g,"setWrapState");function l(f){S=f,C();}t(l,"setUnwrapState");async function i(f,m){let h=$t(f,s);g(O("loading"));try{let d=await o.sendWrap(h,m);return g(O("success",{data:d})),d}catch(d){throw g(O("error",{error:d})),d}}t(i,"wrap");async function a(f,m){let h=$t(f,s);l(O("loading"));try{let d=await o.sendUnwrap(h,m);return l(O("success",{data:d})),d}catch(d){throw l(O("error",{error:d})),d}}t(a,"unwrap");function u(f){return n.add(f),()=>{n.delete(f);}}t(u,"subscribeWrap");function c(f){return r.add(f),()=>{r.delete(f);}}t(c,"subscribeUnwrap");function b(){g(I());}t(b,"resetWrap");function P(){l(I());}return t(P,"resetUnwrap"),{getHelper:t(()=>o,"getHelper"),getWrapState:t(()=>p,"getWrapState"),getUnwrapState:t(()=>S,"getUnwrapState"),resetWrap:b,resetUnwrap:P,wrap:i,unwrap:a,subscribeWrap:u,subscribeUnwrap:c}}t(bo,"createWsolController");function Co(e){return e.toString()}t(Co,"bigintToJson");function wo(e){return q(e,"bigint")}t(wo,"bigintFromJson");function Po(e){return e.toString()}t(Po,"lamportsToJson");function ko(e){return we(e,"lamports")}t(ko,"lamportsFromJson");var Jt={processed:0,confirmed:1,finalized:2},Ro=2e4;function Wo(e){if(e)return typeof e=="string"?signature(e):e}t(Wo,"normalizeSignature");function xo(e){return e?e.confirmationStatus==="processed"||e.confirmationStatus==="confirmed"||e.confirmationStatus==="finalized"?e.confirmationStatus:e.confirmations===null?"finalized":typeof e.confirmations=="number"&&e.confirmations>0?"confirmed":"processed":null}t(xo,"deriveConfirmationStatus");function Lo(e,n){return e?Jt[e]>=Jt[n]:false}t(Lo,"confirmationMeetsCommitment");var Uo="MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr";function Mo(e){let n=e.findIndex(r=>r.programAddress!==Uo);if(e.length===0||n===-1)throw new SolanaError(SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR,{cause:"At least one non-memo instruction is required.",index:e.length||n});return n}t(Mo,"ensureNonMemoInstructionIndex");function Bo(e,n){return Gt([e],n)}t(Bo,"insertReferenceKey");function Gt(e,n){let r=Mo(n.instructions),o=n.instructions[r],s=[...o.accounts??[],...e.map(S=>({address:S,role:AccountRole.READONLY}))],p=[...n.instructions];return p.splice(r,1,{...o,accounts:s}),Object.freeze({...n,instructions:Object.freeze(p)})}t(Gt,"insertReferenceKeys");function de(e){let n=e,r=new Set;return {getSnapshot:t(()=>n,"getSnapshot"),setSnapshot(o){n=o;for(let s of r)s();},subscribe(o){return r.add(o),()=>{r.delete(o);}}}}t(de,"createStore");function Zt(e){return Object.freeze([...e])}t(Zt,"freezeInstructions");function Eo(e){let n=e.helper,r=Zt(e.initialInstructions??[]),o=e.blockhashMaxAgeMs??3e4,s,p=de(r),S=de(null),T=de(I()),C=de(I());function g(){S.setSnapshot(null),T.setSnapshot(I()),C.setSnapshot(I());}t(g,"resetDerivedState");function l(R){p.setSnapshot(Zt(R)),g();}t(l,"commitInstructions");function i(R){let U=[...p.getSnapshot(),R];l(U);}t(i,"addInstruction");function a(R){if(!R.length)return;let U=[...p.getSnapshot(),...R];l(U);}t(a,"addInstructions");function u(R){l(R);}t(u,"replaceInstructions");function c(){l([]);}t(c,"clearInstructions");function b(R){let U=p.getSnapshot();if(R<0||R>=U.length)return;let E=U.filter((_,M)=>M!==R);l(E);}t(b,"removeInstruction");function P(){l(r);}t(P,"reset");function f(R){if(!R.length)throw new Error("Add at least one instruction before preparing a transaction.")}t(f,"ensureInstructions");function m(){if(s&&!(Date.now()-s.updatedAt>o))return s.value}t(m,"resolveCachedLifetime");async function h(R={}){let{instructions:U,...E}=R,_=U??p.getSnapshot();f(_),T.setSnapshot(O("loading"));try{let M=E.lifetime??m(),J=M&&!E.lifetime?{...E,lifetime:M}:E,G=await n.prepare({...J,instructions:_});return S.setSnapshot(G),T.setSnapshot(O("success",{data:G})),G}catch(M){throw T.setSnapshot(O("error",{error:M})),M}}t(h,"prepare");function d(R){let U=R??S.getSnapshot();if(!U)throw new Error("Prepare a transaction before sending.");return U}t(d,"resolvePrepared");function y(R){if(R.lifetime)return R;let U=m();return U?{...R,lifetime:U}:R}t(y,"resolveLifetimeOptions");async function w(R={}){let{prepared:U,...E}=R,_=d(U);C.setSnapshot(O("loading"));try{let M=await n.send(_,E);return C.setSnapshot(O("success",{data:M})),M}catch(M){throw C.setSnapshot(O("error",{error:M})),M}}t(w,"send");async function W(R={},U){let{instructions:E,..._}=R,M=E??p.getSnapshot();f(M),C.setSnapshot(O("loading"));try{let J=y(_),G=await n.prepareAndSend({...J,instructions:M},U);return C.setSnapshot(O("success",{data:G})),G}catch(J){throw C.setSnapshot(O("error",{error:J})),J}}t(W,"prepareAndSend");function k(R={}){let{prepared:U,...E}=R,_=d(U);return n.sign(_,E)}t(k,"sign");function A(R={}){let{prepared:U,...E}=R,_=d(U);return n.toWire(_,E)}t(A,"toWire");function x(R){return p.subscribe(R)}t(x,"subscribeInstructions");function v(R){return S.subscribe(R)}t(v,"subscribePrepared");function me(R){return T.subscribe(R)}t(me,"subscribePrepareState");function Xt(R){return C.subscribe(R)}t(Xt,"subscribeSendState");function Qt(R){s=R;}return t(Qt,"setLatestBlockhashCache"),{addInstruction:i,addInstructions:a,clearInstructions:c,get helper(){return n},getInstructions:p.getSnapshot,getPrepareState:T.getSnapshot,getPrepared:S.getSnapshot,getSendState:C.getSnapshot,getLatestBlockhashCache:t(()=>s,"getLatestBlockhashCache"),prepare:h,prepareAndSend:W,removeInstruction:b,replaceInstructions:u,reset:P,send:w,setLatestBlockhashCache:Qt,sign:k,subscribeInstructions:x,subscribePrepareState:me,subscribePrepared:v,subscribeSendState:Xt,toWire:A}}t(Eo,"createTransactionPoolController");function Yt(e){return typeof e=="string"?address(e):e}t(Yt,"toAddress");function Do(e){return Yt(e).toString()}t(Do,"toAddressString");function Fo(e){return JSON.stringify(e,(r,o)=>typeof o=="bigint"?{__type:"bigint",value:o.toString()}:o instanceof Uint8Array?Array.from(o):o)??"undefined"}t(Fo,"stableStringify");
2
+ export{Nn as LAMPORTS_PER_SOL,Ro as SIGNATURE_STATUS_TIMEOUT_MS,je as WRAPPED_SOL_MINT,Ce as applyRatio,Se as applySerializableState,ae as assertDecimals,D as assertNonNegative,$ as autoDiscover,Ye as backpack,wo as bigintFromJson,Co as bigintToJson,he as checkedAdd,Bn as checkedDivide,Mn as checkedMultiply,be as checkedSubtract,Lo as confirmationMeetsCommitment,tn as connectWallet,O as createAsyncState,$e as createClient,le as createClientStore,po as createDefaultClient,Va as createDefaultClientStore,I as createInitialAsyncState,ce as createInitialClientState,Hn as createRatio,mo as createSolTransferController,Pe as createSolTransferHelper,Q as createSolanaRpcClient,ke as createSplTokenHelper,go as createSplTransferController,ho as createStakeController,De as createStakeHelper,te as createTokenAmount,Ne as createTransactionHelper,Eo as createTransactionPoolController,Rt as createTransactionRecipe,ye as createWalletRegistry,re as createWalletStandardConnector,bo as createWsolController,Ke as createWsolHelper,qt as defaultWalletConnectors,xo as deriveConfirmationStatus,bn as deserializeSolanaState,nn as disconnectWallet,rn as fetchAccount,an as fetchBalance,on as fetchLookupTable,sn as fetchLookupTables,cn as fetchNonceAccount,co as filterByNames,hn as getInitialSerializableState,ao as getWalletStandardConnectors,so as injected,Bo as insertReferenceKey,Gt as insertReferenceKeys,we as lamports,ko as lamportsFromJson,zn as lamportsFromSol,N as lamportsMath,Po as lamportsToJson,Vn as lamportsToSolString,lo as metamask,Wo as normalizeSignature,Ge as phantom,Te as pow10,ne as prepareTransaction,ln as requestAirdrop,Kt as resolveClientConfig,ee as resolveCluster,pn as sendTransaction,ge as serializeSolanaState,un as setCluster,Ze as solflare,Fo as stableStringify,Cn as subscribeSolanaState,Yt as toAddress,Do as toAddressString,q as toBigint,X as transactionToBase64,Nr as transactionToBase64WithSigners,oo as watchWalletStandardConnectors};//# sourceMappingURL=index.native.mjs.map
3
3
  //# sourceMappingURL=index.native.mjs.map
@@ -3178,6 +3178,11 @@ function filterByName(name) {
3178
3178
  return (wallet) => wallet.name.toLowerCase().includes(lower);
3179
3179
  }
3180
3180
  __name(filterByName, "filterByName");
3181
+ function filterByNames(...names) {
3182
+ const lowerNames = names.map((n) => n.toLowerCase());
3183
+ return (wallet) => lowerNames.some((name) => wallet.name.toLowerCase().includes(name));
3184
+ }
3185
+ __name(filterByNames, "filterByNames");
3181
3186
  function phantom(options) {
3182
3187
  return autoDiscover({
3183
3188
  filter: filterByName("phantom"),
@@ -4009,6 +4014,6 @@ function stableStringify(value) {
4009
4014
  }
4010
4015
  __name(stableStringify, "stableStringify");
4011
4016
 
4012
- export { LAMPORTS_PER_SOL, SIGNATURE_STATUS_TIMEOUT_MS, WRAPPED_SOL_MINT, applyRatio, applySerializableState, assertDecimals, assertNonNegative, autoDiscover, backpack, bigintFromJson, bigintToJson, checkedAdd, checkedDivide, checkedMultiply, checkedSubtract, confirmationMeetsCommitment, connectWallet, createAsyncState, createClient, createClientStore, createDefaultClient, createDefaultClientStore, createInitialAsyncState, createInitialClientState, createRatio, createSolTransferController, createSolTransferHelper, createSolanaRpcClient, createSplTokenHelper, createSplTransferController, createStakeController, createStakeHelper, createTokenAmount, createTransactionHelper, createTransactionPoolController, createTransactionRecipe, createWalletRegistry, createWalletStandardConnector, createWsolController, createWsolHelper, defaultWalletConnectors, deriveConfirmationStatus, deserializeSolanaState, disconnectWallet, fetchAccount, fetchBalance, fetchLookupTable, fetchLookupTables, fetchNonceAccount, getInitialSerializableState, getWalletStandardConnectors, injected, insertReferenceKey, insertReferenceKeys, lamports, lamportsFromJson, lamportsFromSol, lamportsMath, lamportsToJson, lamportsToSolString, metamask, normalizeSignature, phantom, pow10, prepareTransaction, requestAirdrop, resolveClientConfig, resolveCluster, sendTransaction, serializeSolanaState, setCluster, solflare, stableStringify, subscribeSolanaState, toAddress2 as toAddress, toAddressString, toBigint2 as toBigint, transactionToBase64, transactionToBase64WithSigners, watchWalletStandardConnectors };
4017
+ export { LAMPORTS_PER_SOL, SIGNATURE_STATUS_TIMEOUT_MS, WRAPPED_SOL_MINT, applyRatio, applySerializableState, assertDecimals, assertNonNegative, autoDiscover, backpack, bigintFromJson, bigintToJson, checkedAdd, checkedDivide, checkedMultiply, checkedSubtract, confirmationMeetsCommitment, connectWallet, createAsyncState, createClient, createClientStore, createDefaultClient, createDefaultClientStore, createInitialAsyncState, createInitialClientState, createRatio, createSolTransferController, createSolTransferHelper, createSolanaRpcClient, createSplTokenHelper, createSplTransferController, createStakeController, createStakeHelper, createTokenAmount, createTransactionHelper, createTransactionPoolController, createTransactionRecipe, createWalletRegistry, createWalletStandardConnector, createWsolController, createWsolHelper, defaultWalletConnectors, deriveConfirmationStatus, deserializeSolanaState, disconnectWallet, fetchAccount, fetchBalance, fetchLookupTable, fetchLookupTables, fetchNonceAccount, filterByNames, getInitialSerializableState, getWalletStandardConnectors, injected, insertReferenceKey, insertReferenceKeys, lamports, lamportsFromJson, lamportsFromSol, lamportsMath, lamportsToJson, lamportsToSolString, metamask, normalizeSignature, phantom, pow10, prepareTransaction, requestAirdrop, resolveClientConfig, resolveCluster, sendTransaction, serializeSolanaState, setCluster, solflare, stableStringify, subscribeSolanaState, toAddress2 as toAddress, toAddressString, toBigint2 as toBigint, transactionToBase64, transactionToBase64WithSigners, watchWalletStandardConnectors };
4013
4018
  //# sourceMappingURL=index.node.mjs.map
4014
4019
  //# sourceMappingURL=index.node.mjs.map
@@ -29,7 +29,7 @@ export type { AccountCache, AccountCacheEntry, AccountWatcherConfig, AddressLook
29
29
  export { type AddressLike, toAddress, toAddressString } from './utils/addressLike';
30
30
  export { type ClusterMoniker, resolveCluster } from './utils/cluster';
31
31
  export { stableStringify } from './utils/stableStringify';
32
- export { autoDiscover, backpack, injected, metamask, phantom, solflare } from './wallet/connectors';
32
+ export { autoDiscover, backpack, filterByNames, injected, metamask, phantom, solflare } from './wallet/connectors';
33
33
  export { createWalletRegistry } from './wallet/registry';
34
34
  export { createWalletStandardConnector, getWalletStandardConnectors, watchWalletStandardConnectors, } from './wallet/standard';
35
35
  export type { WalletConnector, WalletConnectorMetadata, WalletRegistry, WalletSession, WalletStatus, } from './wallet/types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,UAAU,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACnH,OAAO,EACN,KAAK,0BAA0B,EAC/B,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACN,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACN,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,aAAa,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACpH,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,KAAK,UAAU,EACf,UAAU,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,KAAK,EACL,QAAQ,GACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpH,OAAO,EACN,KAAK,2BAA2B,EAChC,qBAAqB,EACrB,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,EAC/B,KAAK,eAAe,GACpB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EACN,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,KAAK,sBAAsB,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,2BAA2B,EAC3B,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClH,OAAO,EACN,mBAAmB,EACnB,8BAA8B,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,kBAAkB,GAClB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EACN,+BAA+B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,oCAAoC,EACzC,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,GAC/B,MAAM,0CAA0C,CAAC;AAClD,YAAY,EACX,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,GAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,KAAK,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACN,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACX,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,YAAY,GACZ,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,UAAU,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACnH,OAAO,EACN,KAAK,0BAA0B,EAC/B,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACN,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACN,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,aAAa,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACpH,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,KAAK,UAAU,EACf,UAAU,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,KAAK,EACL,QAAQ,GACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpH,OAAO,EACN,KAAK,2BAA2B,EAChC,qBAAqB,EACrB,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,EAC/B,KAAK,eAAe,GACpB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EACN,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,KAAK,sBAAsB,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,2BAA2B,EAC3B,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClH,OAAO,EACN,mBAAmB,EACnB,8BAA8B,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,kBAAkB,GAClB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EACN,+BAA+B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,oCAAoC,EACzC,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,GAC/B,MAAM,0CAA0C,CAAC;AAClD,YAAY,EACX,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,GAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,KAAK,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACN,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACX,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,YAAY,GACZ,MAAM,gBAAgB,CAAC"}
@@ -13,6 +13,19 @@ export declare function autoDiscover(options?: DiscoveryOptions): readonly Walle
13
13
  * Creates a connector for any Wallet Standard wallet that supports connect.
14
14
  */
15
15
  export declare function injected(options?: Parameters<typeof createWalletStandardConnector>[1]): WalletConnector;
16
+ /**
17
+ * Creates a filter function for autoDiscover that matches wallets by name.
18
+ * Useful for filtering to specific wallets without using wallet-specific connector functions.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * // Filter to only Phantom and Solflare wallets
23
+ * const connectors = autoDiscover({
24
+ * filter: filterByNames('phantom', 'solflare')
25
+ * });
26
+ * ```
27
+ */
28
+ export declare function filterByNames(...names: string[]): (wallet: Wallet) => boolean;
16
29
  /**
17
30
  * Factory for a Phantom-only connector.
18
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../../src/wallet/connectors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,KAAK,gBAAgB,GAAG,QAAQ,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CACrC,CAAC,CAAC;AAEH;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,eAAe,EAAE,CAYvF;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAuBvG;AAOD;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKjH;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKlH;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKlH;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKlH"}
1
+ {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../../src/wallet/connectors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,KAAK,gBAAgB,GAAG,QAAQ,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CACrC,CAAC,CAAC;AAEH;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,eAAe,EAAE,CAYvF;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAuBvG;AAOD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,IAEvC,QAAQ,MAAM,aACtB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKjH;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKlH;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKlH;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKlH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solana/client",
3
- "version": "1.4.1",
3
+ "version": "1.5.0",
4
4
  "description": "Framework-agnostic Solana client orchestration layer powering higher-level experiences",
5
5
  "exports": {
6
6
  ".": {
@@ -55,9 +55,9 @@
55
55
  "@solana/kit": "^5.0.0",
56
56
  "@solana/transactions": "^5.0.0",
57
57
  "@solana/transaction-confirmation": "^5.0.0",
58
- "@solana-program/system": "^0.9.0",
59
- "@solana-program/compute-budget": "^0.9.0",
60
- "@solana-program/token": "^0.5.1",
58
+ "@solana-program/system": "^0.10.0",
59
+ "@solana-program/compute-budget": "^0.11.0",
60
+ "@solana-program/token": "^0.9.0",
61
61
  "@solana-program/address-lookup-table": "^0.10.0",
62
62
  "@wallet-standard/app": "^1.0.1",
63
63
  "@wallet-standard/base": "^1.1.0",