@solana/client 1.3.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.browser.mjs +2 -2
- package/dist/index.native.mjs +2 -2
- package/dist/index.node.mjs +406 -61
- package/dist/types/client/actions.d.ts +3 -1
- package/dist/types/client/actions.d.ts.map +1 -1
- package/dist/types/client/createClient.d.ts.map +1 -1
- package/dist/types/client/createClientHelpers.d.ts +2 -1
- package/dist/types/client/createClientHelpers.d.ts.map +1 -1
- package/dist/types/client/defaultClient.d.ts +2 -1
- package/dist/types/client/defaultClient.d.ts.map +1 -1
- package/dist/types/client/watchers.d.ts +2 -1
- package/dist/types/client/watchers.d.ts.map +1 -1
- package/dist/types/controllers/wsolController.d.ts +30 -0
- package/dist/types/controllers/wsolController.d.ts.map +1 -0
- package/dist/types/features/sol.d.ts +118 -2
- package/dist/types/features/sol.d.ts.map +1 -1
- package/dist/types/features/spl.d.ts +165 -2
- package/dist/types/features/spl.d.ts.map +1 -1
- package/dist/types/features/stake.d.ts +208 -2
- package/dist/types/features/stake.d.ts.map +1 -1
- package/dist/types/features/transactions.d.ts +2 -1
- package/dist/types/features/transactions.d.ts.map +1 -1
- package/dist/types/features/wsol.d.ts +254 -0
- package/dist/types/features/wsol.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/rpc/types.d.ts +8 -0
- package/dist/types/rpc/types.d.ts.map +1 -0
- package/dist/types/signers/walletTransactionSigner.d.ts +1 -1
- package/dist/types/signers/walletTransactionSigner.d.ts.map +1 -1
- package/dist/types/types.d.ts +6 -64
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/wallet/connectors.d.ts +1 -1
- package/dist/types/wallet/connectors.d.ts.map +1 -1
- package/dist/types/wallet/registry.d.ts +1 -1
- package/dist/types/wallet/registry.d.ts.map +1 -1
- package/dist/types/wallet/standard.d.ts +1 -1
- package/dist/types/wallet/standard.d.ts.map +1 -1
- package/dist/types/wallet/types.d.ts +60 -0
- package/dist/types/wallet/types.d.ts.map +1 -0
- package/package.json +9 -4
package/dist/index.browser.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {createSolanaRpc,createSolanaRpcSubscriptions,address,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}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 Ht=Object.defineProperty;var t=(e,n)=>Ht(e,"name",{value:n,configurable:true});function _t(e,n){return e.actions.connectWallet(n.connectorId,n.options)}t(_t,"connectWallet");function Nt(e,n){return e.actions.disconnectWallet()}t(Nt,"disconnectWallet");function zt(e,n){return e.actions.fetchAccount(n.address,n.commitment)}t(zt,"fetchAccount");function Vt(e,n){return e.actions.fetchBalance(n.address,n.commitment)}t(Vt,"fetchBalance");function jt(e,n){return e.actions.fetchLookupTable(n.address,n.commitment)}t(jt,"fetchLookupTable");function qt(e,n){return e.actions.fetchLookupTables(n.addresses,n.commitment)}t(qt,"fetchLookupTables");function Kt(e,n){return e.actions.fetchNonceAccount(n.address,n.commitment)}t(Kt,"fetchNonceAccount");function $t(e,n){return e.actions.requestAirdrop(n.address,n.lamports)}t($t,"requestAirdrop");function Jt(e,n){return e.actions.sendTransaction(n.transaction,n.commitment)}t(Jt,"sendTransaction");function Gt(e,n){return e.actions.setCluster(n.endpoint,n.config)}t(Gt,"setCluster");function fe(e){if(typeof e!="object"||e===null)return e;let n=e;for(let r of Reflect.ownKeys(n)){let a=n[r];fe(a);}return Object.freeze(e)}t(fe,"deepFreeze");function W(){return Date.now()}t(W,"now");function $e(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}t($e,"toErrorMessage");function Z(e){return e||(({data:n,level:r,message:a})=>{let i=n?{...n}:{};switch(r){case "error":console.error(`[react-core] ${a}`,i);break;case "warn":console.warn(`[react-core] ${a}`,i);break;case "info":console.info(`[react-core] ${a}`,i);break;default:console.debug(`[react-core] ${a}`,i);}})}t(Z,"createLogger");function B(e){return {error:e,message:$e(e)}}t(B,"formatError");function tn(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(tn,"createChainedAbortController");function Ge(e){if(e!==void 0)return typeof e=="bigint"?e:BigInt(Math.floor(e))}t(Ge,"toBigint");var nn=Object.freeze({encoding:"base64",replaceRecentBlockhash:true,sigVerify:false});function Q(e){let n=e.endpoint,r=e.websocketEndpoint??n,a=e.commitment??"confirmed",i=createSolanaRpc(n,e.rpcConfig),l=createSolanaRpcSubscriptions(r,e.rpcSubscriptionsConfig);async function g(T,f={}){let s=tn(f.abortSignal),c=f.commitment??a,o=getBase64EncodedWireTransaction(T),p=await i.sendTransaction(o,{encoding:"base64",maxRetries:Ge(f.maxRetries),minContextSlot:Ge(f.minContextSlot),preflightCommitment:c,skipPreflight:f.skipPreflight}).send({abortSignal:s.signal}),u=createBlockHeightExceedencePromiseFactory({rpc:i,rpcSubscriptions:l}),k=createRecentSignatureConfirmationPromiseFactory({rpc:i,rpcSubscriptions:l});return await waitForRecentTransactionConfirmation({abortSignal:s.signal,commitment:c,getBlockHeightExceedencePromise:u,getRecentSignatureConfirmationPromise:k,transaction:T}),p}t(g,"sendAndConfirmTransaction");async function y(T,f={}){let s=getBase64EncodedWireTransaction(T),c=f.config??{},o={...nn,...c,commitment:c.commitment??f.commitment??a},p=o.sigVerify===true&&o.replaceRecentBlockhash!==false?{...o,replaceRecentBlockhash:false}:o;return i.simulateTransaction(s,p).send({abortSignal:f.abortSignal})}return t(y,"simulateTransaction"),{commitment:a,endpoint:n,rpc:i,rpcSubscriptions:l,sendAndConfirmTransaction:g,simulateTransaction:y,websocketEndpoint:r}}t(Q,"createSolanaRpcClient");function rn(e){return {autoconnect:false,commitment:e.commitment,endpoint:e.endpoint,lastConnectorId:null,lastPublicKey:null,version:1,websocketEndpoint:e.websocketEndpoint}}t(rn,"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 an(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(an,"deserializeSolanaState");function Ze(e){let n=e.store.getState(),r=n.wallet,a=r.autoConnect,i=null,l=null;return "connectorId"in r&&(i=r.connectorId??null,r.status==="connected"&&(l=r.session.account.address.toString())),{autoconnect:a??!!i,commitment:n.cluster.commitment,endpoint:n.cluster.endpoint,lastConnectorId:i,lastPublicKey:l,version:1,websocketEndpoint:n.cluster.websocketEndpoint}}t(Ze,"getSerializableStateSnapshot");function on(e,n){let r=ge(Ze(e));return n(JSON.parse(r)),e.store.subscribe(()=>{let i=Ze(e),l=ge(i);l!==r&&(r=l,n(i));})}t(on,"subscribeSolanaState");function Ye(e){return e.startsWith("http://")||e.startsWith("https://")||e.startsWith("ws://")||e.startsWith("wss://")?e:`https://${e}`}t(Ye,"ensureHttpProtocol");var sn={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 cn(e){return e.startsWith("https://")?e.replace("https://","wss://"):e.startsWith("http://")?e.replace("http://","ws://"):(e.startsWith("ws://")||e.startsWith("wss://"),e)}t(cn,"inferWebsocketEndpoint");function ee(e){let n=e.moniker??(e.endpoint?"custom":"devnet"),r=n==="custom"?void 0:sn[n],a=Ye(e.endpoint??r?.endpoint),i=e.websocketEndpoint?Ye(e.websocketEndpoint):void 0,l=cn(i??r?.websocketEndpoint??a);return {endpoint:a,moniker:n,websocketEndpoint:l}}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 yn(e,n){e.setState(r=>({...r,...n,lastUpdatedAt:W()}));}t(yn,"updateState");function Qe({connectors:e,logger:n,runtime:r,store:a}){let i=n??Z(),l;function g(d){return d??a.getState().cluster.commitment}t(g,"getCommitment");async function y(d,h){try{let m=W();return await r.rpc.getLatestBlockhash({commitment:h}).send({abortSignal:AbortSignal.timeout(1e4)}),W()-m}catch(m){i({data:{endpoint:d,...B(m)},level:"warn",message:"cluster warmup failed"});return}}t(y,"warmupCluster");async function T(d,h){let m=h?.commitment??a.getState().cluster.commitment,S=h?.websocketEndpoint??d;a.setState(b=>({...b,cluster:{commitment:m,endpoint:d,status:{status:"connecting"},websocketEndpoint:S},lastUpdatedAt:W()}));try{let b=Q({commitment:m,endpoint:d,websocketEndpoint:S});r.rpc=b.rpc,r.rpcSubscriptions=b.rpcSubscriptions;let x=await y(d,m);a.setState(w=>({...w,cluster:{commitment:m,endpoint:d,status:{latencyMs:x,status:"ready"},websocketEndpoint:S},lastUpdatedAt:W()}));}catch(b){throw a.setState(x=>({...x,cluster:{commitment:m,endpoint:d,status:{error:b,status:"error"},websocketEndpoint:S},lastUpdatedAt:W()})),i({data:{endpoint:d,...B(b)},level:"error",message:"cluster setup failed"}),b}}t(T,"setCluster");async function f(d,h={}){l?.(),l=void 0;let m=e.get(d);if(!m)throw new Error(`No wallet connector registered for id "${d}".`);if(!m.isSupported())throw new Error(`Wallet connector "${d}" is not supported in this environment.`);let S=h.autoConnect??false;a.setState(b=>({...b,lastUpdatedAt:W(),wallet:{autoConnect:S,connectorId:d,status:"connecting"}}));try{let b=await m.connect(h);a.setState(x=>({...x,lastUpdatedAt:W(),wallet:{autoConnect:S,connectorId:d,session:b,status:"connected"}})),b.onAccountsChanged&&(l=b.onAccountsChanged(x=>{x.length===0&&(l?.(),l=void 0,s());})),i({data:{address:b.account.address.toString(),connectorId:d},level:"info",message:"wallet connected"});}catch(b){throw a.setState(x=>({...x,lastUpdatedAt:W(),wallet:{autoConnect:S,connectorId:d,error:b,status:"error"}})),i({data:{connectorId:d,...B(b)},level:"error",message:"wallet connection failed"}),b}}t(f,"connectWallet");async function s(){let d=a.getState().wallet;if(d.status!=="disconnected"){l?.(),l=void 0;try{if(d.status==="connected"){await d.session.disconnect();let h=e.get(d.connectorId);h&&await h.disconnect();}else if(d.status==="connecting"){let h=e.get(d.connectorId);h&&await h.disconnect();}}finally{yn(a,{wallet:{status:"disconnected"}});}}}t(s,"disconnectWallet");async function c(d,h){let m=d.toString();a.setState(S=>({...S,accounts:{...S.accounts,[m]:{address:d,data:S.accounts[m]?.data,error:void 0,executable:S.accounts[m]?.executable??null,fetching:true,lamports:S.accounts[m]?.lamports??null,lastFetchedAt:W(),owner:S.accounts[m]?.owner??null,slot:S.accounts[m]?.slot??null}},lastUpdatedAt:W()}));try{let S=await r.rpc.getBalance(d,{commitment:g(h)}).send({abortSignal:AbortSignal.timeout(1e4)}),b=S.value;return a.setState(x=>({...x,accounts:{...x.accounts,[m]:{address:d,data:x.accounts[m]?.data,error:void 0,executable:x.accounts[m]?.executable??null,fetching:!1,lamports:b,lastFetchedAt:W(),owner:x.accounts[m]?.owner??null,slot:S.context.slot}},lastUpdatedAt:W()})),b}catch(S){throw a.setState(b=>({...b,accounts:{...b.accounts,[m]:{address:d,data:b.accounts[m]?.data,error:S,executable:b.accounts[m]?.executable??null,fetching:false,lamports:b.accounts[m]?.lamports??null,lastFetchedAt:W(),owner:b.accounts[m]?.owner??null,slot:b.accounts[m]?.slot??null}},lastUpdatedAt:W()})),i({data:{address:m,...B(S)},level:"error",message:"balance fetch failed"}),S}}t(c,"fetchBalance");async function o(d,h){let m=d.toString();a.setState(S=>({...S,accounts:{...S.accounts,[m]:{address:d,data:S.accounts[m]?.data,error:void 0,executable:S.accounts[m]?.executable??null,fetching:true,lamports:S.accounts[m]?.lamports??null,lastFetchedAt:W(),owner:S.accounts[m]?.owner??null,slot:S.accounts[m]?.slot??null}},lastUpdatedAt:W()}));try{let S=await r.rpc.getAccountInfo(d,{commitment:g(h),encoding:"base64"}).send({abortSignal:AbortSignal.timeout(1e4)}),b=S.value,x=b?.lamports??null,w=b?.executable??null,A=b?.owner??null;return a.setState(L=>({...L,accounts:{...L.accounts,[m]:{address:d,data:b,error:void 0,executable:w,fetching:!1,lamports:x,lastFetchedAt:W(),owner:A,slot:S.context.slot}},lastUpdatedAt:W()})),a.getState().accounts[m]}catch(S){throw a.setState(b=>({...b,accounts:{...b.accounts,[m]:{address:d,data:b.accounts[m]?.data,error:S,executable:b.accounts[m]?.executable??null,fetching:false,lamports:b.accounts[m]?.lamports??null,lastFetchedAt:W(),owner:b.accounts[m]?.owner??null,slot:b.accounts[m]?.slot??null}},lastUpdatedAt:W()})),i({data:{address:m,...B(S)},level:"error",message:"account fetch failed"}),S}}t(o,"fetchAccount");async function p(d,h){let m=await fetchAddressLookupTable(r.rpc,d,{commitment:g(h)}),{addresses:S,authority:b,deactivationSlot:x,lastExtendedSlot:w,lastExtendedSlotStartIndex:A}=m.data;return {addresses:S,authority:isSome(b)?b.value:void 0,deactivationSlot:x,lastExtendedSlot:w,lastExtendedSlotStartIndex:A}}t(p,"fetchLookupTable");async function u(d,h){return d.length===0?[]:(await fetchAllAddressLookupTable(r.rpc,d,{commitment:g(h)})).map(({data:S})=>({addresses:S.addresses,authority:isSome(S.authority)?S.authority.value:void 0,deactivationSlot:S.deactivationSlot,lastExtendedSlot:S.lastExtendedSlot,lastExtendedSlotStartIndex:S.lastExtendedSlotStartIndex}))}t(u,"fetchLookupTables");async function k(d,h){let m=await fetchNonce(r.rpc,d,{commitment:g(h)});return {authority:m.data.authority,blockhash:m.data.blockhash}}t(k,"fetchNonceAccount");async function P(d,h){let m=g(h),S=new AbortController,b=await r.rpc.sendTransaction(getBase64EncodedWireTransaction(d),{encoding:"base64",preflightCommitment:m}).send({abortSignal:S.signal}),x=b.toString();a.setState(L=>({...L,lastUpdatedAt:W(),transactions:{...L.transactions,[x]:{lastUpdatedAt:W(),signature:b,status:"sending"}}}));let w=createBlockHeightExceedencePromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions}),A=createRecentSignatureConfirmationPromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions});try{return await waitForRecentTransactionConfirmation({abortSignal:S.signal,commitment:m,getBlockHeightExceedencePromise:w,getRecentSignatureConfirmationPromise:A,transaction:d}),a.setState(L=>({...L,lastUpdatedAt:W(),transactions:{...L.transactions,[x]:{lastUpdatedAt:W(),signature:b,status:"confirmed"}}})),b}catch(L){throw a.setState(O=>({...O,lastUpdatedAt:W(),transactions:{...O.transactions,[x]:{error:L,lastUpdatedAt:W(),signature:b,status:"failed"}}})),i({data:{signature:x,...B(L)},level:"error",message:"transaction failed to confirm"}),L}}t(P,"sendTransaction");async function C(d,h){try{let S=await airdropFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions})({commitment:g("confirmed"),lamports:h,recipientAddress:d});return i({data:{address:d.toString(),lamports:h.toString(),signature:S},level:"info",message:"airdrop requested"}),S}catch(m){throw i({data:{address:d.toString(),lamports:h.toString(),...B(m)},level:"error",message:"airdrop request failed"}),m}}return t(C,"requestAirdrop"),{connectWallet:f,disconnectWallet:s,fetchAccount:o,fetchBalance:c,fetchLookupTable:p,fetchLookupTables:u,fetchNonceAccount:k,requestAirdrop:C,sendTransaction:P,setCluster:T}}t(Qe,"createActions");var Tn=10n;function Te(e){return ae(e,"exponent"),Tn**BigInt(e)}t(Te,"pow10");function F(e,n="value"){if(e<0n)throw new RangeError(`${n} must be non-negative`)}t(F,"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 N(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(),a=/^[-+]?\d+$/.exec(r);if(!a)throw new SyntaxError(`${n} must be an integer string`);return BigInt(a[0])}t(N,"toBigint");function he(e,n,r="result"){let a=e+n;return F(a,r),a}t(he,"checkedAdd");function be(e,n,r="result"){let a=e-n;return F(a,r),a}t(be,"checkedSubtract");function hn(e,n,r="result"){let a=e*n;return F(a,r),a}t(hn,"checkedMultiply");function bn(e,n,r="result"){if(n===0n)throw new RangeError("divisor must be non-zero");let a=e/n;return F(a,r),a}t(bn,"checkedDivide");function Cn(e,n,r){if(n<=0n)throw new RangeError("divisor must be positive");let a=e/n,i=e%n;if(i===0n)return a;switch(r){case "ceil":return a+1n;case "round":return i*2n>=n?a+1n:a;default:return a}}t(Cn,"divideWithRounding");function kn(e,n){let r=N(e,"numerator"),a=N(n,"denominator");if(a<=0n)throw new RangeError("denominator must be positive");return F(r,"numerator"),Object.freeze({denominator:a,numerator:r})}t(kn,"createRatio");function Ce(e,n,r={}){F(e,"amount");let a=e*n.numerator,i=r.rounding??"floor";return Cn(a,n.denominator,i)}t(Ce,"applyRatio");var wn=/^\d+(?:\.\d+)?$/;function Pn(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 a=e.toString(10);if(a.includes("e")||a.includes("E"))throw new RangeError(`${r} cannot use exponential notation; provide a string instead`);let i=a.split(".");if(i[1]&&i[1].length>n+6)throw new RangeError(`${r} exceeds safe precision; provide a string instead`);return a}t(Pn,"normalizeNumberInput");function et(e,n,r,a){let i=a.label??"value",l=a.rounding??"floor",g=e.replace(/_/g,"").trim();if(g==="")throw new SyntaxError(`${i} must not be empty`);if(!wn.test(g))throw new SyntaxError(`${i} must be a non-negative decimal string`);let[y,T]=g.split("."),f=y||"0";F(BigInt(f),i);let s=BigInt(f)*r,c=T??"";if(n===0){if(c.length===0)return s;let u=/[1-9]/.test(c);return l==="ceil"&&u||l==="round"&&c[0]!==void 0&&c[0]>="5"?s+1n:s}let o=c.slice(0,n).padEnd(n,"0"),p=o===""?0n:BigInt(o);if(s+=p,c.length>n){let u=c.slice(n),k=/[1-9]/.test(u);if(l==="ceil"&&k)s+=1n;else if(l==="round"){let P=u[0];P!==void 0&&P>="5"&&(s+=1n);}}return s}t(et,"decimalToBaseUnits");function An(e,n,r,a){F(e,"amount");let i=a.minimumFractionDigits??0;if(i<0||i>n)throw new RangeError("minimumFractionDigits must be between 0 and the token decimals");let l=a.trimTrailingZeros??true;if(n===0)return e.toString();let g=e/r,y=(e%r).toString().padStart(n,"0");return l&&(y=y.replace(/0+$/,"")),y.length<i&&(y=y.padEnd(i,"0")),y.length===0?g.toString():`${g.toString()}.${y}`}t(An,"formatBaseUnits");function te(e){ae(e,"decimals");let n=Te(e);function r(s,c){let o=N(s,c??"amount");return F(o,c??"amount"),o}t(r,"fromBaseUnits");function a(s,c={}){let o=c.label??"value";if(typeof s=="number"){if(Number.isInteger(s)){if(!Number.isSafeInteger(s))throw new RangeError(`${o} must be within the safe integer range when provided as a number`);return r(BigInt(s)*n,o)}if(e===0)throw new RangeError(`${o} cannot include fractional digits for a token with 0 decimals`);let p=Pn(s,e,o);return et(p,e,n,c)}return et(s,e,n,c)}t(a,"fromDecimal");function i(s,c={}){return An(r(s),e,n,c)}t(i,"toDecimalString");function l(s,c){return he(r(s),r(c))}t(l,"add");function g(s,c){return be(r(s),r(c))}t(g,"subtract");function y(s,c,o){return Ce(r(s),c,o)}t(y,"multiplyByRatio");function T(s){return r(s)===0n}t(T,"isZero");function f(s,c){let o=r(s),p=r(c);return o>p?1:o<p?-1:0}return t(f,"compare"),Object.freeze({add:l,compare:f,decimals:e,fromBaseUnits:r,fromDecimal:a,isZero:T,multiplyByRatio:y,scale:n,subtract:g,toDecimalString:i})}t(te,"createTokenAmount");var D=te(9),Rn=D.scale,z=Object.freeze({add(e,n){return D.add(e,n)},compare(e,n){return D.compare(e,n)},decimals:D.decimals,fromLamports(e,n){return D.fromBaseUnits(e,n)},fromSol(e,n){return D.fromDecimal(e,n)},isZero(e){return D.isZero(e)},multiplyByRatio(e,n,r){return D.multiplyByRatio(e,n,r)},raw:D,scale:D.scale,subtract(e,n){return D.subtract(e,n)},toSolString(e,n){return D.toDecimalString(e,n)}});function ke(e,n){return z.fromLamports(e,n)}t(ke,"lamports");function xn(e,n){return z.fromSol(e,n)}t(xn,"lamportsFromSol");function Ln(e,n){return z.toSolString(e,n)}t(Ln,"lamportsToSolString");function V(e){return typeof e!="object"||e===null?false:"account"in e&&"connector"in e&&"disconnect"in e}t(V,"isWalletSession");function j(e,n={}){let{commitment:r}=n,a=e.account.address;if(e.signTransaction){let i=e.signTransaction.bind(e);return {mode:"partial",signer:Object.freeze({address:a,async modifyAndSignTransactions(g){let y=[];for(let T of g){let f=T,s=await i(f);if(!s.signatures[a])throw new Error("Wallet did not populate the expected fee payer signature.");let o=Object.freeze({...f,messageBytes:s.messageBytes,signatures:Object.freeze({...f.signatures,...s.signatures})});y.push(o);}return Object.freeze(y)},async signTransactions(g){let y=await this.modifyAndSignTransactions(g);return Object.freeze(y.map(T=>{let f=T.signatures[a];if(!f)throw new Error("Expected signer to produce a signature for the provided address.");return Object.freeze({[a]:f})}))}})}}if(e.sendTransaction){let i=getBase58Encoder(),l=e.sendTransaction.bind(e);return {mode:"send",signer:Object.freeze({address:a,async signAndSendTransactions(y){let T=[];for(let f of y){let s=await l(f,r?{commitment:r}:void 0),c=i.encode(s);T.push(signatureBytes(c));}return T}})}}throw new Error("Wallet session does not support signing or sending transactions.")}t(j,"createWalletTransactionSigner");function q(e){return isTransactionPartialSigner(e)?"partial":isTransactionSendingSigner(e)?"send":"partial"}t(q,"resolveSignerMode");function Kn(e){return typeof e=="string"?address(e):e}t(Kn,"ensureAddress");async function $n(e,n,r){if(r)return r;let{value:a}=await e.rpc.getLatestBlockhash({commitment:n}).send();return a}t($n,"resolveLifetime");function Jn(e,n){if(V(e)){let{signer:r,mode:a}=j(e,{commitment:n});return {mode:a,signer:r}}return {mode:q(e),signer:e}}t(Jn,"resolveSigner");function Gn(e){return z.fromLamports(e)}t(Gn,"toLamportAmount");function we(e){async function n(i){let l=i.commitment,g=await $n(e,l,i.lifetime),{signer:y,mode:T}=Jn(i.authority,l),f=Kn(i.destination),s=Gn(i.amount),c=pipe(createTransactionMessage({version:i.transactionVersion??0}),o=>setTransactionMessageFeePayer(y.address,o),o=>setTransactionMessageLifetimeUsingBlockhash(g,o),o=>appendTransactionMessageInstruction(getTransferSolInstruction({amount:s,destination:f,source:y}),o));return {commitment:l,lifetime:g,message:c,mode:T,signer:y,plan:singleTransactionPlan(c)}}t(n,"prepareTransfer");async function r(i,l={}){if(i.mode==="send"&&isTransactionSendingSigner(i.signer)){let s=await signAndSendTransactionMessageWithSigners(i.message,{abortSignal:l.abortSignal,minContextSlot:l.minContextSlot}),c=getBase58Decoder();return signature(c.decode(s))}let g=l.commitment??i.commitment,y=l.maxRetries===void 0?void 0:typeof l.maxRetries=="bigint"?l.maxRetries:BigInt(l.maxRetries),T=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(s,c={}){let o=await signTransactionMessageWithSigners(s,{abortSignal:c.abortSignal??l.abortSignal,minContextSlot:l.minContextSlot}),p=getBase64EncodedWireTransaction(o),u=await e.rpc.sendTransaction(p,{encoding:"base64",maxRetries:y,preflightCommitment:g,skipPreflight:l.skipPreflight}).send({abortSignal:c.abortSignal??l.abortSignal});return T=signature(u),{transaction:o}}})(i.plan??singleTransactionPlan(i.message),{abortSignal:l.abortSignal}),!T)throw new Error("Failed to resolve transaction signature.");return T}t(r,"sendPreparedTransfer");async function a(i,l){let g=await n(i);return await r(g,l)}return t(a,"sendTransfer"),{prepareTransfer:n,sendPreparedTransfer:r,sendTransfer:a}}t(we,"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 fr(e,n,r){if(r)return r;let{value:a}=await e.rpc.getLatestBlockhash({commitment:n}).send();return a}t(fr,"resolveLifetime");function gr(e,n){if(V(e)){let{signer:r,mode:a}=j(e,{commitment:n});return {mode:a,signer:r}}return {mode:q(e),signer:e}}t(gr,"resolveSigner");function Pe(e,n){let r=K(n.mint),a=K(n.tokenProgram,address(TOKEN_PROGRAM_ADDRESS)),i=n.decimals,l;async function g(p){return i!==void 0||(i=(await fetchMint(e.rpc,r,{commitment:p})).data.decimals),i}t(g,"resolveDecimals");async function y(p){if(l)return l;let u=await g(p);return l=te(u),l}t(y,"getTokenMath");async function T(p){let[u]=await findAssociatedTokenPda({mint:r,owner:K(p),tokenProgram:a});return u}t(T,"deriveAssociatedTokenAddress");async function f(p,u){let k=await T(p),P=await g(u);try{let{value:C}=await e.rpc.getTokenAccountBalance(k,{commitment:u}).send(),h=(await y(u)).fromBaseUnits(C.amount,"balance"),m=C.uiAmountString??C.amount;return {amount:h,ataAddress:k,decimals:P,exists:!0,uiAmount:m}}catch{return {amount:0n,ataAddress:k,decimals:P,exists:false,uiAmount:"0"}}}t(f,"fetchBalance");async function s(p){let u=p.commitment,k=await fr(e,u,p.lifetime),{signer:P,mode:C}=gr(p.authority,u),d=K(p.sourceOwner,P.address),h=K(p.destinationOwner),m=K(p.sourceToken,await T(d)),S=K(p.destinationToken,await T(h)),b=await y(u),x=await g(u),w=p.amountInBaseUnits?b.fromBaseUnits(p.amount,"amount"):b.fromDecimal(p.amount,{label:"amount"}),A=[];if(p.ensureDestinationAta??true){let{value:O}=await e.rpc.getAccountInfo(S,{commitment:u,dataSlice:{length:0,offset:0},encoding:"base64"}).send();O||A.push(getCreateAssociatedTokenInstruction({ata:S,mint:r,owner:h,payer:P,tokenProgram:a}));}A.push(getTransferCheckedInstruction({amount:w,authority:P,decimals:x,destination:S,mint:r,source:m}));let L=pipe(createTransactionMessage({version:p.transactionVersion??0}),O=>setTransactionMessageFeePayer(P.address,O),O=>setTransactionMessageLifetimeUsingBlockhash(k,O));for(let O of A)L=appendTransactionMessageInstruction(O,L);return {amount:w,commitment:u,decimals:x,destinationAta:S,lifetime:k,message:L,mode:C,signer:P,sourceAta:m,plan:singleTransactionPlan(L)}}t(s,"prepareTransfer");async function c(p,u={}){if(p.mode==="send"&&isTransactionSendingSigner(p.signer)){let h=await signAndSendTransactionMessageWithSigners(p.message,{abortSignal:u.abortSignal,minContextSlot:u.minContextSlot}),m=getBase58Decoder();return signature(m.decode(h))}let k=u.commitment??p.commitment,P=u.maxRetries===void 0?void 0:typeof u.maxRetries=="bigint"?u.maxRetries:BigInt(u.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(h,m={}){let S=await signTransactionMessageWithSigners(h,{abortSignal:m.abortSignal??u.abortSignal,minContextSlot:u.minContextSlot}),b=getBase64EncodedWireTransaction(S),x=await e.rpc.sendTransaction(b,{encoding:"base64",maxRetries:P,preflightCommitment:k,skipPreflight:u.skipPreflight}).send({abortSignal:m.abortSignal??u.abortSignal});return C=signature(x),{transaction:S}}})(p.plan??singleTransactionPlan(p.message),{abortSignal:u.abortSignal}),!C)throw new Error("Failed to resolve transaction signature.");return C}t(c,"sendPreparedTransfer");async function o(p,u){let k=await s(p);try{return await c(k,u)}catch(P){if(isSolanaError(P,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let C=await s({...p,lifetime:void 0});return await c(C,u)}throw P}}return t(o,"sendTransfer"),{deriveAssociatedTokenAddress:T,fetchBalance:f,prepareTransfer:s,sendPreparedTransfer:c,sendTransfer:o}}t(Pe,"createSplTokenHelper");var it="Stake11111111111111111111111111111111111111",st="SysvarC1ock11111111111111111111111111111111",ct="SysvarStakeHistory1111111111111111111111111",wr="StakeConfig11111111111111111111111111111111",lt=200;function ie(e){return typeof e=="string"?address(e):e}t(ie,"ensureAddress");async function Ue(e,n,r){if(r)return r;let{value:a}=await e.rpc.getLatestBlockhash({commitment:n}).send();return a}t(Ue,"resolveLifetime");function Fe(e,n){if(V(e)){let{signer:r,mode:a}=j(e,{commitment:n});return {mode:a,signer:r}}return {mode:q(e),signer:e}}t(Fe,"resolveSigner");function ut(e){return z.fromLamports(e)}t(ut,"toLamportAmount");function De(e){async function n(c){let o=c.commitment,p=await Ue(e,o,c.lifetime),{signer:u,mode:k}=Fe(c.authority,o),P=ie(c.validatorId),C=ut(c.amount),h=await e.rpc.getMinimumBalanceForRentExemption(BigInt(lt)).send()+C,m=await generateKeyPairSigner(),S=getCreateAccountInstruction({payer:u,newAccount:m,lamports:h,space:BigInt(lt),programAddress:it}),b=getInitializeInstruction({stake:m.address,arg0:{staker:u.address,withdrawer:u.address},arg1:{unixTimestamp:0n,epoch:0n,custodian:u.address}}),x=getDelegateStakeInstruction({stake:m.address,vote:P,stakeHistory:ct,unused:wr,stakeAuthority:u}),w=pipe(createTransactionMessage({version:c.transactionVersion??0}),A=>setTransactionMessageFeePayer(u.address,A),A=>setTransactionMessageLifetimeUsingBlockhash(p,A),A=>appendTransactionMessageInstructions([S,b,x],A));return {commitment:o,lifetime:p,message:w,mode:k,signer:u,stakeAccount:m,plan:singleTransactionPlan(w)}}t(n,"prepareStake");async function r(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let C=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(C))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),k=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(C,d={}){let h=await signTransactionMessageWithSigners(C,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),m=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(m,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return k=signature(S),{transaction:h}}})(c.plan??singleTransactionPlan(c.message),{abortSignal:o.abortSignal}),!k)throw new Error("Failed to resolve transaction signature.");return k}t(r,"sendPreparedStake");async function a(c,o){let p=await n(c);return await r(p,o)}t(a,"sendStake");async function i(c){let o=c.commitment,p=await Ue(e,o,c.lifetime),{signer:u,mode:k}=Fe(c.authority,o),P=ie(c.stakeAccount),C=getDeactivateInstruction({stake:P,clockSysvar:st,stakeAuthority:u}),d=pipe(createTransactionMessage({version:c.transactionVersion??0}),h=>setTransactionMessageFeePayer(u.address,h),h=>setTransactionMessageLifetimeUsingBlockhash(p,h),h=>appendTransactionMessageInstructions([C],h));return {commitment:o,lifetime:p,message:d,mode:k,signer:u,plan:singleTransactionPlan(d)}}t(i,"prepareUnstake");async function l(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let C=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(C))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),k=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(C,d={}){let h=await signTransactionMessageWithSigners(C,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),m=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(m,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return k=signature(S),{transaction:h}}})(c.plan),!k)throw new Error("Failed to resolve transaction signature.");return k}t(l,"sendPreparedUnstake");async function g(c,o){let p=await i(c);return await l(p,o)}t(g,"sendUnstake");async function y(c){let o=c.commitment,p=await Ue(e,o,c.lifetime),{signer:u,mode:k}=Fe(c.authority,o),P=ie(c.stakeAccount),C=ie(c.destination),d=ut(c.amount),h=getWithdrawInstruction({stake:P,recipient:C,clockSysvar:st,stakeHistory:ct,withdrawAuthority:u,args:d}),m=pipe(createTransactionMessage({version:c.transactionVersion??0}),S=>setTransactionMessageFeePayer(u.address,S),S=>setTransactionMessageLifetimeUsingBlockhash(p,S),S=>appendTransactionMessageInstructions([h],S));return {commitment:o,lifetime:p,message:m,mode:k,signer:u,plan:singleTransactionPlan(m)}}t(y,"prepareWithdraw");async function T(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let C=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(C))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),k=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(C,d={}){let h=await signTransactionMessageWithSigners(C,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),m=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(m,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return k=signature(S),{transaction:h}}})(c.plan),!k)throw new Error("Failed to resolve transaction signature.");return k}t(T,"sendPreparedWithdraw");async function f(c,o){let p=await y(c);return await T(p,o)}t(f,"sendWithdraw");async function s(c,o){let p=typeof c=="string"?c:String(c),u=await e.rpc.getProgramAccounts(it,{encoding:"jsonParsed",filters:[{memcmp:{offset:44n,bytes:p,encoding:"base58"}}]}).send();if(!o)return u;let k=typeof o=="string"?o:String(o);return u.filter(P=>{let C=P.account?.data;return C&&"parsed"in C?C.parsed?.info?.stake?.delegation?.voter===k:false})}return t(s,"getStakeAccounts"),{getStakeAccounts:s,prepareStake:n,prepareUnstake:i,prepareWithdraw:y,sendPreparedStake:r,sendPreparedUnstake:l,sendPreparedWithdraw:T,sendStake:a,sendUnstake:g,sendWithdraw:f}}t(De,"createStakeHelper");function X(e){return "messageBytes"in e?getBase64EncodedWireTransaction(e):getBase64EncodedWireTransaction(compileTransaction(e))}t(X,"transactionToBase64");async function Rr(e){if("messageBytes"in e)return X(e);let n=await partiallySignTransactionMessageWithSigners(e);return X(n)}t(Rr,"transactionToBase64WithSigners");var vr=1.1,mt=2e5,gt=14e5;function Ir(e){return e.programAddress===COMPUTE_BUDGET_PROGRAM_ADDRESS&&e.data?.[0]===2}t(Ir,"isComputeUnitLimitInstruction");function Mr(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(Mr,"didExceedComputeBudget");async function Er(e,n){let r=n;if(!(n.lifetimeConstraint!==void 0)){let l=await e.getLatestBlockhash().send();r=setTransactionMessageLifetimeUsingBlockhash(l.value,n);}let i=X(r);try{let{value:l}=await e.simulateTransaction(i,{encoding:"base64",replaceRecentBlockhash:!1,sigVerify:!1}).send();return Number(l.unitsConsumed??0)||0}catch(l){if(Mr(l))return gt;throw l}}t(Er,"estimateComputeUnits");async function ne(e){let n=e.computeUnitLimitMultiplier??vr,r=e.blockhashReset!==false,a=e.computeUnitLimitReset??false,i=e.transaction,l=i.instructions.findIndex(Ir);if(l===-1||a){let y=await Er(e.rpc,i),T=y?Math.ceil(y*n):mt,f=Math.min(gt,Math.max(mt,Math.max(1,T))),s=getSetComputeUnitLimitInstruction({units:f});if(l===-1)i=appendTransactionMessageInstruction(s,i);else {let c=[...i.instructions];c.splice(l,1,s),i=Object.freeze({...i,instructions:Object.freeze(c)});}}let g=i.lifetimeConstraint!==void 0;if(r||!g){let y=await e.rpc.getLatestBlockhash().send();g?r&&(i=Object.freeze({...i,lifetimeConstraint:y.value})):i=setTransactionMessageLifetimeUsingBlockhash(y.value,i),g=true;}return e.logRequest&&e.logRequest({base64WireTransaction:X(i)}),i}t(ne,"prepareTransaction");function Zr(e){return typeof e=="string"?address(e):e}t(Zr,"toAddress");function Yr(e){return e.some(n=>isInstructionForProgram(n,COMPUTE_BUDGET_PROGRAM_ADDRESS)&&isInstructionWithData(n)&&n.data[0]===ComputeBudgetInstruction.SetComputeUnitLimit)}t(Yr,"hasSetComputeUnitLimitInstruction");function Xr(e){return e.some(n=>isInstructionForProgram(n,COMPUTE_BUDGET_PROGRAM_ADDRESS)&&isInstructionWithData(n)&&n.data[0]===ComputeBudgetInstruction.SetComputeUnitPrice)}t(Xr,"hasSetComputeUnitPriceInstruction");function Qr(e){return !!("addressTableLookup"in e&&e.addressTableLookup!=null||"addressTableLookups"in e&&Array.isArray(e.addressTableLookups)&&e.addressTableLookups.length>0)}t(Qr,"instructionUsesAddressLookup");function ea(e,n){return e&&e!=="auto"?e:n.some(Qr)?0:"legacy"}t(ea,"resolveVersion");function ta(e,n){return e.commitment??n()}t(ta,"normaliseCommitment");function na(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 a=Zr(e);return n&&n.address===a?{address:a,signer:n}:{address:a}}if(!n)throw new Error("Unable to resolve authority signer for the fee payer.");return {address:n.address,signer:n}}t(na,"resolveFeePayerAddress");function ra(e,n){let r=e.computeUnitLimit;if(!(r===void 0||Yr(n)))return typeof r=="bigint"?r:BigInt(Math.floor(r))}t(ra,"resolveComputeUnitLimit");function aa(e,n){if(!(e.computeUnitPrice===void 0||Xr(n)))return typeof e.computeUnitPrice=="bigint"?e.computeUnitPrice:BigInt(Math.floor(e.computeUnitPrice))}t(aa,"resolveComputeUnitPrice");async function Ct(e,n){if(!e.instructions.length)throw new Error("Add at least one instruction before preparing a transaction.");let{getFallbackCommitment:r,runtime:a}=n;e.abortSignal?.throwIfAborted();let i=ta(e,r),l,g="partial";if(e.authority)if(V(e.authority)){let{signer:C,mode:d}=j(e.authority,{commitment:i});l=C,g=d;}else l=e.authority,g=q(l);let{address:y,signer:T}=na(e.feePayer,l);g==="send"&&(!T||!isTransactionSendingSigner(T))&&(g="partial");let f=[...e.instructions],s=ea(e.version,f),c=e.lifetime??(await a.rpc.getLatestBlockhash({commitment:i}).send({abortSignal:e.abortSignal})).value;e.abortSignal?.throwIfAborted();let o=ra(e,f),p=aa(e,f),u=[];o!==void 0&&u.push(getSetComputeUnitLimitInstruction({units:Number(o)})),p!==void 0&&u.push(getSetComputeUnitPriceInstruction({microLamports:Number(p)}));let k=[...u,...f];return Object.freeze({commitment:i,computeUnitLimit:o,computeUnitPrice:p,createTransactionMessage:t(async()=>pipe(createTransactionMessage({version:s}),C=>T?setTransactionMessageFeePayerSigner(T,C):setTransactionMessageFeePayer(y,C),C=>setTransactionMessageLifetimeUsingBlockhash(c,C)),"createMessage"),feePayer:y,instructionPlan:getMessagePackerInstructionPlanFromInstructions(k),instructions:Object.freeze(f),lifetime:c,mode:g,version:s})}t(Ct,"createTransactionRecipe");function oa(e){if(e.kind!=="single")throw new Error("Transaction recipe produced a multi-transaction plan which is not supported.");return e}t(oa,"assertSingleTransactionPlan");function Ne(e,n){async function r(f){let s=await Ct(f,{getFallbackCommitment:n,runtime:e}),o=await createTransactionPlanner({createTransactionMessage:s.createTransactionMessage})(s.instructionPlan,{abortSignal:f.abortSignal}),p=oa(o);return Object.freeze({commitment:s.commitment,computeUnitLimit:s.computeUnitLimit,computeUnitPrice:s.computeUnitPrice,feePayer:s.feePayer,instructions:s.instructions,lifetime:s.lifetime,message:p.message,mode:s.mode,plan:o,version:s.version})}t(r,"prepare");async function a(f,s={}){return await signTransactionMessageWithSigners(f.message,{abortSignal:s.abortSignal,minContextSlot:s.minContextSlot})}t(a,"sign");async function i(f,s={}){let c=await a(f,s);return getBase64EncodedWireTransaction(c)}t(i,"toWire");async function l(f,s={}){return !f.plan||f.mode==="send"?g(f,s):y(f,s)}t(l,"send");async function g(f,s){let c=s.commitment??f.commitment;if(f.mode==="send"){let P=await signAndSendTransactionMessageWithSigners(f.message,{abortSignal:s.abortSignal,minContextSlot:s.minContextSlot}),C=getBase58Decoder();return signature(C.decode(P))}let o=await a(f,{abortSignal:s.abortSignal,minContextSlot:s.minContextSlot}),p=getBase64EncodedWireTransaction(o),u=s.maxRetries===void 0?void 0:typeof s.maxRetries=="bigint"?s.maxRetries:BigInt(s.maxRetries),k=await e.rpc.sendTransaction(p,{encoding:"base64",maxRetries:u,preflightCommitment:c,skipPreflight:s.skipPreflight}).send({abortSignal:s.abortSignal});return signature(k)}t(g,"sendDirect");async function y(f,s){if(!f.plan)return g(f,s);let c=s.commitment??f.commitment,o=s.maxRetries===void 0?void 0:typeof s.maxRetries=="bigint"?s.maxRetries:BigInt(s.maxRetries),p=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(k,P={}){let C=await signTransactionMessageWithSigners(k,{abortSignal:P.abortSignal??s.abortSignal,minContextSlot:s.minContextSlot}),d=getBase64EncodedWireTransaction(C),h=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:o,preflightCommitment:c,skipPreflight:s.skipPreflight}).send({abortSignal:P.abortSignal??s.abortSignal});return p=signature(h),{transaction:C}}})(f.plan,{abortSignal:s.abortSignal}),!p)throw new Error("Failed to resolve transaction signature.");return p}t(y,"sendWithExecutor");async function T(f,s={}){let{prepareTransaction:c,...o}=f,p=await r(o);if(c===false)return l(p,s);let u=c??{},k=await ne({blockhashReset:u.blockhashReset??false,...u,rpc:e.rpc,transaction:p.message}),P=Object.freeze({...p,message:k,plan:singleTransactionPlan(k)});return l(P,s)}return t(T,"prepareAndSend"),Object.freeze({prepare:r,sign:a,toWire:i,send:l,prepareAndSend:T})}t(Ne,"createTransactionHelper");function _(e,n,r){if(e.commitment!==void 0)return e;let a=r??n();return {...e,commitment:a}}t(_,"withDefaultCommitment");function ia(e,n){return {prepareTransfer:t(r=>e.prepareTransfer(_(r,n)),"prepareTransfer"),sendPreparedTransfer:e.sendPreparedTransfer,sendTransfer:t((r,a)=>e.sendTransfer(_(r,n),a),"sendTransfer")}}t(ia,"wrapSolTransferHelper");function sa(e,n,r){let a=t(i=>i??r??n(),"resolveCommitment");return {deriveAssociatedTokenAddress:e.deriveAssociatedTokenAddress,fetchBalance:t((i,l)=>e.fetchBalance(i,a(l)),"fetchBalance"),prepareTransfer:t(i=>e.prepareTransfer(_(i,n,r)),"prepareTransfer"),sendPreparedTransfer:e.sendPreparedTransfer,sendTransfer:t((i,l)=>e.sendTransfer(_(i,n,r),l),"sendTransfer")}}t(sa,"wrapSplTokenHelper");function ca(e,n){return {getStakeAccounts:e.getStakeAccounts,prepareStake:t(r=>e.prepareStake(_(r,n)),"prepareStake"),prepareUnstake:t(r=>e.prepareUnstake(_(r,n)),"prepareUnstake"),prepareWithdraw:t(r=>e.prepareWithdraw(_(r,n)),"prepareWithdraw"),sendPreparedStake:e.sendPreparedStake,sendPreparedUnstake:e.sendPreparedUnstake,sendPreparedWithdraw:e.sendPreparedWithdraw,sendStake:t((r,a)=>e.sendStake(_(r,n),a),"sendStake"),sendUnstake:t((r,a)=>e.sendUnstake(_(r,n),a),"sendUnstake"),sendWithdraw:t((r,a)=>e.sendWithdraw(_(r,n),a),"sendWithdraw")}}t(ca,"wrapStakeHelper");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 la(e){return JSON.stringify({associatedTokenProgram:se(e.associatedTokenProgram),commitment:se(e.commitment),decimals:e.decimals,mint:se(e.mint),tokenProgram:se(e.tokenProgram)})}t(la,"serialiseSplConfig");function kt(e,n){let r=t(()=>n.getState().cluster.commitment,"getFallbackCommitment"),a=new Map,i,l,g,y=t(()=>(i||(i=ia(we(e),r)),i),"getSolTransfer"),T=t(()=>(l||(l=ca(De(e),r)),l),"getStake"),f=t(()=>(g||(g=Ne(e,r)),g),"getTransaction");function s(o){let p=la(o),u=a.get(p);if(u)return u.scoped;let k=Pe(e,o),P=sa(k,r,o.commitment);return a.set(p,{baseCommitment:o.commitment,scoped:P}),P}return t(s,"getSplTokenHelper"),Object.freeze({get solTransfer(){return y()},splToken:s,get stake(){return T()},get transaction(){return f()},prepareTransaction:t(o=>ne({...o,rpc:e.rpc}),"prepareTransactionWithRuntime")})}t(kt,"createClientHelpers");function pa(){return {status:"idle"}}t(pa,"createClusterStatus");function ce(e){let{commitment:n,endpoint:r,websocketEndpoint:a}=e,i=Date.now();return fe({accounts:{},cluster:{commitment:n,endpoint:r,status:pa(),websocketEndpoint:a},lastUpdatedAt:i,subscriptions:{account:{},signature:{}},transactions:{},wallet:{status:"disconnected"}})}t(ce,"createInitialClientState");function le(e){return createStore(()=>e)}t(le,"createClientStore");function da(e){return le(ce(e))}t(da,"createDefaultClientStore");function wt({logger:e,runtime:n,store:r}){let a=e??Z();function i(o,p,u){r.setState(k=>({...k,lastUpdatedAt:W(),subscriptions:{...k.subscriptions,[o]:{...k.subscriptions[o],[p]:u}}}));}t(i,"setSubscriptionStatus");function l(o,p){i(o,p,{status:"inactive"});}t(l,"onAbort");function g(o,p,u){function k(){u.abort(),l(o,p);}return t(k,"abort"),{abort:k}}t(g,"createSubscriptionHandle");async function y(o,p,u){let k=o.commitment??r.getState().cluster.commitment,P=n.rpcSubscriptions.accountNotifications(o.address,{commitment:k}),C=o.address.toString();i("account",C,{status:"activating"}),u.signal.addEventListener("abort",()=>l("account",C));try{let d=await P.subscribe({abortSignal:u.signal});i("account",C,{status:"active"});for await(let h of d){let m=h.value?.lamports??null,S=h.value?.executable??null,b=h.value?.owner??null,x=h.context?.slot??null,w={address:o.address,data:h.value?.data,error:void 0,executable:S,fetching:!1,lamports:m,lastFetchedAt:W(),owner:b,slot:x};p(w),r.setState(A=>({...A,accounts:{...A.accounts,[C]:w},lastUpdatedAt:W()}));}}catch(d){u.signal.aborted||(a({data:{address:C,...B(d)},level:"error",message:"account subscription failed"}),i("account",C,{error:d,status:"error"}));}}t(y,"handleAccountNotifications");function T(o,p){let u=new AbortController;return y(o,p,u).catch(k=>{u.signal.aborted||a({data:{address:o.address.toString(),...B(k)},level:"error",message:"account watcher error"});}),g("account",o.address.toString(),u)}t(T,"watchAccount");function f(o,p){return T(o,u=>{u.lamports!==null&&p(u.lamports);})}t(f,"watchBalance");async function s(o,p,u){let k=o.commitment??r.getState().cluster.commitment,P=n.rpcSubscriptions.signatureNotifications(o.signature,{commitment:k,enableReceivedNotification:o.enableReceivedNotification}),C=o.signature.toString();i("signature",C,{status:"activating"}),u.signal.addEventListener("abort",()=>l("signature",C));try{let d=await P.subscribe({abortSignal:u.signal});i("signature",C,{status:"active"});for await(let h of d)p(h),r.setState(m=>({...m,lastUpdatedAt:W(),transactions:{...m.transactions,[C]:{lastUpdatedAt:W(),signature:o.signature,status:"waiting"}}}));}catch(d){u.signal.aborted||(a({data:{signature:C,...B(d)},level:"error",message:"signature subscription failed"}),i("signature",C,{error:d,status:"error"}));}}t(s,"handleSignatureNotifications");function c(o,p){let u=new AbortController;return s(o,p,u).catch(k=>{u.signal.aborted||a({data:{signature:o.signature.toString(),...B(k)},level:"error",message:"signature watcher error"});}),g("signature",o.signature.toString(),u)}return t(c,"watchSignature"),{watchAccount:T,watchBalance:f,watchSignature:c}}t(wt,"createWatchers");function ze(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}),a=n.commitment??"confirmed",i=ce({commitment:a,endpoint:r.endpoint,websocketEndpoint:r.websocketEndpoint}),l=e.createStore?e.createStore(i):le(i),g=n.rpcClient??Q({commitment:a,endpoint:r.endpoint,websocketEndpoint:r.websocketEndpoint}),y={rpc:g.rpc,rpcSubscriptions:g.rpcSubscriptions},T=ye(n.walletConnectors??[]),f=Z(n.logger),s=Qe({connectors:T,logger:f,runtime:y,store:l}),c=wt({logger:f,runtime:y,store:l}),o=kt(y,l);l.setState(u=>({...u,cluster:{...u.cluster,status:{status:"connecting"}},lastUpdatedAt:W()})),s.setCluster(r.endpoint,{commitment:a,websocketEndpoint:r.websocketEndpoint}).catch(u=>f({data:B(u),level:"error",message:"initial cluster setup failed"}));function p(){l.setState(()=>i);}return t(p,"destroy"),{actions:s,config:e,connectors:T,destroy:p,get helpers(){return o},runtime:y,store:l,get solTransfer(){return o.solTransfer},get SolTransfer(){return o.solTransfer},splToken:o.splToken,SplToken:o.splToken,SplHelper:o.splToken,get stake(){return o.stake},get transaction(){return o.transaction},prepareTransaction:o.prepareTransaction,watchers:c}}t(ze,"createClient");var ka=getBase58Decoder(),wa=getTransactionDecoder(),At=getTransactionEncoder();function Pa(e){return `wallet-standard:${e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-")}`}t(Pa,"deriveConnectorId");function Aa(e){let n=e[0];if(!n)throw new Error("Wallet returned no accounts.");return n}t(Aa,"getPrimaryAccount");function Ra(e){if(e==="processed"||e==="confirmed"||e==="finalized")return e}t(Ra,"mapCommitment");function Ve(e){return {address:address(e.address),label:e.label,publicKey:new Uint8Array(e.publicKey)}}t(Ve,"toSessionAccount");function Rt(e){let[n]=e.chains??[];return n}t(Rt,"getChain");async function xt(e){let n=e.features[StandardDisconnect];n&&await n.disconnect();}t(xt,"disconnectWallet");function re(e,n={}){let r={canAutoConnect:n.canAutoConnect??!!e.features[StandardConnect],icon:n.icon??e.icon,id:n.id??Pa(e),kind:n.kind??"wallet-standard",name:n.name??e.name,ready:typeof window<"u"};async function a(g={}){let y=e.features[StandardConnect],T=e.features[StandardEvents],f=!!g.autoConnect,s=g.allowInteractiveFallback??true,c=e.accounts;if(y){let w=t(async A=>y.connect({silent:A}),"connectWithMode");try{let{accounts:A}=await w(f);A.length&&(c=A);}catch(A){if(!f||!s)throw A;let{accounts:L}=await w(false);L.length&&(c=L);}}let o=Aa(c),p=Ve(o),u=e.features[SolanaSignMessage],k=e.features[SolanaSignTransaction],P=e.features[SolanaSignAndSendTransaction],C=n.defaultChain??Rt(o),d=u?async w=>{let[A]=await u.signMessage({account:o,message:w});return A.signature}:void 0,h=k?async w=>{let A=new Uint8Array(At.encode(w)),L=C?{account:o,chain:C,transaction:A}:{account:o,transaction:A},[O]=await k.signTransaction(L);return wa.decode(O.signedTransaction)}:void 0,m=P?async(w,A)=>{let L=new Uint8Array(At.encode(w)),O=n.defaultChain??Rt(o)??"solana:mainnet-beta",[me]=await P.signAndSendTransaction({account:o,chain:O,options:{commitment:Ra(A?.commitment)},transaction:L});return ka.decode(me.signature)}:void 0;async function S(){b?.(),await xt(e);}t(S,"disconnectSession");let b,x=T?w=>T.on("change",({accounts:L})=>{if(L){if(!L.length){w([]);return}o=L[0],p=Ve(o),w(L.map(Ve));}}):void 0;return {account:p,connector:r,disconnect:S,onAccountsChanged:x?w=>(b=x(w),()=>{b?.(),b=void 0;}):void 0,sendTransaction:m,signMessage:d,signTransaction:h}}t(a,"connect");async function i(){await xt(e);}t(i,"disconnect");function l(){return typeof window<"u"}return t(l,"isSupported"),{...r,connect:a,disconnect:i,isSupported:l}}t(re,"createWalletStandardConnector");function Wt(e,n){return re(e,n?.(e))}t(Wt,"mapWalletToConnector");function xa(e={}){let{get:n}=getWallets(),r=n().map(i=>Wt(i,e.overrides)),a=new Set;return r.filter(i=>a.has(i.id)?false:(a.add(i.id),true))}t(xa,"getWalletStandardConnectors");function La(e,n={}){let{get:r,on:a}=getWallets(),i=t(()=>{let y=r().map(s=>Wt(s,n.overrides)),T=new Set,f=y.filter(s=>T.has(s.id)?false:(T.add(s.id),true));e(f);},"emit");i();let l=a("register",i),g=a("unregister",i);return ()=>{l(),g();}}t(La,"watchWalletStandardConnectors");function $(e={}){let{get:n}=getWallets(),a=n().filter(l=>e.filter?e.filter(l):true).map(l=>re(l,e.overrides?.(l))),i=new Set;return a.filter(l=>i.has(l.id)?false:(i.add(l.id),true))}t($,"autoDiscover");function Oa(e){return {canAutoConnect:true,id:"wallet-standard:injected",kind:"wallet-standard",name:"Injected Wallet",ready:typeof window<"u",async connect(){let a=getWallets().get().find(i=>StandardConnect in i.features);if(!a)throw new Error("No Wallet Standard wallets available.");return re(a,e).connect()},async disconnect(){},isSupported(){return typeof window<"u"}}}t(Oa,"injected");function ue(e){let n=e.toLowerCase();return r=>r.name.toLowerCase().includes(n)}t(ue,"filterByName");function je(e){return $({filter:ue("phantom"),overrides:t(()=>({...e,id:"wallet-standard:phantom"}),"overrides")})}t(je,"phantom");function qe(e){return $({filter:ue("solflare"),overrides:t(()=>({...e,id:"wallet-standard:solflare"}),"overrides")})}t(qe,"solflare");function Ke(e){return $({filter:ue("backpack"),overrides:t(()=>({...e,id:"wallet-standard:backpack"}),"overrides")})}t(Ke,"backpack");function va(e){return $({filter:ue("metamask"),overrides:t(()=>({...e,id:"wallet-standard:metamask"}),"overrides")})}t(va,"metamask");function vt(){return [...je(),...qe(),...Ke(),...$()]}t(vt,"defaultWalletConnectors");function pe(e){if(!e)return;let n=e.trim();return n.length?n:void 0}t(pe,"normalizeUrl");function It(e={}){let{cluster:n,endpoint:r,rpc:a,websocket:i,websocketEndpoint:l,walletConnectors:g,...y}=e,T=pe(a)??pe(r)??pe(e.endpoint),f=ee({endpoint:T,moniker:n??void 0,websocketEndpoint:pe(i??l)}),s=g===void 0||g==="default"?vt():g;return {...y,endpoint:f.endpoint,websocketEndpoint:f.websocketEndpoint,walletConnectors:s}}t(It,"resolveClientConfig");function Ia(e={}){return ze(It(e))}t(Ia,"createDefaultClient");function M(){return {status:"idle"}}t(M,"createInitialAsyncState");function v(e,n={}){return {data:n.data,error:n.error,status:e}}t(v,"createAsyncState");function Ma(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(Ma,"ensureAuthority");function Ea(e){let n=new Set,r=e.helper,a=e.authorityProvider,i=M();function l(){for(let s of n)s();}t(l,"notify");function g(s){i=s,l();}t(g,"setState");async function y(s,c){let o=Ma(s,a);g(v("loading"));try{let p=await r.sendTransfer(o,c);return g(v("success",{data:p})),p}catch(p){throw g(v("error",{error:p})),p}}t(y,"send");function T(s){return n.add(s),()=>{n.delete(s);}}t(T,"subscribe");function f(){g(M());}return t(f,"reset"),{getHelper:t(()=>r,"getHelper"),getState:t(()=>i,"getState"),reset:f,send:y,subscribe:T}}t(Ea,"createSolTransferController");function Ba(e,n,r){let a=e.authority??n?.();if(!a)throw new Error("Connect a wallet or supply an `authority` before sending SPL tokens.");let i=e.sourceOwner??r?.();if(!i)throw new Error("Unable to resolve a source owner for the SPL token transfer.");return {...e,authority:a,sourceOwner:i}}t(Ba,"ensureTransferConfig");function Ua(e){let n=e.helper,r=e.authorityProvider,a=e.sourceOwnerProvider,i=new Set,l=M();function g(){for(let c of i)c();}t(g,"notify");function y(c){l=c,g();}t(y,"setState");async function T(c,o){let p=Ba(c,c.authority?void 0:r,c.sourceOwner?void 0:a);y(v("loading"));try{let u=await n.sendTransfer(p,o);return y(v("success",{data:u})),u}catch(u){throw y(v("error",{error:u})),u}}t(T,"send");function f(c){return i.add(c),()=>{i.delete(c);}}t(f,"subscribe");function s(){y(M());}return t(s,"reset"),{getHelper:t(()=>n,"getHelper"),getState:t(()=>l,"getState"),reset:s,send:T,subscribe:f}}t(Ua,"createSplTransferController");function Fa(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(Fa,"ensureAuthority");function Da(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(Da,"ensureUnstakeAuthority");function Ha(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(Ha,"ensureWithdrawAuthority");function _a(e){let n=new Set,r=new Set,a=new Set,i=e.helper,l=e.authorityProvider,g=M(),y=M(),T=M();function f(){for(let w of n)w();}t(f,"notify");function s(){for(let w of r)w();}t(s,"notifyUnstake");function c(){for(let w of a)w();}t(c,"notifyWithdraw");function o(w){g=w,f();}t(o,"setState");function p(w){y=w,s();}t(p,"setUnstakeState");function u(w){T=w,c();}t(u,"setWithdrawState");async function k(w,A){let L=Fa(w,l);o(v("loading"));try{let O=await i.sendStake(L,A);return o(v("success",{data:O})),O}catch(O){throw o(v("error",{error:O})),O}}t(k,"stake");async function P(w,A){let L=Da(w,l);p(v("loading"));try{let O=await i.sendUnstake(L,A);return p(v("success",{data:O})),O}catch(O){throw p(v("error",{error:O})),O}}t(P,"unstake");async function C(w,A){let L=Ha(w,l);u(v("loading"));try{let O=await i.sendWithdraw(L,A);return u(v("success",{data:O})),O}catch(O){throw u(v("error",{error:O})),O}}t(C,"withdraw");function d(w){return n.add(w),()=>{n.delete(w);}}t(d,"subscribe");function h(w){return r.add(w),()=>{r.delete(w);}}t(h,"subscribeUnstake");function m(w){return a.add(w),()=>{a.delete(w);}}t(m,"subscribeWithdraw");function S(){o(M());}t(S,"reset");function b(){p(M());}t(b,"resetUnstake");function x(){u(M());}return t(x,"resetWithdraw"),{getHelper:t(()=>i,"getHelper"),getState:t(()=>g,"getState"),getUnstakeState:t(()=>y,"getUnstakeState"),getWithdrawState:t(()=>T,"getWithdrawState"),reset:S,resetUnstake:b,resetWithdraw:x,stake:k,unstake:P,withdraw:C,subscribe:d,subscribeUnstake:h,subscribeWithdraw:m}}t(_a,"createStakeController");function Na(e){return e.toString()}t(Na,"bigintToJson");function za(e){return N(e,"bigint")}t(za,"bigintFromJson");function Va(e){return e.toString()}t(Va,"lamportsToJson");function ja(e){return ke(e,"lamports")}t(ja,"lamportsFromJson");var Mt={processed:0,confirmed:1,finalized:2},Ka=2e4;function $a(e){if(e)return typeof e=="string"?signature(e):e}t($a,"normalizeSignature");function Ja(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(Ja,"deriveConfirmationStatus");function Ga(e,n){return e?Mt[e]>=Mt[n]:false}t(Ga,"confirmationMeetsCommitment");var Qa="MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr";function eo(e){let n=e.findIndex(r=>r.programAddress!==Qa);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(eo,"ensureNonMemoInstructionIndex");function to(e,n){return Et([e],n)}t(to,"insertReferenceKey");function Et(e,n){let r=eo(n.instructions),a=n.instructions[r],i=[...a.accounts??[],...e.map(g=>({address:g,role:AccountRole.READONLY}))],l=[...n.instructions];return l.splice(r,1,{...a,accounts:i}),Object.freeze({...n,instructions:Object.freeze(l)})}t(Et,"insertReferenceKeys");function de(e){let n=e,r=new Set;return {getSnapshot:t(()=>n,"getSnapshot"),setSnapshot(a){n=a;for(let i of r)i();},subscribe(a){return r.add(a),()=>{r.delete(a);}}}}t(de,"createStore");function Bt(e){return Object.freeze([...e])}t(Bt,"freezeInstructions");function no(e){let n=e.helper,r=Bt(e.initialInstructions??[]),a=e.blockhashMaxAgeMs??3e4,i,l=de(r),g=de(null),y=de(M()),T=de(M());function f(){g.setSnapshot(null),y.setSnapshot(M()),T.setSnapshot(M());}t(f,"resetDerivedState");function s(R){l.setSnapshot(Bt(R)),f();}t(s,"commitInstructions");function c(R){let I=[...l.getSnapshot(),R];s(I);}t(c,"addInstruction");function o(R){if(!R.length)return;let I=[...l.getSnapshot(),...R];s(I);}t(o,"addInstructions");function p(R){s(R);}t(p,"replaceInstructions");function u(){s([]);}t(u,"clearInstructions");function k(R){let I=l.getSnapshot();if(R<0||R>=I.length)return;let U=I.filter((H,E)=>E!==R);s(U);}t(k,"removeInstruction");function P(){s(r);}t(P,"reset");function C(R){if(!R.length)throw new Error("Add at least one instruction before preparing a transaction.")}t(C,"ensureInstructions");function d(){if(i&&!(Date.now()-i.updatedAt>a))return i.value}t(d,"resolveCachedLifetime");async function h(R={}){let{instructions:I,...U}=R,H=I??l.getSnapshot();C(H),y.setSnapshot(v("loading"));try{let E=U.lifetime??d(),J=E&&!U.lifetime?{...U,lifetime:E}:U,G=await n.prepare({...J,instructions:H});return g.setSnapshot(G),y.setSnapshot(v("success",{data:G})),G}catch(E){throw y.setSnapshot(v("error",{error:E})),E}}t(h,"prepare");function m(R){let I=R??g.getSnapshot();if(!I)throw new Error("Prepare a transaction before sending.");return I}t(m,"resolvePrepared");function S(R){if(R.lifetime)return R;let I=d();return I?{...R,lifetime:I}:R}t(S,"resolveLifetimeOptions");async function b(R={}){let{prepared:I,...U}=R,H=m(I);T.setSnapshot(v("loading"));try{let E=await n.send(H,U);return T.setSnapshot(v("success",{data:E})),E}catch(E){throw T.setSnapshot(v("error",{error:E})),E}}t(b,"send");async function x(R={},I){let{instructions:U,...H}=R,E=U??l.getSnapshot();C(E),T.setSnapshot(v("loading"));try{let J=S(H),G=await n.prepareAndSend({...J,instructions:E},I);return T.setSnapshot(v("success",{data:G})),G}catch(J){throw T.setSnapshot(v("error",{error:J})),J}}t(x,"prepareAndSend");function w(R={}){let{prepared:I,...U}=R,H=m(I);return n.sign(H,U)}t(w,"sign");function A(R={}){let{prepared:I,...U}=R,H=m(I);return n.toWire(H,U)}t(A,"toWire");function L(R){return l.subscribe(R)}t(L,"subscribeInstructions");function O(R){return g.subscribe(R)}t(O,"subscribePrepared");function me(R){return y.subscribe(R)}t(me,"subscribePrepareState");function Ft(R){return T.subscribe(R)}t(Ft,"subscribeSendState");function Dt(R){i=R;}return t(Dt,"setLatestBlockhashCache"),{addInstruction:c,addInstructions:o,clearInstructions:u,get helper(){return n},getInstructions:l.getSnapshot,getPrepareState:y.getSnapshot,getPrepared:g.getSnapshot,getSendState:T.getSnapshot,getLatestBlockhashCache:t(()=>i,"getLatestBlockhashCache"),prepare:h,prepareAndSend:x,removeInstruction:k,replaceInstructions:p,reset:P,send:b,setLatestBlockhashCache:Dt,sign:w,subscribeInstructions:L,subscribePrepareState:me,subscribePrepared:O,subscribeSendState:Ft,toWire:A}}t(no,"createTransactionPoolController");function Ut(e){return typeof e=="string"?address(e):e}t(Ut,"toAddress");function ao(e){return Ut(e).toString()}t(ao,"toAddressString");function oo(e){return JSON.stringify(e,(r,a)=>typeof a=="bigint"?{__type:"bigint",value:a.toString()}:a instanceof Uint8Array?Array.from(a):a)??"undefined"}t(oo,"stableStringify");
|
|
2
|
-
export{
|
|
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
|
|
3
3
|
//# sourceMappingURL=index.browser.mjs.map
|