@solana/client 1.1.4 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.browser.mjs +2 -2
- package/dist/index.native.mjs +2 -2
- package/dist/index.node.mjs +8 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/wallet/connectors.d.ts +4 -0
- package/dist/types/wallet/connectors.d.ts.map +1 -1
- package/package.json +1 -1
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 n=(e,t)=>Ht(e,"name",{value:t,configurable:true});function _t(e,t){return e.actions.connectWallet(t.connectorId,t.options)}n(_t,"connectWallet");function Nt(e,t){return e.actions.disconnectWallet()}n(Nt,"disconnectWallet");function zt(e,t){return e.actions.fetchAccount(t.address,t.commitment)}n(zt,"fetchAccount");function Vt(e,t){return e.actions.fetchBalance(t.address,t.commitment)}n(Vt,"fetchBalance");function jt(e,t){return e.actions.fetchLookupTable(t.address,t.commitment)}n(jt,"fetchLookupTable");function qt(e,t){return e.actions.fetchLookupTables(t.addresses,t.commitment)}n(qt,"fetchLookupTables");function Kt(e,t){return e.actions.fetchNonceAccount(t.address,t.commitment)}n(Kt,"fetchNonceAccount");function $t(e,t){return e.actions.requestAirdrop(t.address,t.lamports)}n($t,"requestAirdrop");function Jt(e,t){return e.actions.sendTransaction(t.transaction,t.commitment)}n(Jt,"sendTransaction");function Gt(e,t){return e.actions.setCluster(t.endpoint,t.config)}n(Gt,"setCluster");function me(e){if(typeof e!="object"||e===null)return e;let t=e;for(let r of Reflect.ownKeys(t)){let a=t[r];me(a);}return Object.freeze(e)}n(me,"deepFreeze");function L(){return Date.now()}n(L,"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)}}n($e,"toErrorMessage");function G(e){return e||(({data:t,level:r,message:a})=>{let i=t?{...t}:{};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);}})}n(G,"createLogger");function B(e){return {error:e,message:$e(e)}}n(B,"formatError");function tn(e){let t=new AbortController;if(!e)return t;if(e.aborted)return t.abort(e.reason),t;let r=n(()=>{t.abort(e.reason),e.removeEventListener("abort",r);},"onAbort");return e.addEventListener("abort",r,{once:true}),t}n(tn,"createChainedAbortController");function Ge(e){if(e!==void 0)return typeof e=="bigint"?e:BigInt(Math.floor(e))}n(Ge,"toBigint");var nn=Object.freeze({encoding:"base64",replaceRecentBlockhash:true,sigVerify:false});function Q(e){let t=e.endpoint,r=e.websocketEndpoint??t,a=e.commitment??"confirmed",i=createSolanaRpc(t,e.rpcConfig),l=createSolanaRpcSubscriptions(r,e.rpcSubscriptionsConfig);async function g(T,m={}){let s=tn(m.abortSignal),c=m.commitment??a,o=getBase64EncodedWireTransaction(T),p=await i.sendTransaction(o,{encoding:"base64",maxRetries:Ge(m.maxRetries),minContextSlot:Ge(m.minContextSlot),preflightCommitment:c,skipPreflight:m.skipPreflight}).send({abortSignal:s.signal}),u=createBlockHeightExceedencePromiseFactory({rpc:i,rpcSubscriptions:l}),C=createRecentSignatureConfirmationPromiseFactory({rpc:i,rpcSubscriptions:l});return await waitForRecentTransactionConfirmation({abortSignal:s.signal,commitment:c,getBlockHeightExceedencePromise:u,getRecentSignatureConfirmationPromise:C,transaction:T}),p}n(g,"sendAndConfirmTransaction");async function y(T,m={}){let s=getBase64EncodedWireTransaction(T),c=m.config??{},o={...nn,...c,commitment:c.commitment??m.commitment??a},p=o.sigVerify===true&&o.replaceRecentBlockhash!==false?{...o,replaceRecentBlockhash:false}:o;return i.simulateTransaction(s,p).send({abortSignal:m.abortSignal})}return n(y,"simulateTransaction"),{commitment:a,endpoint:t,rpc:i,rpcSubscriptions:l,sendAndConfirmTransaction:g,simulateTransaction:y,websocketEndpoint:r}}n(Q,"createSolanaRpcClient");function rn(e){return {autoconnect:false,commitment:e.commitment,endpoint:e.endpoint,lastConnectorId:null,lastPublicKey:null,version:1,websocketEndpoint:e.websocketEndpoint}}n(rn,"getInitialSerializableState");function ge(e,t){return t?{...e,commitment:t.commitment??e.commitment,endpoint:t.endpoint??e.endpoint,websocketEndpoint:t.websocketEndpoint??e.websocketEndpoint}:e}n(ge,"applySerializableState");function fe(e){return JSON.stringify(e)}n(fe,"serializeSolanaState");function an(e){if(!e)return null;try{let t=JSON.parse(e);if(typeof t!="object"||t===null)return null;let r=t;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}}n(an,"deserializeSolanaState");function Ze(e){let t=e.store.getState(),r=t.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:t.cluster.commitment,endpoint:t.cluster.endpoint,lastConnectorId:i,lastPublicKey:l,version:1,websocketEndpoint:t.cluster.websocketEndpoint}}n(Ze,"getSerializableStateSnapshot");function on(e,t){let r=fe(Ze(e));return t(JSON.parse(r)),e.store.subscribe(()=>{let i=Ze(e),l=fe(i);l!==r&&(r=l,t(i));})}n(on,"subscribeSolanaState");function Ye(e){return e.startsWith("http://")||e.startsWith("https://")||e.startsWith("ws://")||e.startsWith("wss://")?e:`https://${e}`}n(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)}n(cn,"inferWebsocketEndpoint");function ee(e){let t=e.moniker??(e.endpoint?"custom":"devnet"),r=t==="custom"?void 0:sn[t],a=Ye(e.endpoint??r?.endpoint),i=e.websocketEndpoint?Ye(e.websocketEndpoint):void 0,l=cn(i??r?.websocketEndpoint??a);return {endpoint:a,moniker:t,websocketEndpoint:l}}n(ee,"resolveCluster");function Se(e){let t=new Map;for(let r of e)t.has(r.id)||t.set(r.id,r);return {all:[...t.values()],get(r){return t.get(r)}}}n(Se,"createWalletRegistry");function yn(e,t){e.setState(r=>({...r,...t,lastUpdatedAt:L()}));}n(yn,"updateState");function Qe({connectors:e,logger:t,runtime:r,store:a}){let i=t??G(),l;function g(d){return d??a.getState().cluster.commitment}n(g,"getCommitment");async function y(d,h){try{let f=L();return await r.rpc.getLatestBlockhash({commitment:h}).send({abortSignal:AbortSignal.timeout(1e4)}),L()-f}catch(f){i({data:{endpoint:d,...B(f)},level:"warn",message:"cluster warmup failed"});return}}n(y,"warmupCluster");async function T(d,h){let f=h?.commitment??a.getState().cluster.commitment,S=h?.websocketEndpoint??d;a.setState(k=>({...k,cluster:{commitment:f,endpoint:d,status:{status:"connecting"},websocketEndpoint:S},lastUpdatedAt:L()}));try{let k=Q({commitment:f,endpoint:d,websocketEndpoint:S});r.rpc=k.rpc,r.rpcSubscriptions=k.rpcSubscriptions;let R=await y(d,f);a.setState(P=>({...P,cluster:{commitment:f,endpoint:d,status:{latencyMs:R,status:"ready"},websocketEndpoint:S},lastUpdatedAt:L()}));}catch(k){throw a.setState(R=>({...R,cluster:{commitment:f,endpoint:d,status:{error:k,status:"error"},websocketEndpoint:S},lastUpdatedAt:L()})),i({data:{endpoint:d,...B(k)},level:"error",message:"cluster setup failed"}),k}}n(T,"setCluster");async function m(d,h={}){l?.(),l=void 0;let f=e.get(d);if(!f)throw new Error(`No wallet connector registered for id "${d}".`);if(!f.isSupported())throw new Error(`Wallet connector "${d}" is not supported in this environment.`);let S=h.autoConnect??false;a.setState(k=>({...k,lastUpdatedAt:L(),wallet:{autoConnect:S,connectorId:d,status:"connecting"}}));try{let k=await f.connect(h);a.setState(R=>({...R,lastUpdatedAt:L(),wallet:{autoConnect:S,connectorId:d,session:k,status:"connected"}})),k.onAccountsChanged&&(l=k.onAccountsChanged(R=>{R.length===0&&(l?.(),l=void 0,s());})),i({data:{address:k.account.address.toString(),connectorId:d},level:"info",message:"wallet connected"});}catch(k){throw a.setState(R=>({...R,lastUpdatedAt:L(),wallet:{autoConnect:S,connectorId:d,error:k,status:"error"}})),i({data:{connectorId:d,...B(k)},level:"error",message:"wallet connection failed"}),k}}n(m,"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"}});}}}n(s,"disconnectWallet");async function c(d,h){let f=d.toString();a.setState(S=>({...S,accounts:{...S.accounts,[f]:{address:d,data:S.accounts[f]?.data,error:void 0,fetching:true,lamports:S.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:S.accounts[f]?.slot??null}},lastUpdatedAt:L()}));try{let S=await r.rpc.getBalance(d,{commitment:g(h)}).send({abortSignal:AbortSignal.timeout(1e4)}),k=S.value;return a.setState(R=>({...R,accounts:{...R.accounts,[f]:{address:d,data:R.accounts[f]?.data,error:void 0,fetching:!1,lamports:k,lastFetchedAt:L(),slot:S.context.slot}},lastUpdatedAt:L()})),k}catch(S){throw a.setState(k=>({...k,accounts:{...k.accounts,[f]:{address:d,data:k.accounts[f]?.data,error:S,fetching:false,lamports:k.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:k.accounts[f]?.slot??null}},lastUpdatedAt:L()})),i({data:{address:f,...B(S)},level:"error",message:"balance fetch failed"}),S}}n(c,"fetchBalance");async function o(d,h){let f=d.toString();a.setState(S=>({...S,accounts:{...S.accounts,[f]:{address:d,data:S.accounts[f]?.data,error:void 0,fetching:true,lamports:S.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:S.accounts[f]?.slot??null}},lastUpdatedAt:L()}));try{let S=await r.rpc.getAccountInfo(d,{commitment:g(h),encoding:"base64"}).send({abortSignal:AbortSignal.timeout(1e4)}),k=S.value,R=k?.lamports??null;return a.setState(P=>({...P,accounts:{...P.accounts,[f]:{address:d,data:k,error:void 0,fetching:!1,lamports:R,lastFetchedAt:L(),slot:S.context.slot}},lastUpdatedAt:L()})),a.getState().accounts[f]}catch(S){throw a.setState(k=>({...k,accounts:{...k.accounts,[f]:{address:d,data:k.accounts[f]?.data,error:S,fetching:false,lamports:k.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:k.accounts[f]?.slot??null}},lastUpdatedAt:L()})),i({data:{address:f,...B(S)},level:"error",message:"account fetch failed"}),S}}n(o,"fetchAccount");async function p(d,h){let f=await fetchAddressLookupTable(r.rpc,d,{commitment:g(h)}),{addresses:S,authority:k,deactivationSlot:R,lastExtendedSlot:P,lastExtendedSlotStartIndex:x}=f.data;return {addresses:S,authority:isSome(k)?k.value:void 0,deactivationSlot:R,lastExtendedSlot:P,lastExtendedSlotStartIndex:x}}n(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}))}n(u,"fetchLookupTables");async function C(d,h){let f=await fetchNonce(r.rpc,d,{commitment:g(h)});return {authority:f.data.authority,blockhash:f.data.blockhash}}n(C,"fetchNonceAccount");async function w(d,h){let f=g(h),S=new AbortController,k=await r.rpc.sendTransaction(getBase64EncodedWireTransaction(d),{encoding:"base64",preflightCommitment:f}).send({abortSignal:S.signal}),R=k.toString();a.setState(W=>({...W,lastUpdatedAt:L(),transactions:{...W.transactions,[R]:{lastUpdatedAt:L(),signature:k,status:"sending"}}}));let P=createBlockHeightExceedencePromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions}),x=createRecentSignatureConfirmationPromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions});try{return await waitForRecentTransactionConfirmation({abortSignal:S.signal,commitment:f,getBlockHeightExceedencePromise:P,getRecentSignatureConfirmationPromise:x,transaction:d}),a.setState(W=>({...W,lastUpdatedAt:L(),transactions:{...W.transactions,[R]:{lastUpdatedAt:L(),signature:k,status:"confirmed"}}})),k}catch(W){throw a.setState(O=>({...O,lastUpdatedAt:L(),transactions:{...O.transactions,[R]:{error:W,lastUpdatedAt:L(),signature:k,status:"failed"}}})),i({data:{signature:R,...B(W)},level:"error",message:"transaction failed to confirm"}),W}}n(w,"sendTransaction");async function b(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(f){throw i({data:{address:d.toString(),lamports:h.toString(),...B(f)},level:"error",message:"airdrop request failed"}),f}}return n(b,"requestAirdrop"),{connectWallet:m,disconnectWallet:s,fetchAccount:o,fetchBalance:c,fetchLookupTable:p,fetchLookupTables:u,fetchNonceAccount:C,requestAirdrop:b,sendTransaction:w,setCluster:T}}n(Qe,"createActions");var Tn=10n;function ye(e){return ae(e,"exponent"),Tn**BigInt(e)}n(ye,"pow10");function F(e,t="value"){if(e<0n)throw new RangeError(`${t} must be non-negative`)}n(F,"assertNonNegative");function ae(e,t="decimals"){if(!Number.isInteger(e)||e<0||e>38)throw new RangeError(`${t} must be an integer between 0 and 38`)}n(ae,"assertDecimals");function N(e,t="value"){if(typeof e=="bigint")return e;if(typeof e=="number"){if(!Number.isFinite(e)||!Number.isInteger(e))throw new RangeError(`${t} must be a finite integer when provided as a number`);if(!Number.isSafeInteger(e))throw new RangeError(`${t} 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(`${t} must be an integer string`);return BigInt(a[0])}n(N,"toBigint");function Te(e,t,r="result"){let a=e+t;return F(a,r),a}n(Te,"checkedAdd");function he(e,t,r="result"){let a=e-t;return F(a,r),a}n(he,"checkedSubtract");function hn(e,t,r="result"){let a=e*t;return F(a,r),a}n(hn,"checkedMultiply");function bn(e,t,r="result"){if(t===0n)throw new RangeError("divisor must be non-zero");let a=e/t;return F(a,r),a}n(bn,"checkedDivide");function Cn(e,t,r){if(t<=0n)throw new RangeError("divisor must be positive");let a=e/t,i=e%t;if(i===0n)return a;switch(r){case "ceil":return a+1n;case "round":return i*2n>=t?a+1n:a;default:return a}}n(Cn,"divideWithRounding");function kn(e,t){let r=N(e,"numerator"),a=N(t,"denominator");if(a<=0n)throw new RangeError("denominator must be positive");return F(r,"numerator"),Object.freeze({denominator:a,numerator:r})}n(kn,"createRatio");function be(e,t,r={}){F(e,"amount");let a=e*t.numerator,i=r.rounding??"floor";return Cn(a,t.denominator,i)}n(be,"applyRatio");var Pn=/^\d+(?:\.\d+)?$/;function wn(e,t,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>t+6)throw new RangeError(`${r} exceeds safe precision; provide a string instead`);return a}n(wn,"normalizeNumberInput");function et(e,t,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(!Pn.test(g))throw new SyntaxError(`${i} must be a non-negative decimal string`);let[y,T]=g.split("."),m=y||"0";F(BigInt(m),i);let s=BigInt(m)*r,c=T??"";if(t===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,t).padEnd(t,"0"),p=o===""?0n:BigInt(o);if(s+=p,c.length>t){let u=c.slice(t),C=/[1-9]/.test(u);if(l==="ceil"&&C)s+=1n;else if(l==="round"){let w=u[0];w!==void 0&&w>="5"&&(s+=1n);}}return s}n(et,"decimalToBaseUnits");function An(e,t,r,a){F(e,"amount");let i=a.minimumFractionDigits??0;if(i<0||i>t)throw new RangeError("minimumFractionDigits must be between 0 and the token decimals");let l=a.trimTrailingZeros??true;if(t===0)return e.toString();let g=e/r,y=(e%r).toString().padStart(t,"0");return l&&(y=y.replace(/0+$/,"")),y.length<i&&(y=y.padEnd(i,"0")),y.length===0?g.toString():`${g.toString()}.${y}`}n(An,"formatBaseUnits");function te(e){ae(e,"decimals");let t=ye(e);function r(s,c){let o=N(s,c??"amount");return F(o,c??"amount"),o}n(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)*t,o)}if(e===0)throw new RangeError(`${o} cannot include fractional digits for a token with 0 decimals`);let p=wn(s,e,o);return et(p,e,t,c)}return et(s,e,t,c)}n(a,"fromDecimal");function i(s,c={}){return An(r(s),e,t,c)}n(i,"toDecimalString");function l(s,c){return Te(r(s),r(c))}n(l,"add");function g(s,c){return he(r(s),r(c))}n(g,"subtract");function y(s,c,o){return be(r(s),c,o)}n(y,"multiplyByRatio");function T(s){return r(s)===0n}n(T,"isZero");function m(s,c){let o=r(s),p=r(c);return o>p?1:o<p?-1:0}return n(m,"compare"),Object.freeze({add:l,compare:m,decimals:e,fromBaseUnits:r,fromDecimal:a,isZero:T,multiplyByRatio:y,scale:t,subtract:g,toDecimalString:i})}n(te,"createTokenAmount");var D=te(9),Rn=D.scale,z=Object.freeze({add(e,t){return D.add(e,t)},compare(e,t){return D.compare(e,t)},decimals:D.decimals,fromLamports(e,t){return D.fromBaseUnits(e,t)},fromSol(e,t){return D.fromDecimal(e,t)},isZero(e){return D.isZero(e)},multiplyByRatio(e,t,r){return D.multiplyByRatio(e,t,r)},raw:D,scale:D.scale,subtract(e,t){return D.subtract(e,t)},toSolString(e,t){return D.toDecimalString(e,t)}});function Ce(e,t){return z.fromLamports(e,t)}n(Ce,"lamports");function xn(e,t){return z.fromSol(e,t)}n(xn,"lamportsFromSol");function Ln(e,t){return z.toSolString(e,t)}n(Ln,"lamportsToSolString");function V(e){return typeof e!="object"||e===null?false:"account"in e&&"connector"in e&&"disconnect"in e}n(V,"isWalletSession");function j(e,t={}){let{commitment:r}=t,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 m=T,s=await i(m);if(!s.signatures[a])throw new Error("Wallet did not populate the expected fee payer signature.");let o=Object.freeze({...m,messageBytes:s.messageBytes,signatures:Object.freeze({...m.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 m=T.signatures[a];if(!m)throw new Error("Expected signer to produce a signature for the provided address.");return Object.freeze({[a]:m})}))}})}}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 m of y){let s=await l(m,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.")}n(j,"createWalletTransactionSigner");function q(e){return isTransactionPartialSigner(e)?"partial":isTransactionSendingSigner(e)?"send":"partial"}n(q,"resolveSignerMode");function Kn(e){return typeof e=="string"?address(e):e}n(Kn,"ensureAddress");async function $n(e,t,r){if(r)return r;let{value:a}=await e.rpc.getLatestBlockhash({commitment:t}).send();return a}n($n,"resolveLifetime");function Jn(e,t){if(V(e)){let{signer:r,mode:a}=j(e,{commitment:t});return {mode:a,signer:r}}return {mode:q(e),signer:e}}n(Jn,"resolveSigner");function Gn(e){return z.fromLamports(e)}n(Gn,"toLamportAmount");function ke(e){async function t(i){let l=i.commitment,g=await $n(e,l,i.lifetime),{signer:y,mode:T}=Jn(i.authority,l),m=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:m,source:y}),o));return {commitment:l,lifetime:g,message:c,mode:T,signer:y,plan:singleTransactionPlan(c)}}n(t,"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}n(r,"sendPreparedTransfer");async function a(i,l){let g=await t(i);return await r(g,l)}return n(a,"sendTransfer"),{prepareTransfer:t,sendPreparedTransfer:r,sendTransfer:a}}n(ke,"createSolTransferHelper");function K(e,t){if(e)return typeof e=="string"?address(e):e;if(!t)throw new Error("An address value was expected but not provided.");return t}n(K,"ensureAddress");async function fr(e,t,r){if(r)return r;let{value:a}=await e.rpc.getLatestBlockhash({commitment:t}).send();return a}n(fr,"resolveLifetime");function gr(e,t){if(V(e)){let{signer:r,mode:a}=j(e,{commitment:t});return {mode:a,signer:r}}return {mode:q(e),signer:e}}n(gr,"resolveSigner");function Pe(e,t){let r=K(t.mint),a=K(t.tokenProgram,address(TOKEN_PROGRAM_ADDRESS)),i=t.decimals,l;async function g(p){return i!==void 0||(i=(await fetchMint(e.rpc,r,{commitment:p})).data.decimals),i}n(g,"resolveDecimals");async function y(p){if(l)return l;let u=await g(p);return l=te(u),l}n(y,"getTokenMath");async function T(p){let[u]=await findAssociatedTokenPda({mint:r,owner:K(p),tokenProgram:a});return u}n(T,"deriveAssociatedTokenAddress");async function m(p,u){let C=await T(p),w=await g(u);try{let{value:b}=await e.rpc.getTokenAccountBalance(C,{commitment:u}).send(),h=(await y(u)).fromBaseUnits(b.amount,"balance"),f=b.uiAmountString??b.amount;return {amount:h,ataAddress:C,decimals:w,exists:!0,uiAmount:f}}catch{return {amount:0n,ataAddress:C,decimals:w,exists:false,uiAmount:"0"}}}n(m,"fetchBalance");async function s(p){let u=p.commitment,C=await fr(e,u,p.lifetime),{signer:w,mode:b}=gr(p.authority,u),d=K(p.sourceOwner,w.address),h=K(p.destinationOwner),f=K(p.sourceToken,await T(d)),S=K(p.destinationToken,await T(h)),k=await y(u),R=await g(u),P=p.amountInBaseUnits?k.fromBaseUnits(p.amount,"amount"):k.fromDecimal(p.amount,{label:"amount"}),x=[];if(p.ensureDestinationAta??true){let{value:O}=await e.rpc.getAccountInfo(S,{commitment:u,dataSlice:{length:0,offset:0},encoding:"base64"}).send();O||x.push(getCreateAssociatedTokenInstruction({ata:S,mint:r,owner:h,payer:w,tokenProgram:a}));}x.push(getTransferCheckedInstruction({amount:P,authority:w,decimals:R,destination:S,mint:r,source:f}));let W=pipe(createTransactionMessage({version:p.transactionVersion??0}),O=>setTransactionMessageFeePayer(w.address,O),O=>setTransactionMessageLifetimeUsingBlockhash(C,O));for(let O of x)W=appendTransactionMessageInstruction(O,W);return {amount:P,commitment:u,decimals:R,destinationAta:S,lifetime:C,message:W,mode:b,signer:w,sourceAta:f,plan:singleTransactionPlan(W)}}n(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}),f=getBase58Decoder();return signature(f.decode(h))}let C=u.commitment??p.commitment,w=u.maxRetries===void 0?void 0:typeof u.maxRetries=="bigint"?u.maxRetries:BigInt(u.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(h,f={}){let S=await signTransactionMessageWithSigners(h,{abortSignal:f.abortSignal??u.abortSignal,minContextSlot:u.minContextSlot}),k=getBase64EncodedWireTransaction(S),R=await e.rpc.sendTransaction(k,{encoding:"base64",maxRetries:w,preflightCommitment:C,skipPreflight:u.skipPreflight}).send({abortSignal:f.abortSignal??u.abortSignal});return b=signature(R),{transaction:S}}})(p.plan??singleTransactionPlan(p.message),{abortSignal:u.abortSignal}),!b)throw new Error("Failed to resolve transaction signature.");return b}n(c,"sendPreparedTransfer");async function o(p,u){let C=await s(p);try{return await c(C,u)}catch(w){if(isSolanaError(w,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let b=await s({...p,lifetime:void 0});return await c(b,u)}throw w}}return n(o,"sendTransfer"),{deriveAssociatedTokenAddress:T,fetchBalance:m,prepareTransfer:s,sendPreparedTransfer:c,sendTransfer:o}}n(Pe,"createSplTokenHelper");var it="Stake11111111111111111111111111111111111111",st="SysvarC1ock11111111111111111111111111111111",ct="SysvarStakeHistory1111111111111111111111111",Pr="StakeConfig11111111111111111111111111111111",lt=200;function ie(e){return typeof e=="string"?address(e):e}n(ie,"ensureAddress");async function Be(e,t,r){if(r)return r;let{value:a}=await e.rpc.getLatestBlockhash({commitment:t}).send();return a}n(Be,"resolveLifetime");function Ue(e,t){if(V(e)){let{signer:r,mode:a}=j(e,{commitment:t});return {mode:a,signer:r}}return {mode:q(e),signer:e}}n(Ue,"resolveSigner");function ut(e){return z.fromLamports(e)}n(ut,"toLamportAmount");function Fe(e){async function t(c){let o=c.commitment,p=await Be(e,o,c.lifetime),{signer:u,mode:C}=Ue(c.authority,o),w=ie(c.validatorId),b=ut(c.amount),h=await e.rpc.getMinimumBalanceForRentExemption(BigInt(lt)).send()+b,f=await generateKeyPairSigner(),S=getCreateAccountInstruction({payer:u,newAccount:f,lamports:h,space:BigInt(lt),programAddress:it}),k=getInitializeInstruction({stake:f.address,arg0:{staker:u.address,withdrawer:u.address},arg1:{unixTimestamp:0n,epoch:0n,custodian:u.address}}),R=getDelegateStakeInstruction({stake:f.address,vote:w,stakeHistory:ct,unused:Pr,stakeAuthority:u}),P=pipe(createTransactionMessage({version:c.transactionVersion??0}),x=>setTransactionMessageFeePayer(u.address,x),x=>setTransactionMessageLifetimeUsingBlockhash(p,x),x=>appendTransactionMessageInstructions([S,k,R],x));return {commitment:o,lifetime:p,message:P,mode:C,signer:u,stakeAccount:f,plan:singleTransactionPlan(P)}}n(t,"prepareStake");async function r(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let b=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(b))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,d={}){let h=await signTransactionMessageWithSigners(b,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),f=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(f,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return C=signature(S),{transaction:h}}})(c.plan??singleTransactionPlan(c.message),{abortSignal:o.abortSignal}),!C)throw new Error("Failed to resolve transaction signature.");return C}n(r,"sendPreparedStake");async function a(c,o){let p=await t(c);return await r(p,o)}n(a,"sendStake");async function i(c){let o=c.commitment,p=await Be(e,o,c.lifetime),{signer:u,mode:C}=Ue(c.authority,o),w=ie(c.stakeAccount),b=getDeactivateInstruction({stake:w,clockSysvar:st,stakeAuthority:u}),d=pipe(createTransactionMessage({version:c.transactionVersion??0}),h=>setTransactionMessageFeePayer(u.address,h),h=>setTransactionMessageLifetimeUsingBlockhash(p,h),h=>appendTransactionMessageInstructions([b],h));return {commitment:o,lifetime:p,message:d,mode:C,signer:u,plan:singleTransactionPlan(d)}}n(i,"prepareUnstake");async function l(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let b=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(b))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,d={}){let h=await signTransactionMessageWithSigners(b,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),f=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(f,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return C=signature(S),{transaction:h}}})(c.plan),!C)throw new Error("Failed to resolve transaction signature.");return C}n(l,"sendPreparedUnstake");async function g(c,o){let p=await i(c);return await l(p,o)}n(g,"sendUnstake");async function y(c){let o=c.commitment,p=await Be(e,o,c.lifetime),{signer:u,mode:C}=Ue(c.authority,o),w=ie(c.stakeAccount),b=ie(c.destination),d=ut(c.amount),h=getWithdrawInstruction({stake:w,recipient:b,clockSysvar:st,stakeHistory:ct,withdrawAuthority:u,args:d}),f=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:f,mode:C,signer:u,plan:singleTransactionPlan(f)}}n(y,"prepareWithdraw");async function T(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let b=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(b))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,d={}){let h=await signTransactionMessageWithSigners(b,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),f=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(f,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return C=signature(S),{transaction:h}}})(c.plan),!C)throw new Error("Failed to resolve transaction signature.");return C}n(T,"sendPreparedWithdraw");async function m(c,o){let p=await y(c);return await T(p,o)}n(m,"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 C=typeof o=="string"?o:String(o);return u.filter(w=>{let b=w.account?.data;return b&&"parsed"in b?b.parsed?.info?.stake?.delegation?.voter===C:false})}return n(s,"getStakeAccounts"),{getStakeAccounts:s,prepareStake:t,prepareUnstake:i,prepareWithdraw:y,sendPreparedStake:r,sendPreparedUnstake:l,sendPreparedWithdraw:T,sendStake:a,sendUnstake:g,sendWithdraw:m}}n(Fe,"createStakeHelper");function Y(e){return "messageBytes"in e?getBase64EncodedWireTransaction(e):getBase64EncodedWireTransaction(compileTransaction(e))}n(Y,"transactionToBase64");async function Rr(e){if("messageBytes"in e)return Y(e);let t=await partiallySignTransactionMessageWithSigners(e);return Y(t)}n(Rr,"transactionToBase64WithSigners");var vr=1.1,mt=2e5,gt=14e5;function Ir(e){return e.programAddress===COMPUTE_BUDGET_PROGRAM_ADDRESS&&e.data?.[0]===2}n(Ir,"isComputeUnitLimitInstruction");function Mr(e){let t=e;for(;isSolanaError(t);){if(isSolanaError(t,SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED))return true;t=t.cause;}return false}n(Mr,"didExceedComputeBudget");async function Er(e,t){let r=t;if(!(t.lifetimeConstraint!==void 0)){let l=await e.getLatestBlockhash().send();r=setTransactionMessageLifetimeUsingBlockhash(l.value,t);}let i=Y(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}}n(Er,"estimateComputeUnits");async function ne(e){let t=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*t):mt,m=Math.min(gt,Math.max(mt,Math.max(1,T))),s=getSetComputeUnitLimitInstruction({units:m});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:Y(i)}),i}n(ne,"prepareTransaction");function Zr(e){return typeof e=="string"?address(e):e}n(Zr,"toAddress");function Yr(e){return e.some(t=>isInstructionForProgram(t,COMPUTE_BUDGET_PROGRAM_ADDRESS)&&isInstructionWithData(t)&&t.data[0]===ComputeBudgetInstruction.SetComputeUnitLimit)}n(Yr,"hasSetComputeUnitLimitInstruction");function Xr(e){return e.some(t=>isInstructionForProgram(t,COMPUTE_BUDGET_PROGRAM_ADDRESS)&&isInstructionWithData(t)&&t.data[0]===ComputeBudgetInstruction.SetComputeUnitPrice)}n(Xr,"hasSetComputeUnitPriceInstruction");function Qr(e){return !!("addressTableLookup"in e&&e.addressTableLookup!=null||"addressTableLookups"in e&&Array.isArray(e.addressTableLookups)&&e.addressTableLookups.length>0)}n(Qr,"instructionUsesAddressLookup");function ea(e,t){return e&&e!=="auto"?e:t.some(Qr)?0:"legacy"}n(ea,"resolveVersion");function ta(e,t){return e.commitment??t()}n(ta,"normaliseCommitment");function na(e,t){if(!e&&!t)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 t&&t.address===a?{address:a,signer:t}:{address:a}}if(!t)throw new Error("Unable to resolve authority signer for the fee payer.");return {address:t.address,signer:t}}n(na,"resolveFeePayerAddress");function ra(e,t){let r=e.computeUnitLimit;if(!(r===void 0||Yr(t)))return typeof r=="bigint"?r:BigInt(Math.floor(r))}n(ra,"resolveComputeUnitLimit");function aa(e,t){if(!(e.computeUnitPrice===void 0||Xr(t)))return typeof e.computeUnitPrice=="bigint"?e.computeUnitPrice:BigInt(Math.floor(e.computeUnitPrice))}n(aa,"resolveComputeUnitPrice");async function Ct(e,t){if(!e.instructions.length)throw new Error("Add at least one instruction before preparing a transaction.");let{getFallbackCommitment:r,runtime:a}=t;e.abortSignal?.throwIfAborted();let i=ta(e,r),l,g="partial";if(e.authority)if(V(e.authority)){let{signer:b,mode:d}=j(e.authority,{commitment:i});l=b,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 m=[...e.instructions],s=ea(e.version,m),c=e.lifetime??(await a.rpc.getLatestBlockhash({commitment:i}).send({abortSignal:e.abortSignal})).value;e.abortSignal?.throwIfAborted();let o=ra(e,m),p=aa(e,m),u=[];o!==void 0&&u.push(getSetComputeUnitLimitInstruction({units:Number(o)})),p!==void 0&&u.push(getSetComputeUnitPriceInstruction({microLamports:Number(p)}));let C=[...u,...m];return Object.freeze({commitment:i,computeUnitLimit:o,computeUnitPrice:p,createTransactionMessage:n(async()=>pipe(createTransactionMessage({version:s}),b=>T?setTransactionMessageFeePayerSigner(T,b):setTransactionMessageFeePayer(y,b),b=>setTransactionMessageLifetimeUsingBlockhash(c,b)),"createMessage"),feePayer:y,instructionPlan:getMessagePackerInstructionPlanFromInstructions(C),instructions:Object.freeze(m),lifetime:c,mode:g,version:s})}n(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}n(oa,"assertSingleTransactionPlan");function _e(e,t){async function r(m){let s=await Ct(m,{getFallbackCommitment:t,runtime:e}),o=await createTransactionPlanner({createTransactionMessage:s.createTransactionMessage})(s.instructionPlan,{abortSignal:m.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})}n(r,"prepare");async function a(m,s={}){return await signTransactionMessageWithSigners(m.message,{abortSignal:s.abortSignal,minContextSlot:s.minContextSlot})}n(a,"sign");async function i(m,s={}){let c=await a(m,s);return getBase64EncodedWireTransaction(c)}n(i,"toWire");async function l(m,s={}){return !m.plan||m.mode==="send"?g(m,s):y(m,s)}n(l,"send");async function g(m,s){let c=s.commitment??m.commitment;if(m.mode==="send"){let w=await signAndSendTransactionMessageWithSigners(m.message,{abortSignal:s.abortSignal,minContextSlot:s.minContextSlot}),b=getBase58Decoder();return signature(b.decode(w))}let o=await a(m,{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),C=await e.rpc.sendTransaction(p,{encoding:"base64",maxRetries:u,preflightCommitment:c,skipPreflight:s.skipPreflight}).send({abortSignal:s.abortSignal});return signature(C)}n(g,"sendDirect");async function y(m,s){if(!m.plan)return g(m,s);let c=s.commitment??m.commitment,o=s.maxRetries===void 0?void 0:typeof s.maxRetries=="bigint"?s.maxRetries:BigInt(s.maxRetries),p=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(C,w={}){let b=await signTransactionMessageWithSigners(C,{abortSignal:w.abortSignal??s.abortSignal,minContextSlot:s.minContextSlot}),d=getBase64EncodedWireTransaction(b),h=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:o,preflightCommitment:c,skipPreflight:s.skipPreflight}).send({abortSignal:w.abortSignal??s.abortSignal});return p=signature(h),{transaction:b}}})(m.plan,{abortSignal:s.abortSignal}),!p)throw new Error("Failed to resolve transaction signature.");return p}n(y,"sendWithExecutor");async function T(m,s={}){let{prepareTransaction:c,...o}=m,p=await r(o);if(c===false)return l(p,s);let u=c??{},C=await ne({blockhashReset:u.blockhashReset??false,...u,rpc:e.rpc,transaction:p.message}),w=Object.freeze({...p,message:C,plan:singleTransactionPlan(C)});return l(w,s)}return n(T,"prepareAndSend"),Object.freeze({prepare:r,sign:a,toWire:i,send:l,prepareAndSend:T})}n(_e,"createTransactionHelper");function _(e,t,r){if(e.commitment!==void 0)return e;let a=r??t();return {...e,commitment:a}}n(_,"withDefaultCommitment");function ia(e,t){return {prepareTransfer:n(r=>e.prepareTransfer(_(r,t)),"prepareTransfer"),sendPreparedTransfer:e.sendPreparedTransfer,sendTransfer:n((r,a)=>e.sendTransfer(_(r,t),a),"sendTransfer")}}n(ia,"wrapSolTransferHelper");function sa(e,t,r){let a=n(i=>i??r??t(),"resolveCommitment");return {deriveAssociatedTokenAddress:e.deriveAssociatedTokenAddress,fetchBalance:n((i,l)=>e.fetchBalance(i,a(l)),"fetchBalance"),prepareTransfer:n(i=>e.prepareTransfer(_(i,t,r)),"prepareTransfer"),sendPreparedTransfer:e.sendPreparedTransfer,sendTransfer:n((i,l)=>e.sendTransfer(_(i,t,r),l),"sendTransfer")}}n(sa,"wrapSplTokenHelper");function ca(e,t){return {getStakeAccounts:e.getStakeAccounts,prepareStake:n(r=>e.prepareStake(_(r,t)),"prepareStake"),prepareUnstake:n(r=>e.prepareUnstake(_(r,t)),"prepareUnstake"),prepareWithdraw:n(r=>e.prepareWithdraw(_(r,t)),"prepareWithdraw"),sendPreparedStake:e.sendPreparedStake,sendPreparedUnstake:e.sendPreparedUnstake,sendPreparedWithdraw:e.sendPreparedWithdraw,sendStake:n((r,a)=>e.sendStake(_(r,t),a),"sendStake"),sendUnstake:n((r,a)=>e.sendUnstake(_(r,t),a),"sendUnstake"),sendWithdraw:n((r,a)=>e.sendWithdraw(_(r,t),a),"sendWithdraw")}}n(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)}n(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)})}n(la,"serialiseSplConfig");function kt(e,t){let r=n(()=>t.getState().cluster.commitment,"getFallbackCommitment"),a=new Map,i,l,g,y=n(()=>(i||(i=ia(ke(e),r)),i),"getSolTransfer"),T=n(()=>(l||(l=ca(Fe(e),r)),l),"getStake"),m=n(()=>(g||(g=_e(e,r)),g),"getTransaction");function s(o){let p=la(o),u=a.get(p);if(u)return u.scoped;let C=Pe(e,o),w=sa(C,r,o.commitment);return a.set(p,{baseCommitment:o.commitment,scoped:w}),w}return n(s,"getSplTokenHelper"),Object.freeze({get solTransfer(){return y()},splToken:s,get stake(){return T()},get transaction(){return m()},prepareTransaction:n(o=>ne({...o,rpc:e.rpc}),"prepareTransactionWithRuntime")})}n(kt,"createClientHelpers");function pa(){return {status:"idle"}}n(pa,"createClusterStatus");function ce(e){let{commitment:t,endpoint:r,websocketEndpoint:a}=e,i=Date.now();return me({accounts:{},cluster:{commitment:t,endpoint:r,status:pa(),websocketEndpoint:a},lastUpdatedAt:i,subscriptions:{account:{},signature:{}},transactions:{},wallet:{status:"disconnected"}})}n(ce,"createInitialClientState");function le(e){return createStore(()=>e)}n(le,"createClientStore");function da(e){return le(ce(e))}n(da,"createDefaultClientStore");function Pt({logger:e,runtime:t,store:r}){let a=e??G();function i(o,p,u){r.setState(C=>({...C,lastUpdatedAt:L(),subscriptions:{...C.subscriptions,[o]:{...C.subscriptions[o],[p]:u}}}));}n(i,"setSubscriptionStatus");function l(o,p){i(o,p,{status:"inactive"});}n(l,"onAbort");function g(o,p,u){function C(){u.abort(),l(o,p);}return n(C,"abort"),{abort:C}}n(g,"createSubscriptionHandle");async function y(o,p,u){let C=o.commitment??r.getState().cluster.commitment,w=t.rpcSubscriptions.accountNotifications(o.address,{commitment:C}),b=o.address.toString();i("account",b,{status:"activating"}),u.signal.addEventListener("abort",()=>l("account",b));try{let d=await w.subscribe({abortSignal:u.signal});i("account",b,{status:"active"});for await(let h of d){let f=h.value?.lamports??null,S=h.context?.slot??null,k={address:o.address,data:h.value?.data,error:void 0,fetching:!1,lamports:f,lastFetchedAt:L(),slot:S};p(k),r.setState(R=>({...R,accounts:{...R.accounts,[b]:k},lastUpdatedAt:L()}));}}catch(d){u.signal.aborted||(a({data:{address:b,...B(d)},level:"error",message:"account subscription failed"}),i("account",b,{error:d,status:"error"}));}}n(y,"handleAccountNotifications");function T(o,p){let u=new AbortController;return y(o,p,u).catch(C=>{u.signal.aborted||a({data:{address:o.address.toString(),...B(C)},level:"error",message:"account watcher error"});}),g("account",o.address.toString(),u)}n(T,"watchAccount");function m(o,p){return T(o,u=>{u.lamports!==null&&p(u.lamports);})}n(m,"watchBalance");async function s(o,p,u){let C=o.commitment??r.getState().cluster.commitment,w=t.rpcSubscriptions.signatureNotifications(o.signature,{commitment:C,enableReceivedNotification:o.enableReceivedNotification}),b=o.signature.toString();i("signature",b,{status:"activating"}),u.signal.addEventListener("abort",()=>l("signature",b));try{let d=await w.subscribe({abortSignal:u.signal});i("signature",b,{status:"active"});for await(let h of d)p(h),r.setState(f=>({...f,lastUpdatedAt:L(),transactions:{...f.transactions,[b]:{lastUpdatedAt:L(),signature:o.signature,status:"waiting"}}}));}catch(d){u.signal.aborted||(a({data:{signature:b,...B(d)},level:"error",message:"signature subscription failed"}),i("signature",b,{error:d,status:"error"}));}}n(s,"handleSignatureNotifications");function c(o,p){let u=new AbortController;return s(o,p,u).catch(C=>{u.signal.aborted||a({data:{signature:o.signature.toString(),...B(C)},level:"error",message:"signature watcher error"});}),g("signature",o.signature.toString(),u)}return n(c,"watchSignature"),{watchAccount:T,watchBalance:m,watchSignature:c}}n(Pt,"createWatchers");function Ne(e){let t=e.initialState?ge(e,e.initialState):e,r=ee({endpoint:t.rpc??t.endpoint,moniker:t.cluster,websocketEndpoint:t.websocket??t.websocketEndpoint}),a=t.commitment??"confirmed",i=ce({commitment:a,endpoint:r.endpoint,websocketEndpoint:r.websocketEndpoint}),l=e.createStore?e.createStore(i):le(i),g=t.rpcClient??Q({commitment:a,endpoint:r.endpoint,websocketEndpoint:r.websocketEndpoint}),y={rpc:g.rpc,rpcSubscriptions:g.rpcSubscriptions},T=Se(t.walletConnectors??[]),m=G(t.logger),s=Qe({connectors:T,logger:m,runtime:y,store:l}),c=Pt({logger:m,runtime:y,store:l}),o=kt(y,l);l.setState(u=>({...u,cluster:{...u.cluster,status:{status:"connecting"}},lastUpdatedAt:L()})),s.setCluster(r.endpoint,{commitment:a,websocketEndpoint:r.websocketEndpoint}).catch(u=>m({data:B(u),level:"error",message:"initial cluster setup failed"}));function p(){l.setState(()=>i);}return n(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}}n(Ne,"createClient");var ka=getBase58Decoder(),Pa=getTransactionDecoder(),At=getTransactionEncoder();function wa(e){return `wallet-standard:${e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-")}`}n(wa,"deriveConnectorId");function Aa(e){let t=e[0];if(!t)throw new Error("Wallet returned no accounts.");return t}n(Aa,"getPrimaryAccount");function Ra(e){if(e==="processed"||e==="confirmed"||e==="finalized")return e}n(Ra,"mapCommitment");function ze(e){return {address:address(e.address),label:e.label,publicKey:new Uint8Array(e.publicKey)}}n(ze,"toSessionAccount");function Rt(e){let[t]=e.chains??[];return t}n(Rt,"getChain");async function xt(e){let t=e.features[StandardDisconnect];t&&await t.disconnect();}n(xt,"disconnectWallet");function re(e,t={}){let r={canAutoConnect:t.canAutoConnect??!!e.features[StandardConnect],icon:t.icon??e.icon,id:t.id??wa(e),kind:t.kind??"wallet-standard",name:t.name??e.name,ready:typeof window<"u"};async function a(g={}){let y=e.features[StandardConnect],T=e.features[StandardEvents],m=!!g.autoConnect,s=g.allowInteractiveFallback??true,c=e.accounts;if(y){let P=n(async x=>y.connect({silent:x}),"connectWithMode");try{let{accounts:x}=await P(m);x.length&&(c=x);}catch(x){if(!m||!s)throw x;let{accounts:W}=await P(false);W.length&&(c=W);}}let o=Aa(c),p=ze(o),u=e.features[SolanaSignMessage],C=e.features[SolanaSignTransaction],w=e.features[SolanaSignAndSendTransaction],b=t.defaultChain??Rt(o),d=u?async P=>{let[x]=await u.signMessage({account:o,message:P});return x.signature}:void 0,h=C?async P=>{let x=new Uint8Array(At.encode(P)),W=b?{account:o,chain:b,transaction:x}:{account:o,transaction:x},[O]=await C.signTransaction(W);return Pa.decode(O.signedTransaction)}:void 0,f=w?async(P,x)=>{let W=new Uint8Array(At.encode(P)),O=t.defaultChain??Rt(o)??"solana:mainnet-beta",[de]=await w.signAndSendTransaction({account:o,chain:O,options:{commitment:Ra(x?.commitment)},transaction:W});return ka.decode(de.signature)}:void 0;async function S(){k?.(),await xt(e);}n(S,"disconnectSession");let k,R=T?P=>T.on("change",({accounts:W})=>{if(W){if(!W.length){P([]);return}o=W[0],p=ze(o),P(W.map(ze));}}):void 0;return {account:p,connector:r,disconnect:S,onAccountsChanged:R?P=>(k=R(P),()=>{k?.(),k=void 0;}):void 0,sendTransaction:f,signMessage:d,signTransaction:h}}n(a,"connect");async function i(){await xt(e);}n(i,"disconnect");function l(){return typeof window<"u"}return n(l,"isSupported"),{...r,connect:a,disconnect:i,isSupported:l}}n(re,"createWalletStandardConnector");function Wt(e,t){return re(e,t?.(e))}n(Wt,"mapWalletToConnector");function xa(e={}){let{get:t}=getWallets(),r=t().map(i=>Wt(i,e.overrides)),a=new Set;return r.filter(i=>a.has(i.id)?false:(a.add(i.id),true))}n(xa,"getWalletStandardConnectors");function La(e,t={}){let{get:r,on:a}=getWallets(),i=n(()=>{let y=r().map(s=>Wt(s,t.overrides)),T=new Set,m=y.filter(s=>T.has(s.id)?false:(T.add(s.id),true));e(m);},"emit");i();let l=a("register",i),g=a("unregister",i);return ()=>{l(),g();}}n(La,"watchWalletStandardConnectors");function X(e={}){let{get:t}=getWallets(),a=t().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))}n(X,"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"}}}n(Oa,"injected");function Ve(e){let t=e.toLowerCase();return r=>r.name.toLowerCase().includes(t)}n(Ve,"filterByName");function je(e){return X({filter:Ve("phantom"),overrides:n(()=>({...e,id:"wallet-standard:phantom"}),"overrides")})}n(je,"phantom");function qe(e){return X({filter:Ve("solflare"),overrides:n(()=>({...e,id:"wallet-standard:solflare"}),"overrides")})}n(qe,"solflare");function Ke(e){return X({filter:Ve("backpack"),overrides:n(()=>({...e,id:"wallet-standard:backpack"}),"overrides")})}n(Ke,"backpack");function vt(){return [...je(),...qe(),...Ke(),...X()]}n(vt,"defaultWalletConnectors");function ue(e){if(!e)return;let t=e.trim();return t.length?t:void 0}n(ue,"normalizeUrl");function It(e={}){let{cluster:t,endpoint:r,rpc:a,websocket:i,websocketEndpoint:l,walletConnectors:g,...y}=e,T=ue(a)??ue(r)??ue(e.endpoint),m=ee({endpoint:T,moniker:t??void 0,websocketEndpoint:ue(i??l)}),s=g===void 0||g==="default"?vt():g;return {...y,endpoint:m.endpoint,websocketEndpoint:m.websocketEndpoint,walletConnectors:s}}n(It,"resolveClientConfig");function va(e={}){return Ne(It(e))}n(va,"createDefaultClient");function M(){return {status:"idle"}}n(M,"createInitialAsyncState");function v(e,t={}){return {data:t.data,error:t.error,status:e}}n(v,"createAsyncState");function Ia(e,t){let r=e.authority??t?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before sending SOL transfers.");return {...e,authority:r}}n(Ia,"ensureAuthority");function Ma(e){let t=new Set,r=e.helper,a=e.authorityProvider,i=M();function l(){for(let s of t)s();}n(l,"notify");function g(s){i=s,l();}n(g,"setState");async function y(s,c){let o=Ia(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}}n(y,"send");function T(s){return t.add(s),()=>{t.delete(s);}}n(T,"subscribe");function m(){g(M());}return n(m,"reset"),{getHelper:n(()=>r,"getHelper"),getState:n(()=>i,"getState"),reset:m,send:y,subscribe:T}}n(Ma,"createSolTransferController");function Ea(e,t,r){let a=e.authority??t?.();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}}n(Ea,"ensureTransferConfig");function Ba(e){let t=e.helper,r=e.authorityProvider,a=e.sourceOwnerProvider,i=new Set,l=M();function g(){for(let c of i)c();}n(g,"notify");function y(c){l=c,g();}n(y,"setState");async function T(c,o){let p=Ea(c,c.authority?void 0:r,c.sourceOwner?void 0:a);y(v("loading"));try{let u=await t.sendTransfer(p,o);return y(v("success",{data:u})),u}catch(u){throw y(v("error",{error:u})),u}}n(T,"send");function m(c){return i.add(c),()=>{i.delete(c);}}n(m,"subscribe");function s(){y(M());}return n(s,"reset"),{getHelper:n(()=>t,"getHelper"),getState:n(()=>l,"getState"),reset:s,send:T,subscribe:m}}n(Ba,"createSplTransferController");function Ua(e,t){let r=e.authority??t?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before staking SOL.");return {...e,authority:r}}n(Ua,"ensureAuthority");function Fa(e,t){let r=e.authority??t?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before unstaking SOL.");return {...e,authority:r}}n(Fa,"ensureUnstakeAuthority");function Da(e,t){let r=e.authority??t?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before withdrawing SOL.");return {...e,authority:r}}n(Da,"ensureWithdrawAuthority");function Ha(e){let t=new Set,r=new Set,a=new Set,i=e.helper,l=e.authorityProvider,g=M(),y=M(),T=M();function m(){for(let P of t)P();}n(m,"notify");function s(){for(let P of r)P();}n(s,"notifyUnstake");function c(){for(let P of a)P();}n(c,"notifyWithdraw");function o(P){g=P,m();}n(o,"setState");function p(P){y=P,s();}n(p,"setUnstakeState");function u(P){T=P,c();}n(u,"setWithdrawState");async function C(P,x){let W=Ua(P,l);o(v("loading"));try{let O=await i.sendStake(W,x);return o(v("success",{data:O})),O}catch(O){throw o(v("error",{error:O})),O}}n(C,"stake");async function w(P,x){let W=Fa(P,l);p(v("loading"));try{let O=await i.sendUnstake(W,x);return p(v("success",{data:O})),O}catch(O){throw p(v("error",{error:O})),O}}n(w,"unstake");async function b(P,x){let W=Da(P,l);u(v("loading"));try{let O=await i.sendWithdraw(W,x);return u(v("success",{data:O})),O}catch(O){throw u(v("error",{error:O})),O}}n(b,"withdraw");function d(P){return t.add(P),()=>{t.delete(P);}}n(d,"subscribe");function h(P){return r.add(P),()=>{r.delete(P);}}n(h,"subscribeUnstake");function f(P){return a.add(P),()=>{a.delete(P);}}n(f,"subscribeWithdraw");function S(){o(M());}n(S,"reset");function k(){p(M());}n(k,"resetUnstake");function R(){u(M());}return n(R,"resetWithdraw"),{getHelper:n(()=>i,"getHelper"),getState:n(()=>g,"getState"),getUnstakeState:n(()=>y,"getUnstakeState"),getWithdrawState:n(()=>T,"getWithdrawState"),reset:S,resetUnstake:k,resetWithdraw:R,stake:C,unstake:w,withdraw:b,subscribe:d,subscribeUnstake:h,subscribeWithdraw:f}}n(Ha,"createStakeController");function _a(e){return e.toString()}n(_a,"bigintToJson");function Na(e){return N(e,"bigint")}n(Na,"bigintFromJson");function za(e){return e.toString()}n(za,"lamportsToJson");function Va(e){return Ce(e,"lamports")}n(Va,"lamportsFromJson");var Mt={processed:0,confirmed:1,finalized:2},qa=2e4;function Ka(e){if(e)return typeof e=="string"?signature(e):e}n(Ka,"normalizeSignature");function $a(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}n($a,"deriveConfirmationStatus");function Ja(e,t){return e?Mt[e]>=Mt[t]:false}n(Ja,"confirmationMeetsCommitment");var Xa="MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr";function Qa(e){let t=e.findIndex(r=>r.programAddress!==Xa);if(e.length===0||t===-1)throw new SolanaError(SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR,{cause:"At least one non-memo instruction is required.",index:e.length||t});return t}n(Qa,"ensureNonMemoInstructionIndex");function eo(e,t){return Et([e],t)}n(eo,"insertReferenceKey");function Et(e,t){let r=Qa(t.instructions),a=t.instructions[r],i=[...a.accounts??[],...e.map(g=>({address:g,role:AccountRole.READONLY}))],l=[...t.instructions];return l.splice(r,1,{...a,accounts:i}),Object.freeze({...t,instructions:Object.freeze(l)})}n(Et,"insertReferenceKeys");function pe(e){let t=e,r=new Set;return {getSnapshot:n(()=>t,"getSnapshot"),setSnapshot(a){t=a;for(let i of r)i();},subscribe(a){return r.add(a),()=>{r.delete(a);}}}}n(pe,"createStore");function Bt(e){return Object.freeze([...e])}n(Bt,"freezeInstructions");function to(e){let t=e.helper,r=Bt(e.initialInstructions??[]),a=e.blockhashMaxAgeMs??3e4,i,l=pe(r),g=pe(null),y=pe(M()),T=pe(M());function m(){g.setSnapshot(null),y.setSnapshot(M()),T.setSnapshot(M());}n(m,"resetDerivedState");function s(A){l.setSnapshot(Bt(A)),m();}n(s,"commitInstructions");function c(A){let I=[...l.getSnapshot(),A];s(I);}n(c,"addInstruction");function o(A){if(!A.length)return;let I=[...l.getSnapshot(),...A];s(I);}n(o,"addInstructions");function p(A){s(A);}n(p,"replaceInstructions");function u(){s([]);}n(u,"clearInstructions");function C(A){let I=l.getSnapshot();if(A<0||A>=I.length)return;let U=I.filter((H,E)=>E!==A);s(U);}n(C,"removeInstruction");function w(){s(r);}n(w,"reset");function b(A){if(!A.length)throw new Error("Add at least one instruction before preparing a transaction.")}n(b,"ensureInstructions");function d(){if(i&&!(Date.now()-i.updatedAt>a))return i.value}n(d,"resolveCachedLifetime");async function h(A={}){let{instructions:I,...U}=A,H=I??l.getSnapshot();b(H),y.setSnapshot(v("loading"));try{let E=U.lifetime??d(),$=E&&!U.lifetime?{...U,lifetime:E}:U,J=await t.prepare({...$,instructions:H});return g.setSnapshot(J),y.setSnapshot(v("success",{data:J})),J}catch(E){throw y.setSnapshot(v("error",{error:E})),E}}n(h,"prepare");function f(A){let I=A??g.getSnapshot();if(!I)throw new Error("Prepare a transaction before sending.");return I}n(f,"resolvePrepared");function S(A){if(A.lifetime)return A;let I=d();return I?{...A,lifetime:I}:A}n(S,"resolveLifetimeOptions");async function k(A={}){let{prepared:I,...U}=A,H=f(I);T.setSnapshot(v("loading"));try{let E=await t.send(H,U);return T.setSnapshot(v("success",{data:E})),E}catch(E){throw T.setSnapshot(v("error",{error:E})),E}}n(k,"send");async function R(A={},I){let{instructions:U,...H}=A,E=U??l.getSnapshot();b(E),T.setSnapshot(v("loading"));try{let $=S(H),J=await t.prepareAndSend({...$,instructions:E},I);return T.setSnapshot(v("success",{data:J})),J}catch($){throw T.setSnapshot(v("error",{error:$})),$}}n(R,"prepareAndSend");function P(A={}){let{prepared:I,...U}=A,H=f(I);return t.sign(H,U)}n(P,"sign");function x(A={}){let{prepared:I,...U}=A,H=f(I);return t.toWire(H,U)}n(x,"toWire");function W(A){return l.subscribe(A)}n(W,"subscribeInstructions");function O(A){return g.subscribe(A)}n(O,"subscribePrepared");function de(A){return y.subscribe(A)}n(de,"subscribePrepareState");function Ft(A){return T.subscribe(A)}n(Ft,"subscribeSendState");function Dt(A){i=A;}return n(Dt,"setLatestBlockhashCache"),{addInstruction:c,addInstructions:o,clearInstructions:u,get helper(){return t},getInstructions:l.getSnapshot,getPrepareState:y.getSnapshot,getPrepared:g.getSnapshot,getSendState:T.getSnapshot,getLatestBlockhashCache:n(()=>i,"getLatestBlockhashCache"),prepare:h,prepareAndSend:R,removeInstruction:C,replaceInstructions:p,reset:w,send:k,setLatestBlockhashCache:Dt,sign:P,subscribeInstructions:W,subscribePrepareState:de,subscribePrepared:O,subscribeSendState:Ft,toWire:x}}n(to,"createTransactionPoolController");function Ut(e){return typeof e=="string"?address(e):e}n(Ut,"toAddress");function ro(e){return Ut(e).toString()}n(ro,"toAddressString");function ao(e){return JSON.stringify(e,(r,a)=>typeof a=="bigint"?{__type:"bigint",value:a.toString()}:a instanceof Uint8Array?Array.from(a):a)??"undefined"}n(ao,"stableStringify");
|
|
2
|
-
export{Rn as LAMPORTS_PER_SOL,
|
|
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 L(){return Date.now()}t(L,"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,m={}){let s=tn(m.abortSignal),c=m.commitment??a,o=getBase64EncodedWireTransaction(T),p=await i.sendTransaction(o,{encoding:"base64",maxRetries:Ge(m.maxRetries),minContextSlot:Ge(m.minContextSlot),preflightCommitment:c,skipPreflight:m.skipPreflight}).send({abortSignal:s.signal}),u=createBlockHeightExceedencePromiseFactory({rpc:i,rpcSubscriptions:l}),C=createRecentSignatureConfirmationPromiseFactory({rpc:i,rpcSubscriptions:l});return await waitForRecentTransactionConfirmation({abortSignal:s.signal,commitment:c,getBlockHeightExceedencePromise:u,getRecentSignatureConfirmationPromise:C,transaction:T}),p}t(g,"sendAndConfirmTransaction");async function y(T,m={}){let s=getBase64EncodedWireTransaction(T),c=m.config??{},o={...nn,...c,commitment:c.commitment??m.commitment??a},p=o.sigVerify===true&&o.replaceRecentBlockhash!==false?{...o,replaceRecentBlockhash:false}:o;return i.simulateTransaction(s,p).send({abortSignal:m.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:L()}));}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 f=L();return await r.rpc.getLatestBlockhash({commitment:h}).send({abortSignal:AbortSignal.timeout(1e4)}),L()-f}catch(f){i({data:{endpoint:d,...B(f)},level:"warn",message:"cluster warmup failed"});return}}t(y,"warmupCluster");async function T(d,h){let f=h?.commitment??a.getState().cluster.commitment,S=h?.websocketEndpoint??d;a.setState(k=>({...k,cluster:{commitment:f,endpoint:d,status:{status:"connecting"},websocketEndpoint:S},lastUpdatedAt:L()}));try{let k=Q({commitment:f,endpoint:d,websocketEndpoint:S});r.rpc=k.rpc,r.rpcSubscriptions=k.rpcSubscriptions;let R=await y(d,f);a.setState(P=>({...P,cluster:{commitment:f,endpoint:d,status:{latencyMs:R,status:"ready"},websocketEndpoint:S},lastUpdatedAt:L()}));}catch(k){throw a.setState(R=>({...R,cluster:{commitment:f,endpoint:d,status:{error:k,status:"error"},websocketEndpoint:S},lastUpdatedAt:L()})),i({data:{endpoint:d,...B(k)},level:"error",message:"cluster setup failed"}),k}}t(T,"setCluster");async function m(d,h={}){l?.(),l=void 0;let f=e.get(d);if(!f)throw new Error(`No wallet connector registered for id "${d}".`);if(!f.isSupported())throw new Error(`Wallet connector "${d}" is not supported in this environment.`);let S=h.autoConnect??false;a.setState(k=>({...k,lastUpdatedAt:L(),wallet:{autoConnect:S,connectorId:d,status:"connecting"}}));try{let k=await f.connect(h);a.setState(R=>({...R,lastUpdatedAt:L(),wallet:{autoConnect:S,connectorId:d,session:k,status:"connected"}})),k.onAccountsChanged&&(l=k.onAccountsChanged(R=>{R.length===0&&(l?.(),l=void 0,s());})),i({data:{address:k.account.address.toString(),connectorId:d},level:"info",message:"wallet connected"});}catch(k){throw a.setState(R=>({...R,lastUpdatedAt:L(),wallet:{autoConnect:S,connectorId:d,error:k,status:"error"}})),i({data:{connectorId:d,...B(k)},level:"error",message:"wallet connection failed"}),k}}t(m,"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 f=d.toString();a.setState(S=>({...S,accounts:{...S.accounts,[f]:{address:d,data:S.accounts[f]?.data,error:void 0,fetching:true,lamports:S.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:S.accounts[f]?.slot??null}},lastUpdatedAt:L()}));try{let S=await r.rpc.getBalance(d,{commitment:g(h)}).send({abortSignal:AbortSignal.timeout(1e4)}),k=S.value;return a.setState(R=>({...R,accounts:{...R.accounts,[f]:{address:d,data:R.accounts[f]?.data,error:void 0,fetching:!1,lamports:k,lastFetchedAt:L(),slot:S.context.slot}},lastUpdatedAt:L()})),k}catch(S){throw a.setState(k=>({...k,accounts:{...k.accounts,[f]:{address:d,data:k.accounts[f]?.data,error:S,fetching:false,lamports:k.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:k.accounts[f]?.slot??null}},lastUpdatedAt:L()})),i({data:{address:f,...B(S)},level:"error",message:"balance fetch failed"}),S}}t(c,"fetchBalance");async function o(d,h){let f=d.toString();a.setState(S=>({...S,accounts:{...S.accounts,[f]:{address:d,data:S.accounts[f]?.data,error:void 0,fetching:true,lamports:S.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:S.accounts[f]?.slot??null}},lastUpdatedAt:L()}));try{let S=await r.rpc.getAccountInfo(d,{commitment:g(h),encoding:"base64"}).send({abortSignal:AbortSignal.timeout(1e4)}),k=S.value,R=k?.lamports??null;return a.setState(P=>({...P,accounts:{...P.accounts,[f]:{address:d,data:k,error:void 0,fetching:!1,lamports:R,lastFetchedAt:L(),slot:S.context.slot}},lastUpdatedAt:L()})),a.getState().accounts[f]}catch(S){throw a.setState(k=>({...k,accounts:{...k.accounts,[f]:{address:d,data:k.accounts[f]?.data,error:S,fetching:false,lamports:k.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:k.accounts[f]?.slot??null}},lastUpdatedAt:L()})),i({data:{address:f,...B(S)},level:"error",message:"account fetch failed"}),S}}t(o,"fetchAccount");async function p(d,h){let f=await fetchAddressLookupTable(r.rpc,d,{commitment:g(h)}),{addresses:S,authority:k,deactivationSlot:R,lastExtendedSlot:P,lastExtendedSlotStartIndex:x}=f.data;return {addresses:S,authority:isSome(k)?k.value:void 0,deactivationSlot:R,lastExtendedSlot:P,lastExtendedSlotStartIndex:x}}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 C(d,h){let f=await fetchNonce(r.rpc,d,{commitment:g(h)});return {authority:f.data.authority,blockhash:f.data.blockhash}}t(C,"fetchNonceAccount");async function w(d,h){let f=g(h),S=new AbortController,k=await r.rpc.sendTransaction(getBase64EncodedWireTransaction(d),{encoding:"base64",preflightCommitment:f}).send({abortSignal:S.signal}),R=k.toString();a.setState(W=>({...W,lastUpdatedAt:L(),transactions:{...W.transactions,[R]:{lastUpdatedAt:L(),signature:k,status:"sending"}}}));let P=createBlockHeightExceedencePromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions}),x=createRecentSignatureConfirmationPromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions});try{return await waitForRecentTransactionConfirmation({abortSignal:S.signal,commitment:f,getBlockHeightExceedencePromise:P,getRecentSignatureConfirmationPromise:x,transaction:d}),a.setState(W=>({...W,lastUpdatedAt:L(),transactions:{...W.transactions,[R]:{lastUpdatedAt:L(),signature:k,status:"confirmed"}}})),k}catch(W){throw a.setState(O=>({...O,lastUpdatedAt:L(),transactions:{...O.transactions,[R]:{error:W,lastUpdatedAt:L(),signature:k,status:"failed"}}})),i({data:{signature:R,...B(W)},level:"error",message:"transaction failed to confirm"}),W}}t(w,"sendTransaction");async function b(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(f){throw i({data:{address:d.toString(),lamports:h.toString(),...B(f)},level:"error",message:"airdrop request failed"}),f}}return t(b,"requestAirdrop"),{connectWallet:m,disconnectWallet:s,fetchAccount:o,fetchBalance:c,fetchLookupTable:p,fetchLookupTables:u,fetchNonceAccount:C,requestAirdrop:b,sendTransaction:w,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 Pn=/^\d+(?:\.\d+)?$/;function wn(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(wn,"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(!Pn.test(g))throw new SyntaxError(`${i} must be a non-negative decimal string`);let[y,T]=g.split("."),m=y||"0";F(BigInt(m),i);let s=BigInt(m)*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),C=/[1-9]/.test(u);if(l==="ceil"&&C)s+=1n;else if(l==="round"){let w=u[0];w!==void 0&&w>="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=wn(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 m(s,c){let o=r(s),p=r(c);return o>p?1:o<p?-1:0}return t(m,"compare"),Object.freeze({add:l,compare:m,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 m=T,s=await i(m);if(!s.signatures[a])throw new Error("Wallet did not populate the expected fee payer signature.");let o=Object.freeze({...m,messageBytes:s.messageBytes,signatures:Object.freeze({...m.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 m=T.signatures[a];if(!m)throw new Error("Expected signer to produce a signature for the provided address.");return Object.freeze({[a]:m})}))}})}}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 m of y){let s=await l(m,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 Pe(e){async function n(i){let l=i.commitment,g=await $n(e,l,i.lifetime),{signer:y,mode:T}=Jn(i.authority,l),m=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:m,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(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 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 we(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 m(p,u){let C=await T(p),w=await g(u);try{let{value:b}=await e.rpc.getTokenAccountBalance(C,{commitment:u}).send(),h=(await y(u)).fromBaseUnits(b.amount,"balance"),f=b.uiAmountString??b.amount;return {amount:h,ataAddress:C,decimals:w,exists:!0,uiAmount:f}}catch{return {amount:0n,ataAddress:C,decimals:w,exists:false,uiAmount:"0"}}}t(m,"fetchBalance");async function s(p){let u=p.commitment,C=await fr(e,u,p.lifetime),{signer:w,mode:b}=gr(p.authority,u),d=K(p.sourceOwner,w.address),h=K(p.destinationOwner),f=K(p.sourceToken,await T(d)),S=K(p.destinationToken,await T(h)),k=await y(u),R=await g(u),P=p.amountInBaseUnits?k.fromBaseUnits(p.amount,"amount"):k.fromDecimal(p.amount,{label:"amount"}),x=[];if(p.ensureDestinationAta??true){let{value:O}=await e.rpc.getAccountInfo(S,{commitment:u,dataSlice:{length:0,offset:0},encoding:"base64"}).send();O||x.push(getCreateAssociatedTokenInstruction({ata:S,mint:r,owner:h,payer:w,tokenProgram:a}));}x.push(getTransferCheckedInstruction({amount:P,authority:w,decimals:R,destination:S,mint:r,source:f}));let W=pipe(createTransactionMessage({version:p.transactionVersion??0}),O=>setTransactionMessageFeePayer(w.address,O),O=>setTransactionMessageLifetimeUsingBlockhash(C,O));for(let O of x)W=appendTransactionMessageInstruction(O,W);return {amount:P,commitment:u,decimals:R,destinationAta:S,lifetime:C,message:W,mode:b,signer:w,sourceAta:f,plan:singleTransactionPlan(W)}}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}),f=getBase58Decoder();return signature(f.decode(h))}let C=u.commitment??p.commitment,w=u.maxRetries===void 0?void 0:typeof u.maxRetries=="bigint"?u.maxRetries:BigInt(u.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(h,f={}){let S=await signTransactionMessageWithSigners(h,{abortSignal:f.abortSignal??u.abortSignal,minContextSlot:u.minContextSlot}),k=getBase64EncodedWireTransaction(S),R=await e.rpc.sendTransaction(k,{encoding:"base64",maxRetries:w,preflightCommitment:C,skipPreflight:u.skipPreflight}).send({abortSignal:f.abortSignal??u.abortSignal});return b=signature(R),{transaction:S}}})(p.plan??singleTransactionPlan(p.message),{abortSignal:u.abortSignal}),!b)throw new Error("Failed to resolve transaction signature.");return b}t(c,"sendPreparedTransfer");async function o(p,u){let C=await s(p);try{return await c(C,u)}catch(w){if(isSolanaError(w,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let b=await s({...p,lifetime:void 0});return await c(b,u)}throw w}}return t(o,"sendTransfer"),{deriveAssociatedTokenAddress:T,fetchBalance:m,prepareTransfer:s,sendPreparedTransfer:c,sendTransfer:o}}t(we,"createSplTokenHelper");var it="Stake11111111111111111111111111111111111111",st="SysvarC1ock11111111111111111111111111111111",ct="SysvarStakeHistory1111111111111111111111111",Pr="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:C}=Fe(c.authority,o),w=ie(c.validatorId),b=ut(c.amount),h=await e.rpc.getMinimumBalanceForRentExemption(BigInt(lt)).send()+b,f=await generateKeyPairSigner(),S=getCreateAccountInstruction({payer:u,newAccount:f,lamports:h,space:BigInt(lt),programAddress:it}),k=getInitializeInstruction({stake:f.address,arg0:{staker:u.address,withdrawer:u.address},arg1:{unixTimestamp:0n,epoch:0n,custodian:u.address}}),R=getDelegateStakeInstruction({stake:f.address,vote:w,stakeHistory:ct,unused:Pr,stakeAuthority:u}),P=pipe(createTransactionMessage({version:c.transactionVersion??0}),x=>setTransactionMessageFeePayer(u.address,x),x=>setTransactionMessageLifetimeUsingBlockhash(p,x),x=>appendTransactionMessageInstructions([S,k,R],x));return {commitment:o,lifetime:p,message:P,mode:C,signer:u,stakeAccount:f,plan:singleTransactionPlan(P)}}t(n,"prepareStake");async function r(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let b=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(b))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,d={}){let h=await signTransactionMessageWithSigners(b,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),f=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(f,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return C=signature(S),{transaction:h}}})(c.plan??singleTransactionPlan(c.message),{abortSignal:o.abortSignal}),!C)throw new Error("Failed to resolve transaction signature.");return C}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:C}=Fe(c.authority,o),w=ie(c.stakeAccount),b=getDeactivateInstruction({stake:w,clockSysvar:st,stakeAuthority:u}),d=pipe(createTransactionMessage({version:c.transactionVersion??0}),h=>setTransactionMessageFeePayer(u.address,h),h=>setTransactionMessageLifetimeUsingBlockhash(p,h),h=>appendTransactionMessageInstructions([b],h));return {commitment:o,lifetime:p,message:d,mode:C,signer:u,plan:singleTransactionPlan(d)}}t(i,"prepareUnstake");async function l(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let b=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(b))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,d={}){let h=await signTransactionMessageWithSigners(b,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),f=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(f,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return C=signature(S),{transaction:h}}})(c.plan),!C)throw new Error("Failed to resolve transaction signature.");return C}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:C}=Fe(c.authority,o),w=ie(c.stakeAccount),b=ie(c.destination),d=ut(c.amount),h=getWithdrawInstruction({stake:w,recipient:b,clockSysvar:st,stakeHistory:ct,withdrawAuthority:u,args:d}),f=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:f,mode:C,signer:u,plan:singleTransactionPlan(f)}}t(y,"prepareWithdraw");async function T(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let b=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(b))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,d={}){let h=await signTransactionMessageWithSigners(b,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),f=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(f,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return C=signature(S),{transaction:h}}})(c.plan),!C)throw new Error("Failed to resolve transaction signature.");return C}t(T,"sendPreparedWithdraw");async function m(c,o){let p=await y(c);return await T(p,o)}t(m,"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 C=typeof o=="string"?o:String(o);return u.filter(w=>{let b=w.account?.data;return b&&"parsed"in b?b.parsed?.info?.stake?.delegation?.voter===C:false})}return t(s,"getStakeAccounts"),{getStakeAccounts:s,prepareStake:n,prepareUnstake:i,prepareWithdraw:y,sendPreparedStake:r,sendPreparedUnstake:l,sendPreparedWithdraw:T,sendStake:a,sendUnstake:g,sendWithdraw:m}}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,m=Math.min(gt,Math.max(mt,Math.max(1,T))),s=getSetComputeUnitLimitInstruction({units:m});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:b,mode:d}=j(e.authority,{commitment:i});l=b,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 m=[...e.instructions],s=ea(e.version,m),c=e.lifetime??(await a.rpc.getLatestBlockhash({commitment:i}).send({abortSignal:e.abortSignal})).value;e.abortSignal?.throwIfAborted();let o=ra(e,m),p=aa(e,m),u=[];o!==void 0&&u.push(getSetComputeUnitLimitInstruction({units:Number(o)})),p!==void 0&&u.push(getSetComputeUnitPriceInstruction({microLamports:Number(p)}));let C=[...u,...m];return Object.freeze({commitment:i,computeUnitLimit:o,computeUnitPrice:p,createTransactionMessage:t(async()=>pipe(createTransactionMessage({version:s}),b=>T?setTransactionMessageFeePayerSigner(T,b):setTransactionMessageFeePayer(y,b),b=>setTransactionMessageLifetimeUsingBlockhash(c,b)),"createMessage"),feePayer:y,instructionPlan:getMessagePackerInstructionPlanFromInstructions(C),instructions:Object.freeze(m),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(m){let s=await Ct(m,{getFallbackCommitment:n,runtime:e}),o=await createTransactionPlanner({createTransactionMessage:s.createTransactionMessage})(s.instructionPlan,{abortSignal:m.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(m,s={}){return await signTransactionMessageWithSigners(m.message,{abortSignal:s.abortSignal,minContextSlot:s.minContextSlot})}t(a,"sign");async function i(m,s={}){let c=await a(m,s);return getBase64EncodedWireTransaction(c)}t(i,"toWire");async function l(m,s={}){return !m.plan||m.mode==="send"?g(m,s):y(m,s)}t(l,"send");async function g(m,s){let c=s.commitment??m.commitment;if(m.mode==="send"){let w=await signAndSendTransactionMessageWithSigners(m.message,{abortSignal:s.abortSignal,minContextSlot:s.minContextSlot}),b=getBase58Decoder();return signature(b.decode(w))}let o=await a(m,{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),C=await e.rpc.sendTransaction(p,{encoding:"base64",maxRetries:u,preflightCommitment:c,skipPreflight:s.skipPreflight}).send({abortSignal:s.abortSignal});return signature(C)}t(g,"sendDirect");async function y(m,s){if(!m.plan)return g(m,s);let c=s.commitment??m.commitment,o=s.maxRetries===void 0?void 0:typeof s.maxRetries=="bigint"?s.maxRetries:BigInt(s.maxRetries),p=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(C,w={}){let b=await signTransactionMessageWithSigners(C,{abortSignal:w.abortSignal??s.abortSignal,minContextSlot:s.minContextSlot}),d=getBase64EncodedWireTransaction(b),h=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:o,preflightCommitment:c,skipPreflight:s.skipPreflight}).send({abortSignal:w.abortSignal??s.abortSignal});return p=signature(h),{transaction:b}}})(m.plan,{abortSignal:s.abortSignal}),!p)throw new Error("Failed to resolve transaction signature.");return p}t(y,"sendWithExecutor");async function T(m,s={}){let{prepareTransaction:c,...o}=m,p=await r(o);if(c===false)return l(p,s);let u=c??{},C=await ne({blockhashReset:u.blockhashReset??false,...u,rpc:e.rpc,transaction:p.message}),w=Object.freeze({...p,message:C,plan:singleTransactionPlan(C)});return l(w,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(Pe(e),r)),i),"getSolTransfer"),T=t(()=>(l||(l=ca(De(e),r)),l),"getStake"),m=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 C=we(e,o),w=sa(C,r,o.commitment);return a.set(p,{baseCommitment:o.commitment,scoped:w}),w}return t(s,"getSplTokenHelper"),Object.freeze({get solTransfer(){return y()},splToken:s,get stake(){return T()},get transaction(){return m()},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 Pt({logger:e,runtime:n,store:r}){let a=e??Z();function i(o,p,u){r.setState(C=>({...C,lastUpdatedAt:L(),subscriptions:{...C.subscriptions,[o]:{...C.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 C(){u.abort(),l(o,p);}return t(C,"abort"),{abort:C}}t(g,"createSubscriptionHandle");async function y(o,p,u){let C=o.commitment??r.getState().cluster.commitment,w=n.rpcSubscriptions.accountNotifications(o.address,{commitment:C}),b=o.address.toString();i("account",b,{status:"activating"}),u.signal.addEventListener("abort",()=>l("account",b));try{let d=await w.subscribe({abortSignal:u.signal});i("account",b,{status:"active"});for await(let h of d){let f=h.value?.lamports??null,S=h.context?.slot??null,k={address:o.address,data:h.value?.data,error:void 0,fetching:!1,lamports:f,lastFetchedAt:L(),slot:S};p(k),r.setState(R=>({...R,accounts:{...R.accounts,[b]:k},lastUpdatedAt:L()}));}}catch(d){u.signal.aborted||(a({data:{address:b,...B(d)},level:"error",message:"account subscription failed"}),i("account",b,{error:d,status:"error"}));}}t(y,"handleAccountNotifications");function T(o,p){let u=new AbortController;return y(o,p,u).catch(C=>{u.signal.aborted||a({data:{address:o.address.toString(),...B(C)},level:"error",message:"account watcher error"});}),g("account",o.address.toString(),u)}t(T,"watchAccount");function m(o,p){return T(o,u=>{u.lamports!==null&&p(u.lamports);})}t(m,"watchBalance");async function s(o,p,u){let C=o.commitment??r.getState().cluster.commitment,w=n.rpcSubscriptions.signatureNotifications(o.signature,{commitment:C,enableReceivedNotification:o.enableReceivedNotification}),b=o.signature.toString();i("signature",b,{status:"activating"}),u.signal.addEventListener("abort",()=>l("signature",b));try{let d=await w.subscribe({abortSignal:u.signal});i("signature",b,{status:"active"});for await(let h of d)p(h),r.setState(f=>({...f,lastUpdatedAt:L(),transactions:{...f.transactions,[b]:{lastUpdatedAt:L(),signature:o.signature,status:"waiting"}}}));}catch(d){u.signal.aborted||(a({data:{signature:b,...B(d)},level:"error",message:"signature subscription failed"}),i("signature",b,{error:d,status:"error"}));}}t(s,"handleSignatureNotifications");function c(o,p){let u=new AbortController;return s(o,p,u).catch(C=>{u.signal.aborted||a({data:{signature:o.signature.toString(),...B(C)},level:"error",message:"signature watcher error"});}),g("signature",o.signature.toString(),u)}return t(c,"watchSignature"),{watchAccount:T,watchBalance:m,watchSignature:c}}t(Pt,"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??[]),m=Z(n.logger),s=Qe({connectors:T,logger:m,runtime:y,store:l}),c=Pt({logger:m,runtime:y,store:l}),o=kt(y,l);l.setState(u=>({...u,cluster:{...u.cluster,status:{status:"connecting"}},lastUpdatedAt:L()})),s.setCluster(r.endpoint,{commitment:a,websocketEndpoint:r.websocketEndpoint}).catch(u=>m({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(),Pa=getTransactionDecoder(),At=getTransactionEncoder();function wa(e){return `wallet-standard:${e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-")}`}t(wa,"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??wa(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],m=!!g.autoConnect,s=g.allowInteractiveFallback??true,c=e.accounts;if(y){let P=t(async x=>y.connect({silent:x}),"connectWithMode");try{let{accounts:x}=await P(m);x.length&&(c=x);}catch(x){if(!m||!s)throw x;let{accounts:W}=await P(false);W.length&&(c=W);}}let o=Aa(c),p=Ve(o),u=e.features[SolanaSignMessage],C=e.features[SolanaSignTransaction],w=e.features[SolanaSignAndSendTransaction],b=n.defaultChain??Rt(o),d=u?async P=>{let[x]=await u.signMessage({account:o,message:P});return x.signature}:void 0,h=C?async P=>{let x=new Uint8Array(At.encode(P)),W=b?{account:o,chain:b,transaction:x}:{account:o,transaction:x},[O]=await C.signTransaction(W);return Pa.decode(O.signedTransaction)}:void 0,f=w?async(P,x)=>{let W=new Uint8Array(At.encode(P)),O=n.defaultChain??Rt(o)??"solana:mainnet-beta",[me]=await w.signAndSendTransaction({account:o,chain:O,options:{commitment:Ra(x?.commitment)},transaction:W});return ka.decode(me.signature)}:void 0;async function S(){k?.(),await xt(e);}t(S,"disconnectSession");let k,R=T?P=>T.on("change",({accounts:W})=>{if(W){if(!W.length){P([]);return}o=W[0],p=Ve(o),P(W.map(Ve));}}):void 0;return {account:p,connector:r,disconnect:S,onAccountsChanged:R?P=>(k=R(P),()=>{k?.(),k=void 0;}):void 0,sendTransaction:f,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,m=y.filter(s=>T.has(s.id)?false:(T.add(s.id),true));e(m);},"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),m=ee({endpoint:T,moniker:n??void 0,websocketEndpoint:pe(i??l)}),s=g===void 0||g==="default"?vt():g;return {...y,endpoint:m.endpoint,websocketEndpoint:m.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 m(){g(M());}return t(m,"reset"),{getHelper:t(()=>r,"getHelper"),getState:t(()=>i,"getState"),reset:m,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 m(c){return i.add(c),()=>{i.delete(c);}}t(m,"subscribe");function s(){y(M());}return t(s,"reset"),{getHelper:t(()=>n,"getHelper"),getState:t(()=>l,"getState"),reset:s,send:T,subscribe:m}}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 m(){for(let P of n)P();}t(m,"notify");function s(){for(let P of r)P();}t(s,"notifyUnstake");function c(){for(let P of a)P();}t(c,"notifyWithdraw");function o(P){g=P,m();}t(o,"setState");function p(P){y=P,s();}t(p,"setUnstakeState");function u(P){T=P,c();}t(u,"setWithdrawState");async function C(P,x){let W=Fa(P,l);o(v("loading"));try{let O=await i.sendStake(W,x);return o(v("success",{data:O})),O}catch(O){throw o(v("error",{error:O})),O}}t(C,"stake");async function w(P,x){let W=Da(P,l);p(v("loading"));try{let O=await i.sendUnstake(W,x);return p(v("success",{data:O})),O}catch(O){throw p(v("error",{error:O})),O}}t(w,"unstake");async function b(P,x){let W=Ha(P,l);u(v("loading"));try{let O=await i.sendWithdraw(W,x);return u(v("success",{data:O})),O}catch(O){throw u(v("error",{error:O})),O}}t(b,"withdraw");function d(P){return n.add(P),()=>{n.delete(P);}}t(d,"subscribe");function h(P){return r.add(P),()=>{r.delete(P);}}t(h,"subscribeUnstake");function f(P){return a.add(P),()=>{a.delete(P);}}t(f,"subscribeWithdraw");function S(){o(M());}t(S,"reset");function k(){p(M());}t(k,"resetUnstake");function R(){u(M());}return t(R,"resetWithdraw"),{getHelper:t(()=>i,"getHelper"),getState:t(()=>g,"getState"),getUnstakeState:t(()=>y,"getUnstakeState"),getWithdrawState:t(()=>T,"getWithdrawState"),reset:S,resetUnstake:k,resetWithdraw:R,stake:C,unstake:w,withdraw:b,subscribe:d,subscribeUnstake:h,subscribeWithdraw:f}}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 m(){g.setSnapshot(null),y.setSnapshot(M()),T.setSnapshot(M());}t(m,"resetDerivedState");function s(A){l.setSnapshot(Bt(A)),m();}t(s,"commitInstructions");function c(A){let I=[...l.getSnapshot(),A];s(I);}t(c,"addInstruction");function o(A){if(!A.length)return;let I=[...l.getSnapshot(),...A];s(I);}t(o,"addInstructions");function p(A){s(A);}t(p,"replaceInstructions");function u(){s([]);}t(u,"clearInstructions");function C(A){let I=l.getSnapshot();if(A<0||A>=I.length)return;let U=I.filter((H,E)=>E!==A);s(U);}t(C,"removeInstruction");function w(){s(r);}t(w,"reset");function b(A){if(!A.length)throw new Error("Add at least one instruction before preparing a transaction.")}t(b,"ensureInstructions");function d(){if(i&&!(Date.now()-i.updatedAt>a))return i.value}t(d,"resolveCachedLifetime");async function h(A={}){let{instructions:I,...U}=A,H=I??l.getSnapshot();b(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 f(A){let I=A??g.getSnapshot();if(!I)throw new Error("Prepare a transaction before sending.");return I}t(f,"resolvePrepared");function S(A){if(A.lifetime)return A;let I=d();return I?{...A,lifetime:I}:A}t(S,"resolveLifetimeOptions");async function k(A={}){let{prepared:I,...U}=A,H=f(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(k,"send");async function R(A={},I){let{instructions:U,...H}=A,E=U??l.getSnapshot();b(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(R,"prepareAndSend");function P(A={}){let{prepared:I,...U}=A,H=f(I);return n.sign(H,U)}t(P,"sign");function x(A={}){let{prepared:I,...U}=A,H=f(I);return n.toWire(H,U)}t(x,"toWire");function W(A){return l.subscribe(A)}t(W,"subscribeInstructions");function O(A){return g.subscribe(A)}t(O,"subscribePrepared");function me(A){return y.subscribe(A)}t(me,"subscribePrepareState");function Ft(A){return T.subscribe(A)}t(Ft,"subscribeSendState");function Dt(A){i=A;}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:R,removeInstruction:C,replaceInstructions:p,reset:w,send:k,setLatestBlockhashCache:Dt,sign:P,subscribeInstructions:W,subscribePrepareState:me,subscribePrepared:O,subscribeSendState:Ft,toWire:x}}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{Rn as LAMPORTS_PER_SOL,Ka as SIGNATURE_STATUS_TIMEOUT_MS,Ce as applyRatio,Se as applySerializableState,ae as assertDecimals,F as assertNonNegative,$ as autoDiscover,Ke as backpack,za as bigintFromJson,Na as bigintToJson,he as checkedAdd,bn as checkedDivide,hn as checkedMultiply,be as checkedSubtract,Ga as confirmationMeetsCommitment,_t as connectWallet,v as createAsyncState,ze as createClient,le as createClientStore,Ia as createDefaultClient,da as createDefaultClientStore,M as createInitialAsyncState,ce as createInitialClientState,kn as createRatio,Ea as createSolTransferController,Pe as createSolTransferHelper,Q as createSolanaRpcClient,we as createSplTokenHelper,Ua as createSplTransferController,_a as createStakeController,De as createStakeHelper,te as createTokenAmount,Ne as createTransactionHelper,no as createTransactionPoolController,Ct as createTransactionRecipe,ye as createWalletRegistry,re as createWalletStandardConnector,vt as defaultWalletConnectors,Ja as deriveConfirmationStatus,an as deserializeSolanaState,Nt as disconnectWallet,zt as fetchAccount,Vt as fetchBalance,jt as fetchLookupTable,qt as fetchLookupTables,Kt as fetchNonceAccount,rn as getInitialSerializableState,xa as getWalletStandardConnectors,Oa as injected,to as insertReferenceKey,Et as insertReferenceKeys,ke as lamports,ja as lamportsFromJson,xn as lamportsFromSol,z as lamportsMath,Va as lamportsToJson,Ln as lamportsToSolString,va as metamask,$a as normalizeSignature,je as phantom,Te as pow10,ne as prepareTransaction,$t as requestAirdrop,It as resolveClientConfig,ee as resolveCluster,Jt as sendTransaction,ge as serializeSolanaState,Gt as setCluster,qe as solflare,oo as stableStringify,on as subscribeSolanaState,Ut as toAddress,ao as toAddressString,N as toBigint,X as transactionToBase64,Rr as transactionToBase64WithSigners,La as watchWalletStandardConnectors};//# sourceMappingURL=index.browser.mjs.map
|
|
3
3
|
//# sourceMappingURL=index.browser.mjs.map
|
package/dist/index.native.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 n=(e,t)=>Ht(e,"name",{value:t,configurable:true});function _t(e,t){return e.actions.connectWallet(t.connectorId,t.options)}n(_t,"connectWallet");function Nt(e,t){return e.actions.disconnectWallet()}n(Nt,"disconnectWallet");function zt(e,t){return e.actions.fetchAccount(t.address,t.commitment)}n(zt,"fetchAccount");function Vt(e,t){return e.actions.fetchBalance(t.address,t.commitment)}n(Vt,"fetchBalance");function jt(e,t){return e.actions.fetchLookupTable(t.address,t.commitment)}n(jt,"fetchLookupTable");function qt(e,t){return e.actions.fetchLookupTables(t.addresses,t.commitment)}n(qt,"fetchLookupTables");function Kt(e,t){return e.actions.fetchNonceAccount(t.address,t.commitment)}n(Kt,"fetchNonceAccount");function $t(e,t){return e.actions.requestAirdrop(t.address,t.lamports)}n($t,"requestAirdrop");function Jt(e,t){return e.actions.sendTransaction(t.transaction,t.commitment)}n(Jt,"sendTransaction");function Gt(e,t){return e.actions.setCluster(t.endpoint,t.config)}n(Gt,"setCluster");function me(e){if(typeof e!="object"||e===null)return e;let t=e;for(let r of Reflect.ownKeys(t)){let a=t[r];me(a);}return Object.freeze(e)}n(me,"deepFreeze");function L(){return Date.now()}n(L,"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)}}n($e,"toErrorMessage");function G(e){return e||(({data:t,level:r,message:a})=>{let i=t?{...t}:{};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);}})}n(G,"createLogger");function B(e){return {error:e,message:$e(e)}}n(B,"formatError");function tn(e){let t=new AbortController;if(!e)return t;if(e.aborted)return t.abort(e.reason),t;let r=n(()=>{t.abort(e.reason),e.removeEventListener("abort",r);},"onAbort");return e.addEventListener("abort",r,{once:true}),t}n(tn,"createChainedAbortController");function Ge(e){if(e!==void 0)return typeof e=="bigint"?e:BigInt(Math.floor(e))}n(Ge,"toBigint");var nn=Object.freeze({encoding:"base64",replaceRecentBlockhash:true,sigVerify:false});function Q(e){let t=e.endpoint,r=e.websocketEndpoint??t,a=e.commitment??"confirmed",i=createSolanaRpc(t,e.rpcConfig),l=createSolanaRpcSubscriptions(r,e.rpcSubscriptionsConfig);async function g(T,m={}){let s=tn(m.abortSignal),c=m.commitment??a,o=getBase64EncodedWireTransaction(T),p=await i.sendTransaction(o,{encoding:"base64",maxRetries:Ge(m.maxRetries),minContextSlot:Ge(m.minContextSlot),preflightCommitment:c,skipPreflight:m.skipPreflight}).send({abortSignal:s.signal}),u=createBlockHeightExceedencePromiseFactory({rpc:i,rpcSubscriptions:l}),C=createRecentSignatureConfirmationPromiseFactory({rpc:i,rpcSubscriptions:l});return await waitForRecentTransactionConfirmation({abortSignal:s.signal,commitment:c,getBlockHeightExceedencePromise:u,getRecentSignatureConfirmationPromise:C,transaction:T}),p}n(g,"sendAndConfirmTransaction");async function y(T,m={}){let s=getBase64EncodedWireTransaction(T),c=m.config??{},o={...nn,...c,commitment:c.commitment??m.commitment??a},p=o.sigVerify===true&&o.replaceRecentBlockhash!==false?{...o,replaceRecentBlockhash:false}:o;return i.simulateTransaction(s,p).send({abortSignal:m.abortSignal})}return n(y,"simulateTransaction"),{commitment:a,endpoint:t,rpc:i,rpcSubscriptions:l,sendAndConfirmTransaction:g,simulateTransaction:y,websocketEndpoint:r}}n(Q,"createSolanaRpcClient");function rn(e){return {autoconnect:false,commitment:e.commitment,endpoint:e.endpoint,lastConnectorId:null,lastPublicKey:null,version:1,websocketEndpoint:e.websocketEndpoint}}n(rn,"getInitialSerializableState");function ge(e,t){return t?{...e,commitment:t.commitment??e.commitment,endpoint:t.endpoint??e.endpoint,websocketEndpoint:t.websocketEndpoint??e.websocketEndpoint}:e}n(ge,"applySerializableState");function fe(e){return JSON.stringify(e)}n(fe,"serializeSolanaState");function an(e){if(!e)return null;try{let t=JSON.parse(e);if(typeof t!="object"||t===null)return null;let r=t;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}}n(an,"deserializeSolanaState");function Ze(e){let t=e.store.getState(),r=t.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:t.cluster.commitment,endpoint:t.cluster.endpoint,lastConnectorId:i,lastPublicKey:l,version:1,websocketEndpoint:t.cluster.websocketEndpoint}}n(Ze,"getSerializableStateSnapshot");function on(e,t){let r=fe(Ze(e));return t(JSON.parse(r)),e.store.subscribe(()=>{let i=Ze(e),l=fe(i);l!==r&&(r=l,t(i));})}n(on,"subscribeSolanaState");function Ye(e){return e.startsWith("http://")||e.startsWith("https://")||e.startsWith("ws://")||e.startsWith("wss://")?e:`https://${e}`}n(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)}n(cn,"inferWebsocketEndpoint");function ee(e){let t=e.moniker??(e.endpoint?"custom":"devnet"),r=t==="custom"?void 0:sn[t],a=Ye(e.endpoint??r?.endpoint),i=e.websocketEndpoint?Ye(e.websocketEndpoint):void 0,l=cn(i??r?.websocketEndpoint??a);return {endpoint:a,moniker:t,websocketEndpoint:l}}n(ee,"resolveCluster");function Se(e){let t=new Map;for(let r of e)t.has(r.id)||t.set(r.id,r);return {all:[...t.values()],get(r){return t.get(r)}}}n(Se,"createWalletRegistry");function yn(e,t){e.setState(r=>({...r,...t,lastUpdatedAt:L()}));}n(yn,"updateState");function Qe({connectors:e,logger:t,runtime:r,store:a}){let i=t??G(),l;function g(d){return d??a.getState().cluster.commitment}n(g,"getCommitment");async function y(d,h){try{let f=L();return await r.rpc.getLatestBlockhash({commitment:h}).send({abortSignal:AbortSignal.timeout(1e4)}),L()-f}catch(f){i({data:{endpoint:d,...B(f)},level:"warn",message:"cluster warmup failed"});return}}n(y,"warmupCluster");async function T(d,h){let f=h?.commitment??a.getState().cluster.commitment,S=h?.websocketEndpoint??d;a.setState(k=>({...k,cluster:{commitment:f,endpoint:d,status:{status:"connecting"},websocketEndpoint:S},lastUpdatedAt:L()}));try{let k=Q({commitment:f,endpoint:d,websocketEndpoint:S});r.rpc=k.rpc,r.rpcSubscriptions=k.rpcSubscriptions;let R=await y(d,f);a.setState(P=>({...P,cluster:{commitment:f,endpoint:d,status:{latencyMs:R,status:"ready"},websocketEndpoint:S},lastUpdatedAt:L()}));}catch(k){throw a.setState(R=>({...R,cluster:{commitment:f,endpoint:d,status:{error:k,status:"error"},websocketEndpoint:S},lastUpdatedAt:L()})),i({data:{endpoint:d,...B(k)},level:"error",message:"cluster setup failed"}),k}}n(T,"setCluster");async function m(d,h={}){l?.(),l=void 0;let f=e.get(d);if(!f)throw new Error(`No wallet connector registered for id "${d}".`);if(!f.isSupported())throw new Error(`Wallet connector "${d}" is not supported in this environment.`);let S=h.autoConnect??false;a.setState(k=>({...k,lastUpdatedAt:L(),wallet:{autoConnect:S,connectorId:d,status:"connecting"}}));try{let k=await f.connect(h);a.setState(R=>({...R,lastUpdatedAt:L(),wallet:{autoConnect:S,connectorId:d,session:k,status:"connected"}})),k.onAccountsChanged&&(l=k.onAccountsChanged(R=>{R.length===0&&(l?.(),l=void 0,s());})),i({data:{address:k.account.address.toString(),connectorId:d},level:"info",message:"wallet connected"});}catch(k){throw a.setState(R=>({...R,lastUpdatedAt:L(),wallet:{autoConnect:S,connectorId:d,error:k,status:"error"}})),i({data:{connectorId:d,...B(k)},level:"error",message:"wallet connection failed"}),k}}n(m,"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"}});}}}n(s,"disconnectWallet");async function c(d,h){let f=d.toString();a.setState(S=>({...S,accounts:{...S.accounts,[f]:{address:d,data:S.accounts[f]?.data,error:void 0,fetching:true,lamports:S.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:S.accounts[f]?.slot??null}},lastUpdatedAt:L()}));try{let S=await r.rpc.getBalance(d,{commitment:g(h)}).send({abortSignal:AbortSignal.timeout(1e4)}),k=S.value;return a.setState(R=>({...R,accounts:{...R.accounts,[f]:{address:d,data:R.accounts[f]?.data,error:void 0,fetching:!1,lamports:k,lastFetchedAt:L(),slot:S.context.slot}},lastUpdatedAt:L()})),k}catch(S){throw a.setState(k=>({...k,accounts:{...k.accounts,[f]:{address:d,data:k.accounts[f]?.data,error:S,fetching:false,lamports:k.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:k.accounts[f]?.slot??null}},lastUpdatedAt:L()})),i({data:{address:f,...B(S)},level:"error",message:"balance fetch failed"}),S}}n(c,"fetchBalance");async function o(d,h){let f=d.toString();a.setState(S=>({...S,accounts:{...S.accounts,[f]:{address:d,data:S.accounts[f]?.data,error:void 0,fetching:true,lamports:S.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:S.accounts[f]?.slot??null}},lastUpdatedAt:L()}));try{let S=await r.rpc.getAccountInfo(d,{commitment:g(h),encoding:"base64"}).send({abortSignal:AbortSignal.timeout(1e4)}),k=S.value,R=k?.lamports??null;return a.setState(P=>({...P,accounts:{...P.accounts,[f]:{address:d,data:k,error:void 0,fetching:!1,lamports:R,lastFetchedAt:L(),slot:S.context.slot}},lastUpdatedAt:L()})),a.getState().accounts[f]}catch(S){throw a.setState(k=>({...k,accounts:{...k.accounts,[f]:{address:d,data:k.accounts[f]?.data,error:S,fetching:false,lamports:k.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:k.accounts[f]?.slot??null}},lastUpdatedAt:L()})),i({data:{address:f,...B(S)},level:"error",message:"account fetch failed"}),S}}n(o,"fetchAccount");async function p(d,h){let f=await fetchAddressLookupTable(r.rpc,d,{commitment:g(h)}),{addresses:S,authority:k,deactivationSlot:R,lastExtendedSlot:P,lastExtendedSlotStartIndex:x}=f.data;return {addresses:S,authority:isSome(k)?k.value:void 0,deactivationSlot:R,lastExtendedSlot:P,lastExtendedSlotStartIndex:x}}n(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}))}n(u,"fetchLookupTables");async function C(d,h){let f=await fetchNonce(r.rpc,d,{commitment:g(h)});return {authority:f.data.authority,blockhash:f.data.blockhash}}n(C,"fetchNonceAccount");async function w(d,h){let f=g(h),S=new AbortController,k=await r.rpc.sendTransaction(getBase64EncodedWireTransaction(d),{encoding:"base64",preflightCommitment:f}).send({abortSignal:S.signal}),R=k.toString();a.setState(W=>({...W,lastUpdatedAt:L(),transactions:{...W.transactions,[R]:{lastUpdatedAt:L(),signature:k,status:"sending"}}}));let P=createBlockHeightExceedencePromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions}),x=createRecentSignatureConfirmationPromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions});try{return await waitForRecentTransactionConfirmation({abortSignal:S.signal,commitment:f,getBlockHeightExceedencePromise:P,getRecentSignatureConfirmationPromise:x,transaction:d}),a.setState(W=>({...W,lastUpdatedAt:L(),transactions:{...W.transactions,[R]:{lastUpdatedAt:L(),signature:k,status:"confirmed"}}})),k}catch(W){throw a.setState(O=>({...O,lastUpdatedAt:L(),transactions:{...O.transactions,[R]:{error:W,lastUpdatedAt:L(),signature:k,status:"failed"}}})),i({data:{signature:R,...B(W)},level:"error",message:"transaction failed to confirm"}),W}}n(w,"sendTransaction");async function b(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(f){throw i({data:{address:d.toString(),lamports:h.toString(),...B(f)},level:"error",message:"airdrop request failed"}),f}}return n(b,"requestAirdrop"),{connectWallet:m,disconnectWallet:s,fetchAccount:o,fetchBalance:c,fetchLookupTable:p,fetchLookupTables:u,fetchNonceAccount:C,requestAirdrop:b,sendTransaction:w,setCluster:T}}n(Qe,"createActions");var Tn=10n;function ye(e){return ae(e,"exponent"),Tn**BigInt(e)}n(ye,"pow10");function F(e,t="value"){if(e<0n)throw new RangeError(`${t} must be non-negative`)}n(F,"assertNonNegative");function ae(e,t="decimals"){if(!Number.isInteger(e)||e<0||e>38)throw new RangeError(`${t} must be an integer between 0 and 38`)}n(ae,"assertDecimals");function N(e,t="value"){if(typeof e=="bigint")return e;if(typeof e=="number"){if(!Number.isFinite(e)||!Number.isInteger(e))throw new RangeError(`${t} must be a finite integer when provided as a number`);if(!Number.isSafeInteger(e))throw new RangeError(`${t} 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(`${t} must be an integer string`);return BigInt(a[0])}n(N,"toBigint");function Te(e,t,r="result"){let a=e+t;return F(a,r),a}n(Te,"checkedAdd");function he(e,t,r="result"){let a=e-t;return F(a,r),a}n(he,"checkedSubtract");function hn(e,t,r="result"){let a=e*t;return F(a,r),a}n(hn,"checkedMultiply");function bn(e,t,r="result"){if(t===0n)throw new RangeError("divisor must be non-zero");let a=e/t;return F(a,r),a}n(bn,"checkedDivide");function Cn(e,t,r){if(t<=0n)throw new RangeError("divisor must be positive");let a=e/t,i=e%t;if(i===0n)return a;switch(r){case "ceil":return a+1n;case "round":return i*2n>=t?a+1n:a;default:return a}}n(Cn,"divideWithRounding");function kn(e,t){let r=N(e,"numerator"),a=N(t,"denominator");if(a<=0n)throw new RangeError("denominator must be positive");return F(r,"numerator"),Object.freeze({denominator:a,numerator:r})}n(kn,"createRatio");function be(e,t,r={}){F(e,"amount");let a=e*t.numerator,i=r.rounding??"floor";return Cn(a,t.denominator,i)}n(be,"applyRatio");var Pn=/^\d+(?:\.\d+)?$/;function wn(e,t,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>t+6)throw new RangeError(`${r} exceeds safe precision; provide a string instead`);return a}n(wn,"normalizeNumberInput");function et(e,t,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(!Pn.test(g))throw new SyntaxError(`${i} must be a non-negative decimal string`);let[y,T]=g.split("."),m=y||"0";F(BigInt(m),i);let s=BigInt(m)*r,c=T??"";if(t===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,t).padEnd(t,"0"),p=o===""?0n:BigInt(o);if(s+=p,c.length>t){let u=c.slice(t),C=/[1-9]/.test(u);if(l==="ceil"&&C)s+=1n;else if(l==="round"){let w=u[0];w!==void 0&&w>="5"&&(s+=1n);}}return s}n(et,"decimalToBaseUnits");function An(e,t,r,a){F(e,"amount");let i=a.minimumFractionDigits??0;if(i<0||i>t)throw new RangeError("minimumFractionDigits must be between 0 and the token decimals");let l=a.trimTrailingZeros??true;if(t===0)return e.toString();let g=e/r,y=(e%r).toString().padStart(t,"0");return l&&(y=y.replace(/0+$/,"")),y.length<i&&(y=y.padEnd(i,"0")),y.length===0?g.toString():`${g.toString()}.${y}`}n(An,"formatBaseUnits");function te(e){ae(e,"decimals");let t=ye(e);function r(s,c){let o=N(s,c??"amount");return F(o,c??"amount"),o}n(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)*t,o)}if(e===0)throw new RangeError(`${o} cannot include fractional digits for a token with 0 decimals`);let p=wn(s,e,o);return et(p,e,t,c)}return et(s,e,t,c)}n(a,"fromDecimal");function i(s,c={}){return An(r(s),e,t,c)}n(i,"toDecimalString");function l(s,c){return Te(r(s),r(c))}n(l,"add");function g(s,c){return he(r(s),r(c))}n(g,"subtract");function y(s,c,o){return be(r(s),c,o)}n(y,"multiplyByRatio");function T(s){return r(s)===0n}n(T,"isZero");function m(s,c){let o=r(s),p=r(c);return o>p?1:o<p?-1:0}return n(m,"compare"),Object.freeze({add:l,compare:m,decimals:e,fromBaseUnits:r,fromDecimal:a,isZero:T,multiplyByRatio:y,scale:t,subtract:g,toDecimalString:i})}n(te,"createTokenAmount");var D=te(9),Rn=D.scale,z=Object.freeze({add(e,t){return D.add(e,t)},compare(e,t){return D.compare(e,t)},decimals:D.decimals,fromLamports(e,t){return D.fromBaseUnits(e,t)},fromSol(e,t){return D.fromDecimal(e,t)},isZero(e){return D.isZero(e)},multiplyByRatio(e,t,r){return D.multiplyByRatio(e,t,r)},raw:D,scale:D.scale,subtract(e,t){return D.subtract(e,t)},toSolString(e,t){return D.toDecimalString(e,t)}});function Ce(e,t){return z.fromLamports(e,t)}n(Ce,"lamports");function xn(e,t){return z.fromSol(e,t)}n(xn,"lamportsFromSol");function Ln(e,t){return z.toSolString(e,t)}n(Ln,"lamportsToSolString");function V(e){return typeof e!="object"||e===null?false:"account"in e&&"connector"in e&&"disconnect"in e}n(V,"isWalletSession");function j(e,t={}){let{commitment:r}=t,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 m=T,s=await i(m);if(!s.signatures[a])throw new Error("Wallet did not populate the expected fee payer signature.");let o=Object.freeze({...m,messageBytes:s.messageBytes,signatures:Object.freeze({...m.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 m=T.signatures[a];if(!m)throw new Error("Expected signer to produce a signature for the provided address.");return Object.freeze({[a]:m})}))}})}}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 m of y){let s=await l(m,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.")}n(j,"createWalletTransactionSigner");function q(e){return isTransactionPartialSigner(e)?"partial":isTransactionSendingSigner(e)?"send":"partial"}n(q,"resolveSignerMode");function Kn(e){return typeof e=="string"?address(e):e}n(Kn,"ensureAddress");async function $n(e,t,r){if(r)return r;let{value:a}=await e.rpc.getLatestBlockhash({commitment:t}).send();return a}n($n,"resolveLifetime");function Jn(e,t){if(V(e)){let{signer:r,mode:a}=j(e,{commitment:t});return {mode:a,signer:r}}return {mode:q(e),signer:e}}n(Jn,"resolveSigner");function Gn(e){return z.fromLamports(e)}n(Gn,"toLamportAmount");function ke(e){async function t(i){let l=i.commitment,g=await $n(e,l,i.lifetime),{signer:y,mode:T}=Jn(i.authority,l),m=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:m,source:y}),o));return {commitment:l,lifetime:g,message:c,mode:T,signer:y,plan:singleTransactionPlan(c)}}n(t,"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}n(r,"sendPreparedTransfer");async function a(i,l){let g=await t(i);return await r(g,l)}return n(a,"sendTransfer"),{prepareTransfer:t,sendPreparedTransfer:r,sendTransfer:a}}n(ke,"createSolTransferHelper");function K(e,t){if(e)return typeof e=="string"?address(e):e;if(!t)throw new Error("An address value was expected but not provided.");return t}n(K,"ensureAddress");async function fr(e,t,r){if(r)return r;let{value:a}=await e.rpc.getLatestBlockhash({commitment:t}).send();return a}n(fr,"resolveLifetime");function gr(e,t){if(V(e)){let{signer:r,mode:a}=j(e,{commitment:t});return {mode:a,signer:r}}return {mode:q(e),signer:e}}n(gr,"resolveSigner");function Pe(e,t){let r=K(t.mint),a=K(t.tokenProgram,address(TOKEN_PROGRAM_ADDRESS)),i=t.decimals,l;async function g(p){return i!==void 0||(i=(await fetchMint(e.rpc,r,{commitment:p})).data.decimals),i}n(g,"resolveDecimals");async function y(p){if(l)return l;let u=await g(p);return l=te(u),l}n(y,"getTokenMath");async function T(p){let[u]=await findAssociatedTokenPda({mint:r,owner:K(p),tokenProgram:a});return u}n(T,"deriveAssociatedTokenAddress");async function m(p,u){let C=await T(p),w=await g(u);try{let{value:b}=await e.rpc.getTokenAccountBalance(C,{commitment:u}).send(),h=(await y(u)).fromBaseUnits(b.amount,"balance"),f=b.uiAmountString??b.amount;return {amount:h,ataAddress:C,decimals:w,exists:!0,uiAmount:f}}catch{return {amount:0n,ataAddress:C,decimals:w,exists:false,uiAmount:"0"}}}n(m,"fetchBalance");async function s(p){let u=p.commitment,C=await fr(e,u,p.lifetime),{signer:w,mode:b}=gr(p.authority,u),d=K(p.sourceOwner,w.address),h=K(p.destinationOwner),f=K(p.sourceToken,await T(d)),S=K(p.destinationToken,await T(h)),k=await y(u),R=await g(u),P=p.amountInBaseUnits?k.fromBaseUnits(p.amount,"amount"):k.fromDecimal(p.amount,{label:"amount"}),x=[];if(p.ensureDestinationAta??true){let{value:O}=await e.rpc.getAccountInfo(S,{commitment:u,dataSlice:{length:0,offset:0},encoding:"base64"}).send();O||x.push(getCreateAssociatedTokenInstruction({ata:S,mint:r,owner:h,payer:w,tokenProgram:a}));}x.push(getTransferCheckedInstruction({amount:P,authority:w,decimals:R,destination:S,mint:r,source:f}));let W=pipe(createTransactionMessage({version:p.transactionVersion??0}),O=>setTransactionMessageFeePayer(w.address,O),O=>setTransactionMessageLifetimeUsingBlockhash(C,O));for(let O of x)W=appendTransactionMessageInstruction(O,W);return {amount:P,commitment:u,decimals:R,destinationAta:S,lifetime:C,message:W,mode:b,signer:w,sourceAta:f,plan:singleTransactionPlan(W)}}n(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}),f=getBase58Decoder();return signature(f.decode(h))}let C=u.commitment??p.commitment,w=u.maxRetries===void 0?void 0:typeof u.maxRetries=="bigint"?u.maxRetries:BigInt(u.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(h,f={}){let S=await signTransactionMessageWithSigners(h,{abortSignal:f.abortSignal??u.abortSignal,minContextSlot:u.minContextSlot}),k=getBase64EncodedWireTransaction(S),R=await e.rpc.sendTransaction(k,{encoding:"base64",maxRetries:w,preflightCommitment:C,skipPreflight:u.skipPreflight}).send({abortSignal:f.abortSignal??u.abortSignal});return b=signature(R),{transaction:S}}})(p.plan??singleTransactionPlan(p.message),{abortSignal:u.abortSignal}),!b)throw new Error("Failed to resolve transaction signature.");return b}n(c,"sendPreparedTransfer");async function o(p,u){let C=await s(p);try{return await c(C,u)}catch(w){if(isSolanaError(w,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let b=await s({...p,lifetime:void 0});return await c(b,u)}throw w}}return n(o,"sendTransfer"),{deriveAssociatedTokenAddress:T,fetchBalance:m,prepareTransfer:s,sendPreparedTransfer:c,sendTransfer:o}}n(Pe,"createSplTokenHelper");var it="Stake11111111111111111111111111111111111111",st="SysvarC1ock11111111111111111111111111111111",ct="SysvarStakeHistory1111111111111111111111111",Pr="StakeConfig11111111111111111111111111111111",lt=200;function ie(e){return typeof e=="string"?address(e):e}n(ie,"ensureAddress");async function Be(e,t,r){if(r)return r;let{value:a}=await e.rpc.getLatestBlockhash({commitment:t}).send();return a}n(Be,"resolveLifetime");function Ue(e,t){if(V(e)){let{signer:r,mode:a}=j(e,{commitment:t});return {mode:a,signer:r}}return {mode:q(e),signer:e}}n(Ue,"resolveSigner");function ut(e){return z.fromLamports(e)}n(ut,"toLamportAmount");function Fe(e){async function t(c){let o=c.commitment,p=await Be(e,o,c.lifetime),{signer:u,mode:C}=Ue(c.authority,o),w=ie(c.validatorId),b=ut(c.amount),h=await e.rpc.getMinimumBalanceForRentExemption(BigInt(lt)).send()+b,f=await generateKeyPairSigner(),S=getCreateAccountInstruction({payer:u,newAccount:f,lamports:h,space:BigInt(lt),programAddress:it}),k=getInitializeInstruction({stake:f.address,arg0:{staker:u.address,withdrawer:u.address},arg1:{unixTimestamp:0n,epoch:0n,custodian:u.address}}),R=getDelegateStakeInstruction({stake:f.address,vote:w,stakeHistory:ct,unused:Pr,stakeAuthority:u}),P=pipe(createTransactionMessage({version:c.transactionVersion??0}),x=>setTransactionMessageFeePayer(u.address,x),x=>setTransactionMessageLifetimeUsingBlockhash(p,x),x=>appendTransactionMessageInstructions([S,k,R],x));return {commitment:o,lifetime:p,message:P,mode:C,signer:u,stakeAccount:f,plan:singleTransactionPlan(P)}}n(t,"prepareStake");async function r(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let b=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(b))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,d={}){let h=await signTransactionMessageWithSigners(b,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),f=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(f,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return C=signature(S),{transaction:h}}})(c.plan??singleTransactionPlan(c.message),{abortSignal:o.abortSignal}),!C)throw new Error("Failed to resolve transaction signature.");return C}n(r,"sendPreparedStake");async function a(c,o){let p=await t(c);return await r(p,o)}n(a,"sendStake");async function i(c){let o=c.commitment,p=await Be(e,o,c.lifetime),{signer:u,mode:C}=Ue(c.authority,o),w=ie(c.stakeAccount),b=getDeactivateInstruction({stake:w,clockSysvar:st,stakeAuthority:u}),d=pipe(createTransactionMessage({version:c.transactionVersion??0}),h=>setTransactionMessageFeePayer(u.address,h),h=>setTransactionMessageLifetimeUsingBlockhash(p,h),h=>appendTransactionMessageInstructions([b],h));return {commitment:o,lifetime:p,message:d,mode:C,signer:u,plan:singleTransactionPlan(d)}}n(i,"prepareUnstake");async function l(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let b=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(b))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,d={}){let h=await signTransactionMessageWithSigners(b,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),f=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(f,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return C=signature(S),{transaction:h}}})(c.plan),!C)throw new Error("Failed to resolve transaction signature.");return C}n(l,"sendPreparedUnstake");async function g(c,o){let p=await i(c);return await l(p,o)}n(g,"sendUnstake");async function y(c){let o=c.commitment,p=await Be(e,o,c.lifetime),{signer:u,mode:C}=Ue(c.authority,o),w=ie(c.stakeAccount),b=ie(c.destination),d=ut(c.amount),h=getWithdrawInstruction({stake:w,recipient:b,clockSysvar:st,stakeHistory:ct,withdrawAuthority:u,args:d}),f=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:f,mode:C,signer:u,plan:singleTransactionPlan(f)}}n(y,"prepareWithdraw");async function T(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let b=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(b))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,d={}){let h=await signTransactionMessageWithSigners(b,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),f=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(f,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return C=signature(S),{transaction:h}}})(c.plan),!C)throw new Error("Failed to resolve transaction signature.");return C}n(T,"sendPreparedWithdraw");async function m(c,o){let p=await y(c);return await T(p,o)}n(m,"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 C=typeof o=="string"?o:String(o);return u.filter(w=>{let b=w.account?.data;return b&&"parsed"in b?b.parsed?.info?.stake?.delegation?.voter===C:false})}return n(s,"getStakeAccounts"),{getStakeAccounts:s,prepareStake:t,prepareUnstake:i,prepareWithdraw:y,sendPreparedStake:r,sendPreparedUnstake:l,sendPreparedWithdraw:T,sendStake:a,sendUnstake:g,sendWithdraw:m}}n(Fe,"createStakeHelper");function Y(e){return "messageBytes"in e?getBase64EncodedWireTransaction(e):getBase64EncodedWireTransaction(compileTransaction(e))}n(Y,"transactionToBase64");async function Rr(e){if("messageBytes"in e)return Y(e);let t=await partiallySignTransactionMessageWithSigners(e);return Y(t)}n(Rr,"transactionToBase64WithSigners");var vr=1.1,mt=2e5,gt=14e5;function Ir(e){return e.programAddress===COMPUTE_BUDGET_PROGRAM_ADDRESS&&e.data?.[0]===2}n(Ir,"isComputeUnitLimitInstruction");function Mr(e){let t=e;for(;isSolanaError(t);){if(isSolanaError(t,SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED))return true;t=t.cause;}return false}n(Mr,"didExceedComputeBudget");async function Er(e,t){let r=t;if(!(t.lifetimeConstraint!==void 0)){let l=await e.getLatestBlockhash().send();r=setTransactionMessageLifetimeUsingBlockhash(l.value,t);}let i=Y(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}}n(Er,"estimateComputeUnits");async function ne(e){let t=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*t):mt,m=Math.min(gt,Math.max(mt,Math.max(1,T))),s=getSetComputeUnitLimitInstruction({units:m});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:Y(i)}),i}n(ne,"prepareTransaction");function Zr(e){return typeof e=="string"?address(e):e}n(Zr,"toAddress");function Yr(e){return e.some(t=>isInstructionForProgram(t,COMPUTE_BUDGET_PROGRAM_ADDRESS)&&isInstructionWithData(t)&&t.data[0]===ComputeBudgetInstruction.SetComputeUnitLimit)}n(Yr,"hasSetComputeUnitLimitInstruction");function Xr(e){return e.some(t=>isInstructionForProgram(t,COMPUTE_BUDGET_PROGRAM_ADDRESS)&&isInstructionWithData(t)&&t.data[0]===ComputeBudgetInstruction.SetComputeUnitPrice)}n(Xr,"hasSetComputeUnitPriceInstruction");function Qr(e){return !!("addressTableLookup"in e&&e.addressTableLookup!=null||"addressTableLookups"in e&&Array.isArray(e.addressTableLookups)&&e.addressTableLookups.length>0)}n(Qr,"instructionUsesAddressLookup");function ea(e,t){return e&&e!=="auto"?e:t.some(Qr)?0:"legacy"}n(ea,"resolveVersion");function ta(e,t){return e.commitment??t()}n(ta,"normaliseCommitment");function na(e,t){if(!e&&!t)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 t&&t.address===a?{address:a,signer:t}:{address:a}}if(!t)throw new Error("Unable to resolve authority signer for the fee payer.");return {address:t.address,signer:t}}n(na,"resolveFeePayerAddress");function ra(e,t){let r=e.computeUnitLimit;if(!(r===void 0||Yr(t)))return typeof r=="bigint"?r:BigInt(Math.floor(r))}n(ra,"resolveComputeUnitLimit");function aa(e,t){if(!(e.computeUnitPrice===void 0||Xr(t)))return typeof e.computeUnitPrice=="bigint"?e.computeUnitPrice:BigInt(Math.floor(e.computeUnitPrice))}n(aa,"resolveComputeUnitPrice");async function Ct(e,t){if(!e.instructions.length)throw new Error("Add at least one instruction before preparing a transaction.");let{getFallbackCommitment:r,runtime:a}=t;e.abortSignal?.throwIfAborted();let i=ta(e,r),l,g="partial";if(e.authority)if(V(e.authority)){let{signer:b,mode:d}=j(e.authority,{commitment:i});l=b,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 m=[...e.instructions],s=ea(e.version,m),c=e.lifetime??(await a.rpc.getLatestBlockhash({commitment:i}).send({abortSignal:e.abortSignal})).value;e.abortSignal?.throwIfAborted();let o=ra(e,m),p=aa(e,m),u=[];o!==void 0&&u.push(getSetComputeUnitLimitInstruction({units:Number(o)})),p!==void 0&&u.push(getSetComputeUnitPriceInstruction({microLamports:Number(p)}));let C=[...u,...m];return Object.freeze({commitment:i,computeUnitLimit:o,computeUnitPrice:p,createTransactionMessage:n(async()=>pipe(createTransactionMessage({version:s}),b=>T?setTransactionMessageFeePayerSigner(T,b):setTransactionMessageFeePayer(y,b),b=>setTransactionMessageLifetimeUsingBlockhash(c,b)),"createMessage"),feePayer:y,instructionPlan:getMessagePackerInstructionPlanFromInstructions(C),instructions:Object.freeze(m),lifetime:c,mode:g,version:s})}n(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}n(oa,"assertSingleTransactionPlan");function _e(e,t){async function r(m){let s=await Ct(m,{getFallbackCommitment:t,runtime:e}),o=await createTransactionPlanner({createTransactionMessage:s.createTransactionMessage})(s.instructionPlan,{abortSignal:m.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})}n(r,"prepare");async function a(m,s={}){return await signTransactionMessageWithSigners(m.message,{abortSignal:s.abortSignal,minContextSlot:s.minContextSlot})}n(a,"sign");async function i(m,s={}){let c=await a(m,s);return getBase64EncodedWireTransaction(c)}n(i,"toWire");async function l(m,s={}){return !m.plan||m.mode==="send"?g(m,s):y(m,s)}n(l,"send");async function g(m,s){let c=s.commitment??m.commitment;if(m.mode==="send"){let w=await signAndSendTransactionMessageWithSigners(m.message,{abortSignal:s.abortSignal,minContextSlot:s.minContextSlot}),b=getBase58Decoder();return signature(b.decode(w))}let o=await a(m,{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),C=await e.rpc.sendTransaction(p,{encoding:"base64",maxRetries:u,preflightCommitment:c,skipPreflight:s.skipPreflight}).send({abortSignal:s.abortSignal});return signature(C)}n(g,"sendDirect");async function y(m,s){if(!m.plan)return g(m,s);let c=s.commitment??m.commitment,o=s.maxRetries===void 0?void 0:typeof s.maxRetries=="bigint"?s.maxRetries:BigInt(s.maxRetries),p=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(C,w={}){let b=await signTransactionMessageWithSigners(C,{abortSignal:w.abortSignal??s.abortSignal,minContextSlot:s.minContextSlot}),d=getBase64EncodedWireTransaction(b),h=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:o,preflightCommitment:c,skipPreflight:s.skipPreflight}).send({abortSignal:w.abortSignal??s.abortSignal});return p=signature(h),{transaction:b}}})(m.plan,{abortSignal:s.abortSignal}),!p)throw new Error("Failed to resolve transaction signature.");return p}n(y,"sendWithExecutor");async function T(m,s={}){let{prepareTransaction:c,...o}=m,p=await r(o);if(c===false)return l(p,s);let u=c??{},C=await ne({blockhashReset:u.blockhashReset??false,...u,rpc:e.rpc,transaction:p.message}),w=Object.freeze({...p,message:C,plan:singleTransactionPlan(C)});return l(w,s)}return n(T,"prepareAndSend"),Object.freeze({prepare:r,sign:a,toWire:i,send:l,prepareAndSend:T})}n(_e,"createTransactionHelper");function _(e,t,r){if(e.commitment!==void 0)return e;let a=r??t();return {...e,commitment:a}}n(_,"withDefaultCommitment");function ia(e,t){return {prepareTransfer:n(r=>e.prepareTransfer(_(r,t)),"prepareTransfer"),sendPreparedTransfer:e.sendPreparedTransfer,sendTransfer:n((r,a)=>e.sendTransfer(_(r,t),a),"sendTransfer")}}n(ia,"wrapSolTransferHelper");function sa(e,t,r){let a=n(i=>i??r??t(),"resolveCommitment");return {deriveAssociatedTokenAddress:e.deriveAssociatedTokenAddress,fetchBalance:n((i,l)=>e.fetchBalance(i,a(l)),"fetchBalance"),prepareTransfer:n(i=>e.prepareTransfer(_(i,t,r)),"prepareTransfer"),sendPreparedTransfer:e.sendPreparedTransfer,sendTransfer:n((i,l)=>e.sendTransfer(_(i,t,r),l),"sendTransfer")}}n(sa,"wrapSplTokenHelper");function ca(e,t){return {getStakeAccounts:e.getStakeAccounts,prepareStake:n(r=>e.prepareStake(_(r,t)),"prepareStake"),prepareUnstake:n(r=>e.prepareUnstake(_(r,t)),"prepareUnstake"),prepareWithdraw:n(r=>e.prepareWithdraw(_(r,t)),"prepareWithdraw"),sendPreparedStake:e.sendPreparedStake,sendPreparedUnstake:e.sendPreparedUnstake,sendPreparedWithdraw:e.sendPreparedWithdraw,sendStake:n((r,a)=>e.sendStake(_(r,t),a),"sendStake"),sendUnstake:n((r,a)=>e.sendUnstake(_(r,t),a),"sendUnstake"),sendWithdraw:n((r,a)=>e.sendWithdraw(_(r,t),a),"sendWithdraw")}}n(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)}n(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)})}n(la,"serialiseSplConfig");function kt(e,t){let r=n(()=>t.getState().cluster.commitment,"getFallbackCommitment"),a=new Map,i,l,g,y=n(()=>(i||(i=ia(ke(e),r)),i),"getSolTransfer"),T=n(()=>(l||(l=ca(Fe(e),r)),l),"getStake"),m=n(()=>(g||(g=_e(e,r)),g),"getTransaction");function s(o){let p=la(o),u=a.get(p);if(u)return u.scoped;let C=Pe(e,o),w=sa(C,r,o.commitment);return a.set(p,{baseCommitment:o.commitment,scoped:w}),w}return n(s,"getSplTokenHelper"),Object.freeze({get solTransfer(){return y()},splToken:s,get stake(){return T()},get transaction(){return m()},prepareTransaction:n(o=>ne({...o,rpc:e.rpc}),"prepareTransactionWithRuntime")})}n(kt,"createClientHelpers");function pa(){return {status:"idle"}}n(pa,"createClusterStatus");function ce(e){let{commitment:t,endpoint:r,websocketEndpoint:a}=e,i=Date.now();return me({accounts:{},cluster:{commitment:t,endpoint:r,status:pa(),websocketEndpoint:a},lastUpdatedAt:i,subscriptions:{account:{},signature:{}},transactions:{},wallet:{status:"disconnected"}})}n(ce,"createInitialClientState");function le(e){return createStore(()=>e)}n(le,"createClientStore");function da(e){return le(ce(e))}n(da,"createDefaultClientStore");function Pt({logger:e,runtime:t,store:r}){let a=e??G();function i(o,p,u){r.setState(C=>({...C,lastUpdatedAt:L(),subscriptions:{...C.subscriptions,[o]:{...C.subscriptions[o],[p]:u}}}));}n(i,"setSubscriptionStatus");function l(o,p){i(o,p,{status:"inactive"});}n(l,"onAbort");function g(o,p,u){function C(){u.abort(),l(o,p);}return n(C,"abort"),{abort:C}}n(g,"createSubscriptionHandle");async function y(o,p,u){let C=o.commitment??r.getState().cluster.commitment,w=t.rpcSubscriptions.accountNotifications(o.address,{commitment:C}),b=o.address.toString();i("account",b,{status:"activating"}),u.signal.addEventListener("abort",()=>l("account",b));try{let d=await w.subscribe({abortSignal:u.signal});i("account",b,{status:"active"});for await(let h of d){let f=h.value?.lamports??null,S=h.context?.slot??null,k={address:o.address,data:h.value?.data,error:void 0,fetching:!1,lamports:f,lastFetchedAt:L(),slot:S};p(k),r.setState(R=>({...R,accounts:{...R.accounts,[b]:k},lastUpdatedAt:L()}));}}catch(d){u.signal.aborted||(a({data:{address:b,...B(d)},level:"error",message:"account subscription failed"}),i("account",b,{error:d,status:"error"}));}}n(y,"handleAccountNotifications");function T(o,p){let u=new AbortController;return y(o,p,u).catch(C=>{u.signal.aborted||a({data:{address:o.address.toString(),...B(C)},level:"error",message:"account watcher error"});}),g("account",o.address.toString(),u)}n(T,"watchAccount");function m(o,p){return T(o,u=>{u.lamports!==null&&p(u.lamports);})}n(m,"watchBalance");async function s(o,p,u){let C=o.commitment??r.getState().cluster.commitment,w=t.rpcSubscriptions.signatureNotifications(o.signature,{commitment:C,enableReceivedNotification:o.enableReceivedNotification}),b=o.signature.toString();i("signature",b,{status:"activating"}),u.signal.addEventListener("abort",()=>l("signature",b));try{let d=await w.subscribe({abortSignal:u.signal});i("signature",b,{status:"active"});for await(let h of d)p(h),r.setState(f=>({...f,lastUpdatedAt:L(),transactions:{...f.transactions,[b]:{lastUpdatedAt:L(),signature:o.signature,status:"waiting"}}}));}catch(d){u.signal.aborted||(a({data:{signature:b,...B(d)},level:"error",message:"signature subscription failed"}),i("signature",b,{error:d,status:"error"}));}}n(s,"handleSignatureNotifications");function c(o,p){let u=new AbortController;return s(o,p,u).catch(C=>{u.signal.aborted||a({data:{signature:o.signature.toString(),...B(C)},level:"error",message:"signature watcher error"});}),g("signature",o.signature.toString(),u)}return n(c,"watchSignature"),{watchAccount:T,watchBalance:m,watchSignature:c}}n(Pt,"createWatchers");function Ne(e){let t=e.initialState?ge(e,e.initialState):e,r=ee({endpoint:t.rpc??t.endpoint,moniker:t.cluster,websocketEndpoint:t.websocket??t.websocketEndpoint}),a=t.commitment??"confirmed",i=ce({commitment:a,endpoint:r.endpoint,websocketEndpoint:r.websocketEndpoint}),l=e.createStore?e.createStore(i):le(i),g=t.rpcClient??Q({commitment:a,endpoint:r.endpoint,websocketEndpoint:r.websocketEndpoint}),y={rpc:g.rpc,rpcSubscriptions:g.rpcSubscriptions},T=Se(t.walletConnectors??[]),m=G(t.logger),s=Qe({connectors:T,logger:m,runtime:y,store:l}),c=Pt({logger:m,runtime:y,store:l}),o=kt(y,l);l.setState(u=>({...u,cluster:{...u.cluster,status:{status:"connecting"}},lastUpdatedAt:L()})),s.setCluster(r.endpoint,{commitment:a,websocketEndpoint:r.websocketEndpoint}).catch(u=>m({data:B(u),level:"error",message:"initial cluster setup failed"}));function p(){l.setState(()=>i);}return n(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}}n(Ne,"createClient");var ka=getBase58Decoder(),Pa=getTransactionDecoder(),At=getTransactionEncoder();function wa(e){return `wallet-standard:${e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-")}`}n(wa,"deriveConnectorId");function Aa(e){let t=e[0];if(!t)throw new Error("Wallet returned no accounts.");return t}n(Aa,"getPrimaryAccount");function Ra(e){if(e==="processed"||e==="confirmed"||e==="finalized")return e}n(Ra,"mapCommitment");function ze(e){return {address:address(e.address),label:e.label,publicKey:new Uint8Array(e.publicKey)}}n(ze,"toSessionAccount");function Rt(e){let[t]=e.chains??[];return t}n(Rt,"getChain");async function xt(e){let t=e.features[StandardDisconnect];t&&await t.disconnect();}n(xt,"disconnectWallet");function re(e,t={}){let r={canAutoConnect:t.canAutoConnect??!!e.features[StandardConnect],icon:t.icon??e.icon,id:t.id??wa(e),kind:t.kind??"wallet-standard",name:t.name??e.name,ready:typeof window<"u"};async function a(g={}){let y=e.features[StandardConnect],T=e.features[StandardEvents],m=!!g.autoConnect,s=g.allowInteractiveFallback??true,c=e.accounts;if(y){let P=n(async x=>y.connect({silent:x}),"connectWithMode");try{let{accounts:x}=await P(m);x.length&&(c=x);}catch(x){if(!m||!s)throw x;let{accounts:W}=await P(false);W.length&&(c=W);}}let o=Aa(c),p=ze(o),u=e.features[SolanaSignMessage],C=e.features[SolanaSignTransaction],w=e.features[SolanaSignAndSendTransaction],b=t.defaultChain??Rt(o),d=u?async P=>{let[x]=await u.signMessage({account:o,message:P});return x.signature}:void 0,h=C?async P=>{let x=new Uint8Array(At.encode(P)),W=b?{account:o,chain:b,transaction:x}:{account:o,transaction:x},[O]=await C.signTransaction(W);return Pa.decode(O.signedTransaction)}:void 0,f=w?async(P,x)=>{let W=new Uint8Array(At.encode(P)),O=t.defaultChain??Rt(o)??"solana:mainnet-beta",[de]=await w.signAndSendTransaction({account:o,chain:O,options:{commitment:Ra(x?.commitment)},transaction:W});return ka.decode(de.signature)}:void 0;async function S(){k?.(),await xt(e);}n(S,"disconnectSession");let k,R=T?P=>T.on("change",({accounts:W})=>{if(W){if(!W.length){P([]);return}o=W[0],p=ze(o),P(W.map(ze));}}):void 0;return {account:p,connector:r,disconnect:S,onAccountsChanged:R?P=>(k=R(P),()=>{k?.(),k=void 0;}):void 0,sendTransaction:f,signMessage:d,signTransaction:h}}n(a,"connect");async function i(){await xt(e);}n(i,"disconnect");function l(){return typeof window<"u"}return n(l,"isSupported"),{...r,connect:a,disconnect:i,isSupported:l}}n(re,"createWalletStandardConnector");function Wt(e,t){return re(e,t?.(e))}n(Wt,"mapWalletToConnector");function xa(e={}){let{get:t}=getWallets(),r=t().map(i=>Wt(i,e.overrides)),a=new Set;return r.filter(i=>a.has(i.id)?false:(a.add(i.id),true))}n(xa,"getWalletStandardConnectors");function La(e,t={}){let{get:r,on:a}=getWallets(),i=n(()=>{let y=r().map(s=>Wt(s,t.overrides)),T=new Set,m=y.filter(s=>T.has(s.id)?false:(T.add(s.id),true));e(m);},"emit");i();let l=a("register",i),g=a("unregister",i);return ()=>{l(),g();}}n(La,"watchWalletStandardConnectors");function X(e={}){let{get:t}=getWallets(),a=t().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))}n(X,"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"}}}n(Oa,"injected");function Ve(e){let t=e.toLowerCase();return r=>r.name.toLowerCase().includes(t)}n(Ve,"filterByName");function je(e){return X({filter:Ve("phantom"),overrides:n(()=>({...e,id:"wallet-standard:phantom"}),"overrides")})}n(je,"phantom");function qe(e){return X({filter:Ve("solflare"),overrides:n(()=>({...e,id:"wallet-standard:solflare"}),"overrides")})}n(qe,"solflare");function Ke(e){return X({filter:Ve("backpack"),overrides:n(()=>({...e,id:"wallet-standard:backpack"}),"overrides")})}n(Ke,"backpack");function vt(){return [...je(),...qe(),...Ke(),...X()]}n(vt,"defaultWalletConnectors");function ue(e){if(!e)return;let t=e.trim();return t.length?t:void 0}n(ue,"normalizeUrl");function It(e={}){let{cluster:t,endpoint:r,rpc:a,websocket:i,websocketEndpoint:l,walletConnectors:g,...y}=e,T=ue(a)??ue(r)??ue(e.endpoint),m=ee({endpoint:T,moniker:t??void 0,websocketEndpoint:ue(i??l)}),s=g===void 0||g==="default"?vt():g;return {...y,endpoint:m.endpoint,websocketEndpoint:m.websocketEndpoint,walletConnectors:s}}n(It,"resolveClientConfig");function va(e={}){return Ne(It(e))}n(va,"createDefaultClient");function M(){return {status:"idle"}}n(M,"createInitialAsyncState");function v(e,t={}){return {data:t.data,error:t.error,status:e}}n(v,"createAsyncState");function Ia(e,t){let r=e.authority??t?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before sending SOL transfers.");return {...e,authority:r}}n(Ia,"ensureAuthority");function Ma(e){let t=new Set,r=e.helper,a=e.authorityProvider,i=M();function l(){for(let s of t)s();}n(l,"notify");function g(s){i=s,l();}n(g,"setState");async function y(s,c){let o=Ia(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}}n(y,"send");function T(s){return t.add(s),()=>{t.delete(s);}}n(T,"subscribe");function m(){g(M());}return n(m,"reset"),{getHelper:n(()=>r,"getHelper"),getState:n(()=>i,"getState"),reset:m,send:y,subscribe:T}}n(Ma,"createSolTransferController");function Ea(e,t,r){let a=e.authority??t?.();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}}n(Ea,"ensureTransferConfig");function Ba(e){let t=e.helper,r=e.authorityProvider,a=e.sourceOwnerProvider,i=new Set,l=M();function g(){for(let c of i)c();}n(g,"notify");function y(c){l=c,g();}n(y,"setState");async function T(c,o){let p=Ea(c,c.authority?void 0:r,c.sourceOwner?void 0:a);y(v("loading"));try{let u=await t.sendTransfer(p,o);return y(v("success",{data:u})),u}catch(u){throw y(v("error",{error:u})),u}}n(T,"send");function m(c){return i.add(c),()=>{i.delete(c);}}n(m,"subscribe");function s(){y(M());}return n(s,"reset"),{getHelper:n(()=>t,"getHelper"),getState:n(()=>l,"getState"),reset:s,send:T,subscribe:m}}n(Ba,"createSplTransferController");function Ua(e,t){let r=e.authority??t?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before staking SOL.");return {...e,authority:r}}n(Ua,"ensureAuthority");function Fa(e,t){let r=e.authority??t?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before unstaking SOL.");return {...e,authority:r}}n(Fa,"ensureUnstakeAuthority");function Da(e,t){let r=e.authority??t?.();if(!r)throw new Error("Connect a wallet or supply an `authority` before withdrawing SOL.");return {...e,authority:r}}n(Da,"ensureWithdrawAuthority");function Ha(e){let t=new Set,r=new Set,a=new Set,i=e.helper,l=e.authorityProvider,g=M(),y=M(),T=M();function m(){for(let P of t)P();}n(m,"notify");function s(){for(let P of r)P();}n(s,"notifyUnstake");function c(){for(let P of a)P();}n(c,"notifyWithdraw");function o(P){g=P,m();}n(o,"setState");function p(P){y=P,s();}n(p,"setUnstakeState");function u(P){T=P,c();}n(u,"setWithdrawState");async function C(P,x){let W=Ua(P,l);o(v("loading"));try{let O=await i.sendStake(W,x);return o(v("success",{data:O})),O}catch(O){throw o(v("error",{error:O})),O}}n(C,"stake");async function w(P,x){let W=Fa(P,l);p(v("loading"));try{let O=await i.sendUnstake(W,x);return p(v("success",{data:O})),O}catch(O){throw p(v("error",{error:O})),O}}n(w,"unstake");async function b(P,x){let W=Da(P,l);u(v("loading"));try{let O=await i.sendWithdraw(W,x);return u(v("success",{data:O})),O}catch(O){throw u(v("error",{error:O})),O}}n(b,"withdraw");function d(P){return t.add(P),()=>{t.delete(P);}}n(d,"subscribe");function h(P){return r.add(P),()=>{r.delete(P);}}n(h,"subscribeUnstake");function f(P){return a.add(P),()=>{a.delete(P);}}n(f,"subscribeWithdraw");function S(){o(M());}n(S,"reset");function k(){p(M());}n(k,"resetUnstake");function R(){u(M());}return n(R,"resetWithdraw"),{getHelper:n(()=>i,"getHelper"),getState:n(()=>g,"getState"),getUnstakeState:n(()=>y,"getUnstakeState"),getWithdrawState:n(()=>T,"getWithdrawState"),reset:S,resetUnstake:k,resetWithdraw:R,stake:C,unstake:w,withdraw:b,subscribe:d,subscribeUnstake:h,subscribeWithdraw:f}}n(Ha,"createStakeController");function _a(e){return e.toString()}n(_a,"bigintToJson");function Na(e){return N(e,"bigint")}n(Na,"bigintFromJson");function za(e){return e.toString()}n(za,"lamportsToJson");function Va(e){return Ce(e,"lamports")}n(Va,"lamportsFromJson");var Mt={processed:0,confirmed:1,finalized:2},qa=2e4;function Ka(e){if(e)return typeof e=="string"?signature(e):e}n(Ka,"normalizeSignature");function $a(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}n($a,"deriveConfirmationStatus");function Ja(e,t){return e?Mt[e]>=Mt[t]:false}n(Ja,"confirmationMeetsCommitment");var Xa="MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr";function Qa(e){let t=e.findIndex(r=>r.programAddress!==Xa);if(e.length===0||t===-1)throw new SolanaError(SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR,{cause:"At least one non-memo instruction is required.",index:e.length||t});return t}n(Qa,"ensureNonMemoInstructionIndex");function eo(e,t){return Et([e],t)}n(eo,"insertReferenceKey");function Et(e,t){let r=Qa(t.instructions),a=t.instructions[r],i=[...a.accounts??[],...e.map(g=>({address:g,role:AccountRole.READONLY}))],l=[...t.instructions];return l.splice(r,1,{...a,accounts:i}),Object.freeze({...t,instructions:Object.freeze(l)})}n(Et,"insertReferenceKeys");function pe(e){let t=e,r=new Set;return {getSnapshot:n(()=>t,"getSnapshot"),setSnapshot(a){t=a;for(let i of r)i();},subscribe(a){return r.add(a),()=>{r.delete(a);}}}}n(pe,"createStore");function Bt(e){return Object.freeze([...e])}n(Bt,"freezeInstructions");function to(e){let t=e.helper,r=Bt(e.initialInstructions??[]),a=e.blockhashMaxAgeMs??3e4,i,l=pe(r),g=pe(null),y=pe(M()),T=pe(M());function m(){g.setSnapshot(null),y.setSnapshot(M()),T.setSnapshot(M());}n(m,"resetDerivedState");function s(A){l.setSnapshot(Bt(A)),m();}n(s,"commitInstructions");function c(A){let I=[...l.getSnapshot(),A];s(I);}n(c,"addInstruction");function o(A){if(!A.length)return;let I=[...l.getSnapshot(),...A];s(I);}n(o,"addInstructions");function p(A){s(A);}n(p,"replaceInstructions");function u(){s([]);}n(u,"clearInstructions");function C(A){let I=l.getSnapshot();if(A<0||A>=I.length)return;let U=I.filter((H,E)=>E!==A);s(U);}n(C,"removeInstruction");function w(){s(r);}n(w,"reset");function b(A){if(!A.length)throw new Error("Add at least one instruction before preparing a transaction.")}n(b,"ensureInstructions");function d(){if(i&&!(Date.now()-i.updatedAt>a))return i.value}n(d,"resolveCachedLifetime");async function h(A={}){let{instructions:I,...U}=A,H=I??l.getSnapshot();b(H),y.setSnapshot(v("loading"));try{let E=U.lifetime??d(),$=E&&!U.lifetime?{...U,lifetime:E}:U,J=await t.prepare({...$,instructions:H});return g.setSnapshot(J),y.setSnapshot(v("success",{data:J})),J}catch(E){throw y.setSnapshot(v("error",{error:E})),E}}n(h,"prepare");function f(A){let I=A??g.getSnapshot();if(!I)throw new Error("Prepare a transaction before sending.");return I}n(f,"resolvePrepared");function S(A){if(A.lifetime)return A;let I=d();return I?{...A,lifetime:I}:A}n(S,"resolveLifetimeOptions");async function k(A={}){let{prepared:I,...U}=A,H=f(I);T.setSnapshot(v("loading"));try{let E=await t.send(H,U);return T.setSnapshot(v("success",{data:E})),E}catch(E){throw T.setSnapshot(v("error",{error:E})),E}}n(k,"send");async function R(A={},I){let{instructions:U,...H}=A,E=U??l.getSnapshot();b(E),T.setSnapshot(v("loading"));try{let $=S(H),J=await t.prepareAndSend({...$,instructions:E},I);return T.setSnapshot(v("success",{data:J})),J}catch($){throw T.setSnapshot(v("error",{error:$})),$}}n(R,"prepareAndSend");function P(A={}){let{prepared:I,...U}=A,H=f(I);return t.sign(H,U)}n(P,"sign");function x(A={}){let{prepared:I,...U}=A,H=f(I);return t.toWire(H,U)}n(x,"toWire");function W(A){return l.subscribe(A)}n(W,"subscribeInstructions");function O(A){return g.subscribe(A)}n(O,"subscribePrepared");function de(A){return y.subscribe(A)}n(de,"subscribePrepareState");function Ft(A){return T.subscribe(A)}n(Ft,"subscribeSendState");function Dt(A){i=A;}return n(Dt,"setLatestBlockhashCache"),{addInstruction:c,addInstructions:o,clearInstructions:u,get helper(){return t},getInstructions:l.getSnapshot,getPrepareState:y.getSnapshot,getPrepared:g.getSnapshot,getSendState:T.getSnapshot,getLatestBlockhashCache:n(()=>i,"getLatestBlockhashCache"),prepare:h,prepareAndSend:R,removeInstruction:C,replaceInstructions:p,reset:w,send:k,setLatestBlockhashCache:Dt,sign:P,subscribeInstructions:W,subscribePrepareState:de,subscribePrepared:O,subscribeSendState:Ft,toWire:x}}n(to,"createTransactionPoolController");function Ut(e){return typeof e=="string"?address(e):e}n(Ut,"toAddress");function ro(e){return Ut(e).toString()}n(ro,"toAddressString");function ao(e){return JSON.stringify(e,(r,a)=>typeof a=="bigint"?{__type:"bigint",value:a.toString()}:a instanceof Uint8Array?Array.from(a):a)??"undefined"}n(ao,"stableStringify");
|
|
2
|
-
export{Rn as LAMPORTS_PER_SOL,
|
|
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 L(){return Date.now()}t(L,"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,m={}){let s=tn(m.abortSignal),c=m.commitment??a,o=getBase64EncodedWireTransaction(T),p=await i.sendTransaction(o,{encoding:"base64",maxRetries:Ge(m.maxRetries),minContextSlot:Ge(m.minContextSlot),preflightCommitment:c,skipPreflight:m.skipPreflight}).send({abortSignal:s.signal}),u=createBlockHeightExceedencePromiseFactory({rpc:i,rpcSubscriptions:l}),C=createRecentSignatureConfirmationPromiseFactory({rpc:i,rpcSubscriptions:l});return await waitForRecentTransactionConfirmation({abortSignal:s.signal,commitment:c,getBlockHeightExceedencePromise:u,getRecentSignatureConfirmationPromise:C,transaction:T}),p}t(g,"sendAndConfirmTransaction");async function y(T,m={}){let s=getBase64EncodedWireTransaction(T),c=m.config??{},o={...nn,...c,commitment:c.commitment??m.commitment??a},p=o.sigVerify===true&&o.replaceRecentBlockhash!==false?{...o,replaceRecentBlockhash:false}:o;return i.simulateTransaction(s,p).send({abortSignal:m.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:L()}));}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 f=L();return await r.rpc.getLatestBlockhash({commitment:h}).send({abortSignal:AbortSignal.timeout(1e4)}),L()-f}catch(f){i({data:{endpoint:d,...B(f)},level:"warn",message:"cluster warmup failed"});return}}t(y,"warmupCluster");async function T(d,h){let f=h?.commitment??a.getState().cluster.commitment,S=h?.websocketEndpoint??d;a.setState(k=>({...k,cluster:{commitment:f,endpoint:d,status:{status:"connecting"},websocketEndpoint:S},lastUpdatedAt:L()}));try{let k=Q({commitment:f,endpoint:d,websocketEndpoint:S});r.rpc=k.rpc,r.rpcSubscriptions=k.rpcSubscriptions;let R=await y(d,f);a.setState(P=>({...P,cluster:{commitment:f,endpoint:d,status:{latencyMs:R,status:"ready"},websocketEndpoint:S},lastUpdatedAt:L()}));}catch(k){throw a.setState(R=>({...R,cluster:{commitment:f,endpoint:d,status:{error:k,status:"error"},websocketEndpoint:S},lastUpdatedAt:L()})),i({data:{endpoint:d,...B(k)},level:"error",message:"cluster setup failed"}),k}}t(T,"setCluster");async function m(d,h={}){l?.(),l=void 0;let f=e.get(d);if(!f)throw new Error(`No wallet connector registered for id "${d}".`);if(!f.isSupported())throw new Error(`Wallet connector "${d}" is not supported in this environment.`);let S=h.autoConnect??false;a.setState(k=>({...k,lastUpdatedAt:L(),wallet:{autoConnect:S,connectorId:d,status:"connecting"}}));try{let k=await f.connect(h);a.setState(R=>({...R,lastUpdatedAt:L(),wallet:{autoConnect:S,connectorId:d,session:k,status:"connected"}})),k.onAccountsChanged&&(l=k.onAccountsChanged(R=>{R.length===0&&(l?.(),l=void 0,s());})),i({data:{address:k.account.address.toString(),connectorId:d},level:"info",message:"wallet connected"});}catch(k){throw a.setState(R=>({...R,lastUpdatedAt:L(),wallet:{autoConnect:S,connectorId:d,error:k,status:"error"}})),i({data:{connectorId:d,...B(k)},level:"error",message:"wallet connection failed"}),k}}t(m,"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 f=d.toString();a.setState(S=>({...S,accounts:{...S.accounts,[f]:{address:d,data:S.accounts[f]?.data,error:void 0,fetching:true,lamports:S.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:S.accounts[f]?.slot??null}},lastUpdatedAt:L()}));try{let S=await r.rpc.getBalance(d,{commitment:g(h)}).send({abortSignal:AbortSignal.timeout(1e4)}),k=S.value;return a.setState(R=>({...R,accounts:{...R.accounts,[f]:{address:d,data:R.accounts[f]?.data,error:void 0,fetching:!1,lamports:k,lastFetchedAt:L(),slot:S.context.slot}},lastUpdatedAt:L()})),k}catch(S){throw a.setState(k=>({...k,accounts:{...k.accounts,[f]:{address:d,data:k.accounts[f]?.data,error:S,fetching:false,lamports:k.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:k.accounts[f]?.slot??null}},lastUpdatedAt:L()})),i({data:{address:f,...B(S)},level:"error",message:"balance fetch failed"}),S}}t(c,"fetchBalance");async function o(d,h){let f=d.toString();a.setState(S=>({...S,accounts:{...S.accounts,[f]:{address:d,data:S.accounts[f]?.data,error:void 0,fetching:true,lamports:S.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:S.accounts[f]?.slot??null}},lastUpdatedAt:L()}));try{let S=await r.rpc.getAccountInfo(d,{commitment:g(h),encoding:"base64"}).send({abortSignal:AbortSignal.timeout(1e4)}),k=S.value,R=k?.lamports??null;return a.setState(P=>({...P,accounts:{...P.accounts,[f]:{address:d,data:k,error:void 0,fetching:!1,lamports:R,lastFetchedAt:L(),slot:S.context.slot}},lastUpdatedAt:L()})),a.getState().accounts[f]}catch(S){throw a.setState(k=>({...k,accounts:{...k.accounts,[f]:{address:d,data:k.accounts[f]?.data,error:S,fetching:false,lamports:k.accounts[f]?.lamports??null,lastFetchedAt:L(),slot:k.accounts[f]?.slot??null}},lastUpdatedAt:L()})),i({data:{address:f,...B(S)},level:"error",message:"account fetch failed"}),S}}t(o,"fetchAccount");async function p(d,h){let f=await fetchAddressLookupTable(r.rpc,d,{commitment:g(h)}),{addresses:S,authority:k,deactivationSlot:R,lastExtendedSlot:P,lastExtendedSlotStartIndex:x}=f.data;return {addresses:S,authority:isSome(k)?k.value:void 0,deactivationSlot:R,lastExtendedSlot:P,lastExtendedSlotStartIndex:x}}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 C(d,h){let f=await fetchNonce(r.rpc,d,{commitment:g(h)});return {authority:f.data.authority,blockhash:f.data.blockhash}}t(C,"fetchNonceAccount");async function w(d,h){let f=g(h),S=new AbortController,k=await r.rpc.sendTransaction(getBase64EncodedWireTransaction(d),{encoding:"base64",preflightCommitment:f}).send({abortSignal:S.signal}),R=k.toString();a.setState(W=>({...W,lastUpdatedAt:L(),transactions:{...W.transactions,[R]:{lastUpdatedAt:L(),signature:k,status:"sending"}}}));let P=createBlockHeightExceedencePromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions}),x=createRecentSignatureConfirmationPromiseFactory({rpc:r.rpc,rpcSubscriptions:r.rpcSubscriptions});try{return await waitForRecentTransactionConfirmation({abortSignal:S.signal,commitment:f,getBlockHeightExceedencePromise:P,getRecentSignatureConfirmationPromise:x,transaction:d}),a.setState(W=>({...W,lastUpdatedAt:L(),transactions:{...W.transactions,[R]:{lastUpdatedAt:L(),signature:k,status:"confirmed"}}})),k}catch(W){throw a.setState(O=>({...O,lastUpdatedAt:L(),transactions:{...O.transactions,[R]:{error:W,lastUpdatedAt:L(),signature:k,status:"failed"}}})),i({data:{signature:R,...B(W)},level:"error",message:"transaction failed to confirm"}),W}}t(w,"sendTransaction");async function b(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(f){throw i({data:{address:d.toString(),lamports:h.toString(),...B(f)},level:"error",message:"airdrop request failed"}),f}}return t(b,"requestAirdrop"),{connectWallet:m,disconnectWallet:s,fetchAccount:o,fetchBalance:c,fetchLookupTable:p,fetchLookupTables:u,fetchNonceAccount:C,requestAirdrop:b,sendTransaction:w,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 Pn=/^\d+(?:\.\d+)?$/;function wn(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(wn,"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(!Pn.test(g))throw new SyntaxError(`${i} must be a non-negative decimal string`);let[y,T]=g.split("."),m=y||"0";F(BigInt(m),i);let s=BigInt(m)*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),C=/[1-9]/.test(u);if(l==="ceil"&&C)s+=1n;else if(l==="round"){let w=u[0];w!==void 0&&w>="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=wn(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 m(s,c){let o=r(s),p=r(c);return o>p?1:o<p?-1:0}return t(m,"compare"),Object.freeze({add:l,compare:m,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 m=T,s=await i(m);if(!s.signatures[a])throw new Error("Wallet did not populate the expected fee payer signature.");let o=Object.freeze({...m,messageBytes:s.messageBytes,signatures:Object.freeze({...m.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 m=T.signatures[a];if(!m)throw new Error("Expected signer to produce a signature for the provided address.");return Object.freeze({[a]:m})}))}})}}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 m of y){let s=await l(m,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 Pe(e){async function n(i){let l=i.commitment,g=await $n(e,l,i.lifetime),{signer:y,mode:T}=Jn(i.authority,l),m=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:m,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(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 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 we(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 m(p,u){let C=await T(p),w=await g(u);try{let{value:b}=await e.rpc.getTokenAccountBalance(C,{commitment:u}).send(),h=(await y(u)).fromBaseUnits(b.amount,"balance"),f=b.uiAmountString??b.amount;return {amount:h,ataAddress:C,decimals:w,exists:!0,uiAmount:f}}catch{return {amount:0n,ataAddress:C,decimals:w,exists:false,uiAmount:"0"}}}t(m,"fetchBalance");async function s(p){let u=p.commitment,C=await fr(e,u,p.lifetime),{signer:w,mode:b}=gr(p.authority,u),d=K(p.sourceOwner,w.address),h=K(p.destinationOwner),f=K(p.sourceToken,await T(d)),S=K(p.destinationToken,await T(h)),k=await y(u),R=await g(u),P=p.amountInBaseUnits?k.fromBaseUnits(p.amount,"amount"):k.fromDecimal(p.amount,{label:"amount"}),x=[];if(p.ensureDestinationAta??true){let{value:O}=await e.rpc.getAccountInfo(S,{commitment:u,dataSlice:{length:0,offset:0},encoding:"base64"}).send();O||x.push(getCreateAssociatedTokenInstruction({ata:S,mint:r,owner:h,payer:w,tokenProgram:a}));}x.push(getTransferCheckedInstruction({amount:P,authority:w,decimals:R,destination:S,mint:r,source:f}));let W=pipe(createTransactionMessage({version:p.transactionVersion??0}),O=>setTransactionMessageFeePayer(w.address,O),O=>setTransactionMessageLifetimeUsingBlockhash(C,O));for(let O of x)W=appendTransactionMessageInstruction(O,W);return {amount:P,commitment:u,decimals:R,destinationAta:S,lifetime:C,message:W,mode:b,signer:w,sourceAta:f,plan:singleTransactionPlan(W)}}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}),f=getBase58Decoder();return signature(f.decode(h))}let C=u.commitment??p.commitment,w=u.maxRetries===void 0?void 0:typeof u.maxRetries=="bigint"?u.maxRetries:BigInt(u.maxRetries),b=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(h,f={}){let S=await signTransactionMessageWithSigners(h,{abortSignal:f.abortSignal??u.abortSignal,minContextSlot:u.minContextSlot}),k=getBase64EncodedWireTransaction(S),R=await e.rpc.sendTransaction(k,{encoding:"base64",maxRetries:w,preflightCommitment:C,skipPreflight:u.skipPreflight}).send({abortSignal:f.abortSignal??u.abortSignal});return b=signature(R),{transaction:S}}})(p.plan??singleTransactionPlan(p.message),{abortSignal:u.abortSignal}),!b)throw new Error("Failed to resolve transaction signature.");return b}t(c,"sendPreparedTransfer");async function o(p,u){let C=await s(p);try{return await c(C,u)}catch(w){if(isSolanaError(w,SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED)){let b=await s({...p,lifetime:void 0});return await c(b,u)}throw w}}return t(o,"sendTransfer"),{deriveAssociatedTokenAddress:T,fetchBalance:m,prepareTransfer:s,sendPreparedTransfer:c,sendTransfer:o}}t(we,"createSplTokenHelper");var it="Stake11111111111111111111111111111111111111",st="SysvarC1ock11111111111111111111111111111111",ct="SysvarStakeHistory1111111111111111111111111",Pr="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:C}=Fe(c.authority,o),w=ie(c.validatorId),b=ut(c.amount),h=await e.rpc.getMinimumBalanceForRentExemption(BigInt(lt)).send()+b,f=await generateKeyPairSigner(),S=getCreateAccountInstruction({payer:u,newAccount:f,lamports:h,space:BigInt(lt),programAddress:it}),k=getInitializeInstruction({stake:f.address,arg0:{staker:u.address,withdrawer:u.address},arg1:{unixTimestamp:0n,epoch:0n,custodian:u.address}}),R=getDelegateStakeInstruction({stake:f.address,vote:w,stakeHistory:ct,unused:Pr,stakeAuthority:u}),P=pipe(createTransactionMessage({version:c.transactionVersion??0}),x=>setTransactionMessageFeePayer(u.address,x),x=>setTransactionMessageLifetimeUsingBlockhash(p,x),x=>appendTransactionMessageInstructions([S,k,R],x));return {commitment:o,lifetime:p,message:P,mode:C,signer:u,stakeAccount:f,plan:singleTransactionPlan(P)}}t(n,"prepareStake");async function r(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let b=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(b))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,d={}){let h=await signTransactionMessageWithSigners(b,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),f=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(f,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return C=signature(S),{transaction:h}}})(c.plan??singleTransactionPlan(c.message),{abortSignal:o.abortSignal}),!C)throw new Error("Failed to resolve transaction signature.");return C}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:C}=Fe(c.authority,o),w=ie(c.stakeAccount),b=getDeactivateInstruction({stake:w,clockSysvar:st,stakeAuthority:u}),d=pipe(createTransactionMessage({version:c.transactionVersion??0}),h=>setTransactionMessageFeePayer(u.address,h),h=>setTransactionMessageLifetimeUsingBlockhash(p,h),h=>appendTransactionMessageInstructions([b],h));return {commitment:o,lifetime:p,message:d,mode:C,signer:u,plan:singleTransactionPlan(d)}}t(i,"prepareUnstake");async function l(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let b=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(b))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,d={}){let h=await signTransactionMessageWithSigners(b,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),f=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(f,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return C=signature(S),{transaction:h}}})(c.plan),!C)throw new Error("Failed to resolve transaction signature.");return C}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:C}=Fe(c.authority,o),w=ie(c.stakeAccount),b=ie(c.destination),d=ut(c.amount),h=getWithdrawInstruction({stake:w,recipient:b,clockSysvar:st,stakeHistory:ct,withdrawAuthority:u,args:d}),f=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:f,mode:C,signer:u,plan:singleTransactionPlan(f)}}t(y,"prepareWithdraw");async function T(c,o={}){if(c.mode==="send"&&isTransactionSendingSigner(c.signer)){let b=await signAndSendTransactionMessageWithSigners(c.message,{abortSignal:o.abortSignal,minContextSlot:o.minContextSlot}),d=getBase58Decoder();return signature(d.decode(b))}let p=o.commitment??c.commitment,u=o.maxRetries===void 0?void 0:typeof o.maxRetries=="bigint"?o.maxRetries:BigInt(o.maxRetries),C=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(b,d={}){let h=await signTransactionMessageWithSigners(b,{abortSignal:d.abortSignal??o.abortSignal,minContextSlot:o.minContextSlot}),f=getBase64EncodedWireTransaction(h),S=await e.rpc.sendTransaction(f,{encoding:"base64",maxRetries:u,preflightCommitment:p,skipPreflight:o.skipPreflight}).send({abortSignal:d.abortSignal??o.abortSignal});return C=signature(S),{transaction:h}}})(c.plan),!C)throw new Error("Failed to resolve transaction signature.");return C}t(T,"sendPreparedWithdraw");async function m(c,o){let p=await y(c);return await T(p,o)}t(m,"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 C=typeof o=="string"?o:String(o);return u.filter(w=>{let b=w.account?.data;return b&&"parsed"in b?b.parsed?.info?.stake?.delegation?.voter===C:false})}return t(s,"getStakeAccounts"),{getStakeAccounts:s,prepareStake:n,prepareUnstake:i,prepareWithdraw:y,sendPreparedStake:r,sendPreparedUnstake:l,sendPreparedWithdraw:T,sendStake:a,sendUnstake:g,sendWithdraw:m}}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,m=Math.min(gt,Math.max(mt,Math.max(1,T))),s=getSetComputeUnitLimitInstruction({units:m});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:b,mode:d}=j(e.authority,{commitment:i});l=b,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 m=[...e.instructions],s=ea(e.version,m),c=e.lifetime??(await a.rpc.getLatestBlockhash({commitment:i}).send({abortSignal:e.abortSignal})).value;e.abortSignal?.throwIfAborted();let o=ra(e,m),p=aa(e,m),u=[];o!==void 0&&u.push(getSetComputeUnitLimitInstruction({units:Number(o)})),p!==void 0&&u.push(getSetComputeUnitPriceInstruction({microLamports:Number(p)}));let C=[...u,...m];return Object.freeze({commitment:i,computeUnitLimit:o,computeUnitPrice:p,createTransactionMessage:t(async()=>pipe(createTransactionMessage({version:s}),b=>T?setTransactionMessageFeePayerSigner(T,b):setTransactionMessageFeePayer(y,b),b=>setTransactionMessageLifetimeUsingBlockhash(c,b)),"createMessage"),feePayer:y,instructionPlan:getMessagePackerInstructionPlanFromInstructions(C),instructions:Object.freeze(m),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(m){let s=await Ct(m,{getFallbackCommitment:n,runtime:e}),o=await createTransactionPlanner({createTransactionMessage:s.createTransactionMessage})(s.instructionPlan,{abortSignal:m.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(m,s={}){return await signTransactionMessageWithSigners(m.message,{abortSignal:s.abortSignal,minContextSlot:s.minContextSlot})}t(a,"sign");async function i(m,s={}){let c=await a(m,s);return getBase64EncodedWireTransaction(c)}t(i,"toWire");async function l(m,s={}){return !m.plan||m.mode==="send"?g(m,s):y(m,s)}t(l,"send");async function g(m,s){let c=s.commitment??m.commitment;if(m.mode==="send"){let w=await signAndSendTransactionMessageWithSigners(m.message,{abortSignal:s.abortSignal,minContextSlot:s.minContextSlot}),b=getBase58Decoder();return signature(b.decode(w))}let o=await a(m,{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),C=await e.rpc.sendTransaction(p,{encoding:"base64",maxRetries:u,preflightCommitment:c,skipPreflight:s.skipPreflight}).send({abortSignal:s.abortSignal});return signature(C)}t(g,"sendDirect");async function y(m,s){if(!m.plan)return g(m,s);let c=s.commitment??m.commitment,o=s.maxRetries===void 0?void 0:typeof s.maxRetries=="bigint"?s.maxRetries:BigInt(s.maxRetries),p=null;if(await createTransactionPlanExecutor({async executeTransactionMessage(C,w={}){let b=await signTransactionMessageWithSigners(C,{abortSignal:w.abortSignal??s.abortSignal,minContextSlot:s.minContextSlot}),d=getBase64EncodedWireTransaction(b),h=await e.rpc.sendTransaction(d,{encoding:"base64",maxRetries:o,preflightCommitment:c,skipPreflight:s.skipPreflight}).send({abortSignal:w.abortSignal??s.abortSignal});return p=signature(h),{transaction:b}}})(m.plan,{abortSignal:s.abortSignal}),!p)throw new Error("Failed to resolve transaction signature.");return p}t(y,"sendWithExecutor");async function T(m,s={}){let{prepareTransaction:c,...o}=m,p=await r(o);if(c===false)return l(p,s);let u=c??{},C=await ne({blockhashReset:u.blockhashReset??false,...u,rpc:e.rpc,transaction:p.message}),w=Object.freeze({...p,message:C,plan:singleTransactionPlan(C)});return l(w,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(Pe(e),r)),i),"getSolTransfer"),T=t(()=>(l||(l=ca(De(e),r)),l),"getStake"),m=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 C=we(e,o),w=sa(C,r,o.commitment);return a.set(p,{baseCommitment:o.commitment,scoped:w}),w}return t(s,"getSplTokenHelper"),Object.freeze({get solTransfer(){return y()},splToken:s,get stake(){return T()},get transaction(){return m()},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 Pt({logger:e,runtime:n,store:r}){let a=e??Z();function i(o,p,u){r.setState(C=>({...C,lastUpdatedAt:L(),subscriptions:{...C.subscriptions,[o]:{...C.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 C(){u.abort(),l(o,p);}return t(C,"abort"),{abort:C}}t(g,"createSubscriptionHandle");async function y(o,p,u){let C=o.commitment??r.getState().cluster.commitment,w=n.rpcSubscriptions.accountNotifications(o.address,{commitment:C}),b=o.address.toString();i("account",b,{status:"activating"}),u.signal.addEventListener("abort",()=>l("account",b));try{let d=await w.subscribe({abortSignal:u.signal});i("account",b,{status:"active"});for await(let h of d){let f=h.value?.lamports??null,S=h.context?.slot??null,k={address:o.address,data:h.value?.data,error:void 0,fetching:!1,lamports:f,lastFetchedAt:L(),slot:S};p(k),r.setState(R=>({...R,accounts:{...R.accounts,[b]:k},lastUpdatedAt:L()}));}}catch(d){u.signal.aborted||(a({data:{address:b,...B(d)},level:"error",message:"account subscription failed"}),i("account",b,{error:d,status:"error"}));}}t(y,"handleAccountNotifications");function T(o,p){let u=new AbortController;return y(o,p,u).catch(C=>{u.signal.aborted||a({data:{address:o.address.toString(),...B(C)},level:"error",message:"account watcher error"});}),g("account",o.address.toString(),u)}t(T,"watchAccount");function m(o,p){return T(o,u=>{u.lamports!==null&&p(u.lamports);})}t(m,"watchBalance");async function s(o,p,u){let C=o.commitment??r.getState().cluster.commitment,w=n.rpcSubscriptions.signatureNotifications(o.signature,{commitment:C,enableReceivedNotification:o.enableReceivedNotification}),b=o.signature.toString();i("signature",b,{status:"activating"}),u.signal.addEventListener("abort",()=>l("signature",b));try{let d=await w.subscribe({abortSignal:u.signal});i("signature",b,{status:"active"});for await(let h of d)p(h),r.setState(f=>({...f,lastUpdatedAt:L(),transactions:{...f.transactions,[b]:{lastUpdatedAt:L(),signature:o.signature,status:"waiting"}}}));}catch(d){u.signal.aborted||(a({data:{signature:b,...B(d)},level:"error",message:"signature subscription failed"}),i("signature",b,{error:d,status:"error"}));}}t(s,"handleSignatureNotifications");function c(o,p){let u=new AbortController;return s(o,p,u).catch(C=>{u.signal.aborted||a({data:{signature:o.signature.toString(),...B(C)},level:"error",message:"signature watcher error"});}),g("signature",o.signature.toString(),u)}return t(c,"watchSignature"),{watchAccount:T,watchBalance:m,watchSignature:c}}t(Pt,"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??[]),m=Z(n.logger),s=Qe({connectors:T,logger:m,runtime:y,store:l}),c=Pt({logger:m,runtime:y,store:l}),o=kt(y,l);l.setState(u=>({...u,cluster:{...u.cluster,status:{status:"connecting"}},lastUpdatedAt:L()})),s.setCluster(r.endpoint,{commitment:a,websocketEndpoint:r.websocketEndpoint}).catch(u=>m({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(),Pa=getTransactionDecoder(),At=getTransactionEncoder();function wa(e){return `wallet-standard:${e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-")}`}t(wa,"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??wa(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],m=!!g.autoConnect,s=g.allowInteractiveFallback??true,c=e.accounts;if(y){let P=t(async x=>y.connect({silent:x}),"connectWithMode");try{let{accounts:x}=await P(m);x.length&&(c=x);}catch(x){if(!m||!s)throw x;let{accounts:W}=await P(false);W.length&&(c=W);}}let o=Aa(c),p=Ve(o),u=e.features[SolanaSignMessage],C=e.features[SolanaSignTransaction],w=e.features[SolanaSignAndSendTransaction],b=n.defaultChain??Rt(o),d=u?async P=>{let[x]=await u.signMessage({account:o,message:P});return x.signature}:void 0,h=C?async P=>{let x=new Uint8Array(At.encode(P)),W=b?{account:o,chain:b,transaction:x}:{account:o,transaction:x},[O]=await C.signTransaction(W);return Pa.decode(O.signedTransaction)}:void 0,f=w?async(P,x)=>{let W=new Uint8Array(At.encode(P)),O=n.defaultChain??Rt(o)??"solana:mainnet-beta",[me]=await w.signAndSendTransaction({account:o,chain:O,options:{commitment:Ra(x?.commitment)},transaction:W});return ka.decode(me.signature)}:void 0;async function S(){k?.(),await xt(e);}t(S,"disconnectSession");let k,R=T?P=>T.on("change",({accounts:W})=>{if(W){if(!W.length){P([]);return}o=W[0],p=Ve(o),P(W.map(Ve));}}):void 0;return {account:p,connector:r,disconnect:S,onAccountsChanged:R?P=>(k=R(P),()=>{k?.(),k=void 0;}):void 0,sendTransaction:f,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,m=y.filter(s=>T.has(s.id)?false:(T.add(s.id),true));e(m);},"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),m=ee({endpoint:T,moniker:n??void 0,websocketEndpoint:pe(i??l)}),s=g===void 0||g==="default"?vt():g;return {...y,endpoint:m.endpoint,websocketEndpoint:m.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 m(){g(M());}return t(m,"reset"),{getHelper:t(()=>r,"getHelper"),getState:t(()=>i,"getState"),reset:m,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 m(c){return i.add(c),()=>{i.delete(c);}}t(m,"subscribe");function s(){y(M());}return t(s,"reset"),{getHelper:t(()=>n,"getHelper"),getState:t(()=>l,"getState"),reset:s,send:T,subscribe:m}}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 m(){for(let P of n)P();}t(m,"notify");function s(){for(let P of r)P();}t(s,"notifyUnstake");function c(){for(let P of a)P();}t(c,"notifyWithdraw");function o(P){g=P,m();}t(o,"setState");function p(P){y=P,s();}t(p,"setUnstakeState");function u(P){T=P,c();}t(u,"setWithdrawState");async function C(P,x){let W=Fa(P,l);o(v("loading"));try{let O=await i.sendStake(W,x);return o(v("success",{data:O})),O}catch(O){throw o(v("error",{error:O})),O}}t(C,"stake");async function w(P,x){let W=Da(P,l);p(v("loading"));try{let O=await i.sendUnstake(W,x);return p(v("success",{data:O})),O}catch(O){throw p(v("error",{error:O})),O}}t(w,"unstake");async function b(P,x){let W=Ha(P,l);u(v("loading"));try{let O=await i.sendWithdraw(W,x);return u(v("success",{data:O})),O}catch(O){throw u(v("error",{error:O})),O}}t(b,"withdraw");function d(P){return n.add(P),()=>{n.delete(P);}}t(d,"subscribe");function h(P){return r.add(P),()=>{r.delete(P);}}t(h,"subscribeUnstake");function f(P){return a.add(P),()=>{a.delete(P);}}t(f,"subscribeWithdraw");function S(){o(M());}t(S,"reset");function k(){p(M());}t(k,"resetUnstake");function R(){u(M());}return t(R,"resetWithdraw"),{getHelper:t(()=>i,"getHelper"),getState:t(()=>g,"getState"),getUnstakeState:t(()=>y,"getUnstakeState"),getWithdrawState:t(()=>T,"getWithdrawState"),reset:S,resetUnstake:k,resetWithdraw:R,stake:C,unstake:w,withdraw:b,subscribe:d,subscribeUnstake:h,subscribeWithdraw:f}}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 m(){g.setSnapshot(null),y.setSnapshot(M()),T.setSnapshot(M());}t(m,"resetDerivedState");function s(A){l.setSnapshot(Bt(A)),m();}t(s,"commitInstructions");function c(A){let I=[...l.getSnapshot(),A];s(I);}t(c,"addInstruction");function o(A){if(!A.length)return;let I=[...l.getSnapshot(),...A];s(I);}t(o,"addInstructions");function p(A){s(A);}t(p,"replaceInstructions");function u(){s([]);}t(u,"clearInstructions");function C(A){let I=l.getSnapshot();if(A<0||A>=I.length)return;let U=I.filter((H,E)=>E!==A);s(U);}t(C,"removeInstruction");function w(){s(r);}t(w,"reset");function b(A){if(!A.length)throw new Error("Add at least one instruction before preparing a transaction.")}t(b,"ensureInstructions");function d(){if(i&&!(Date.now()-i.updatedAt>a))return i.value}t(d,"resolveCachedLifetime");async function h(A={}){let{instructions:I,...U}=A,H=I??l.getSnapshot();b(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 f(A){let I=A??g.getSnapshot();if(!I)throw new Error("Prepare a transaction before sending.");return I}t(f,"resolvePrepared");function S(A){if(A.lifetime)return A;let I=d();return I?{...A,lifetime:I}:A}t(S,"resolveLifetimeOptions");async function k(A={}){let{prepared:I,...U}=A,H=f(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(k,"send");async function R(A={},I){let{instructions:U,...H}=A,E=U??l.getSnapshot();b(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(R,"prepareAndSend");function P(A={}){let{prepared:I,...U}=A,H=f(I);return n.sign(H,U)}t(P,"sign");function x(A={}){let{prepared:I,...U}=A,H=f(I);return n.toWire(H,U)}t(x,"toWire");function W(A){return l.subscribe(A)}t(W,"subscribeInstructions");function O(A){return g.subscribe(A)}t(O,"subscribePrepared");function me(A){return y.subscribe(A)}t(me,"subscribePrepareState");function Ft(A){return T.subscribe(A)}t(Ft,"subscribeSendState");function Dt(A){i=A;}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:R,removeInstruction:C,replaceInstructions:p,reset:w,send:k,setLatestBlockhashCache:Dt,sign:P,subscribeInstructions:W,subscribePrepareState:me,subscribePrepared:O,subscribeSendState:Ft,toWire:x}}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{Rn as LAMPORTS_PER_SOL,Ka as SIGNATURE_STATUS_TIMEOUT_MS,Ce as applyRatio,Se as applySerializableState,ae as assertDecimals,F as assertNonNegative,$ as autoDiscover,Ke as backpack,za as bigintFromJson,Na as bigintToJson,he as checkedAdd,bn as checkedDivide,hn as checkedMultiply,be as checkedSubtract,Ga as confirmationMeetsCommitment,_t as connectWallet,v as createAsyncState,ze as createClient,le as createClientStore,Ia as createDefaultClient,da as createDefaultClientStore,M as createInitialAsyncState,ce as createInitialClientState,kn as createRatio,Ea as createSolTransferController,Pe as createSolTransferHelper,Q as createSolanaRpcClient,we as createSplTokenHelper,Ua as createSplTransferController,_a as createStakeController,De as createStakeHelper,te as createTokenAmount,Ne as createTransactionHelper,no as createTransactionPoolController,Ct as createTransactionRecipe,ye as createWalletRegistry,re as createWalletStandardConnector,vt as defaultWalletConnectors,Ja as deriveConfirmationStatus,an as deserializeSolanaState,Nt as disconnectWallet,zt as fetchAccount,Vt as fetchBalance,jt as fetchLookupTable,qt as fetchLookupTables,Kt as fetchNonceAccount,rn as getInitialSerializableState,xa as getWalletStandardConnectors,Oa as injected,to as insertReferenceKey,Et as insertReferenceKeys,ke as lamports,ja as lamportsFromJson,xn as lamportsFromSol,z as lamportsMath,Va as lamportsToJson,Ln as lamportsToSolString,va as metamask,$a as normalizeSignature,je as phantom,Te as pow10,ne as prepareTransaction,$t as requestAirdrop,It as resolveClientConfig,ee as resolveCluster,Jt as sendTransaction,ge as serializeSolanaState,Gt as setCluster,qe as solflare,oo as stableStringify,on as subscribeSolanaState,Ut as toAddress,ao as toAddressString,N as toBigint,X as transactionToBase64,Rr as transactionToBase64WithSigners,La as watchWalletStandardConnectors};//# sourceMappingURL=index.native.mjs.map
|
|
3
3
|
//# sourceMappingURL=index.native.mjs.map
|
package/dist/index.node.mjs
CHANGED
|
@@ -2939,6 +2939,13 @@ function backpack(options) {
|
|
|
2939
2939
|
});
|
|
2940
2940
|
}
|
|
2941
2941
|
__name(backpack, "backpack");
|
|
2942
|
+
function metamask(options) {
|
|
2943
|
+
return autoDiscover({
|
|
2944
|
+
filter: filterByName("metamask"),
|
|
2945
|
+
overrides: /* @__PURE__ */ __name(() => ({ ...options, id: "wallet-standard:metamask" }), "overrides")
|
|
2946
|
+
});
|
|
2947
|
+
}
|
|
2948
|
+
__name(metamask, "metamask");
|
|
2942
2949
|
|
|
2943
2950
|
// src/client/defaultClient.ts
|
|
2944
2951
|
function defaultWalletConnectors() {
|
|
@@ -3639,6 +3646,6 @@ function stableStringify(value) {
|
|
|
3639
3646
|
}
|
|
3640
3647
|
__name(stableStringify, "stableStringify");
|
|
3641
3648
|
|
|
3642
|
-
export { LAMPORTS_PER_SOL, SIGNATURE_STATUS_TIMEOUT_MS, applyRatio, applySerializableState, assertDecimals, assertNonNegative, autoDiscover, backpack, bigintFromJson, bigintToJson, checkedAdd, checkedDivide, checkedMultiply, checkedSubtract, confirmationMeetsCommitment, connectWallet, createAsyncState, createClient, createClientStore, createDefaultClient, createDefaultClientStore, createInitialAsyncState, createInitialClientState, createRatio, createSolTransferController, createSolTransferHelper, createSolanaRpcClient, createSplTokenHelper, createSplTransferController, createStakeController, createStakeHelper, createTokenAmount, createTransactionHelper, createTransactionPoolController, createTransactionRecipe, createWalletRegistry, createWalletStandardConnector, defaultWalletConnectors, deriveConfirmationStatus, deserializeSolanaState, disconnectWallet, fetchAccount, fetchBalance, fetchLookupTable, fetchLookupTables, fetchNonceAccount, getInitialSerializableState, getWalletStandardConnectors, injected, insertReferenceKey, insertReferenceKeys, lamports, lamportsFromJson, lamportsFromSol, lamportsMath, lamportsToJson, lamportsToSolString, normalizeSignature, phantom, pow10, prepareTransaction, requestAirdrop, resolveClientConfig, resolveCluster, sendTransaction, serializeSolanaState, setCluster, solflare, stableStringify, subscribeSolanaState, toAddress2 as toAddress, toAddressString, toBigint2 as toBigint, transactionToBase64, transactionToBase64WithSigners, watchWalletStandardConnectors };
|
|
3649
|
+
export { LAMPORTS_PER_SOL, SIGNATURE_STATUS_TIMEOUT_MS, applyRatio, applySerializableState, assertDecimals, assertNonNegative, autoDiscover, backpack, bigintFromJson, bigintToJson, checkedAdd, checkedDivide, checkedMultiply, checkedSubtract, confirmationMeetsCommitment, connectWallet, createAsyncState, createClient, createClientStore, createDefaultClient, createDefaultClientStore, createInitialAsyncState, createInitialClientState, createRatio, createSolTransferController, createSolTransferHelper, createSolanaRpcClient, createSplTokenHelper, createSplTransferController, createStakeController, createStakeHelper, createTokenAmount, createTransactionHelper, createTransactionPoolController, createTransactionRecipe, createWalletRegistry, createWalletStandardConnector, defaultWalletConnectors, deriveConfirmationStatus, deserializeSolanaState, disconnectWallet, fetchAccount, fetchBalance, fetchLookupTable, fetchLookupTables, fetchNonceAccount, getInitialSerializableState, getWalletStandardConnectors, injected, insertReferenceKey, insertReferenceKeys, lamports, lamportsFromJson, lamportsFromSol, lamportsMath, lamportsToJson, lamportsToSolString, metamask, normalizeSignature, phantom, pow10, prepareTransaction, requestAirdrop, resolveClientConfig, resolveCluster, sendTransaction, serializeSolanaState, setCluster, solflare, stableStringify, subscribeSolanaState, toAddress2 as toAddress, toAddressString, toBigint2 as toBigint, transactionToBase64, transactionToBase64WithSigners, watchWalletStandardConnectors };
|
|
3643
3650
|
//# sourceMappingURL=index.node.mjs.map
|
|
3644
3651
|
//# sourceMappingURL=index.node.mjs.map
|
package/dist/types/index.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export type { AccountCache, AccountCacheEntry, AccountWatcherConfig, AddressLook
|
|
|
26
26
|
export { type AddressLike, toAddress, toAddressString } from './utils/addressLike';
|
|
27
27
|
export { type ClusterMoniker, resolveCluster } from './utils/cluster';
|
|
28
28
|
export { stableStringify } from './utils/stableStringify';
|
|
29
|
-
export { autoDiscover, backpack, injected, phantom, solflare } from './wallet/connectors';
|
|
29
|
+
export { autoDiscover, backpack, injected, metamask, phantom, solflare } from './wallet/connectors';
|
|
30
30
|
export { createWalletRegistry } from './wallet/registry';
|
|
31
31
|
export { createWalletStandardConnector, getWalletStandardConnectors, watchWalletStandardConnectors, } from './wallet/standard';
|
|
32
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,UAAU,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACnH,OAAO,EACN,KAAK,0BAA0B,EAC/B,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACN,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACN,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACpH,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,KAAK,UAAU,EACf,UAAU,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,KAAK,EACL,QAAQ,GACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpH,OAAO,EACN,KAAK,2BAA2B,EAChC,qBAAqB,EACrB,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,EAC/B,KAAK,eAAe,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EACN,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,KAAK,sBAAsB,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,2BAA2B,EAC3B,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClH,OAAO,EACN,mBAAmB,EACnB,8BAA8B,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,kBAAkB,GAClB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EACN,+BAA+B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,oCAAoC,EACzC,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,GAC/B,MAAM,0CAA0C,CAAC;AAClD,YAAY,EACX,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,YAAY,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,KAAK,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,UAAU,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACnH,OAAO,EACN,KAAK,0BAA0B,EAC/B,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACN,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACN,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACpH,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,KAAK,UAAU,EACf,UAAU,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,KAAK,EACL,QAAQ,GACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpH,OAAO,EACN,KAAK,2BAA2B,EAChC,qBAAqB,EACrB,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,EAC/B,KAAK,eAAe,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EACN,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,KAAK,sBAAsB,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,2BAA2B,EAC3B,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClH,OAAO,EACN,mBAAmB,EACnB,8BAA8B,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,kBAAkB,GAClB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EACN,+BAA+B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,oCAAoC,EACzC,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,GAC/B,MAAM,0CAA0C,CAAC;AAClD,YAAY,EACX,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,YAAY,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,KAAK,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACN,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,GAC7B,MAAM,mBAAmB,CAAC"}
|
|
@@ -25,5 +25,9 @@ export declare function solflare(options?: Parameters<typeof createWalletStandar
|
|
|
25
25
|
* Factory for a Backpack-only connector.
|
|
26
26
|
*/
|
|
27
27
|
export declare function backpack(options?: Parameters<typeof createWalletStandardConnector>[1]): readonly WalletConnector[];
|
|
28
|
+
/**
|
|
29
|
+
* Factory for a MetaMask-only connector.
|
|
30
|
+
*/
|
|
31
|
+
export declare function metamask(options?: Parameters<typeof createWalletStandardConnector>[1]): readonly WalletConnector[];
|
|
28
32
|
export {};
|
|
29
33
|
//# sourceMappingURL=connectors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../../src/wallet/connectors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAE3D,KAAK,gBAAgB,GAAG,QAAQ,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CACrC,CAAC,CAAC;AAEH;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,eAAe,EAAE,CAYvF;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAuBvG;AAOD;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKjH;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKlH;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKlH"}
|
|
1
|
+
{"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../../src/wallet/connectors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAE3D,KAAK,gBAAgB,GAAG,QAAQ,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CACrC,CAAC,CAAC;AAEH;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,eAAe,EAAE,CAYvF;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAuBvG;AAOD;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKjH;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKlH;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKlH;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,EAAE,CAKlH"}
|