@farcaster/frame-sdk 0.0.0-canary-20250515203543 → 0.0.0-canary-20250516031050
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/ethereumProvider.js
CHANGED
|
@@ -53,7 +53,10 @@ export const ethereumProvider = Provider.from({
|
|
|
53
53
|
export async function getEthereumProvider() {
|
|
54
54
|
try {
|
|
55
55
|
const capabilities = await frameHost.getCapabilities();
|
|
56
|
-
if (!capabilities.includes('wallet.getEthereumProvider')
|
|
56
|
+
if (!capabilities.includes('wallet.getEthereumProvider') &&
|
|
57
|
+
!capabilities.includes('wallet.getEvmProvider')) {
|
|
58
|
+
// We used getEvmProvider for a short period before getEthereumProvider.
|
|
59
|
+
// In case we're talking to an old host, we check the old key.
|
|
57
60
|
return undefined;
|
|
58
61
|
}
|
|
59
62
|
return ethereumProvider;
|
package/dist/index.min.js
CHANGED
|
@@ -10,7 +10,7 @@ ${n}. `+s+o;break;case"simulate":c=`Simulation failed.
|
|
|
10
10
|
Message: ${n}.
|
|
11
11
|
`+s+o;break;default:c=`Unknown action '${(u=>u)(e)}'`}super(c),this.signature=void 0,this.transactionMessage=void 0,this.transactionLogs=void 0,this.signature=t,this.transactionMessage=n,this.transactionLogs=i||void 0}get transactionError(){return{message:this.transactionMessage,logs:Array.isArray(this.transactionLogs)?this.transactionLogs:void 0}}get logs(){let e=this.transactionLogs;if(!(e!=null&&typeof e=="object"&&"then"in e))return e}async getLogs(e){return Array.isArray(this.transactionLogs)||(this.transactionLogs=new Promise((t,n)=>{e.getTransaction(this.signature).then(i=>{if(i&&i.meta&&i.meta.logMessages){let s=i.meta.logMessages;this.transactionLogs=s,t(s)}else n(new Error("Log messages not found"))}).catch(n)})),await this.transactionLogs}};var Q=class extends Error{constructor({code:e,message:t,data:n},i){super(i!=null?`${i}: ${t}`:t),this.code=void 0,this.data=void 0,this.code=e,this.data=n,this.name="SolanaJSONRPCError"}};async function $d(r,e,t,n){let i=n&&{skipPreflight:n.skipPreflight,preflightCommitment:n.preflightCommitment||n.commitment,maxRetries:n.maxRetries,minContextSlot:n.minContextSlot},s=await r.sendTransaction(e,t,i),o;if(e.recentBlockhash!=null&&e.lastValidBlockHeight!=null)o=(await r.confirmTransaction({abortSignal:n?.abortSignal,signature:s,blockhash:e.recentBlockhash,lastValidBlockHeight:e.lastValidBlockHeight},n&&n.commitment)).value;else if(e.minNonceContextSlot!=null&&e.nonceInfo!=null){let{nonceInstruction:c}=e.nonceInfo,u=c.keys[0].pubkey;o=(await r.confirmTransaction({abortSignal:n?.abortSignal,minContextSlot:e.minNonceContextSlot,nonceAccountPubkey:u,nonceValue:e.nonceInfo.nonce,signature:s},n&&n.commitment)).value}else n?.abortSignal!=null&&console.warn("sendAndConfirmTransaction(): A transaction with a deprecated confirmation strategy was supplied along with an `abortSignal`. Only transactions having `lastValidBlockHeight` or a combination of `nonceInfo` and `minNonceContextSlot` are abortable."),o=(await r.confirmTransaction(s,n&&n.commitment)).value;if(o.err)throw s!=null?new cs({action:"send",signature:s,transactionMessage:`Status: (${JSON.stringify(o)})`}):new Error(`Transaction ${s} failed (${JSON.stringify(o)})`);return s}function Wn(r){return new Promise(e=>setTimeout(e,r))}function we(r,e){let t=r.layout.span>=0?r.layout.span:oh(r,e),n=ae.Buffer.alloc(t),i=Object.assign({instruction:r.index},e);return r.layout.encode(i,n),n}var x1=E.nu64("lamportsPerSignature"),fh=E.struct([E.u32("version"),E.u32("state"),ye("authorizedPubkey"),ye("nonce"),E.struct([x1],"feeCalculator")]),Wd=fh.span,yu=class r{constructor(e){this.authorizedPubkey=void 0,this.nonce=void 0,this.feeCalculator=void 0,this.authorizedPubkey=e.authorizedPubkey,this.nonce=e.nonce,this.feeCalculator=e.feeCalculator}static fromAccountData(e){let t=fh.decode(_e(e),0);return new r({authorizedPubkey:new ce(t.authorizedPubkey),nonce:new ce(t.nonce).toString(),feeCalculator:t.feeCalculator})}};function vi(r){let e=(0,nh.blob)(8,r),t=e.decode.bind(e),n=e.encode.bind(e),i=e,s=Kl();return i.decode=(o,c)=>{let u=t(o,c);return s.decode(u)},i.encode=(o,c,u)=>{let p=s.encode(o);return n(p,c,u)},i}var nr=Object.freeze({Create:{index:0,layout:E.struct([E.u32("instruction"),E.ns64("lamports"),E.ns64("space"),ye("programId")])},Assign:{index:1,layout:E.struct([E.u32("instruction"),ye("programId")])},Transfer:{index:2,layout:E.struct([E.u32("instruction"),vi("lamports")])},CreateWithSeed:{index:3,layout:E.struct([E.u32("instruction"),ye("base"),bi("seed"),E.ns64("lamports"),E.ns64("space"),ye("programId")])},AdvanceNonceAccount:{index:4,layout:E.struct([E.u32("instruction")])},WithdrawNonceAccount:{index:5,layout:E.struct([E.u32("instruction"),E.ns64("lamports")])},InitializeNonceAccount:{index:6,layout:E.struct([E.u32("instruction"),ye("authorized")])},AuthorizeNonceAccount:{index:7,layout:E.struct([E.u32("instruction"),ye("authorized")])},Allocate:{index:8,layout:E.struct([E.u32("instruction"),E.ns64("space")])},AllocateWithSeed:{index:9,layout:E.struct([E.u32("instruction"),ye("base"),bi("seed"),E.ns64("space"),ye("programId")])},AssignWithSeed:{index:10,layout:E.struct([E.u32("instruction"),ye("base"),bi("seed"),ye("programId")])},TransferWithSeed:{index:11,layout:E.struct([E.u32("instruction"),vi("lamports"),bi("seed"),ye("programId")])},UpgradeNonceAccount:{index:12,layout:E.struct([E.u32("instruction")])}}),Dt=class r{constructor(){}static createAccount(e){let t=nr.Create,n=we(t,{lamports:e.lamports,space:e.space,programId:_e(e.programId.toBuffer())});return new Te({keys:[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.newAccountPubkey,isSigner:!0,isWritable:!0}],programId:this.programId,data:n})}static transfer(e){let t,n;if("basePubkey"in e){let i=nr.TransferWithSeed;t=we(i,{lamports:BigInt(e.lamports),seed:e.seed,programId:_e(e.programId.toBuffer())}),n=[{pubkey:e.fromPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0}]}else{let i=nr.Transfer;t=we(i,{lamports:BigInt(e.lamports)}),n=[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0}]}return new Te({keys:n,programId:this.programId,data:t})}static assign(e){let t,n;if("basePubkey"in e){let i=nr.AssignWithSeed;t=we(i,{base:_e(e.basePubkey.toBuffer()),seed:e.seed,programId:_e(e.programId.toBuffer())}),n=[{pubkey:e.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1}]}else{let i=nr.Assign;t=we(i,{programId:_e(e.programId.toBuffer())}),n=[{pubkey:e.accountPubkey,isSigner:!0,isWritable:!0}]}return new Te({keys:n,programId:this.programId,data:t})}static createAccountWithSeed(e){let t=nr.CreateWithSeed,n=we(t,{base:_e(e.basePubkey.toBuffer()),seed:e.seed,lamports:e.lamports,space:e.space,programId:_e(e.programId.toBuffer())}),i=[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.newAccountPubkey,isSigner:!1,isWritable:!0}];return e.basePubkey.equals(e.fromPubkey)||i.push({pubkey:e.basePubkey,isSigner:!0,isWritable:!1}),new Te({keys:i,programId:this.programId,data:n})}static createNonceAccount(e){let t=new Se;"basePubkey"in e&&"seed"in e?t.add(r.createAccountWithSeed({fromPubkey:e.fromPubkey,newAccountPubkey:e.noncePubkey,basePubkey:e.basePubkey,seed:e.seed,lamports:e.lamports,space:Wd,programId:this.programId})):t.add(r.createAccount({fromPubkey:e.fromPubkey,newAccountPubkey:e.noncePubkey,lamports:e.lamports,space:Wd,programId:this.programId}));let n={noncePubkey:e.noncePubkey,authorizedPubkey:e.authorizedPubkey};return t.add(this.nonceInitialize(n)),t}static nonceInitialize(e){let t=nr.InitializeNonceAccount,n=we(t,{authorized:_e(e.authorizedPubkey.toBuffer())}),i={keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:ou,isSigner:!1,isWritable:!1},{pubkey:as,isSigner:!1,isWritable:!1}],programId:this.programId,data:n};return new Te(i)}static nonceAdvance(e){let t=nr.AdvanceNonceAccount,n=we(t),i={keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:ou,isSigner:!1,isWritable:!1},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:n};return new Te(i)}static nonceWithdraw(e){let t=nr.WithdrawNonceAccount,n=we(t,{lamports:e.lamports});return new Te({keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0},{pubkey:ou,isSigner:!1,isWritable:!1},{pubkey:as,isSigner:!1,isWritable:!1},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:n})}static nonceAuthorize(e){let t=nr.AuthorizeNonceAccount,n=we(t,{authorized:_e(e.newAuthorizedPubkey.toBuffer())});return new Te({keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:n})}static allocate(e){let t,n;if("basePubkey"in e){let i=nr.AllocateWithSeed;t=we(i,{base:_e(e.basePubkey.toBuffer()),seed:e.seed,space:e.space,programId:_e(e.programId.toBuffer())}),n=[{pubkey:e.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1}]}else{let i=nr.Allocate;t=we(i,{space:e.space}),n=[{pubkey:e.accountPubkey,isSigner:!0,isWritable:!0}]}return new Te({keys:n,programId:this.programId,data:t})}};Dt.programId=new ce("11111111111111111111111111111111");var I1=jn-300,_u=class r{constructor(){}static getMinNumSignatures(e){return 2*(Math.ceil(e/r.chunkSize)+1+1)}static async load(e,t,n,i,s){{let b=await e.getMinimumBalanceForRentExemption(s.length),A=await e.getAccountInfo(n.publicKey,"confirmed"),S=null;if(A!==null){if(A.executable)return console.error("Program load failed, account is already executable"),!1;A.data.length!==s.length&&(S=S||new Se,S.add(Dt.allocate({accountPubkey:n.publicKey,space:s.length}))),A.owner.equals(i)||(S=S||new Se,S.add(Dt.assign({accountPubkey:n.publicKey,programId:i}))),A.lamports<b&&(S=S||new Se,S.add(Dt.transfer({fromPubkey:t.publicKey,toPubkey:n.publicKey,lamports:b-A.lamports})))}else S=new Se().add(Dt.createAccount({fromPubkey:t.publicKey,newAccountPubkey:n.publicKey,lamports:b>0?b:1,space:s.length,programId:i}));S!==null&&await $d(e,S,[t,n],{commitment:"confirmed"})}let o=E.struct([E.u32("instruction"),E.u32("offset"),E.u32("bytesLength"),E.u32("bytesLengthPadding"),E.seq(E.u8("byte"),E.offset(E.u32(),-8),"bytes")]),c=r.chunkSize,u=0,p=s,m=[];for(;p.length>0;){let b=p.slice(0,c),A=ae.Buffer.alloc(c+16);o.encode({instruction:0,offset:u,bytes:b,bytesLength:0,bytesLengthPadding:0},A);let S=new Se().add({keys:[{pubkey:n.publicKey,isSigner:!0,isWritable:!0}],programId:i,data:A});m.push($d(e,S,[t,n],{commitment:"confirmed"})),e._rpcEndpoint.includes("solana.com")&&await Wn(1e3/4),u+=c,p=p.slice(c)}await Promise.all(m);{let b=E.struct([E.u32("instruction")]),A=ae.Buffer.alloc(b.span);b.encode({instruction:1},A);let S=new Se().add({keys:[{pubkey:n.publicKey,isSigner:!0,isWritable:!0},{pubkey:as,isSigner:!1,isWritable:!1}],programId:i,data:A}),T="processed",I=await e.sendTransaction(S,[t,n],{preflightCommitment:T}),{context:x,value:B}=await e.confirmTransaction({signature:I,lastValidBlockHeight:S.lastValidBlockHeight,blockhash:S.recentBlockhash},T);if(B.err)throw new Error(`Transaction ${I} failed (${JSON.stringify(B)})`);for(;;){try{if(await e.getSlot({commitment:T})>x.slot)break}catch{}await new Promise(U=>setTimeout(U,Math.round(uh/2)))}}return!0}};_u.chunkSize=I1;var DA=new ce("BPFLoader2111111111111111111111111111111111");function O1(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var cu,qd;function k1(){if(qd)return cu;qd=1;var r=Object.prototype.toString,e=Object.keys||function(n){var i=[];for(var s in n)i.push(s);return i};function t(n,i){var s,o,c,u,p,m,b;if(n===!0)return"true";if(n===!1)return"false";switch(typeof n){case"object":if(n===null)return null;if(n.toJSON&&typeof n.toJSON=="function")return t(n.toJSON(),i);if(b=r.call(n),b==="[object Array]"){for(c="[",o=n.length-1,s=0;s<o;s++)c+=t(n[s],!0)+",";return o>-1&&(c+=t(n[s],!0)),c+"]"}else if(b==="[object Object]"){for(u=e(n).sort(),o=u.length,c="",s=0;s<o;)p=u[s],m=t(n[p],!1),m!==void 0&&(c&&(c+=","),c+=JSON.stringify(p)+":"+m),s++;return"{"+c+"}"}else return JSON.stringify(n);case"function":case"undefined":return i?null:void 0;case"string":return JSON.stringify(n);default:return isFinite(n)?n:null}}return cu=function(n){var i=t(n,!1);if(i!==void 0)return""+i},cu}var T1=k1(),jd=O1(T1),is=32;function uu(r){let e=0;for(;r>1;)r/=2,e++;return e}function N1(r){return r===0?1:(r--,r|=r>>1,r|=r>>2,r|=r>>4,r|=r>>8,r|=r>>16,r|=r>>32,r+1)}var bu=class{constructor(e,t,n,i,s){this.slotsPerEpoch=void 0,this.leaderScheduleSlotOffset=void 0,this.warmup=void 0,this.firstNormalEpoch=void 0,this.firstNormalSlot=void 0,this.slotsPerEpoch=e,this.leaderScheduleSlotOffset=t,this.warmup=n,this.firstNormalEpoch=i,this.firstNormalSlot=s}getEpoch(e){return this.getEpochAndSlotIndex(e)[0]}getEpochAndSlotIndex(e){if(e<this.firstNormalSlot){let t=uu(N1(e+is+1))-uu(is)-1,n=this.getSlotsInEpoch(t),i=e-(n-is);return[t,i]}else{let t=e-this.firstNormalSlot,n=Math.floor(t/this.slotsPerEpoch),i=this.firstNormalEpoch+n,s=t%this.slotsPerEpoch;return[i,s]}}getFirstSlotInEpoch(e){return e<=this.firstNormalEpoch?(Math.pow(2,e)-1)*is:(e-this.firstNormalEpoch)*this.slotsPerEpoch+this.firstNormalSlot}getLastSlotInEpoch(e){return this.getFirstSlotInEpoch(e)+this.getSlotsInEpoch(e)-1}getSlotsInEpoch(e){return e<this.firstNormalEpoch?Math.pow(2,e+uu(is)):this.slotsPerEpoch}},B1=globalThis.fetch,wu=class extends Ad{constructor(e,t,n){let i=s=>{let o=Sd(s,{autoconnect:!0,max_reconnects:5,reconnect:!0,reconnect_interval:1e3,...t});return"socket"in o?this.underlyingSocket=o.socket:this.underlyingSocket=o,o};super(i,e,t,n),this.underlyingSocket=void 0}call(...e){let t=this.underlyingSocket?.readyState;return t===1?super.call(...e):Promise.reject(new Error("Tried to call a JSON-RPC method `"+e[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+t+")"))}notify(...e){let t=this.underlyingSocket?.readyState;return t===1?super.notify(...e):Promise.reject(new Error("Tried to send a JSON-RPC notification `"+e[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+t+")"))}};function L1(r,e){let t;try{t=r.layout.decode(e)}catch(n){throw new Error("invalid instruction; "+n)}if(t.typeIndex!==r.index)throw new Error(`invalid account data; account type mismatch ${t.typeIndex} != ${r.index}`);return t}var Kd=56,Go=class{constructor(e){this.key=void 0,this.state=void 0,this.key=e.key,this.state=e.state}isActive(){let e=BigInt("0xffffffffffffffff");return this.state.deactivationSlot===e}static deserialize(e){let t=L1(C1,e),n=e.length-Kd;xe(n>=0,"lookup table is invalid"),xe(n%32===0,"lookup table is invalid");let i=n/32,{addresses:s}=E.struct([E.seq(ye(),i,"addresses")]).decode(e.slice(Kd));return{deactivationSlot:t.deactivationSlot,lastExtendedSlot:t.lastExtendedSlot,lastExtendedSlotStartIndex:t.lastExtendedStartIndex,authority:t.authority.length!==0?new ce(t.authority[0]):void 0,addresses:s.map(o=>new ce(o))}}},C1={index:1,layout:E.struct([E.u32("typeIndex"),vi("deactivationSlot"),E.nu64("lastExtendedSlot"),E.u8("lastExtendedStartIndex"),E.u8(),E.seq(ye(),E.offset(E.u8(),-1),"authority")])},P1=/^[^:]+:\/\/([^:[]+|\[[^\]]+\])(:\d+)?(.*)/i;function M1(r){let e=r.match(P1);if(e==null)throw TypeError(`Failed to validate endpoint URL \`${r}\``);let[t,n,i,s]=e,o=r.startsWith("https:")?"wss:":"ws:",c=i==null?null:parseInt(i.slice(1),10),u=c==null?"":`:${c+1}`;return`${o}//${n}${u}${s}`}var qe=_i(ko(ce),z(),r=>new ce(r)),lh=To([z(),Me("base64")]),Nu=_i(ko(ae.Buffer),lh,r=>ae.Buffer.from(r[0],"base64")),U1=30*1e3;function D1(r){if(/^https?:/.test(r)===!1)throw new TypeError("Endpoint URL must start with `http:` or `https:`.");return r}function Be(r){let e,t;if(typeof r=="string")e=r;else if(r){let{commitment:n,...i}=r;e=n,t=i}return{commitment:e,config:t}}function Hd(r){return r.map(e=>"memcmp"in e?{...e,memcmp:{...e.memcmp,encoding:e.memcmp.encoding??"base58"}}:e)}function dh(r){return Ot([P({jsonrpc:Me("2.0"),id:z(),result:r}),P({jsonrpc:Me("2.0"),id:z(),error:P({code:$n(),message:z(),data:ne(Yl())})})])}var z1=dh($n());function ge(r){return _i(dh(r),z1,e=>"error"in e?e:{...e,result:$(e.result,r)})}function Ze(r){return ge(P({context:P({slot:O()}),value:r}))}function Qo(r){return P({context:P({slot:O()}),value:r})}function fu(r,e){return r===0?new Ko({header:e.header,staticAccountKeys:e.accountKeys.map(t=>new ce(t)),recentBlockhash:e.recentBlockhash,compiledInstructions:e.instructions.map(t=>({programIdIndex:t.programIdIndex,accountKeyIndexes:t.accounts,data:vt.default.decode(t.data)})),addressTableLookups:e.addressTableLookups}):new ln(e)}var F1=P({foundation:O(),foundationTerm:O(),initial:O(),taper:O(),terminal:O()}),V1=ge(W(j(P({epoch:O(),effectiveSlot:O(),amount:O(),postBalance:O(),commission:ne(j(O()))})))),$1=W(P({slot:O(),prioritizationFee:O()})),W1=P({total:O(),validator:O(),foundation:O(),epoch:O()}),q1=P({epoch:O(),slotIndex:O(),slotsInEpoch:O(),absoluteSlot:O(),blockHeight:ne(O()),transactionCount:ne(O())}),j1=P({slotsPerEpoch:O(),leaderScheduleSlotOffset:O(),warmup:ur(),firstNormalEpoch:O(),firstNormalSlot:O()}),K1=qc(z(),W(O())),Kn=j(Ot([P({}),z()])),H1=P({err:Kn}),G1=Me("receivedSignature"),Z1=P({"solana-core":z(),"feature-set":ne(O())}),Y1=P({program:z(),programId:qe,parsed:$n()}),X1=P({programId:qe,accounts:W(qe),data:z()}),Gd=Ze(P({err:j(Ot([P({}),z()])),logs:j(W(z())),accounts:ne(j(W(j(P({executable:ur(),owner:z(),lamports:O(),data:W(z()),rentEpoch:ne(O())}))))),unitsConsumed:ne(O()),returnData:ne(j(P({programId:z(),data:To([z(),Me("base64")])}))),innerInstructions:ne(j(W(P({index:O(),instructions:W(Ot([Y1,X1]))}))))})),J1=Ze(P({byIdentity:qc(z(),W(O())),range:P({firstSlot:O(),lastSlot:O()})}));function Q1(r,e,t,n,i,s){let o=t||B1,c;s!=null&&console.warn("You have supplied an `httpAgent` when creating a `Connection` in a browser environment.It has been ignored; `httpAgent` is only used in Node environments.");let u;return n&&(u=async(m,b)=>{let A=await new Promise((S,T)=>{try{n(m,b,(I,x)=>S([I,x]))}catch(I){T(I)}});return await o(...A)}),new ih.default(async(m,b)=>{let A={method:"POST",body:m,agent:c,headers:Object.assign({"Content-Type":"application/json"},e||{},Qv)};try{let S=5,T,I=500;for(;u?T=await u(r,A):T=await o(r,A),!(T.status!==429||i===!0||(S-=1,S===0));)console.error(`Server responded with ${T.status} ${T.statusText}. Retrying after ${I}ms delay...`),await Wn(I),I*=2;let x=await T.text();T.ok?b(null,x):b(new Error(`${T.status} ${T.statusText}: ${x}`))}catch(S){S instanceof Error&&b(S)}},{})}function ev(r){return(e,t)=>new Promise((n,i)=>{r.request(e,t,(s,o)=>{if(s){i(s);return}n(o)})})}function tv(r){return e=>new Promise((t,n)=>{e.length===0&&t([]);let i=e.map(s=>r.request(s.methodName,s.args));r.request(i,(s,o)=>{if(s){n(s);return}t(o)})})}var rv=ge(F1),nv=ge(W1),iv=ge($1),sv=ge(q1),ov=ge(j1),av=ge(K1),cv=ge(O()),uv=Ze(P({total:O(),circulating:O(),nonCirculating:O(),nonCirculatingAccounts:W(qe)})),vu=P({amount:z(),uiAmount:j(O()),decimals:O(),uiAmountString:ne(z())}),fv=Ze(W(P({address:qe,amount:z(),uiAmount:j(O()),decimals:O(),uiAmountString:ne(z())}))),lv=Ze(W(P({pubkey:qe,account:P({executable:ur(),owner:qe,lamports:O(),data:Nu,rentEpoch:O()})}))),Eu=P({program:z(),parsed:$n(),space:O()}),dv=Ze(W(P({pubkey:qe,account:P({executable:ur(),owner:qe,lamports:O(),data:Eu,rentEpoch:O()})}))),hv=Ze(W(P({lamports:O(),address:qe}))),us=P({executable:ur(),owner:qe,lamports:O(),data:Nu,rentEpoch:O()}),pv=P({pubkey:qe,account:us}),mv=_i(Ot([ko(ae.Buffer),Eu]),Ot([lh,Eu]),r=>Array.isArray(r)?$(r,Nu):r),Ru=P({executable:ur(),owner:qe,lamports:O(),data:mv,rentEpoch:O()}),gv=P({pubkey:qe,account:Ru}),yv=P({state:Ot([Me("active"),Me("inactive"),Me("activating"),Me("deactivating")]),active:O(),inactive:O()}),_v=ge(W(P({signature:z(),slot:O(),err:Kn,memo:j(z()),blockTime:ne(j(O()))}))),bv=ge(W(P({signature:z(),slot:O(),err:Kn,memo:j(z()),blockTime:ne(j(O()))}))),wv=P({subscription:O(),result:Qo(us)}),vv=P({pubkey:qe,account:us}),Ev=P({subscription:O(),result:Qo(vv)}),Rv=P({parent:O(),slot:O(),root:O()}),Sv=P({subscription:O(),result:Rv}),Av=Ot([P({type:Ot([Me("firstShredReceived"),Me("completed"),Me("optimisticConfirmation"),Me("root")]),slot:O(),timestamp:O()}),P({type:Me("createdBank"),parent:O(),slot:O(),timestamp:O()}),P({type:Me("frozen"),slot:O(),timestamp:O(),stats:P({numTransactionEntries:O(),numSuccessfulTransactions:O(),numFailedTransactions:O(),maxTransactionsPerEntry:O()})}),P({type:Me("dead"),slot:O(),timestamp:O(),err:z()})]),xv=P({subscription:O(),result:Av}),Iv=P({subscription:O(),result:Qo(Ot([H1,G1]))}),Ov=P({subscription:O(),result:O()}),kv=P({pubkey:z(),gossip:j(z()),tpu:j(z()),rpc:j(z()),version:j(z())}),Zd=P({votePubkey:z(),nodePubkey:z(),activatedStake:O(),epochVoteAccount:ur(),epochCredits:W(To([O(),O(),O()])),commission:O(),lastVote:O(),rootSlot:j(O())}),Tv=ge(P({current:W(Zd),delinquent:W(Zd)})),Nv=Ot([Me("processed"),Me("confirmed"),Me("finalized")]),Bv=P({slot:O(),confirmations:j(O()),err:Kn,confirmationStatus:ne(Nv)}),Lv=Ze(W(j(Bv))),Cv=ge(O()),hh=P({accountKey:qe,writableIndexes:W(O()),readonlyIndexes:W(O())}),Bu=P({signatures:W(z()),message:P({accountKeys:W(z()),header:P({numRequiredSignatures:O(),numReadonlySignedAccounts:O(),numReadonlyUnsignedAccounts:O()}),instructions:W(P({accounts:W(O()),data:z(),programIdIndex:O()})),recentBlockhash:z(),addressTableLookups:ne(W(hh))})}),ph=P({pubkey:qe,signer:ur(),writable:ur(),source:ne(Ot([Me("transaction"),Me("lookupTable")]))}),mh=P({accountKeys:W(ph),signatures:W(z())}),gh=P({parsed:$n(),program:z(),programId:qe}),yh=P({accounts:W(qe),data:z(),programId:qe}),Pv=Ot([yh,gh]),Mv=Ot([P({parsed:$n(),program:z(),programId:z()}),P({accounts:W(z()),data:z(),programId:z()})]),_h=_i(Pv,Mv,r=>"accounts"in r?$(r,yh):$(r,gh)),bh=P({signatures:W(z()),message:P({accountKeys:W(ph),instructions:W(_h),recentBlockhash:z(),addressTableLookups:ne(j(W(hh)))})}),Zo=P({accountIndex:O(),mint:z(),owner:ne(z()),programId:ne(z()),uiTokenAmount:vu}),wh=P({writable:W(qe),readonly:W(qe)}),ea=P({err:Kn,fee:O(),innerInstructions:ne(j(W(P({index:O(),instructions:W(P({accounts:W(O()),data:z(),programIdIndex:O()}))})))),preBalances:W(O()),postBalances:W(O()),logMessages:ne(j(W(z()))),preTokenBalances:ne(j(W(Zo))),postTokenBalances:ne(j(W(Zo))),loadedAddresses:ne(wh),computeUnitsConsumed:ne(O())}),Lu=P({err:Kn,fee:O(),innerInstructions:ne(j(W(P({index:O(),instructions:W(_h)})))),preBalances:W(O()),postBalances:W(O()),logMessages:ne(j(W(z()))),preTokenBalances:ne(j(W(Zo))),postTokenBalances:ne(j(W(Zo))),loadedAddresses:ne(wh),computeUnitsConsumed:ne(O())}),Ri=Ot([Me(0),Me("legacy")]),Hn=P({pubkey:z(),lamports:O(),postBalance:j(O()),rewardType:j(z()),commission:ne(j(O()))}),Uv=ge(j(P({blockhash:z(),previousBlockhash:z(),parentSlot:O(),transactions:W(P({transaction:Bu,meta:j(ea),version:ne(Ri)})),rewards:ne(W(Hn)),blockTime:j(O()),blockHeight:j(O())}))),Dv=ge(j(P({blockhash:z(),previousBlockhash:z(),parentSlot:O(),rewards:ne(W(Hn)),blockTime:j(O()),blockHeight:j(O())}))),zv=ge(j(P({blockhash:z(),previousBlockhash:z(),parentSlot:O(),transactions:W(P({transaction:mh,meta:j(ea),version:ne(Ri)})),rewards:ne(W(Hn)),blockTime:j(O()),blockHeight:j(O())}))),Fv=ge(j(P({blockhash:z(),previousBlockhash:z(),parentSlot:O(),transactions:W(P({transaction:bh,meta:j(Lu),version:ne(Ri)})),rewards:ne(W(Hn)),blockTime:j(O()),blockHeight:j(O())}))),Vv=ge(j(P({blockhash:z(),previousBlockhash:z(),parentSlot:O(),transactions:W(P({transaction:mh,meta:j(Lu),version:ne(Ri)})),rewards:ne(W(Hn)),blockTime:j(O()),blockHeight:j(O())}))),$v=ge(j(P({blockhash:z(),previousBlockhash:z(),parentSlot:O(),rewards:ne(W(Hn)),blockTime:j(O()),blockHeight:j(O())}))),Wv=ge(j(P({blockhash:z(),previousBlockhash:z(),parentSlot:O(),transactions:W(P({transaction:Bu,meta:j(ea)})),rewards:ne(W(Hn)),blockTime:j(O())}))),Yd=ge(j(P({blockhash:z(),previousBlockhash:z(),parentSlot:O(),signatures:W(z()),blockTime:j(O())}))),lu=ge(j(P({slot:O(),meta:j(ea),blockTime:ne(j(O())),transaction:Bu,version:ne(Ri)}))),zo=ge(j(P({slot:O(),transaction:bh,meta:j(Lu),blockTime:ne(j(O())),version:ne(Ri)}))),qv=Ze(P({blockhash:z(),lastValidBlockHeight:O()})),jv=Ze(ur()),Kv=P({slot:O(),numTransactions:O(),numSlots:O(),samplePeriodSecs:O()}),Hv=ge(W(Kv)),Gv=Ze(j(P({feeCalculator:P({lamportsPerSignature:O()})}))),Zv=ge(z()),Yv=ge(z()),Xv=P({err:Kn,logs:W(z()),signature:z()}),Jv=P({result:Qo(Xv),subscription:O()}),Qv={"solana-client":"js/1.0.0-maintenance"},Yo=class{constructor(e,t){this._commitment=void 0,this._confirmTransactionInitialTimeout=void 0,this._rpcEndpoint=void 0,this._rpcWsEndpoint=void 0,this._rpcClient=void 0,this._rpcRequest=void 0,this._rpcBatchRequest=void 0,this._rpcWebSocket=void 0,this._rpcWebSocketConnected=!1,this._rpcWebSocketHeartbeat=null,this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketGeneration=0,this._disableBlockhashCaching=!1,this._pollingBlockhash=!1,this._blockhashInfo={latestBlockhash:null,lastFetch:0,transactionSignatures:[],simulatedSignatures:[]},this._nextClientSubscriptionId=0,this._subscriptionDisposeFunctionsByClientSubscriptionId={},this._subscriptionHashByClientSubscriptionId={},this._subscriptionStateChangeCallbacksByHash={},this._subscriptionCallbacksByServerSubscriptionId={},this._subscriptionsByHash={},this._subscriptionsAutoDisposedByRpc=new Set,this.getBlockHeight=(()=>{let p={};return async m=>{let{commitment:b,config:A}=Be(m),S=this._buildArgs([],b,void 0,A),T=jd(S);return p[T]=p[T]??(async()=>{try{let I=await this._rpcRequest("getBlockHeight",S),x=$(I,ge(O()));if("error"in x)throw new Q(x.error,"failed to get block height information");return x.result}finally{delete p[T]}})(),await p[T]}})();let n,i,s,o,c,u;t&&typeof t=="string"?this._commitment=t:t&&(this._commitment=t.commitment,this._confirmTransactionInitialTimeout=t.confirmTransactionInitialTimeout,n=t.wsEndpoint,i=t.httpHeaders,s=t.fetch,o=t.fetchMiddleware,c=t.disableRetryOnRateLimit,u=t.httpAgent),this._rpcEndpoint=D1(e),this._rpcWsEndpoint=n||M1(e),this._rpcClient=Q1(e,i,s,o,c,u),this._rpcRequest=ev(this._rpcClient),this._rpcBatchRequest=tv(this._rpcClient),this._rpcWebSocket=new wu(this._rpcWsEndpoint,{autoconnect:!1,max_reconnects:1/0}),this._rpcWebSocket.on("open",this._wsOnOpen.bind(this)),this._rpcWebSocket.on("error",this._wsOnError.bind(this)),this._rpcWebSocket.on("close",this._wsOnClose.bind(this)),this._rpcWebSocket.on("accountNotification",this._wsOnAccountNotification.bind(this)),this._rpcWebSocket.on("programNotification",this._wsOnProgramAccountNotification.bind(this)),this._rpcWebSocket.on("slotNotification",this._wsOnSlotNotification.bind(this)),this._rpcWebSocket.on("slotsUpdatesNotification",this._wsOnSlotUpdatesNotification.bind(this)),this._rpcWebSocket.on("signatureNotification",this._wsOnSignatureNotification.bind(this)),this._rpcWebSocket.on("rootNotification",this._wsOnRootNotification.bind(this)),this._rpcWebSocket.on("logsNotification",this._wsOnLogsNotification.bind(this))}get commitment(){return this._commitment}get rpcEndpoint(){return this._rpcEndpoint}async getBalanceAndContext(e,t){let{commitment:n,config:i}=Be(t),s=this._buildArgs([e.toBase58()],n,void 0,i),o=await this._rpcRequest("getBalance",s),c=$(o,Ze(O()));if("error"in c)throw new Q(c.error,`failed to get balance for ${e.toBase58()}`);return c.result}async getBalance(e,t){return await this.getBalanceAndContext(e,t).then(n=>n.value).catch(n=>{throw new Error("failed to get balance of account "+e.toBase58()+": "+n)})}async getBlockTime(e){let t=await this._rpcRequest("getBlockTime",[e]),n=$(t,ge(j(O())));if("error"in n)throw new Q(n.error,`failed to get block time for slot ${e}`);return n.result}async getMinimumLedgerSlot(){let e=await this._rpcRequest("minimumLedgerSlot",[]),t=$(e,ge(O()));if("error"in t)throw new Q(t.error,"failed to get minimum ledger slot");return t.result}async getFirstAvailableBlock(){let e=await this._rpcRequest("getFirstAvailableBlock",[]),t=$(e,cv);if("error"in t)throw new Q(t.error,"failed to get first available block");return t.result}async getSupply(e){let t={};typeof e=="string"?t={commitment:e}:e?t={...e,commitment:e&&e.commitment||this.commitment}:t={commitment:this.commitment};let n=await this._rpcRequest("getSupply",[t]),i=$(n,uv);if("error"in i)throw new Q(i.error,"failed to get supply");return i.result}async getTokenSupply(e,t){let n=this._buildArgs([e.toBase58()],t),i=await this._rpcRequest("getTokenSupply",n),s=$(i,Ze(vu));if("error"in s)throw new Q(s.error,"failed to get token supply");return s.result}async getTokenAccountBalance(e,t){let n=this._buildArgs([e.toBase58()],t),i=await this._rpcRequest("getTokenAccountBalance",n),s=$(i,Ze(vu));if("error"in s)throw new Q(s.error,"failed to get token account balance");return s.result}async getTokenAccountsByOwner(e,t,n){let{commitment:i,config:s}=Be(n),o=[e.toBase58()];"mint"in t?o.push({mint:t.mint.toBase58()}):o.push({programId:t.programId.toBase58()});let c=this._buildArgs(o,i,"base64",s),u=await this._rpcRequest("getTokenAccountsByOwner",c),p=$(u,lv);if("error"in p)throw new Q(p.error,`failed to get token accounts owned by account ${e.toBase58()}`);return p.result}async getParsedTokenAccountsByOwner(e,t,n){let i=[e.toBase58()];"mint"in t?i.push({mint:t.mint.toBase58()}):i.push({programId:t.programId.toBase58()});let s=this._buildArgs(i,n,"jsonParsed"),o=await this._rpcRequest("getTokenAccountsByOwner",s),c=$(o,dv);if("error"in c)throw new Q(c.error,`failed to get token accounts owned by account ${e.toBase58()}`);return c.result}async getLargestAccounts(e){let t={...e,commitment:e&&e.commitment||this.commitment},n=t.filter||t.commitment?[t]:[],i=await this._rpcRequest("getLargestAccounts",n),s=$(i,hv);if("error"in s)throw new Q(s.error,"failed to get largest accounts");return s.result}async getTokenLargestAccounts(e,t){let n=this._buildArgs([e.toBase58()],t),i=await this._rpcRequest("getTokenLargestAccounts",n),s=$(i,fv);if("error"in s)throw new Q(s.error,"failed to get token largest accounts");return s.result}async getAccountInfoAndContext(e,t){let{commitment:n,config:i}=Be(t),s=this._buildArgs([e.toBase58()],n,"base64",i),o=await this._rpcRequest("getAccountInfo",s),c=$(o,Ze(j(us)));if("error"in c)throw new Q(c.error,`failed to get info about account ${e.toBase58()}`);return c.result}async getParsedAccountInfo(e,t){let{commitment:n,config:i}=Be(t),s=this._buildArgs([e.toBase58()],n,"jsonParsed",i),o=await this._rpcRequest("getAccountInfo",s),c=$(o,Ze(j(Ru)));if("error"in c)throw new Q(c.error,`failed to get info about account ${e.toBase58()}`);return c.result}async getAccountInfo(e,t){try{return(await this.getAccountInfoAndContext(e,t)).value}catch(n){throw new Error("failed to get info about account "+e.toBase58()+": "+n)}}async getMultipleParsedAccounts(e,t){let{commitment:n,config:i}=Be(t),s=e.map(p=>p.toBase58()),o=this._buildArgs([s],n,"jsonParsed",i),c=await this._rpcRequest("getMultipleAccounts",o),u=$(c,Ze(W(j(Ru))));if("error"in u)throw new Q(u.error,`failed to get info for accounts ${s}`);return u.result}async getMultipleAccountsInfoAndContext(e,t){let{commitment:n,config:i}=Be(t),s=e.map(p=>p.toBase58()),o=this._buildArgs([s],n,"base64",i),c=await this._rpcRequest("getMultipleAccounts",o),u=$(c,Ze(W(j(us))));if("error"in u)throw new Q(u.error,`failed to get info for accounts ${s}`);return u.result}async getMultipleAccountsInfo(e,t){return(await this.getMultipleAccountsInfoAndContext(e,t)).value}async getStakeActivation(e,t,n){let{commitment:i,config:s}=Be(t),o=this._buildArgs([e.toBase58()],i,void 0,{...s,epoch:n??s?.epoch}),c=await this._rpcRequest("getStakeActivation",o),u=$(c,ge(yv));if("error"in u)throw new Q(u.error,`failed to get Stake Activation ${e.toBase58()}`);return u.result}async getProgramAccounts(e,t){let{commitment:n,config:i}=Be(t),{encoding:s,...o}=i||{},c=this._buildArgs([e.toBase58()],n,s||"base64",{...o,...o.filters?{filters:Hd(o.filters)}:null}),u=await this._rpcRequest("getProgramAccounts",c),p=W(pv),m=o.withContext===!0?$(u,Ze(p)):$(u,ge(p));if("error"in m)throw new Q(m.error,`failed to get accounts owned by program ${e.toBase58()}`);return m.result}async getParsedProgramAccounts(e,t){let{commitment:n,config:i}=Be(t),s=this._buildArgs([e.toBase58()],n,"jsonParsed",i),o=await this._rpcRequest("getProgramAccounts",s),c=$(o,ge(W(gv)));if("error"in c)throw new Q(c.error,`failed to get accounts owned by program ${e.toBase58()}`);return c.result}async confirmTransaction(e,t){let n;if(typeof e=="string")n=e;else{let s=e;if(s.abortSignal?.aborted)return Promise.reject(s.abortSignal.reason);n=s.signature}let i;try{i=vt.default.decode(n)}catch{throw new Error("signature must be base58 encoded: "+n)}return xe(i.length===64,"signature has invalid length"),typeof e=="string"?await this.confirmTransactionUsingLegacyTimeoutStrategy({commitment:t||this.commitment,signature:n}):"lastValidBlockHeight"in e?await this.confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:t||this.commitment,strategy:e}):await this.confirmTransactionUsingDurableNonceStrategy({commitment:t||this.commitment,strategy:e})}getCancellationPromise(e){return new Promise((t,n)=>{e!=null&&(e.aborted?n(e.reason):e.addEventListener("abort",()=>{n(e.reason)}))})}getTransactionConfirmationPromise({commitment:e,signature:t}){let n,i,s=!1,o=new Promise((u,p)=>{try{n=this.onSignature(t,(b,A)=>{n=void 0;let S={context:A,value:b};u({__type:cn.PROCESSED,response:S})},e);let m=new Promise(b=>{n==null?b():i=this._onSubscriptionStateChange(n,A=>{A==="subscribed"&&b()})});(async()=>{if(await m,s)return;let b=await this.getSignatureStatus(t);if(s||b==null)return;let{context:A,value:S}=b;if(S!=null)if(S?.err)p(S.err);else{switch(e){case"confirmed":case"single":case"singleGossip":{if(S.confirmationStatus==="processed")return;break}case"finalized":case"max":case"root":{if(S.confirmationStatus==="processed"||S.confirmationStatus==="confirmed")return;break}case"processed":case"recent":}s=!0,u({__type:cn.PROCESSED,response:{context:A,value:S}})}})()}catch(m){p(m)}});return{abortConfirmation:()=>{i&&(i(),i=void 0),n!=null&&(this.removeSignatureListener(n),n=void 0)},confirmationPromise:o}}async confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:e,strategy:{abortSignal:t,lastValidBlockHeight:n,signature:i}}){let s=!1,o=new Promise(b=>{let A=async()=>{try{return await this.getBlockHeight(e)}catch{return-1}};(async()=>{let S=await A();if(!s){for(;S<=n;)if(await Wn(1e3),s||(S=await A(),s))return;b({__type:cn.BLOCKHEIGHT_EXCEEDED})}})()}),{abortConfirmation:c,confirmationPromise:u}=this.getTransactionConfirmationPromise({commitment:e,signature:i}),p=this.getCancellationPromise(t),m;try{let b=await Promise.race([p,u,o]);if(b.__type===cn.PROCESSED)m=b.response;else throw new Wo(i)}finally{s=!0,c()}return m}async confirmTransactionUsingDurableNonceStrategy({commitment:e,strategy:{abortSignal:t,minContextSlot:n,nonceAccountPubkey:i,nonceValue:s,signature:o}}){let c=!1,u=new Promise(S=>{let T=s,I=null,x=async()=>{try{let{context:B,value:U}=await this.getNonceAndContext(i,{commitment:e,minContextSlot:n});return I=B.slot,U?.nonce}catch{return T}};(async()=>{if(T=await x(),!c)for(;;){if(s!==T){S({__type:cn.NONCE_INVALID,slotInWhichNonceDidAdvance:I});return}if(await Wn(2e3),c||(T=await x(),c))return}})()}),{abortConfirmation:p,confirmationPromise:m}=this.getTransactionConfirmationPromise({commitment:e,signature:o}),b=this.getCancellationPromise(t),A;try{let S=await Promise.race([b,m,u]);if(S.__type===cn.PROCESSED)A=S.response;else{let T;for(;;){let I=await this.getSignatureStatus(o);if(I==null)break;if(I.context.slot<(S.slotInWhichNonceDidAdvance??n)){await Wn(400);continue}T=I;break}if(T?.value){let I=e||"finalized",{confirmationStatus:x}=T.value;switch(I){case"processed":case"recent":if(x!=="processed"&&x!=="confirmed"&&x!=="finalized")throw new qn(o);break;case"confirmed":case"single":case"singleGossip":if(x!=="confirmed"&&x!=="finalized")throw new qn(o);break;case"finalized":case"max":case"root":if(x!=="finalized")throw new qn(o);break;default:}A={context:T.context,value:{err:T.value.err}}}else throw new qn(o)}}finally{c=!0,p()}return A}async confirmTransactionUsingLegacyTimeoutStrategy({commitment:e,signature:t}){let n,i=new Promise(u=>{let p=this._confirmTransactionInitialTimeout||6e4;switch(e){case"processed":case"recent":case"single":case"confirmed":case"singleGossip":{p=this._confirmTransactionInitialTimeout||3e4;break}}n=setTimeout(()=>u({__type:cn.TIMED_OUT,timeoutMs:p}),p)}),{abortConfirmation:s,confirmationPromise:o}=this.getTransactionConfirmationPromise({commitment:e,signature:t}),c;try{let u=await Promise.race([o,i]);if(u.__type===cn.PROCESSED)c=u.response;else throw new qo(t,u.timeoutMs/1e3)}finally{clearTimeout(n),s()}return c}async getClusterNodes(){let e=await this._rpcRequest("getClusterNodes",[]),t=$(e,ge(W(kv)));if("error"in t)throw new Q(t.error,"failed to get cluster nodes");return t.result}async getVoteAccounts(e){let t=this._buildArgs([],e),n=await this._rpcRequest("getVoteAccounts",t),i=$(n,Tv);if("error"in i)throw new Q(i.error,"failed to get vote accounts");return i.result}async getSlot(e){let{commitment:t,config:n}=Be(e),i=this._buildArgs([],t,void 0,n),s=await this._rpcRequest("getSlot",i),o=$(s,ge(O()));if("error"in o)throw new Q(o.error,"failed to get slot");return o.result}async getSlotLeader(e){let{commitment:t,config:n}=Be(e),i=this._buildArgs([],t,void 0,n),s=await this._rpcRequest("getSlotLeader",i),o=$(s,ge(z()));if("error"in o)throw new Q(o.error,"failed to get slot leader");return o.result}async getSlotLeaders(e,t){let n=[e,t],i=await this._rpcRequest("getSlotLeaders",n),s=$(i,ge(W(qe)));if("error"in s)throw new Q(s.error,"failed to get slot leaders");return s.result}async getSignatureStatus(e,t){let{context:n,value:i}=await this.getSignatureStatuses([e],t);xe(i.length===1);let s=i[0];return{context:n,value:s}}async getSignatureStatuses(e,t){let n=[e];t&&n.push(t);let i=await this._rpcRequest("getSignatureStatuses",n),s=$(i,Lv);if("error"in s)throw new Q(s.error,"failed to get signature status");return s.result}async getTransactionCount(e){let{commitment:t,config:n}=Be(e),i=this._buildArgs([],t,void 0,n),s=await this._rpcRequest("getTransactionCount",i),o=$(s,ge(O()));if("error"in o)throw new Q(o.error,"failed to get transaction count");return o.result}async getTotalSupply(e){return(await this.getSupply({commitment:e,excludeNonCirculatingAccountsList:!0})).value.total}async getInflationGovernor(e){let t=this._buildArgs([],e),n=await this._rpcRequest("getInflationGovernor",t),i=$(n,rv);if("error"in i)throw new Q(i.error,"failed to get inflation");return i.result}async getInflationReward(e,t,n){let{commitment:i,config:s}=Be(n),o=this._buildArgs([e.map(p=>p.toBase58())],i,void 0,{...s,epoch:t??s?.epoch}),c=await this._rpcRequest("getInflationReward",o),u=$(c,V1);if("error"in u)throw new Q(u.error,"failed to get inflation reward");return u.result}async getInflationRate(){let e=await this._rpcRequest("getInflationRate",[]),t=$(e,nv);if("error"in t)throw new Q(t.error,"failed to get inflation rate");return t.result}async getEpochInfo(e){let{commitment:t,config:n}=Be(e),i=this._buildArgs([],t,void 0,n),s=await this._rpcRequest("getEpochInfo",i),o=$(s,sv);if("error"in o)throw new Q(o.error,"failed to get epoch info");return o.result}async getEpochSchedule(){let e=await this._rpcRequest("getEpochSchedule",[]),t=$(e,ov);if("error"in t)throw new Q(t.error,"failed to get epoch schedule");let n=t.result;return new bu(n.slotsPerEpoch,n.leaderScheduleSlotOffset,n.warmup,n.firstNormalEpoch,n.firstNormalSlot)}async getLeaderSchedule(){let e=await this._rpcRequest("getLeaderSchedule",[]),t=$(e,av);if("error"in t)throw new Q(t.error,"failed to get leader schedule");return t.result}async getMinimumBalanceForRentExemption(e,t){let n=this._buildArgs([e],t),i=await this._rpcRequest("getMinimumBalanceForRentExemption",n),s=$(i,Cv);return"error"in s?(console.warn("Unable to fetch minimum balance for rent exemption"),0):s.result}async getRecentBlockhashAndContext(e){let{context:t,value:{blockhash:n}}=await this.getLatestBlockhashAndContext(e);return{context:t,value:{blockhash:n,feeCalculator:{get lamportsPerSignature(){throw new Error("The capability to fetch `lamportsPerSignature` using the `getRecentBlockhash` API is no longer offered by the network. Use the `getFeeForMessage` API to obtain the fee for a given message.")},toJSON(){return{}}}}}}async getRecentPerformanceSamples(e){let t=await this._rpcRequest("getRecentPerformanceSamples",e?[e]:[]),n=$(t,Hv);if("error"in n)throw new Q(n.error,"failed to get recent performance samples");return n.result}async getFeeCalculatorForBlockhash(e,t){let n=this._buildArgs([e],t),i=await this._rpcRequest("getFeeCalculatorForBlockhash",n),s=$(i,Gv);if("error"in s)throw new Q(s.error,"failed to get fee calculator");let{context:o,value:c}=s.result;return{context:o,value:c!==null?c.feeCalculator:null}}async getFeeForMessage(e,t){let n=_e(e.serialize()).toString("base64"),i=this._buildArgs([n],t),s=await this._rpcRequest("getFeeForMessage",i),o=$(s,Ze(j(O())));if("error"in o)throw new Q(o.error,"failed to get fee for message");if(o.result===null)throw new Error("invalid blockhash");return o.result}async getRecentPrioritizationFees(e){let t=e?.lockedWritableAccounts?.map(o=>o.toBase58()),n=t?.length?[t]:[],i=await this._rpcRequest("getRecentPrioritizationFees",n),s=$(i,iv);if("error"in s)throw new Q(s.error,"failed to get recent prioritization fees");return s.result}async getRecentBlockhash(e){try{return(await this.getRecentBlockhashAndContext(e)).value}catch(t){throw new Error("failed to get recent blockhash: "+t)}}async getLatestBlockhash(e){try{return(await this.getLatestBlockhashAndContext(e)).value}catch(t){throw new Error("failed to get recent blockhash: "+t)}}async getLatestBlockhashAndContext(e){let{commitment:t,config:n}=Be(e),i=this._buildArgs([],t,void 0,n),s=await this._rpcRequest("getLatestBlockhash",i),o=$(s,qv);if("error"in o)throw new Q(o.error,"failed to get latest blockhash");return o.result}async isBlockhashValid(e,t){let{commitment:n,config:i}=Be(t),s=this._buildArgs([e],n,void 0,i),o=await this._rpcRequest("isBlockhashValid",s),c=$(o,jv);if("error"in c)throw new Q(c.error,"failed to determine if the blockhash `"+e+"`is valid");return c.result}async getVersion(){let e=await this._rpcRequest("getVersion",[]),t=$(e,ge(Z1));if("error"in t)throw new Q(t.error,"failed to get version");return t.result}async getGenesisHash(){let e=await this._rpcRequest("getGenesisHash",[]),t=$(e,ge(z()));if("error"in t)throw new Q(t.error,"failed to get genesis hash");return t.result}async getBlock(e,t){let{commitment:n,config:i}=Be(t),s=this._buildArgsAtLeastConfirmed([e],n,void 0,i),o=await this._rpcRequest("getBlock",s);try{switch(i?.transactionDetails){case"accounts":{let c=$(o,zv);if("error"in c)throw c.error;return c.result}case"none":{let c=$(o,Dv);if("error"in c)throw c.error;return c.result}default:{let c=$(o,Uv);if("error"in c)throw c.error;let{result:u}=c;return u?{...u,transactions:u.transactions.map(({transaction:p,meta:m,version:b})=>({meta:m,transaction:{...p,message:fu(b,p.message)},version:b}))}:null}}}catch(c){throw new Q(c,"failed to get confirmed block")}}async getParsedBlock(e,t){let{commitment:n,config:i}=Be(t),s=this._buildArgsAtLeastConfirmed([e],n,"jsonParsed",i),o=await this._rpcRequest("getBlock",s);try{switch(i?.transactionDetails){case"accounts":{let c=$(o,Vv);if("error"in c)throw c.error;return c.result}case"none":{let c=$(o,$v);if("error"in c)throw c.error;return c.result}default:{let c=$(o,Fv);if("error"in c)throw c.error;return c.result}}}catch(c){throw new Q(c,"failed to get block")}}async getBlockProduction(e){let t,n;if(typeof e=="string")n=e;else if(e){let{commitment:c,...u}=e;n=c,t=u}let i=this._buildArgs([],n,"base64",t),s=await this._rpcRequest("getBlockProduction",i),o=$(s,J1);if("error"in o)throw new Q(o.error,"failed to get block production information");return o.result}async getTransaction(e,t){let{commitment:n,config:i}=Be(t),s=this._buildArgsAtLeastConfirmed([e],n,void 0,i),o=await this._rpcRequest("getTransaction",s),c=$(o,lu);if("error"in c)throw new Q(c.error,"failed to get transaction");let u=c.result;return u&&{...u,transaction:{...u.transaction,message:fu(u.version,u.transaction.message)}}}async getParsedTransaction(e,t){let{commitment:n,config:i}=Be(t),s=this._buildArgsAtLeastConfirmed([e],n,"jsonParsed",i),o=await this._rpcRequest("getTransaction",s),c=$(o,zo);if("error"in c)throw new Q(c.error,"failed to get transaction");return c.result}async getParsedTransactions(e,t){let{commitment:n,config:i}=Be(t),s=e.map(u=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([u],n,"jsonParsed",i)}));return(await this._rpcBatchRequest(s)).map(u=>{let p=$(u,zo);if("error"in p)throw new Q(p.error,"failed to get transactions");return p.result})}async getTransactions(e,t){let{commitment:n,config:i}=Be(t),s=e.map(u=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([u],n,void 0,i)}));return(await this._rpcBatchRequest(s)).map(u=>{let p=$(u,lu);if("error"in p)throw new Q(p.error,"failed to get transactions");let m=p.result;return m&&{...m,transaction:{...m.transaction,message:fu(m.version,m.transaction.message)}}})}async getConfirmedBlock(e,t){let n=this._buildArgsAtLeastConfirmed([e],t),i=await this._rpcRequest("getBlock",n),s=$(i,Wv);if("error"in s)throw new Q(s.error,"failed to get confirmed block");let o=s.result;if(!o)throw new Error("Confirmed block "+e+" not found");let c={...o,transactions:o.transactions.map(({transaction:u,meta:p})=>{let m=new ln(u.message);return{meta:p,transaction:{...u,message:m}}})};return{...c,transactions:c.transactions.map(({transaction:u,meta:p})=>({meta:p,transaction:Se.populate(u.message,u.signatures)}))}}async getBlocks(e,t,n){let i=this._buildArgsAtLeastConfirmed(t!==void 0?[e,t]:[e],n),s=await this._rpcRequest("getBlocks",i),o=$(s,ge(W(O())));if("error"in o)throw new Q(o.error,"failed to get blocks");return o.result}async getBlockSignatures(e,t){let n=this._buildArgsAtLeastConfirmed([e],t,void 0,{transactionDetails:"signatures",rewards:!1}),i=await this._rpcRequest("getBlock",n),s=$(i,Yd);if("error"in s)throw new Q(s.error,"failed to get block");let o=s.result;if(!o)throw new Error("Block "+e+" not found");return o}async getConfirmedBlockSignatures(e,t){let n=this._buildArgsAtLeastConfirmed([e],t,void 0,{transactionDetails:"signatures",rewards:!1}),i=await this._rpcRequest("getBlock",n),s=$(i,Yd);if("error"in s)throw new Q(s.error,"failed to get confirmed block");let o=s.result;if(!o)throw new Error("Confirmed block "+e+" not found");return o}async getConfirmedTransaction(e,t){let n=this._buildArgsAtLeastConfirmed([e],t),i=await this._rpcRequest("getTransaction",n),s=$(i,lu);if("error"in s)throw new Q(s.error,"failed to get transaction");let o=s.result;if(!o)return o;let c=new ln(o.transaction.message),u=o.transaction.signatures;return{...o,transaction:Se.populate(c,u)}}async getParsedConfirmedTransaction(e,t){let n=this._buildArgsAtLeastConfirmed([e],t,"jsonParsed"),i=await this._rpcRequest("getTransaction",n),s=$(i,zo);if("error"in s)throw new Q(s.error,"failed to get confirmed transaction");return s.result}async getParsedConfirmedTransactions(e,t){let n=e.map(o=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([o],t,"jsonParsed")}));return(await this._rpcBatchRequest(n)).map(o=>{let c=$(o,zo);if("error"in c)throw new Q(c.error,"failed to get confirmed transactions");return c.result})}async getConfirmedSignaturesForAddress(e,t,n){let i={},s=await this.getFirstAvailableBlock();for(;!("until"in i)&&(t--,!(t<=0||t<s));)try{let u=await this.getConfirmedBlockSignatures(t,"finalized");u.signatures.length>0&&(i.until=u.signatures[u.signatures.length-1].toString())}catch(u){if(u instanceof Error&&u.message.includes("skipped"))continue;throw u}let o=await this.getSlot("finalized");for(;!("before"in i)&&(n++,!(n>o));)try{let u=await this.getConfirmedBlockSignatures(n);u.signatures.length>0&&(i.before=u.signatures[u.signatures.length-1].toString())}catch(u){if(u instanceof Error&&u.message.includes("skipped"))continue;throw u}return(await this.getConfirmedSignaturesForAddress2(e,i)).map(u=>u.signature)}async getConfirmedSignaturesForAddress2(e,t,n){let i=this._buildArgsAtLeastConfirmed([e.toBase58()],n,void 0,t),s=await this._rpcRequest("getConfirmedSignaturesForAddress2",i),o=$(s,_v);if("error"in o)throw new Q(o.error,"failed to get confirmed signatures for address");return o.result}async getSignaturesForAddress(e,t,n){let i=this._buildArgsAtLeastConfirmed([e.toBase58()],n,void 0,t),s=await this._rpcRequest("getSignaturesForAddress",i),o=$(s,bv);if("error"in o)throw new Q(o.error,"failed to get signatures for address");return o.result}async getAddressLookupTable(e,t){let{context:n,value:i}=await this.getAccountInfoAndContext(e,t),s=null;return i!==null&&(s=new Go({key:e,state:Go.deserialize(i.data)})),{context:n,value:s}}async getNonceAndContext(e,t){let{context:n,value:i}=await this.getAccountInfoAndContext(e,t),s=null;return i!==null&&(s=yu.fromAccountData(i.data)),{context:n,value:s}}async getNonce(e,t){return await this.getNonceAndContext(e,t).then(n=>n.value).catch(n=>{throw new Error("failed to get nonce for account "+e.toBase58()+": "+n)})}async requestAirdrop(e,t){let n=await this._rpcRequest("requestAirdrop",[e.toBase58(),t]),i=$(n,Zv);if("error"in i)throw new Q(i.error,`airdrop to ${e.toBase58()} failed`);return i.result}async _blockhashWithExpiryBlockHeight(e){if(!e){for(;this._pollingBlockhash;)await Wn(100);let n=Date.now()-this._blockhashInfo.lastFetch>=U1;if(this._blockhashInfo.latestBlockhash!==null&&!n)return this._blockhashInfo.latestBlockhash}return await this._pollNewBlockhash()}async _pollNewBlockhash(){this._pollingBlockhash=!0;try{let e=Date.now(),t=this._blockhashInfo.latestBlockhash,n=t?t.blockhash:null;for(let i=0;i<50;i++){let s=await this.getLatestBlockhash("finalized");if(n!==s.blockhash)return this._blockhashInfo={latestBlockhash:s,lastFetch:Date.now(),transactionSignatures:[],simulatedSignatures:[]},s;await Wn(uh/2)}throw new Error(`Unable to obtain a new blockhash after ${Date.now()-e}ms`)}finally{this._pollingBlockhash=!1}}async getStakeMinimumDelegation(e){let{commitment:t,config:n}=Be(e),i=this._buildArgs([],t,"base64",n),s=await this._rpcRequest("getStakeMinimumDelegation",i),o=$(s,Ze(O()));if("error"in o)throw new Q(o.error,"failed to get stake minimum delegation");return o.result}async simulateTransaction(e,t,n){if("message"in e){let I=e.serialize(),x=ae.Buffer.from(I).toString("base64");if(Array.isArray(t)||n!==void 0)throw new Error("Invalid arguments");let B=t||{};B.encoding="base64","commitment"in B||(B.commitment=this.commitment),t&&typeof t=="object"&&"innerInstructions"in t&&(B.innerInstructions=t.innerInstructions);let U=[x,B],L=await this._rpcRequest("simulateTransaction",U),F=$(L,Gd);if("error"in F)throw new Error("failed to simulate transaction: "+F.error.message);return F.result}let i;if(e instanceof Se){let T=e;i=new Se,i.feePayer=T.feePayer,i.instructions=e.instructions,i.nonceInfo=T.nonceInfo,i.signatures=T.signatures}else i=Se.populate(e),i._message=i._json=void 0;if(t!==void 0&&!Array.isArray(t))throw new Error("Invalid arguments");let s=t;if(i.nonceInfo&&s)i.sign(...s);else{let T=this._disableBlockhashCaching;for(;;){let I=await this._blockhashWithExpiryBlockHeight(T);if(i.lastValidBlockHeight=I.lastValidBlockHeight,i.recentBlockhash=I.blockhash,!s)break;if(i.sign(...s),!i.signature)throw new Error("!signature");let x=i.signature.toString("base64");if(!this._blockhashInfo.simulatedSignatures.includes(x)&&!this._blockhashInfo.transactionSignatures.includes(x)){this._blockhashInfo.simulatedSignatures.push(x);break}else T=!0}}let o=i._compile(),c=o.serialize(),p=i._serialize(c).toString("base64"),m={encoding:"base64",commitment:this.commitment};if(n){let T=(Array.isArray(n)?n:o.nonProgramIds()).map(I=>I.toBase58());m.accounts={encoding:"base64",addresses:T}}s&&(m.sigVerify=!0),t&&typeof t=="object"&&"innerInstructions"in t&&(m.innerInstructions=t.innerInstructions);let b=[p,m],A=await this._rpcRequest("simulateTransaction",b),S=$(A,Gd);if("error"in S){let T;if("data"in S.error&&(T=S.error.data.logs,T&&Array.isArray(T))){let I=`
|
|
12
12
|
`,x=I+T.join(I);console.error(S.error.message,x)}throw new cs({action:"simulate",signature:"",transactionMessage:S.error.message,logs:T})}return S.result}async sendTransaction(e,t,n){if("version"in e){if(t&&Array.isArray(t))throw new Error("Invalid arguments");let o=e.serialize();return await this.sendRawTransaction(o,t)}if(t===void 0||!Array.isArray(t))throw new Error("Invalid arguments");let i=t;if(e.nonceInfo)e.sign(...i);else{let o=this._disableBlockhashCaching;for(;;){let c=await this._blockhashWithExpiryBlockHeight(o);if(e.lastValidBlockHeight=c.lastValidBlockHeight,e.recentBlockhash=c.blockhash,e.sign(...i),!e.signature)throw new Error("!signature");let u=e.signature.toString("base64");if(this._blockhashInfo.transactionSignatures.includes(u))o=!0;else{this._blockhashInfo.transactionSignatures.push(u);break}}}let s=e.serialize();return await this.sendRawTransaction(s,n)}async sendRawTransaction(e,t){let n=_e(e).toString("base64");return await this.sendEncodedTransaction(n,t)}async sendEncodedTransaction(e,t){let n={encoding:"base64"},i=t&&t.skipPreflight,s=i===!0?"processed":t&&t.preflightCommitment||this.commitment;t&&t.maxRetries!=null&&(n.maxRetries=t.maxRetries),t&&t.minContextSlot!=null&&(n.minContextSlot=t.minContextSlot),i&&(n.skipPreflight=i),s&&(n.preflightCommitment=s);let o=[e,n],c=await this._rpcRequest("sendTransaction",o),u=$(c,Yv);if("error"in u){let p;throw"data"in u.error&&(p=u.error.data.logs),new cs({action:i?"send":"simulate",signature:"",transactionMessage:u.error.message,logs:p})}return u.result}_wsOnOpen(){this._rpcWebSocketConnected=!0,this._rpcWebSocketHeartbeat=setInterval(()=>{(async()=>{try{await this._rpcWebSocket.notify("ping")}catch{}})()},5e3),this._updateSubscriptions()}_wsOnError(e){this._rpcWebSocketConnected=!1,console.error("ws error:",e.message)}_wsOnClose(e){if(this._rpcWebSocketConnected=!1,this._rpcWebSocketGeneration=(this._rpcWebSocketGeneration+1)%Number.MAX_SAFE_INTEGER,this._rpcWebSocketIdleTimeout&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null),this._rpcWebSocketHeartbeat&&(clearInterval(this._rpcWebSocketHeartbeat),this._rpcWebSocketHeartbeat=null),e===1e3){this._updateSubscriptions();return}this._subscriptionCallbacksByServerSubscriptionId={},Object.entries(this._subscriptionsByHash).forEach(([t,n])=>{this._setSubscription(t,{...n,state:"pending"})})}_setSubscription(e,t){let n=this._subscriptionsByHash[e]?.state;if(this._subscriptionsByHash[e]=t,n!==t.state){let i=this._subscriptionStateChangeCallbacksByHash[e];i&&i.forEach(s=>{try{s(t.state)}catch{}})}}_onSubscriptionStateChange(e,t){let n=this._subscriptionHashByClientSubscriptionId[e];if(n==null)return()=>{};let i=this._subscriptionStateChangeCallbacksByHash[n]||=new Set;return i.add(t),()=>{i.delete(t),i.size===0&&delete this._subscriptionStateChangeCallbacksByHash[n]}}async _updateSubscriptions(){if(Object.keys(this._subscriptionsByHash).length===0){this._rpcWebSocketConnected&&(this._rpcWebSocketConnected=!1,this._rpcWebSocketIdleTimeout=setTimeout(()=>{this._rpcWebSocketIdleTimeout=null;try{this._rpcWebSocket.close()}catch(n){n instanceof Error&&console.log(`Error when closing socket connection: ${n.message}`)}},500));return}if(this._rpcWebSocketIdleTimeout!==null&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketConnected=!0),!this._rpcWebSocketConnected){this._rpcWebSocket.connect();return}let e=this._rpcWebSocketGeneration,t=()=>e===this._rpcWebSocketGeneration;await Promise.all(Object.keys(this._subscriptionsByHash).map(async n=>{let i=this._subscriptionsByHash[n];if(i!==void 0)switch(i.state){case"pending":case"unsubscribed":if(i.callbacks.size===0){delete this._subscriptionsByHash[n],i.state==="unsubscribed"&&delete this._subscriptionCallbacksByServerSubscriptionId[i.serverSubscriptionId],await this._updateSubscriptions();return}await(async()=>{let{args:s,method:o}=i;try{this._setSubscription(n,{...i,state:"subscribing"});let c=await this._rpcWebSocket.call(o,s);this._setSubscription(n,{...i,serverSubscriptionId:c,state:"subscribed"}),this._subscriptionCallbacksByServerSubscriptionId[c]=i.callbacks,await this._updateSubscriptions()}catch(c){if(console.error(`Received ${c instanceof Error?"":"JSON-RPC "}error calling \`${o}\``,{args:s,error:c}),!t())return;this._setSubscription(n,{...i,state:"pending"}),await this._updateSubscriptions()}})();break;case"subscribed":i.callbacks.size===0&&await(async()=>{let{serverSubscriptionId:s,unsubscribeMethod:o}=i;if(this._subscriptionsAutoDisposedByRpc.has(s))this._subscriptionsAutoDisposedByRpc.delete(s);else{this._setSubscription(n,{...i,state:"unsubscribing"}),this._setSubscription(n,{...i,state:"unsubscribing"});try{await this._rpcWebSocket.call(o,[s])}catch(c){if(c instanceof Error&&console.error(`${o} error:`,c.message),!t())return;this._setSubscription(n,{...i,state:"subscribed"}),await this._updateSubscriptions();return}}this._setSubscription(n,{...i,state:"unsubscribed"}),await this._updateSubscriptions()})();break}}))}_handleServerNotification(e,t){let n=this._subscriptionCallbacksByServerSubscriptionId[e];n!==void 0&&n.forEach(i=>{try{i(...t)}catch(s){console.error(s)}})}_wsOnAccountNotification(e){let{result:t,subscription:n}=$(e,wv);this._handleServerNotification(n,[t.value,t.context])}_makeSubscription(e,t){let n=this._nextClientSubscriptionId++,i=jd([e.method,t]),s=this._subscriptionsByHash[i];return s===void 0?this._subscriptionsByHash[i]={...e,args:t,callbacks:new Set([e.callback]),state:"pending"}:s.callbacks.add(e.callback),this._subscriptionHashByClientSubscriptionId[n]=i,this._subscriptionDisposeFunctionsByClientSubscriptionId[n]=async()=>{delete this._subscriptionDisposeFunctionsByClientSubscriptionId[n],delete this._subscriptionHashByClientSubscriptionId[n];let o=this._subscriptionsByHash[i];xe(o!==void 0,`Could not find a \`Subscription\` when tearing down client subscription #${n}`),o.callbacks.delete(e.callback),await this._updateSubscriptions()},this._updateSubscriptions(),n}onAccountChange(e,t,n){let{commitment:i,config:s}=Be(n),o=this._buildArgs([e.toBase58()],i||this._commitment||"finalized","base64",s);return this._makeSubscription({callback:t,method:"accountSubscribe",unsubscribeMethod:"accountUnsubscribe"},o)}async removeAccountChangeListener(e){await this._unsubscribeClientSubscription(e,"account change")}_wsOnProgramAccountNotification(e){let{result:t,subscription:n}=$(e,Ev);this._handleServerNotification(n,[{accountId:t.value.pubkey,accountInfo:t.value.account},t.context])}onProgramAccountChange(e,t,n,i){let{commitment:s,config:o}=Be(n),c=this._buildArgs([e.toBase58()],s||this._commitment||"finalized","base64",o||(i?{filters:Hd(i)}:void 0));return this._makeSubscription({callback:t,method:"programSubscribe",unsubscribeMethod:"programUnsubscribe"},c)}async removeProgramAccountChangeListener(e){await this._unsubscribeClientSubscription(e,"program account change")}onLogs(e,t,n){let i=this._buildArgs([typeof e=="object"?{mentions:[e.toString()]}:e],n||this._commitment||"finalized");return this._makeSubscription({callback:t,method:"logsSubscribe",unsubscribeMethod:"logsUnsubscribe"},i)}async removeOnLogsListener(e){await this._unsubscribeClientSubscription(e,"logs")}_wsOnLogsNotification(e){let{result:t,subscription:n}=$(e,Jv);this._handleServerNotification(n,[t.value,t.context])}_wsOnSlotNotification(e){let{result:t,subscription:n}=$(e,Sv);this._handleServerNotification(n,[t])}onSlotChange(e){return this._makeSubscription({callback:e,method:"slotSubscribe",unsubscribeMethod:"slotUnsubscribe"},[])}async removeSlotChangeListener(e){await this._unsubscribeClientSubscription(e,"slot change")}_wsOnSlotUpdatesNotification(e){let{result:t,subscription:n}=$(e,xv);this._handleServerNotification(n,[t])}onSlotUpdate(e){return this._makeSubscription({callback:e,method:"slotsUpdatesSubscribe",unsubscribeMethod:"slotsUpdatesUnsubscribe"},[])}async removeSlotUpdateListener(e){await this._unsubscribeClientSubscription(e,"slot update")}async _unsubscribeClientSubscription(e,t){let n=this._subscriptionDisposeFunctionsByClientSubscriptionId[e];n?await n():console.warn(`Ignored unsubscribe request because an active subscription with id \`${e}\` for '${t}' events could not be found.`)}_buildArgs(e,t,n,i){let s=t||this._commitment;if(s||n||i){let o={};n&&(o.encoding=n),s&&(o.commitment=s),i&&(o=Object.assign(o,i)),e.push(o)}return e}_buildArgsAtLeastConfirmed(e,t,n,i){let s=t||this._commitment;if(s&&!["confirmed","finalized"].includes(s))throw new Error("Using Connection with default commitment: `"+this._commitment+"`, but method requires at least `confirmed`");return this._buildArgs(e,t,n,i)}_wsOnSignatureNotification(e){let{result:t,subscription:n}=$(e,Iv);t.value!=="receivedSignature"&&this._subscriptionsAutoDisposedByRpc.add(n),this._handleServerNotification(n,t.value==="receivedSignature"?[{type:"received"},t.context]:[{type:"status",result:t.value},t.context])}onSignature(e,t,n){let i=this._buildArgs([e],n||this._commitment||"finalized"),s=this._makeSubscription({callback:(o,c)=>{if(o.type==="status"){t(o.result,c);try{this.removeSignatureListener(s)}catch{}}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},i);return s}onSignatureWithOptions(e,t,n){let{commitment:i,...s}={...n,commitment:n&&n.commitment||this._commitment||"finalized"},o=this._buildArgs([e],i,void 0,s),c=this._makeSubscription({callback:(u,p)=>{t(u,p);try{this.removeSignatureListener(c)}catch{}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},o);return c}async removeSignatureListener(e){await this._unsubscribeClientSubscription(e,"signature result")}_wsOnRootNotification(e){let{result:t,subscription:n}=$(e,Ov);this._handleServerNotification(n,[t])}onRootChange(e){return this._makeSubscription({callback:e,method:"rootSubscribe",unsubscribeMethod:"rootUnsubscribe"},[])}async removeRootChangeListener(e){await this._unsubscribeClientSubscription(e,"root change")}},Su=class r{constructor(e){this._keypair=void 0,this._keypair=e??zd()}static generate(){return new r(zd())}static fromSecretKey(e,t){if(e.byteLength!==64)throw new Error("bad secret key size");let n=e.slice(32,64);if(!t||!t.skipValidation){let i=e.slice(0,32),s=mu(i);for(let o=0;o<32;o++)if(n[o]!==s[o])throw new Error("provided secretKey is invalid")}return new r({publicKey:n,secretKey:e})}static fromSeed(e){let t=mu(e),n=new Uint8Array(64);return n.set(e),n.set(t,32),new r({publicKey:t,secretKey:n})}get publicKey(){return new ce(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}},ss=Object.freeze({CreateLookupTable:{index:0,layout:E.struct([E.u32("instruction"),vi("recentSlot"),E.u8("bumpSeed")])},FreezeLookupTable:{index:1,layout:E.struct([E.u32("instruction")])},ExtendLookupTable:{index:2,layout:E.struct([E.u32("instruction"),vi(),E.seq(ye(),E.offset(E.u32(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:E.struct([E.u32("instruction")])},CloseLookupTable:{index:4,layout:E.struct([E.u32("instruction")])}});var Au=class{constructor(){}static createLookupTable(e){let[t,n]=ce.findProgramAddressSync([e.authority.toBuffer(),Vc().encode(e.recentSlot)],this.programId),i=ss.CreateLookupTable,s=we(i,{recentSlot:BigInt(e.recentSlot),bumpSeed:n}),o=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1},{pubkey:e.payer,isSigner:!0,isWritable:!0},{pubkey:Dt.programId,isSigner:!1,isWritable:!1}];return[new Te({programId:this.programId,keys:o,data:s}),t]}static freezeLookupTable(e){let t=ss.FreezeLookupTable,n=we(t),i=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1}];return new Te({programId:this.programId,keys:i,data:n})}static extendLookupTable(e){let t=ss.ExtendLookupTable,n=we(t,{addresses:e.addresses.map(s=>s.toBytes())}),i=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1}];return e.payer&&i.push({pubkey:e.payer,isSigner:!0,isWritable:!0},{pubkey:Dt.programId,isSigner:!1,isWritable:!1}),new Te({programId:this.programId,keys:i,data:n})}static deactivateLookupTable(e){let t=ss.DeactivateLookupTable,n=we(t),i=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1}];return new Te({programId:this.programId,keys:i,data:n})}static closeLookupTable(e){let t=ss.CloseLookupTable,n=we(t),i=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1},{pubkey:e.recipient,isSigner:!1,isWritable:!0}];return new Te({programId:this.programId,keys:i,data:n})}};Au.programId=new ce("AddressLookupTab1e1111111111111111111111111");var Fo=Object.freeze({RequestUnits:{index:0,layout:E.struct([E.u8("instruction"),E.u32("units"),E.u32("additionalFee")])},RequestHeapFrame:{index:1,layout:E.struct([E.u8("instruction"),E.u32("bytes")])},SetComputeUnitLimit:{index:2,layout:E.struct([E.u8("instruction"),E.u32("units")])},SetComputeUnitPrice:{index:3,layout:E.struct([E.u8("instruction"),vi("microLamports")])}}),xu=class{constructor(){}static requestUnits(e){let t=Fo.RequestUnits,n=we(t,e);return new Te({keys:[],programId:this.programId,data:n})}static requestHeapFrame(e){let t=Fo.RequestHeapFrame,n=we(t,e);return new Te({keys:[],programId:this.programId,data:n})}static setComputeUnitLimit(e){let t=Fo.SetComputeUnitLimit,n=we(t,e);return new Te({keys:[],programId:this.programId,data:n})}static setComputeUnitPrice(e){let t=Fo.SetComputeUnitPrice,n=we(t,{microLamports:BigInt(e.microLamports)});return new Te({keys:[],programId:this.programId,data:n})}};xu.programId=new ce("ComputeBudget111111111111111111111111111111");var Xd=64,Jd=32,Qd=64,eh=E.struct([E.u8("numSignatures"),E.u8("padding"),E.u16("signatureOffset"),E.u16("signatureInstructionIndex"),E.u16("publicKeyOffset"),E.u16("publicKeyInstructionIndex"),E.u16("messageDataOffset"),E.u16("messageDataSize"),E.u16("messageInstructionIndex")]),Iu=class r{constructor(){}static createInstructionWithPublicKey(e){let{publicKey:t,message:n,signature:i,instructionIndex:s}=e;xe(t.length===Jd,`Public Key must be ${Jd} bytes but received ${t.length} bytes`),xe(i.length===Qd,`Signature must be ${Qd} bytes but received ${i.length} bytes`);let o=eh.span,c=o+t.length,u=c+i.length,p=1,m=ae.Buffer.alloc(u+n.length),b=s??65535;return eh.encode({numSignatures:p,padding:0,signatureOffset:c,signatureInstructionIndex:b,publicKeyOffset:o,publicKeyInstructionIndex:b,messageDataOffset:u,messageDataSize:n.length,messageInstructionIndex:b},m),m.fill(t,o),m.fill(i,c),m.fill(n,u),new Te({keys:[],programId:r.programId,data:m})}static createInstructionWithPrivateKey(e){let{privateKey:t,message:n,instructionIndex:i}=e;xe(t.length===Xd,`Private key must be ${Xd} bytes but received ${t.length} bytes`);try{let s=Su.fromSecretKey(t),o=s.publicKey.toBytes(),c=ku(n,s.secretKey);return this.createInstructionWithPublicKey({publicKey:o,message:n,signature:c,instructionIndex:i})}catch(s){throw new Error(`Error creating instruction; ${s}`)}}};Iu.programId=new ce("Ed25519SigVerify111111111111111111111111111");var eE=(r,e)=>{let t=ns.sign(r,e);return[t.toCompactRawBytes(),t.recovery]};ns.utils.isValidPrivateKey;var tE=ns.getPublicKey,th=32,du=20,rh=64,rE=11,hu=E.struct([E.u8("numSignatures"),E.u16("signatureOffset"),E.u8("signatureInstructionIndex"),E.u16("ethAddressOffset"),E.u8("ethAddressInstructionIndex"),E.u16("messageDataOffset"),E.u16("messageDataSize"),E.u8("messageInstructionIndex"),E.blob(20,"ethAddress"),E.blob(64,"signature"),E.u8("recoveryId")]),Ou=class r{constructor(){}static publicKeyToEthAddress(e){xe(e.length===rh,`Public key must be ${rh} bytes but received ${e.length} bytes`);try{return ae.Buffer.from(tu(_e(e))).slice(-du)}catch(t){throw new Error(`Error constructing Ethereum address: ${t}`)}}static createInstructionWithPublicKey(e){let{publicKey:t,message:n,signature:i,recoveryId:s,instructionIndex:o}=e;return r.createInstructionWithEthAddress({ethAddress:r.publicKeyToEthAddress(t),message:n,signature:i,recoveryId:s,instructionIndex:o})}static createInstructionWithEthAddress(e){let{ethAddress:t,message:n,signature:i,recoveryId:s,instructionIndex:o=0}=e,c;typeof t=="string"?t.startsWith("0x")?c=ae.Buffer.from(t.substr(2),"hex"):c=ae.Buffer.from(t,"hex"):c=t,xe(c.length===du,`Address must be ${du} bytes but received ${c.length} bytes`);let u=1+rE,p=u,m=u+c.length,b=m+i.length+1,A=1,S=ae.Buffer.alloc(hu.span+n.length);return hu.encode({numSignatures:A,signatureOffset:m,signatureInstructionIndex:o,ethAddressOffset:p,ethAddressInstructionIndex:o,messageDataOffset:b,messageDataSize:n.length,messageInstructionIndex:o,signature:_e(i),ethAddress:_e(c),recoveryId:s},S),S.fill(_e(n),hu.span),new Te({keys:[],programId:r.programId,data:S})}static createInstructionWithPrivateKey(e){let{privateKey:t,message:n,instructionIndex:i}=e;xe(t.length===th,`Private key must be ${th} bytes but received ${t.length} bytes`);try{let s=_e(t),o=tE(s,!1).slice(1),c=ae.Buffer.from(tu(_e(n))),[u,p]=eE(c,s);return this.createInstructionWithPublicKey({publicKey:o,message:n,signature:u,recoveryId:p,instructionIndex:i})}catch(s){throw new Error(`Error creating instruction; ${s}`)}}};Ou.programId=new ce("KeccakSecp256k11111111111111111111111111111");var vh,nE=new ce("StakeConfig11111111111111111111111111111111");var fs=class{constructor(e,t,n){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=e,this.epoch=t,this.custodian=n}};vh=fs;fs.default=new vh(0,0,ce.default);var un=Object.freeze({Initialize:{index:0,layout:E.struct([E.u32("instruction"),_1(),b1()])},Authorize:{index:1,layout:E.struct([E.u32("instruction"),ye("newAuthorized"),E.u32("stakeAuthorizationType")])},Delegate:{index:2,layout:E.struct([E.u32("instruction")])},Split:{index:3,layout:E.struct([E.u32("instruction"),E.ns64("lamports")])},Withdraw:{index:4,layout:E.struct([E.u32("instruction"),E.ns64("lamports")])},Deactivate:{index:5,layout:E.struct([E.u32("instruction")])},Merge:{index:7,layout:E.struct([E.u32("instruction")])},AuthorizeWithSeed:{index:8,layout:E.struct([E.u32("instruction"),ye("newAuthorized"),E.u32("stakeAuthorizationType"),bi("authoritySeed"),ye("authorityOwner")])}}),zA=Object.freeze({Staker:{index:0},Withdrawer:{index:1}}),Xo=class{constructor(){}static initialize(e){let{stakePubkey:t,authorized:n,lockup:i}=e,s=i||fs.default,o=un.Initialize,c=we(o,{authorized:{staker:_e(n.staker.toBuffer()),withdrawer:_e(n.withdrawer.toBuffer())},lockup:{unixTimestamp:s.unixTimestamp,epoch:s.epoch,custodian:_e(s.custodian.toBuffer())}}),u={keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:as,isSigner:!1,isWritable:!1}],programId:this.programId,data:c};return new Te(u)}static createAccountWithSeed(e){let t=new Se;t.add(Dt.createAccountWithSeed({fromPubkey:e.fromPubkey,newAccountPubkey:e.stakePubkey,basePubkey:e.basePubkey,seed:e.seed,lamports:e.lamports,space:this.space,programId:this.programId}));let{stakePubkey:n,authorized:i,lockup:s}=e;return t.add(this.initialize({stakePubkey:n,authorized:i,lockup:s}))}static createAccount(e){let t=new Se;t.add(Dt.createAccount({fromPubkey:e.fromPubkey,newAccountPubkey:e.stakePubkey,lamports:e.lamports,space:this.space,programId:this.programId}));let{stakePubkey:n,authorized:i,lockup:s}=e;return t.add(this.initialize({stakePubkey:n,authorized:i,lockup:s}))}static delegate(e){let{stakePubkey:t,authorizedPubkey:n,votePubkey:i}=e,s=un.Delegate,o=we(s);return new Se().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:Cr,isSigner:!1,isWritable:!1},{pubkey:au,isSigner:!1,isWritable:!1},{pubkey:nE,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static authorize(e){let{stakePubkey:t,authorizedPubkey:n,newAuthorizedPubkey:i,stakeAuthorizationType:s,custodianPubkey:o}=e,c=un.Authorize,u=we(c,{newAuthorized:_e(i.toBuffer()),stakeAuthorizationType:s.index}),p=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:Cr,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1}];return o&&p.push({pubkey:o,isSigner:!0,isWritable:!1}),new Se().add({keys:p,programId:this.programId,data:u})}static authorizeWithSeed(e){let{stakePubkey:t,authorityBase:n,authoritySeed:i,authorityOwner:s,newAuthorizedPubkey:o,stakeAuthorizationType:c,custodianPubkey:u}=e,p=un.AuthorizeWithSeed,m=we(p,{newAuthorized:_e(o.toBuffer()),stakeAuthorizationType:c.index,authoritySeed:i,authorityOwner:_e(s.toBuffer())}),b=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1},{pubkey:Cr,isSigner:!1,isWritable:!1}];return u&&b.push({pubkey:u,isSigner:!0,isWritable:!1}),new Se().add({keys:b,programId:this.programId,data:m})}static splitInstruction(e){let{stakePubkey:t,authorizedPubkey:n,splitStakePubkey:i,lamports:s}=e,o=un.Split,c=we(o,{lamports:s});return new Te({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:c})}static split(e,t){let n=new Se;return n.add(Dt.createAccount({fromPubkey:e.authorizedPubkey,newAccountPubkey:e.splitStakePubkey,lamports:t,space:this.space,programId:this.programId})),n.add(this.splitInstruction(e))}static splitWithSeed(e,t){let{stakePubkey:n,authorizedPubkey:i,splitStakePubkey:s,basePubkey:o,seed:c,lamports:u}=e,p=new Se;return p.add(Dt.allocate({accountPubkey:s,basePubkey:o,seed:c,space:this.space,programId:this.programId})),t&&t>0&&p.add(Dt.transfer({fromPubkey:e.authorizedPubkey,toPubkey:s,lamports:t})),p.add(this.splitInstruction({stakePubkey:n,authorizedPubkey:i,splitStakePubkey:s,lamports:u}))}static merge(e){let{stakePubkey:t,sourceStakePubKey:n,authorizedPubkey:i}=e,s=un.Merge,o=we(s);return new Se().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:Cr,isSigner:!1,isWritable:!1},{pubkey:au,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static withdraw(e){let{stakePubkey:t,authorizedPubkey:n,toPubkey:i,lamports:s,custodianPubkey:o}=e,c=un.Withdraw,u=we(c,{lamports:s}),p=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:Cr,isSigner:!1,isWritable:!1},{pubkey:au,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}];return o&&p.push({pubkey:o,isSigner:!0,isWritable:!1}),new Se().add({keys:p,programId:this.programId,data:u})}static deactivate(e){let{stakePubkey:t,authorizedPubkey:n}=e,i=un.Deactivate,s=we(i);return new Se().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:Cr,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:s})}};Xo.programId=new ce("Stake11111111111111111111111111111111111111");Xo.space=200;var os=Object.freeze({InitializeAccount:{index:0,layout:E.struct([E.u32("instruction"),w1()])},Authorize:{index:1,layout:E.struct([E.u32("instruction"),ye("newAuthorized"),E.u32("voteAuthorizationType")])},Withdraw:{index:3,layout:E.struct([E.u32("instruction"),E.ns64("lamports")])},UpdateValidatorIdentity:{index:4,layout:E.struct([E.u32("instruction")])},AuthorizeWithSeed:{index:10,layout:E.struct([E.u32("instruction"),v1()])}}),FA=Object.freeze({Voter:{index:0},Withdrawer:{index:1}}),Jo=class r{constructor(){}static initializeAccount(e){let{votePubkey:t,nodePubkey:n,voteInit:i}=e,s=os.InitializeAccount,o=we(s,{voteInit:{nodePubkey:_e(i.nodePubkey.toBuffer()),authorizedVoter:_e(i.authorizedVoter.toBuffer()),authorizedWithdrawer:_e(i.authorizedWithdrawer.toBuffer()),commission:i.commission}}),c={keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:as,isSigner:!1,isWritable:!1},{pubkey:Cr,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:o};return new Te(c)}static createAccount(e){let t=new Se;return t.add(Dt.createAccount({fromPubkey:e.fromPubkey,newAccountPubkey:e.votePubkey,lamports:e.lamports,space:this.space,programId:this.programId})),t.add(this.initializeAccount({votePubkey:e.votePubkey,nodePubkey:e.voteInit.nodePubkey,voteInit:e.voteInit}))}static authorize(e){let{votePubkey:t,authorizedPubkey:n,newAuthorizedPubkey:i,voteAuthorizationType:s}=e,o=os.Authorize,c=we(o,{newAuthorized:_e(i.toBuffer()),voteAuthorizationType:s.index}),u=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:Cr,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}];return new Se().add({keys:u,programId:this.programId,data:c})}static authorizeWithSeed(e){let{currentAuthorityDerivedKeyBasePubkey:t,currentAuthorityDerivedKeyOwnerPubkey:n,currentAuthorityDerivedKeySeed:i,newAuthorizedPubkey:s,voteAuthorizationType:o,votePubkey:c}=e,u=os.AuthorizeWithSeed,p=we(u,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:_e(n.toBuffer()),currentAuthorityDerivedKeySeed:i,newAuthorized:_e(s.toBuffer()),voteAuthorizationType:o.index}}),m=[{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:Cr,isSigner:!1,isWritable:!1},{pubkey:t,isSigner:!0,isWritable:!1}];return new Se().add({keys:m,programId:this.programId,data:p})}static withdraw(e){let{votePubkey:t,authorizedWithdrawerPubkey:n,lamports:i,toPubkey:s}=e,o=os.Withdraw,c=we(o,{lamports:i}),u=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1}];return new Se().add({keys:u,programId:this.programId,data:c})}static safeWithdraw(e,t,n){if(e.lamports>t-n)throw new Error("Withdraw will leave vote account with insufficient funds.");return r.withdraw(e)}static updateValidatorIdentity(e){let{votePubkey:t,authorizedWithdrawerPubkey:n,nodePubkey:i}=e,s=os.UpdateValidatorIdentity,o=we(s),c=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}];return new Se().add({keys:c,programId:this.programId,data:o})}};Jo.programId=new ce("Vote111111111111111111111111111111111111111");Jo.space=3762;var VA=new ce("Va1idator1nfo111111111111111111111111111111"),$A=P({name:z(),website:ne(z()),details:ne(z()),iconUrl:ne(z()),keybaseUsername:ne(z())});var WA=new ce("Vote111111111111111111111111111111111111111"),qA=E.struct([ye("nodePubkey"),ye("authorizedWithdrawer"),E.u8("commission"),E.nu64(),E.seq(E.struct([E.nu64("slot"),E.u32("confirmationCount")]),E.offset(E.u32(),-8),"votes"),E.u8("rootSlotValid"),E.nu64("rootSlot"),E.nu64(),E.seq(E.struct([E.nu64("epoch"),ye("authorizedVoter")]),E.offset(E.u32(),-8),"authorizedVoters"),E.struct([E.seq(E.struct([ye("authorizedPubkey"),E.nu64("epochOfLastAuthorizedSwitch"),E.nu64("targetEpoch")]),32,"buf"),E.nu64("idx"),E.u8("isEmpty")],"priorVoters"),E.nu64(),E.seq(E.struct([E.nu64("epoch"),E.nu64("credits"),E.nu64("prevCredits")]),E.offset(E.u32(),-8),"epochCredits"),E.struct([E.nu64("slot"),E.nu64("timestamp")],"lastTimestamp")]);var Cu=r=>({request:r,signMessage:e=>r({method:"signMessage",params:{message:e}}),signTransaction:e=>r({method:"signTransaction",params:{transaction:e}}),signAndSendTransaction:e=>r({method:"signAndSendTransaction",params:e})});function Pu(r){return Buffer.from(r.serialize({verifySignatures:!1})).toString("base64")}function Mu(r){let e=Uint8Array.from(Buffer.from(r,"base64"));return(e[0]&128)!==0?Ho.deserialize(e):Se.from(e)}function iE(r){return async t=>{if(t.method==="connect")return await r(t);if(t.method==="signMessage")return await r(t);if(t.method==="signAndSendTransaction"){let{transaction:n,options:i}=t.params,s={transaction:Mu(n),options:i};return await r({method:"signAndSendTransaction",params:s})}if(t.method==="signTransaction"){let{transaction:n}=t.params,i={transaction:Mu(n)},{signedTransaction:s}=await r({method:"signTransaction",params:i});return{signedTransaction:Pu(s)}}}}function Uu(r){return async t=>{if(t.method==="connect")return await r(t);if(t.method==="signMessage")return await r(t);if(t.method==="signAndSendTransaction"){let{transaction:n,options:i}=t.params,s={transaction:Pu(n)};return await r({method:"signAndSendTransaction",params:s})}if(t.method==="signTransaction"){let{transaction:n}=t.params,i={transaction:Pu(n)},{signedTransaction:s}=await r({method:"signTransaction",params:i});return{signedTransaction:Mu(s)}}}}var Eh="0.1.1";function Rh(){return Eh}var ta=class r extends Error{constructor(e,t={}){let n=(()=>{if(t.cause instanceof r){if(t.cause.details)return t.cause.details;if(t.cause.shortMessage)return t.cause.shortMessage}return t.cause?.message?t.cause.message:t.details})(),i=t.cause instanceof r&&t.cause.docsPath||t.docsPath,o=`https://oxlib.sh${i??""}`,c=[e||"An error occurred.",...t.metaMessages?["",...t.metaMessages]:[],...n||i?["",n?`Details: ${n}`:void 0,i?`See: ${o}`:void 0]:[]].filter(u=>typeof u=="string").join(`
|
|
13
|
-
`);super(c,t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${Rh()}`}),this.cause=t.cause,this.details=n,this.docs=o,this.docsPath=i,this.shortMessage=e}walk(e){return Sh(this,e)}};function Sh(r,e){return e?.(r)?r:r&&typeof r=="object"&&"cause"in r&&r.cause?Sh(r.cause,e):e?null:r}function ra(r,e={}){let{raw:t=!1}=e,n=r;if(t)return r;if(n.error){let{code:i}=n.error,s=i===Gn.code?Gn:i===ls.code?ls:i===ws.code?ws:i===_s.code?_s:i===gs.code?gs:i===bs.code?bs:i===ms.code?ms:i===vs.code?vs:i===ds.code?ds:i===hs.code?hs:i===ps.code?ps:i===ys.code?ys:St;throw new s(n.error)}return n.result}var St=class extends Error{constructor(e){let{code:t,message:n,data:i}=e;super(n),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.BaseError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t,this.data=i}},ls=class r extends St{constructor(e={}){super({message:"Missing or invalid parameters.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.InvalidInputError"})}};Object.defineProperty(ls,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var ds=class r extends St{constructor(e={}){super({message:"Requested resource not found.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.ResourceNotFoundError"})}};Object.defineProperty(ds,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var hs=class r extends St{constructor(e={}){super({message:"Requested resource not available.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.ResourceUnavailableError"})}};Object.defineProperty(hs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var ps=class r extends St{constructor(e={}){super({message:"Transaction creation failed.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.TransactionRejectedError"})}};Object.defineProperty(ps,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var ms=class r extends St{constructor(e={}){super({message:"Method is not implemented.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.MethodNotSupportedError"})}};Object.defineProperty(ms,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var gs=class r extends St{constructor(e={}){super({message:"Rate limit exceeded.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.LimitExceededError"})}};Object.defineProperty(gs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var ys=class r extends St{constructor(e={}){super({message:"JSON-RPC version not supported.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.VersionNotSupportedError"})}};Object.defineProperty(ys,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var _s=class r extends St{constructor(e={}){super({message:"Input is not a valid JSON-RPC request.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.InvalidRequestError"})}};Object.defineProperty(_s,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var bs=class r extends St{constructor(e={}){super({message:"Method does not exist.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.MethodNotFoundError"})}};Object.defineProperty(bs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var ws=class r extends St{constructor(e={}){super({message:"Invalid method parameters.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.InvalidParamsError"})}};Object.defineProperty(ws,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var Gn=class r extends St{constructor(e={}){super({message:"Internal JSON-RPC error.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.InternalErrorError"})}};Object.defineProperty(Gn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var vs=class r extends St{constructor(e={}){super({message:"Failed to parse JSON-RPC response.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.ParseError"})}};Object.defineProperty(vs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});var _r=class extends Error{constructor(e,t){super(t),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ProviderRpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=e,this.details=t}},Es=class extends _r{constructor({message:e="The user rejected the request."}={}){super(4001,e),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UserRejectedRequestError"})}};Object.defineProperty(Es,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});var Rs=class extends _r{constructor({message:e="The requested method and/or account has not been authorized by the user."}={}){super(4100,e),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UnauthorizedError"})}};Object.defineProperty(Rs,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});var Ss=class extends _r{constructor({message:e="The provider does not support the requested method."}={}){super(4200,e),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UnsupportedMethodError"})}};Object.defineProperty(Ss,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});var As=class extends _r{constructor({message:e="The provider is disconnected from all chains."}={}){super(4900,e),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.DisconnectedError"})}};Object.defineProperty(As,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});var xs=class extends _r{constructor({message:e="The provider is not connected to the requested chain."}={}){super(4901,e),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.ChainDisconnectedError"})}};Object.defineProperty(xs,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});function xh(){let r=new on.default;return{get eventNames(){return r.eventNames.bind(r)},get listenerCount(){return r.listenerCount.bind(r)},get listeners(){return r.listeners.bind(r)},addListener:r.addListener.bind(r),emit:r.emit.bind(r),off:r.off.bind(r),on:r.on.bind(r),once:r.once.bind(r),removeAllListeners:r.removeAllListeners.bind(r),removeListener:r.removeListener.bind(r)}}function Ih(r,e={}){let{includeEvents:t=!0}=e;if(!r)throw new Du;return{...t?{on:r.on?.bind(r),removeListener:r.removeListener?.bind(r)}:{},async request(n){let i=await r.request(n);return i&&typeof i=="object"&&"jsonrpc"in i?ra(i):i}}}var Du=class extends ta{constructor(){super("`provider` is undefined."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.IsUndefinedError"})}};function Oh(r={}){let e=r.id??0;return{prepare(t){return aE({id:e++,...t})},get id(){return e}}}function aE(r){return{...r,jsonrpc:"2.0"}}var Th=Symbol("Comlink.proxy"),uE=Symbol("Comlink.endpoint"),fE=Symbol("Comlink.releaseProxy"),zu=Symbol("Comlink.finalizer"),ia=Symbol("Comlink.thrown"),Nh=r=>typeof r=="object"&&r!==null||typeof r=="function",lE={canHandle:r=>Nh(r)&&r[Th],serialize(r){let{port1:e,port2:t}=new MessageChannel;return Lh(r,e),[t,[t]]},deserialize(r){return r.start(),Vu(r)}},dE={canHandle:r=>Nh(r)&&ia in r,serialize({value:r}){let e;return r instanceof Error?e={isError:!0,value:{message:r.message,name:r.name,stack:r.stack}}:e={isError:!1,value:r},[e,[]]},deserialize(r){throw r.isError?Object.assign(new Error(r.value.message),r.value):r.value}},Bh=new Map([["proxy",lE],["throw",dE]]);function hE(r,e){for(let t of r)if(e===t||t==="*"||t instanceof RegExp&&t.test(e))return!0;return!1}function Lh(r,e=globalThis,t=["*"]){e.addEventListener("message",function n(i){if(!i||!i.data)return;if(!hE(t,i.origin)){console.warn(`Invalid origin '${i.origin}' for comlink proxy`);return}let{id:s,type:o,path:c}=Object.assign({path:[]},i.data),u=(i.data.argumentList||[]).map(Zn),p;try{let m=c.slice(0,-1).reduce((A,S)=>A[S],r),b=c.reduce((A,S)=>A[S],r);switch(o){case"GET":p=b;break;case"SET":m[c.slice(-1)[0]]=Zn(i.data.value),p=!0;break;case"APPLY":p=b.apply(m,u);break;case"CONSTRUCT":{let A=new b(...u);p=bE(A)}break;case"ENDPOINT":{let{port1:A,port2:S}=new MessageChannel;Lh(r,S),p=_E(A,[A])}break;case"RELEASE":p=void 0;break;default:return}}catch(m){p={value:m,[ia]:0}}Promise.resolve(p).catch(m=>({value:m,[ia]:0})).then(m=>{let[b,A]=aa(m);e.postMessage(Object.assign(Object.assign({},b),{id:s}),A),o==="RELEASE"&&(e.removeEventListener("message",n),Ch(e),zu in r&&typeof r[zu]=="function"&&r[zu]())}).catch(m=>{let[b,A]=aa({value:new TypeError("Unserializable return value"),[ia]:0});e.postMessage(Object.assign(Object.assign({},b),{id:s}),A)})}),e.start&&e.start()}function pE(r){return r.constructor.name==="MessagePort"}function Ch(r){pE(r)&&r.close()}function Vu(r,e){let t=new Map;return r.addEventListener("message",function(i){let{data:s}=i;if(!s||!s.id)return;let o=t.get(s.id);if(o)try{o(s)}finally{t.delete(s.id)}}),Fu(r,t,[],e)}function na(r){if(r)throw new Error("Proxy has been released and is not useable")}function Ph(r){return Si(r,new Map,{type:"RELEASE"}).then(()=>{Ch(r)})}var sa=new WeakMap,oa="FinalizationRegistry"in globalThis&&new FinalizationRegistry(r=>{let e=(sa.get(r)||0)-1;sa.set(r,e),e===0&&Ph(r)});function mE(r,e){let t=(sa.get(e)||0)+1;sa.set(e,t),oa&&oa.register(r,e,r)}function gE(r){oa&&oa.unregister(r)}function Fu(r,e,t=[],n=function(){}){let i=!1,s=new Proxy(n,{get(o,c){if(na(i),c===fE)return()=>{gE(s),Ph(r),e.clear(),i=!0};if(c==="then"){if(t.length===0)return{then:()=>s};let u=Si(r,e,{type:"GET",path:t.map(p=>p.toString())}).then(Zn);return u.then.bind(u)}return Fu(r,e,[...t,c])},set(o,c,u){na(i);let[p,m]=aa(u);return Si(r,e,{type:"SET",path:[...t,c].map(b=>b.toString()),value:p},m).then(Zn)},apply(o,c,u){na(i);let p=t[t.length-1];if(p===uE)return Si(r,e,{type:"ENDPOINT"}).then(Zn);if(p==="bind")return Fu(r,e,t.slice(0,-1));let[m,b]=kh(u);return Si(r,e,{type:"APPLY",path:t.map(A=>A.toString()),argumentList:m},b).then(Zn)},construct(o,c){na(i);let[u,p]=kh(c);return Si(r,e,{type:"CONSTRUCT",path:t.map(m=>m.toString()),argumentList:u},p).then(Zn)}});return mE(s,r),s}function yE(r){return Array.prototype.concat.apply([],r)}function kh(r){let e=r.map(aa);return[e.map(t=>t[0]),yE(e.map(t=>t[1]))]}var Mh=new WeakMap;function _E(r,e){return Mh.set(r,e),r}function bE(r){return Object.assign(r,{[Th]:!0})}function Uh(r,e=globalThis,t="*"){return{postMessage:(n,i)=>r.postMessage(n,t,i),addEventListener:e.addEventListener.bind(e),removeEventListener:e.removeEventListener.bind(e)}}function aa(r){for(let[e,t]of Bh)if(t.canHandle(r)){let[n,i]=t.serialize(r);return[{type:"HANDLER",name:e,value:n},i]}return[{type:"RAW",value:r},Mh.get(r)||[]]}function Zn(r){switch(r.type){case"HANDLER":return Bh.get(r.name).deserialize(r.value);case"RAW":return r.value}}function Si(r,e,t,n){return new Promise(i=>{let s=wE();e.set(s,i),r.start&&r.start(),r.postMessage(Object.assign({id:s},t),n)})}function wE(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}var vE={postMessage(){},addEventListener:()=>{},removeEventListener:()=>{}},EE={postMessage:r=>{console.debug("[webview:req]",r),window.ReactNativeWebView.postMessage(JSON.stringify(r))},addEventListener:(r,e,...t)=>{document.addEventListener("FarcasterFrameCallback",e,...t)},removeEventListener:(r,e)=>{document.removeEventListener("FarcasterFrameCallback",e)}},Dh=typeof window>"u"?vE:window?.ReactNativeWebView?EE:Uh(window?.parent??window);var Ee=Vu(Dh);var $u=xh(),RE=Oh();function SE({code:r,details:e}){switch(r){case 4001:return new Es;case 4100:return new Rs;case 4200:return new Ss;case 4900:return new As;case 4901:return new xs;default:return new _r(r,e??"Unknown provider RPC error")}}var Ai=Ih({...$u,async request(r){let e=RE.prepare(r);try{let t=await Ee.ethProviderRequestV2(e).then(n=>ra(n,{request:e,raw:!0}));if(t.error)throw SE(t.error);return t.result}catch(t){if(t instanceof Error&&t.message.match(/cannot read property 'apply'/i))return await Ee.ethProviderRequest(e);throw t instanceof _r||t instanceof St?t:new Gn({message:t instanceof Error?t.message:void 0})}}});async function zh(){try{return(await Ee.getCapabilities()).includes("wallet.getEthereumProvider")?Ai:void 0}catch{return Ai}}function Fh(r){let e=new CustomEvent("eip6963:announceProvider",{detail:Object.freeze(r)});window.dispatchEvent(e);let t=()=>window.dispatchEvent(e);return window.addEventListener("eip6963:requestProvider",t),()=>window.removeEventListener("eip6963:requestProvider",t)}typeof document<"u"&&(document.addEventListener("eip6963:requestProvider",()=>{Ee.eip6963RequestProvider()}),document.addEventListener("FarcasterFrameEthProviderEvent",r=>{if(r instanceof MessageEvent){let e=r.data;$u.emit(e.event,...e.params)}}),document.addEventListener("FarcasterFrameEvent",r=>{if(r instanceof MessageEvent){let e=r.data;e.event==="eip6963:announceProvider"&&Fh({info:e.info,provider:Ai})}}));typeof window<"u"&&(window.addEventListener("eip6963:requestProvider",()=>{Ee.eip6963RequestProvider()}),window.addEventListener("message",r=>{if(r instanceof MessageEvent&&r.data.type==="frameEthProviderEvent"){let e=r.data;$u.emit(e.event,...e.params)}}),window.addEventListener("message",r=>{if(r instanceof MessageEvent&&r.data.type==="frameEvent"){let e=r.data.event;e.event==="eip6963:announceProvider"&&Fh({info:e.info,provider:Ai})}}));var{solanaProviderRequest:Vh}=Ee,$h;Vh&&($h=Cu(Uu(Vh)));async function Wh(){let r;try{r=await Ee.getCapabilities()}catch{}if(r?.includes("wallet.getSolanaProvider"))return $h}function Kh(){let r=new on.default;return{get eventNames(){return r.eventNames.bind(r)},get listenerCount(){return r.listenerCount.bind(r)},get listeners(){return r.listeners.bind(r)},addListener:r.addListener.bind(r),emit:r.emit.bind(r),off:r.off.bind(r),on:r.on.bind(r),once:r.once.bind(r),removeAllListeners:r.removeAllListeners.bind(r),removeListener:r.removeListener.bind(r)}}var Jt=Kh(),qh=null;async function AE(r=50){if(qh===!0)return!0;if(typeof window>"u"||!window.ReactNativeWebView&&window===window.parent)return!1;let e=await Promise.race([Ee.context.then(t=>!!t),new Promise(t=>{setTimeout(()=>t(!1),r)})]).catch(()=>!1);return e&&(qh=!0),e}var jh=async()=>{let r=await Ee.addFrame();if(r.result)return r.result;throw r.error.type==="invalid_domain_manifest"?new Xn.InvalidDomainManifest:r.error.type==="rejected_by_user"?new Xn.RejectedByUser:new Error("Unreachable")},Wu={...Jt,getCapabilities:Ee.getCapabilities,getChains:Ee.getChains,isInMiniApp:AE,context:Ee.context,actions:{setPrimaryButton:Ee.setPrimaryButton.bind(Ee),ready:Ee.ready.bind(Ee),close:Ee.close.bind(Ee),viewProfile:Ee.viewProfile.bind(Ee),signIn:async r=>{let e=await Ee.signIn(r);if(e.result)return e.result;throw e.error.type==="rejected_by_user"?new Oi.RejectedByUser:new Error("Unreachable")},openUrl:r=>{let e=typeof r=="string"?r:r.url;return Ee.openUrl(e.trim())},addFrame:jh,addMiniApp:jh,composeCast(r={}){return Ee.composeCast(r)},viewToken:Ee.viewToken.bind(Ee),sendToken:Ee.sendToken.bind(Ee),swapToken:Ee.swapToken.bind(Ee)},experimental:{getSolanaProvider:Wh},wallet:{ethProvider:Ai,getEthereumProvider:zh}};typeof document<"u"&&document.addEventListener("FarcasterFrameEvent",r=>{if(r instanceof MessageEvent){let e=r.data;e.event==="primary_button_clicked"?Jt.emit("primaryButtonClicked"):e.event==="frame_added"?Jt.emit("frameAdded",{notificationDetails:e.notificationDetails}):e.event==="frame_add_rejected"?Jt.emit("frameAddRejected",{reason:e.reason}):e.event==="frame_removed"?Jt.emit("frameRemoved"):e.event==="notifications_enabled"?Jt.emit("notificationsEnabled",{notificationDetails:e.notificationDetails}):e.event==="notifications_disabled"&&Jt.emit("notificationsDisabled")}});typeof window<"u"&&window.addEventListener("message",r=>{if(r instanceof MessageEvent&&r.data.type==="frameEvent"){let e=r.data.event;e.event==="primary_button_clicked"?Jt.emit("primaryButtonClicked"):e.event==="frame_added"?Jt.emit("frameAdded",{notificationDetails:e.notificationDetails}):e.event==="frame_add_rejected"?Jt.emit("frameAddRejected",{reason:e.reason}):e.event==="frame_removed"?Jt.emit("frameRemoved"):e.event==="notifications_enabled"?Jt.emit("notificationsEnabled",{notificationDetails:e.notificationDetails}):e.event==="notifications_disabled"&&Jt.emit("notificationsDisabled")}});var xE=Wu;return Ia(IE);})();
|
|
13
|
+
`);super(c,t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${Rh()}`}),this.cause=t.cause,this.details=n,this.docs=o,this.docsPath=i,this.shortMessage=e}walk(e){return Sh(this,e)}};function Sh(r,e){return e?.(r)?r:r&&typeof r=="object"&&"cause"in r&&r.cause?Sh(r.cause,e):e?null:r}function ra(r,e={}){let{raw:t=!1}=e,n=r;if(t)return r;if(n.error){let{code:i}=n.error,s=i===Gn.code?Gn:i===ls.code?ls:i===ws.code?ws:i===_s.code?_s:i===gs.code?gs:i===bs.code?bs:i===ms.code?ms:i===vs.code?vs:i===ds.code?ds:i===hs.code?hs:i===ps.code?ps:i===ys.code?ys:St;throw new s(n.error)}return n.result}var St=class extends Error{constructor(e){let{code:t,message:n,data:i}=e;super(n),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.BaseError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t,this.data=i}},ls=class r extends St{constructor(e={}){super({message:"Missing or invalid parameters.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.InvalidInputError"})}};Object.defineProperty(ls,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var ds=class r extends St{constructor(e={}){super({message:"Requested resource not found.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.ResourceNotFoundError"})}};Object.defineProperty(ds,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var hs=class r extends St{constructor(e={}){super({message:"Requested resource not available.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.ResourceUnavailableError"})}};Object.defineProperty(hs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var ps=class r extends St{constructor(e={}){super({message:"Transaction creation failed.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.TransactionRejectedError"})}};Object.defineProperty(ps,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var ms=class r extends St{constructor(e={}){super({message:"Method is not implemented.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.MethodNotSupportedError"})}};Object.defineProperty(ms,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var gs=class r extends St{constructor(e={}){super({message:"Rate limit exceeded.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.LimitExceededError"})}};Object.defineProperty(gs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var ys=class r extends St{constructor(e={}){super({message:"JSON-RPC version not supported.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.VersionNotSupportedError"})}};Object.defineProperty(ys,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var _s=class r extends St{constructor(e={}){super({message:"Input is not a valid JSON-RPC request.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.InvalidRequestError"})}};Object.defineProperty(_s,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var bs=class r extends St{constructor(e={}){super({message:"Method does not exist.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.MethodNotFoundError"})}};Object.defineProperty(bs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var ws=class r extends St{constructor(e={}){super({message:"Invalid method parameters.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.InvalidParamsError"})}};Object.defineProperty(ws,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var Gn=class r extends St{constructor(e={}){super({message:"Internal JSON-RPC error.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.InternalErrorError"})}};Object.defineProperty(Gn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var vs=class r extends St{constructor(e={}){super({message:"Failed to parse JSON-RPC response.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.ParseError"})}};Object.defineProperty(vs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});var _r=class extends Error{constructor(e,t){super(t),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ProviderRpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=e,this.details=t}},Es=class extends _r{constructor({message:e="The user rejected the request."}={}){super(4001,e),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UserRejectedRequestError"})}};Object.defineProperty(Es,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});var Rs=class extends _r{constructor({message:e="The requested method and/or account has not been authorized by the user."}={}){super(4100,e),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UnauthorizedError"})}};Object.defineProperty(Rs,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});var Ss=class extends _r{constructor({message:e="The provider does not support the requested method."}={}){super(4200,e),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UnsupportedMethodError"})}};Object.defineProperty(Ss,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});var As=class extends _r{constructor({message:e="The provider is disconnected from all chains."}={}){super(4900,e),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.DisconnectedError"})}};Object.defineProperty(As,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});var xs=class extends _r{constructor({message:e="The provider is not connected to the requested chain."}={}){super(4901,e),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.ChainDisconnectedError"})}};Object.defineProperty(xs,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});function xh(){let r=new on.default;return{get eventNames(){return r.eventNames.bind(r)},get listenerCount(){return r.listenerCount.bind(r)},get listeners(){return r.listeners.bind(r)},addListener:r.addListener.bind(r),emit:r.emit.bind(r),off:r.off.bind(r),on:r.on.bind(r),once:r.once.bind(r),removeAllListeners:r.removeAllListeners.bind(r),removeListener:r.removeListener.bind(r)}}function Ih(r,e={}){let{includeEvents:t=!0}=e;if(!r)throw new Du;return{...t?{on:r.on?.bind(r),removeListener:r.removeListener?.bind(r)}:{},async request(n){let i=await r.request(n);return i&&typeof i=="object"&&"jsonrpc"in i?ra(i):i}}}var Du=class extends ta{constructor(){super("`provider` is undefined."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.IsUndefinedError"})}};function Oh(r={}){let e=r.id??0;return{prepare(t){return aE({id:e++,...t})},get id(){return e}}}function aE(r){return{...r,jsonrpc:"2.0"}}var Th=Symbol("Comlink.proxy"),uE=Symbol("Comlink.endpoint"),fE=Symbol("Comlink.releaseProxy"),zu=Symbol("Comlink.finalizer"),ia=Symbol("Comlink.thrown"),Nh=r=>typeof r=="object"&&r!==null||typeof r=="function",lE={canHandle:r=>Nh(r)&&r[Th],serialize(r){let{port1:e,port2:t}=new MessageChannel;return Lh(r,e),[t,[t]]},deserialize(r){return r.start(),Vu(r)}},dE={canHandle:r=>Nh(r)&&ia in r,serialize({value:r}){let e;return r instanceof Error?e={isError:!0,value:{message:r.message,name:r.name,stack:r.stack}}:e={isError:!1,value:r},[e,[]]},deserialize(r){throw r.isError?Object.assign(new Error(r.value.message),r.value):r.value}},Bh=new Map([["proxy",lE],["throw",dE]]);function hE(r,e){for(let t of r)if(e===t||t==="*"||t instanceof RegExp&&t.test(e))return!0;return!1}function Lh(r,e=globalThis,t=["*"]){e.addEventListener("message",function n(i){if(!i||!i.data)return;if(!hE(t,i.origin)){console.warn(`Invalid origin '${i.origin}' for comlink proxy`);return}let{id:s,type:o,path:c}=Object.assign({path:[]},i.data),u=(i.data.argumentList||[]).map(Zn),p;try{let m=c.slice(0,-1).reduce((A,S)=>A[S],r),b=c.reduce((A,S)=>A[S],r);switch(o){case"GET":p=b;break;case"SET":m[c.slice(-1)[0]]=Zn(i.data.value),p=!0;break;case"APPLY":p=b.apply(m,u);break;case"CONSTRUCT":{let A=new b(...u);p=bE(A)}break;case"ENDPOINT":{let{port1:A,port2:S}=new MessageChannel;Lh(r,S),p=_E(A,[A])}break;case"RELEASE":p=void 0;break;default:return}}catch(m){p={value:m,[ia]:0}}Promise.resolve(p).catch(m=>({value:m,[ia]:0})).then(m=>{let[b,A]=aa(m);e.postMessage(Object.assign(Object.assign({},b),{id:s}),A),o==="RELEASE"&&(e.removeEventListener("message",n),Ch(e),zu in r&&typeof r[zu]=="function"&&r[zu]())}).catch(m=>{let[b,A]=aa({value:new TypeError("Unserializable return value"),[ia]:0});e.postMessage(Object.assign(Object.assign({},b),{id:s}),A)})}),e.start&&e.start()}function pE(r){return r.constructor.name==="MessagePort"}function Ch(r){pE(r)&&r.close()}function Vu(r,e){let t=new Map;return r.addEventListener("message",function(i){let{data:s}=i;if(!s||!s.id)return;let o=t.get(s.id);if(o)try{o(s)}finally{t.delete(s.id)}}),Fu(r,t,[],e)}function na(r){if(r)throw new Error("Proxy has been released and is not useable")}function Ph(r){return Si(r,new Map,{type:"RELEASE"}).then(()=>{Ch(r)})}var sa=new WeakMap,oa="FinalizationRegistry"in globalThis&&new FinalizationRegistry(r=>{let e=(sa.get(r)||0)-1;sa.set(r,e),e===0&&Ph(r)});function mE(r,e){let t=(sa.get(e)||0)+1;sa.set(e,t),oa&&oa.register(r,e,r)}function gE(r){oa&&oa.unregister(r)}function Fu(r,e,t=[],n=function(){}){let i=!1,s=new Proxy(n,{get(o,c){if(na(i),c===fE)return()=>{gE(s),Ph(r),e.clear(),i=!0};if(c==="then"){if(t.length===0)return{then:()=>s};let u=Si(r,e,{type:"GET",path:t.map(p=>p.toString())}).then(Zn);return u.then.bind(u)}return Fu(r,e,[...t,c])},set(o,c,u){na(i);let[p,m]=aa(u);return Si(r,e,{type:"SET",path:[...t,c].map(b=>b.toString()),value:p},m).then(Zn)},apply(o,c,u){na(i);let p=t[t.length-1];if(p===uE)return Si(r,e,{type:"ENDPOINT"}).then(Zn);if(p==="bind")return Fu(r,e,t.slice(0,-1));let[m,b]=kh(u);return Si(r,e,{type:"APPLY",path:t.map(A=>A.toString()),argumentList:m},b).then(Zn)},construct(o,c){na(i);let[u,p]=kh(c);return Si(r,e,{type:"CONSTRUCT",path:t.map(m=>m.toString()),argumentList:u},p).then(Zn)}});return mE(s,r),s}function yE(r){return Array.prototype.concat.apply([],r)}function kh(r){let e=r.map(aa);return[e.map(t=>t[0]),yE(e.map(t=>t[1]))]}var Mh=new WeakMap;function _E(r,e){return Mh.set(r,e),r}function bE(r){return Object.assign(r,{[Th]:!0})}function Uh(r,e=globalThis,t="*"){return{postMessage:(n,i)=>r.postMessage(n,t,i),addEventListener:e.addEventListener.bind(e),removeEventListener:e.removeEventListener.bind(e)}}function aa(r){for(let[e,t]of Bh)if(t.canHandle(r)){let[n,i]=t.serialize(r);return[{type:"HANDLER",name:e,value:n},i]}return[{type:"RAW",value:r},Mh.get(r)||[]]}function Zn(r){switch(r.type){case"HANDLER":return Bh.get(r.name).deserialize(r.value);case"RAW":return r.value}}function Si(r,e,t,n){return new Promise(i=>{let s=wE();e.set(s,i),r.start&&r.start(),r.postMessage(Object.assign({id:s},t),n)})}function wE(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}var vE={postMessage(){},addEventListener:()=>{},removeEventListener:()=>{}},EE={postMessage:r=>{console.debug("[webview:req]",r),window.ReactNativeWebView.postMessage(JSON.stringify(r))},addEventListener:(r,e,...t)=>{document.addEventListener("FarcasterFrameCallback",e,...t)},removeEventListener:(r,e)=>{document.removeEventListener("FarcasterFrameCallback",e)}},Dh=typeof window>"u"?vE:window?.ReactNativeWebView?EE:Uh(window?.parent??window);var Ee=Vu(Dh);var $u=xh(),RE=Oh();function SE({code:r,details:e}){switch(r){case 4001:return new Es;case 4100:return new Rs;case 4200:return new Ss;case 4900:return new As;case 4901:return new xs;default:return new _r(r,e??"Unknown provider RPC error")}}var Ai=Ih({...$u,async request(r){let e=RE.prepare(r);try{let t=await Ee.ethProviderRequestV2(e).then(n=>ra(n,{request:e,raw:!0}));if(t.error)throw SE(t.error);return t.result}catch(t){if(t instanceof Error&&t.message.match(/cannot read property 'apply'/i))return await Ee.ethProviderRequest(e);throw t instanceof _r||t instanceof St?t:new Gn({message:t instanceof Error?t.message:void 0})}}});async function zh(){try{let r=await Ee.getCapabilities();return!r.includes("wallet.getEthereumProvider")&&!r.includes("wallet.getEvmProvider")?void 0:Ai}catch{return Ai}}function Fh(r){let e=new CustomEvent("eip6963:announceProvider",{detail:Object.freeze(r)});window.dispatchEvent(e);let t=()=>window.dispatchEvent(e);return window.addEventListener("eip6963:requestProvider",t),()=>window.removeEventListener("eip6963:requestProvider",t)}typeof document<"u"&&(document.addEventListener("eip6963:requestProvider",()=>{Ee.eip6963RequestProvider()}),document.addEventListener("FarcasterFrameEthProviderEvent",r=>{if(r instanceof MessageEvent){let e=r.data;$u.emit(e.event,...e.params)}}),document.addEventListener("FarcasterFrameEvent",r=>{if(r instanceof MessageEvent){let e=r.data;e.event==="eip6963:announceProvider"&&Fh({info:e.info,provider:Ai})}}));typeof window<"u"&&(window.addEventListener("eip6963:requestProvider",()=>{Ee.eip6963RequestProvider()}),window.addEventListener("message",r=>{if(r instanceof MessageEvent&&r.data.type==="frameEthProviderEvent"){let e=r.data;$u.emit(e.event,...e.params)}}),window.addEventListener("message",r=>{if(r instanceof MessageEvent&&r.data.type==="frameEvent"){let e=r.data.event;e.event==="eip6963:announceProvider"&&Fh({info:e.info,provider:Ai})}}));var{solanaProviderRequest:Vh}=Ee,$h;Vh&&($h=Cu(Uu(Vh)));async function Wh(){let r;try{r=await Ee.getCapabilities()}catch{}if(r?.includes("wallet.getSolanaProvider"))return $h}function Kh(){let r=new on.default;return{get eventNames(){return r.eventNames.bind(r)},get listenerCount(){return r.listenerCount.bind(r)},get listeners(){return r.listeners.bind(r)},addListener:r.addListener.bind(r),emit:r.emit.bind(r),off:r.off.bind(r),on:r.on.bind(r),once:r.once.bind(r),removeAllListeners:r.removeAllListeners.bind(r),removeListener:r.removeListener.bind(r)}}var Jt=Kh(),qh=null;async function AE(r=50){if(qh===!0)return!0;if(typeof window>"u"||!window.ReactNativeWebView&&window===window.parent)return!1;let e=await Promise.race([Ee.context.then(t=>!!t),new Promise(t=>{setTimeout(()=>t(!1),r)})]).catch(()=>!1);return e&&(qh=!0),e}var jh=async()=>{let r=await Ee.addFrame();if(r.result)return r.result;throw r.error.type==="invalid_domain_manifest"?new Xn.InvalidDomainManifest:r.error.type==="rejected_by_user"?new Xn.RejectedByUser:new Error("Unreachable")},Wu={...Jt,getCapabilities:Ee.getCapabilities,getChains:Ee.getChains,isInMiniApp:AE,context:Ee.context,actions:{setPrimaryButton:Ee.setPrimaryButton.bind(Ee),ready:Ee.ready.bind(Ee),close:Ee.close.bind(Ee),viewProfile:Ee.viewProfile.bind(Ee),signIn:async r=>{let e=await Ee.signIn(r);if(e.result)return e.result;throw e.error.type==="rejected_by_user"?new Oi.RejectedByUser:new Error("Unreachable")},openUrl:r=>{let e=typeof r=="string"?r:r.url;return Ee.openUrl(e.trim())},addFrame:jh,addMiniApp:jh,composeCast(r={}){return Ee.composeCast(r)},viewToken:Ee.viewToken.bind(Ee),sendToken:Ee.sendToken.bind(Ee),swapToken:Ee.swapToken.bind(Ee)},experimental:{getSolanaProvider:Wh},wallet:{ethProvider:Ai,getEthereumProvider:zh}};typeof document<"u"&&document.addEventListener("FarcasterFrameEvent",r=>{if(r instanceof MessageEvent){let e=r.data;e.event==="primary_button_clicked"?Jt.emit("primaryButtonClicked"):e.event==="frame_added"?Jt.emit("frameAdded",{notificationDetails:e.notificationDetails}):e.event==="frame_add_rejected"?Jt.emit("frameAddRejected",{reason:e.reason}):e.event==="frame_removed"?Jt.emit("frameRemoved"):e.event==="notifications_enabled"?Jt.emit("notificationsEnabled",{notificationDetails:e.notificationDetails}):e.event==="notifications_disabled"&&Jt.emit("notificationsDisabled")}});typeof window<"u"&&window.addEventListener("message",r=>{if(r instanceof MessageEvent&&r.data.type==="frameEvent"){let e=r.data.event;e.event==="primary_button_clicked"?Jt.emit("primaryButtonClicked"):e.event==="frame_added"?Jt.emit("frameAdded",{notificationDetails:e.notificationDetails}):e.event==="frame_add_rejected"?Jt.emit("frameAddRejected",{reason:e.reason}):e.event==="frame_removed"?Jt.emit("frameRemoved"):e.event==="notifications_enabled"?Jt.emit("notificationsEnabled",{notificationDetails:e.notificationDetails}):e.event==="notifications_disabled"&&Jt.emit("notificationsDisabled")}});var xE=Wu;return Ia(IE);})();
|
|
14
14
|
/*! Bundled license information:
|
|
15
15
|
|
|
16
16
|
ieee754/index.js:
|