@farcaster/frame-sdk 0.1.10 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -12,7 +12,7 @@ Message: ${n}.
12
12
  `,A=I+T.join(I);console.error(S.error.message,A)}throw new hi({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 s=t;if(e.nonceInfo)e.sign(...s);else{let o=this._disableBlockhashCaching;for(;;){let c=await this._blockhashWithExpiryBlockHeight(o);if(e.lastValidBlockHeight=c.lastValidBlockHeight,e.recentBlockhash=c.blockhash,e.sign(...s),!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 i=e.serialize();return await this.sendRawTransaction(i,n)}async sendRawTransaction(e,t){let n=we(e).toString("base64");return await this.sendEncodedTransaction(n,t)}async sendEncodedTransaction(e,t){let n={encoding:"base64"},s=t&&t.skipPreflight,i=s===!0?"processed":t&&t.preflightCommitment||this.commitment;t&&t.maxRetries!=null&&(n.maxRetries=t.maxRetries),t&&t.minContextSlot!=null&&(n.minContextSlot=t.minContextSlot),s&&(n.skipPreflight=s),i&&(n.preflightCommitment=i);let o=[e,n],c=await this._rpcRequest("sendTransaction",o),u=W(c,sv);if("error"in u){let p;throw"data"in u.error&&(p=u.error.data.logs),new hi({action:s?"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 s=this._subscriptionStateChangeCallbacksByHash[e];s&&s.forEach(i=>{try{i(t.state)}catch{}})}}_onSubscriptionStateChange(e,t){let n=this._subscriptionHashByClientSubscriptionId[e];if(n==null)return()=>{};let s=this._subscriptionStateChangeCallbacksByHash[n]||=new Set;return s.add(t),()=>{s.delete(t),s.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 s=this._subscriptionsByHash[n];if(s!==void 0)switch(s.state){case"pending":case"unsubscribed":if(s.callbacks.size===0){delete this._subscriptionsByHash[n],s.state==="unsubscribed"&&delete this._subscriptionCallbacksByServerSubscriptionId[s.serverSubscriptionId],await this._updateSubscriptions();return}await(async()=>{let{args:i,method:o}=s;try{this._setSubscription(n,{...s,state:"subscribing"});let c=await this._rpcWebSocket.call(o,i);this._setSubscription(n,{...s,serverSubscriptionId:c,state:"subscribed"}),this._subscriptionCallbacksByServerSubscriptionId[c]=s.callbacks,await this._updateSubscriptions()}catch(c){if(console.error(`Received ${c instanceof Error?"":"JSON-RPC "}error calling \`${o}\``,{args:i,error:c}),!t())return;this._setSubscription(n,{...s,state:"pending"}),await this._updateSubscriptions()}})();break;case"subscribed":s.callbacks.size===0&&await(async()=>{let{serverSubscriptionId:i,unsubscribeMethod:o}=s;if(this._subscriptionsAutoDisposedByRpc.has(i))this._subscriptionsAutoDisposedByRpc.delete(i);else{this._setSubscription(n,{...s,state:"unsubscribing"}),this._setSubscription(n,{...s,state:"unsubscribing"});try{await this._rpcWebSocket.call(o,[i])}catch(c){if(c instanceof Error&&console.error(`${o} error:`,c.message),!t())return;this._setSubscription(n,{...s,state:"subscribed"}),await this._updateSubscriptions();return}}this._setSubscription(n,{...s,state:"unsubscribed"}),await this._updateSubscriptions()})();break}}))}_handleServerNotification(e,t){let n=this._subscriptionCallbacksByServerSubscriptionId[e];n!==void 0&&n.forEach(s=>{try{s(...t)}catch(i){console.error(i)}})}_wsOnAccountNotification(e){let{result:t,subscription:n}=W(e,kR);this._handleServerNotification(n,[t.value,t.context])}_makeSubscription(e,t){let n=this._nextClientSubscriptionId++,s=Fh([e.method,t]),i=this._subscriptionsByHash[s];return i===void 0?this._subscriptionsByHash[s]={...e,args:t,callbacks:new Set([e.callback]),state:"pending"}:i.callbacks.add(e.callback),this._subscriptionHashByClientSubscriptionId[n]=s,this._subscriptionDisposeFunctionsByClientSubscriptionId[n]=async()=>{delete this._subscriptionDisposeFunctionsByClientSubscriptionId[n],delete this._subscriptionHashByClientSubscriptionId[n];let o=this._subscriptionsByHash[s];Ae(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:s,config:i}=Le(n),o=this._buildArgs([e.toBase58()],s||this._commitment||"finalized","base64",i);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}=W(e,TR);this._handleServerNotification(n,[{accountId:t.value.pubkey,accountInfo:t.value.account},t.context])}onProgramAccountChange(e,t,n,s){let{commitment:i,config:o}=Le(n),c=this._buildArgs([e.toBase58()],i||this._commitment||"finalized","base64",o||(s?{filters:Vh(s)}: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 s=this._buildArgs([typeof e=="object"?{mentions:[e.toString()]}:e],n||this._commitment||"finalized");return this._makeSubscription({callback:t,method:"logsSubscribe",unsubscribeMethod:"logsUnsubscribe"},s)}async removeOnLogsListener(e){await this._unsubscribeClientSubscription(e,"logs")}_wsOnLogsNotification(e){let{result:t,subscription:n}=W(e,ov);this._handleServerNotification(n,[t.value,t.context])}_wsOnSlotNotification(e){let{result:t,subscription:n}=W(e,LR);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}=W(e,CR);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,s){let i=t||this._commitment;if(i||n||s){let o={};n&&(o.encoding=n),i&&(o.commitment=i),s&&(o=Object.assign(o,s)),e.push(o)}return e}_buildArgsAtLeastConfirmed(e,t,n,s){let i=t||this._commitment;if(i&&!["confirmed","finalized"].includes(i))throw new Error("Using Connection with default commitment: `"+this._commitment+"`, but method requires at least `confirmed`");return this._buildArgs(e,t,n,s)}_wsOnSignatureNotification(e){let{result:t,subscription:n}=W(e,PR);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 s=this._buildArgs([e],n||this._commitment||"finalized"),i=this._makeSubscription({callback:(o,c)=>{if(o.type==="status"){t(o.result,c);try{this.removeSignatureListener(i)}catch{}}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},s);return i}onSignatureWithOptions(e,t,n){let{commitment:s,...i}={...n,commitment:n&&n.commitment||this._commitment||"finalized"},o=this._buildArgs([e],s,void 0,i),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}=W(e,MR);this._handleServerNotification(n,[t])}onRootChange(e){return this._makeSubscription({callback:e,method:"rootSubscribe",unsubscribeMethod:"rootUnsubscribe"},[])}async removeRootChangeListener(e){await this._unsubscribeClientSubscription(e,"root change")}},Du=class r{constructor(e){this._keypair=void 0,this._keypair=e??Ch()}static generate(){return new r(Ch())}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 s=e.slice(0,32),i=Ou(s);for(let o=0;o<32;o++)if(n[o]!==i[o])throw new Error("provided secretKey is invalid")}return new r({publicKey:n,secretKey:e})}static fromSeed(e){let t=Ou(e),n=new Uint8Array(64);return n.set(e),n.set(t,32),new r({publicKey:t,secretKey:n})}get publicKey(){return new ue(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}},fi=Object.freeze({CreateLookupTable:{index:0,layout:R.struct([R.u32("instruction"),Ts("recentSlot"),R.u8("bumpSeed")])},FreezeLookupTable:{index:1,layout:R.struct([R.u32("instruction")])},ExtendLookupTable:{index:2,layout:R.struct([R.u32("instruction"),Ts(),R.seq(be(),R.offset(R.u32(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:R.struct([R.u32("instruction")])},CloseLookupTable:{index:4,layout:R.struct([R.u32("instruction")])}});var zu=class{constructor(){}static createLookupTable(e){let[t,n]=ue.findProgramAddressSync([e.authority.toBuffer(),tu().encode(e.recentSlot)],this.programId),s=fi.CreateLookupTable,i=Ee(s,{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:Ft.programId,isSigner:!1,isWritable:!1}];return[new Te({programId:this.programId,keys:o,data:i}),t]}static freezeLookupTable(e){let t=fi.FreezeLookupTable,n=Ee(t),s=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1}];return new Te({programId:this.programId,keys:s,data:n})}static extendLookupTable(e){let t=fi.ExtendLookupTable,n=Ee(t,{addresses:e.addresses.map(i=>i.toBytes())}),s=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1}];return e.payer&&s.push({pubkey:e.payer,isSigner:!0,isWritable:!0},{pubkey:Ft.programId,isSigner:!1,isWritable:!1}),new Te({programId:this.programId,keys:s,data:n})}static deactivateLookupTable(e){let t=fi.DeactivateLookupTable,n=Ee(t),s=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1}];return new Te({programId:this.programId,keys:s,data:n})}static closeLookupTable(e){let t=fi.CloseLookupTable,n=Ee(t),s=[{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:s,data:n})}};zu.programId=new ue("AddressLookupTab1e1111111111111111111111111");var qo=Object.freeze({RequestUnits:{index:0,layout:R.struct([R.u8("instruction"),R.u32("units"),R.u32("additionalFee")])},RequestHeapFrame:{index:1,layout:R.struct([R.u8("instruction"),R.u32("bytes")])},SetComputeUnitLimit:{index:2,layout:R.struct([R.u8("instruction"),R.u32("units")])},SetComputeUnitPrice:{index:3,layout:R.struct([R.u8("instruction"),Ts("microLamports")])}}),Fu=class{constructor(){}static requestUnits(e){let t=qo.RequestUnits,n=Ee(t,e);return new Te({keys:[],programId:this.programId,data:n})}static requestHeapFrame(e){let t=qo.RequestHeapFrame,n=Ee(t,e);return new Te({keys:[],programId:this.programId,data:n})}static setComputeUnitLimit(e){let t=qo.SetComputeUnitLimit,n=Ee(t,e);return new Te({keys:[],programId:this.programId,data:n})}static setComputeUnitPrice(e){let t=qo.SetComputeUnitPrice,n=Ee(t,{microLamports:BigInt(e.microLamports)});return new Te({keys:[],programId:this.programId,data:n})}};Fu.programId=new ue("ComputeBudget111111111111111111111111111111");var Kh=64,Hh=32,Gh=64,Zh=R.struct([R.u8("numSignatures"),R.u8("padding"),R.u16("signatureOffset"),R.u16("signatureInstructionIndex"),R.u16("publicKeyOffset"),R.u16("publicKeyInstructionIndex"),R.u16("messageDataOffset"),R.u16("messageDataSize"),R.u16("messageInstructionIndex")]),$u=class r{constructor(){}static createInstructionWithPublicKey(e){let{publicKey:t,message:n,signature:s,instructionIndex:i}=e;Ae(t.length===Hh,`Public Key must be ${Hh} bytes but received ${t.length} bytes`),Ae(s.length===Gh,`Signature must be ${Gh} bytes but received ${s.length} bytes`);let o=Zh.span,c=o+t.length,u=c+s.length,p=1,m=ce.Buffer.alloc(u+n.length),b=i??65535;return Zh.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(s,c),m.fill(n,u),new Te({keys:[],programId:r.programId,data:m})}static createInstructionWithPrivateKey(e){let{privateKey:t,message:n,instructionIndex:s}=e;Ae(t.length===Kh,`Private key must be ${Kh} bytes but received ${t.length} bytes`);try{let i=Du.fromSecretKey(t),o=i.publicKey.toBytes(),c=Wu(n,i.secretKey);return this.createInstructionWithPublicKey({publicKey:o,message:n,signature:c,instructionIndex:s})}catch(i){throw new Error(`Error creating instruction; ${i}`)}}};$u.programId=new ue("Ed25519SigVerify111111111111111111111111111");var cv=(r,e)=>{let t=ci.sign(r,e);return[t.toCompactRawBytes(),t.recovery]};ci.utils.isValidPrivateKey;var uv=ci.getPublicKey,Yh=32,Au=20,Jh=64,fv=11,Iu=R.struct([R.u8("numSignatures"),R.u16("signatureOffset"),R.u8("signatureInstructionIndex"),R.u16("ethAddressOffset"),R.u8("ethAddressInstructionIndex"),R.u16("messageDataOffset"),R.u16("messageDataSize"),R.u8("messageInstructionIndex"),R.blob(20,"ethAddress"),R.blob(64,"signature"),R.u8("recoveryId")]),Vu=class r{constructor(){}static publicKeyToEthAddress(e){Ae(e.length===Jh,`Public key must be ${Jh} bytes but received ${e.length} bytes`);try{return ce.Buffer.from(mu(we(e))).slice(-Au)}catch(t){throw new Error(`Error constructing Ethereum address: ${t}`)}}static createInstructionWithPublicKey(e){let{publicKey:t,message:n,signature:s,recoveryId:i,instructionIndex:o}=e;return r.createInstructionWithEthAddress({ethAddress:r.publicKeyToEthAddress(t),message:n,signature:s,recoveryId:i,instructionIndex:o})}static createInstructionWithEthAddress(e){let{ethAddress:t,message:n,signature:s,recoveryId:i,instructionIndex:o=0}=e,c;typeof t=="string"?t.startsWith("0x")?c=ce.Buffer.from(t.substr(2),"hex"):c=ce.Buffer.from(t,"hex"):c=t,Ae(c.length===Au,`Address must be ${Au} bytes but received ${c.length} bytes`);let u=1+fv,p=u,m=u+c.length,b=m+s.length+1,x=1,S=ce.Buffer.alloc(Iu.span+n.length);return Iu.encode({numSignatures:x,signatureOffset:m,signatureInstructionIndex:o,ethAddressOffset:p,ethAddressInstructionIndex:o,messageDataOffset:b,messageDataSize:n.length,messageInstructionIndex:o,signature:we(s),ethAddress:we(c),recoveryId:i},S),S.fill(we(n),Iu.span),new Te({keys:[],programId:r.programId,data:S})}static createInstructionWithPrivateKey(e){let{privateKey:t,message:n,instructionIndex:s}=e;Ae(t.length===Yh,`Private key must be ${Yh} bytes but received ${t.length} bytes`);try{let i=we(t),o=uv(i,!1).slice(1),c=ce.Buffer.from(mu(we(n))),[u,p]=cv(c,i);return this.createInstructionWithPublicKey({publicKey:o,message:n,signature:u,recoveryId:p,instructionIndex:s})}catch(i){throw new Error(`Error creating instruction; ${i}`)}}};Vu.programId=new ue("KeccakSecp256k11111111111111111111111111111");var mp,lv=new ue("StakeConfig11111111111111111111111111111111");var mi=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}};mp=mi;mi.default=new mp(0,0,ue.default);var hn=Object.freeze({Initialize:{index:0,layout:R.struct([R.u32("instruction"),AE(),IE()])},Authorize:{index:1,layout:R.struct([R.u32("instruction"),be("newAuthorized"),R.u32("stakeAuthorizationType")])},Delegate:{index:2,layout:R.struct([R.u32("instruction")])},Split:{index:3,layout:R.struct([R.u32("instruction"),R.ns64("lamports")])},Withdraw:{index:4,layout:R.struct([R.u32("instruction"),R.ns64("lamports")])},Deactivate:{index:5,layout:R.struct([R.u32("instruction")])},Merge:{index:7,layout:R.struct([R.u32("instruction")])},AuthorizeWithSeed:{index:8,layout:R.struct([R.u32("instruction"),be("newAuthorized"),R.u32("stakeAuthorizationType"),ks("authoritySeed"),be("authorityOwner")])}}),PI=Object.freeze({Staker:{index:0},Withdrawer:{index:1}}),ta=class{constructor(){}static initialize(e){let{stakePubkey:t,authorized:n,lockup:s}=e,i=s||mi.default,o=hn.Initialize,c=Ee(o,{authorized:{staker:we(n.staker.toBuffer()),withdrawer:we(n.withdrawer.toBuffer())},lockup:{unixTimestamp:i.unixTimestamp,epoch:i.epoch,custodian:we(i.custodian.toBuffer())}}),u={keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:di,isSigner:!1,isWritable:!1}],programId:this.programId,data:c};return new Te(u)}static createAccountWithSeed(e){let t=new Se;t.add(Ft.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:s,lockup:i}=e;return t.add(this.initialize({stakePubkey:n,authorized:s,lockup:i}))}static createAccount(e){let t=new Se;t.add(Ft.createAccount({fromPubkey:e.fromPubkey,newAccountPubkey:e.stakePubkey,lamports:e.lamports,space:this.space,programId:this.programId}));let{stakePubkey:n,authorized:s,lockup:i}=e;return t.add(this.initialize({stakePubkey:n,authorized:s,lockup:i}))}static delegate(e){let{stakePubkey:t,authorizedPubkey:n,votePubkey:s}=e,i=hn.Delegate,o=Ee(i);return new Se().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:zr,isSigner:!1,isWritable:!1},{pubkey:Eu,isSigner:!1,isWritable:!1},{pubkey:lv,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static authorize(e){let{stakePubkey:t,authorizedPubkey:n,newAuthorizedPubkey:s,stakeAuthorizationType:i,custodianPubkey:o}=e,c=hn.Authorize,u=Ee(c,{newAuthorized:we(s.toBuffer()),stakeAuthorizationType:i.index}),p=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:zr,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:s,authorityOwner:i,newAuthorizedPubkey:o,stakeAuthorizationType:c,custodianPubkey:u}=e,p=hn.AuthorizeWithSeed,m=Ee(p,{newAuthorized:we(o.toBuffer()),stakeAuthorizationType:c.index,authoritySeed:s,authorityOwner:we(i.toBuffer())}),b=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1},{pubkey:zr,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:s,lamports:i}=e,o=hn.Split,c=Ee(o,{lamports:i});return new Te({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:s,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(Ft.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:s,splitStakePubkey:i,basePubkey:o,seed:c,lamports:u}=e,p=new Se;return p.add(Ft.allocate({accountPubkey:i,basePubkey:o,seed:c,space:this.space,programId:this.programId})),t&&t>0&&p.add(Ft.transfer({fromPubkey:e.authorizedPubkey,toPubkey:i,lamports:t})),p.add(this.splitInstruction({stakePubkey:n,authorizedPubkey:s,splitStakePubkey:i,lamports:u}))}static merge(e){let{stakePubkey:t,sourceStakePubKey:n,authorizedPubkey:s}=e,i=hn.Merge,o=Ee(i);return new Se().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:zr,isSigner:!1,isWritable:!1},{pubkey:Eu,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static withdraw(e){let{stakePubkey:t,authorizedPubkey:n,toPubkey:s,lamports:i,custodianPubkey:o}=e,c=hn.Withdraw,u=Ee(c,{lamports:i}),p=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:zr,isSigner:!1,isWritable:!1},{pubkey:Eu,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,s=hn.Deactivate,i=Ee(s);return new Se().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:zr,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:i})}};ta.programId=new ue("Stake11111111111111111111111111111111111111");ta.space=200;var li=Object.freeze({InitializeAccount:{index:0,layout:R.struct([R.u32("instruction"),kE()])},Authorize:{index:1,layout:R.struct([R.u32("instruction"),be("newAuthorized"),R.u32("voteAuthorizationType")])},Withdraw:{index:3,layout:R.struct([R.u32("instruction"),R.ns64("lamports")])},UpdateValidatorIdentity:{index:4,layout:R.struct([R.u32("instruction")])},AuthorizeWithSeed:{index:10,layout:R.struct([R.u32("instruction"),OE()])}}),MI=Object.freeze({Voter:{index:0},Withdrawer:{index:1}}),ra=class r{constructor(){}static initializeAccount(e){let{votePubkey:t,nodePubkey:n,voteInit:s}=e,i=li.InitializeAccount,o=Ee(i,{voteInit:{nodePubkey:we(s.nodePubkey.toBuffer()),authorizedVoter:we(s.authorizedVoter.toBuffer()),authorizedWithdrawer:we(s.authorizedWithdrawer.toBuffer()),commission:s.commission}}),c={keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:di,isSigner:!1,isWritable:!1},{pubkey:zr,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(Ft.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:s,voteAuthorizationType:i}=e,o=li.Authorize,c=Ee(o,{newAuthorized:we(s.toBuffer()),voteAuthorizationType:i.index}),u=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:zr,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:s,newAuthorizedPubkey:i,voteAuthorizationType:o,votePubkey:c}=e,u=li.AuthorizeWithSeed,p=Ee(u,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:we(n.toBuffer()),currentAuthorityDerivedKeySeed:s,newAuthorized:we(i.toBuffer()),voteAuthorizationType:o.index}}),m=[{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:zr,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:s,toPubkey:i}=e,o=li.Withdraw,c=Ee(o,{lamports:s}),u=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:i,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:s}=e,i=li.UpdateValidatorIdentity,o=Ee(i),c=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}];return new Se().add({keys:c,programId:this.programId,data:o})}};ra.programId=new ue("Vote111111111111111111111111111111111111111");ra.space=3762;var UI=new ue("Va1idator1nfo111111111111111111111111111111"),DI=P({name:z(),website:ne(z()),details:ne(z()),iconUrl:ne(z()),keybaseUsername:ne(z())});var zI=new ue("Vote111111111111111111111111111111111111111"),FI=R.struct([be("nodePubkey"),be("authorizedWithdrawer"),R.u8("commission"),R.nu64(),R.seq(R.struct([R.nu64("slot"),R.u32("confirmationCount")]),R.offset(R.u32(),-8),"votes"),R.u8("rootSlotValid"),R.nu64("rootSlot"),R.nu64(),R.seq(R.struct([R.nu64("epoch"),be("authorizedVoter")]),R.offset(R.u32(),-8),"authorizedVoters"),R.struct([R.seq(R.struct([be("authorizedPubkey"),R.nu64("epochOfLastAuthorizedSwitch"),R.nu64("targetEpoch")]),32,"buf"),R.nu64("idx"),R.u8("isEmpty")],"priorVoters"),R.nu64(),R.seq(R.struct([R.nu64("epoch"),R.nu64("credits"),R.nu64("prevCredits")]),R.offset(R.u32(),-8),"epochCredits"),R.struct([R.nu64("slot"),R.nu64("timestamp")],"lastTimestamp")]);var Gu=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 Zu(r){return Buffer.from(r.serialize({verifySignatures:!1})).toString("base64")}function Yu(r){let e=Buffer.from(r,"base64");return na.deserializeMessageVersion(e)==="legacy"?Jo.deserialize(e):Se.from(e)}function dv(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:s}=t.params,i={transaction:Yu(n),options:s};return await r({method:"signAndSendTransaction",params:i})}if(t.method==="signTransaction"){let{transaction:n}=t.params,s={transaction:Yu(n)},{signedTransaction:i}=await r({method:"signTransaction",params:s});return{signedTransaction:Zu(i)}}}}function Ju(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}=t.params,s={transaction:Zu(n)};return await r({method:"signAndSendTransaction",params:s})}if(t.method==="signTransaction"){let{transaction:n}=t.params,s={transaction:Zu(n)},{signedTransaction:i}=await r({method:"signTransaction",params:s});return{signedTransaction:Yu(i)}}}}var gp=({miniAppHost:r,emitter:e})=>{let t,n=null;return{visible:!1,get onback(){return n},set onback(s){n&&e.removeListener("backNavigationTriggered",n),n=s,s&&e.addListener("backNavigationTriggered",s)},async show(){await r.updateBackState({visible:!0}),this.visible=!0},async hide(){await r.updateBackState({visible:!1}),this.visible=!1},async enableWebNavigation(){t=hv({back:this,emitter:e})},async disableWebNavigation(){t?.(),t=void 0}}};function hv({emitter:r,back:e}){let t=pv();if(t)return mv({emitter:r,back:e,navigation:t});if(typeof window<"u")return gv({emitter:r,back:e,window})}function pv(){if(typeof window<"u"&&window.navigation!==void 0)return window.navigation}function mv({emitter:r,back:e,navigation:t}){function n(){t.canGoBack?e.show():e.hide()}function s(){e.visible&&t.canGoBack&&t.back()}return t.addEventListener("navigatesuccess",n),r.addListener("backNavigationTriggered",s),()=>{t.removeEventListener("navigatesuccess",n),r.removeListener("backNavigationTriggered",s)}}function gv({emitter:r,back:e,window:t}){e.show();function n(){e.visible&&t.history.back()}return r.addListener("backNavigationTriggered",n),()=>{r.removeListener("backNavigationTriggered",n)}}var yp="0.1.1";function _p(){return yp}var oa=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})(),s=t.cause instanceof r&&t.cause.docsPath||t.docsPath,o=`https://oxlib.sh${s??""}`,c=[e||"An error occurred.",...t.metaMessages?["",...t.metaMessages]:[],...n||s?["",n?`Details: ${n}`:void 0,s?`See: ${o}`:void 0]:[]].filter(u=>typeof u=="string").join(`
13
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@${_p()}`}),this.cause=t.cause,this.details=n,this.docs=o,this.docsPath=s,this.shortMessage=e}walk(e){return bp(this,e)}};function bp(r,e){return e?.(r)?r:r&&typeof r=="object"&&"cause"in r&&r.cause?bp(r.cause,e):e?null:r}function aa(r,e={}){let{raw:t=!1}=e,n=r;if(t)return r;if(n.error){let{code:s}=n.error,i=s===es.code?es:s===gi.code?gi:s===xi.code?xi:s===vi.code?vi:s===Ei.code?Ei:s===Si.code?Si:s===wi.code?wi:s===Ai.code?Ai:s===yi.code?yi:s===_i.code?_i:s===bi.code?bi:s===Ri.code?Ri:At;throw new i(n.error)}return n.result}var At=class extends Error{constructor(e){let{code:t,message:n,data:s}=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=s}},gi=class r extends At{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(gi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var yi=class r extends At{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(yi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var _i=class r extends At{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(_i,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var bi=class r extends At{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(bi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var wi=class r extends At{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(wi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var Ei=class r extends At{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(Ei,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var Ri=class r extends At{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(Ri,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var vi=class r extends At{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(vi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Si=class r extends At{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(Si,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var xi=class r extends At{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(xi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var es=class r extends At{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(es,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var Ai=class r extends At{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(Ai,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});var vr=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}},Ii=class extends vr{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(Ii,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});var ki=class extends vr{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(ki,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});var Oi=class extends vr{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(Oi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});var Ti=class extends vr{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(Ti,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});var Ni=class extends vr{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(Ni,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});function Ep(){let r=new Gn.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 Rp(r,e={}){let{includeEvents:t=!0}=e;if(!r)throw new Xu;return{...t?{on:r.on?.bind(r),removeListener:r.removeListener?.bind(r)}:{},async request(n){let s=await r.request(n);return s&&typeof s=="object"&&"jsonrpc"in s?aa(s):s}}}var Xu=class extends oa{constructor(){super("`provider` is undefined."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.IsUndefinedError"})}};function vp(r={}){let e=r.id??0;return{prepare(t){return bv({id:e++,...t})},get id(){return e}}}function bv(r){return{...r,jsonrpc:"2.0"}}var xp=Symbol("Comlink.proxy"),Ev=Symbol("Comlink.endpoint"),Rv=Symbol("Comlink.releaseProxy"),Qu=Symbol("Comlink.finalizer"),ua=Symbol("Comlink.thrown"),Ap=r=>typeof r=="object"&&r!==null||typeof r=="function",vv={canHandle:r=>Ap(r)&&r[xp],serialize(r){let{port1:e,port2:t}=new MessageChannel;return kp(r,e),[t,[t]]},deserialize(r){return r.start(),tf(r)}},Sv={canHandle:r=>Ap(r)&&ua 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}},Ip=new Map([["proxy",vv],["throw",Sv]]);function xv(r,e){for(let t of r)if(e===t||t==="*"||t instanceof RegExp&&t.test(e))return!0;return!1}function kp(r,e=globalThis,t=["*"]){e.addEventListener("message",function n(s){if(!s||!s.data)return;if(!xv(t,s.origin)){console.warn(`Invalid origin '${s.origin}' for comlink proxy`);return}let{id:i,type:o,path:c}=Object.assign({path:[]},s.data),u=(s.data.argumentList||[]).map(ts),p;try{let m=c.slice(0,-1).reduce((x,S)=>x[S],r),b=c.reduce((x,S)=>x[S],r);switch(o){case"GET":p=b;break;case"SET":m[c.slice(-1)[0]]=ts(s.data.value),p=!0;break;case"APPLY":p=b.apply(m,u);break;case"CONSTRUCT":{let x=new b(...u);p=Nv(x)}break;case"ENDPOINT":{let{port1:x,port2:S}=new MessageChannel;kp(r,S),p=Tv(x,[x])}break;case"RELEASE":p=void 0;break;default:return}}catch(m){p={value:m,[ua]:0}}Promise.resolve(p).catch(m=>({value:m,[ua]:0})).then(m=>{let[b,x]=da(m);e.postMessage(Object.assign(Object.assign({},b),{id:i}),x),o==="RELEASE"&&(e.removeEventListener("message",n),Op(e),Qu in r&&typeof r[Qu]=="function"&&r[Qu]())}).catch(m=>{let[b,x]=da({value:new TypeError("Unserializable return value"),[ua]:0});e.postMessage(Object.assign(Object.assign({},b),{id:i}),x)})}),e.start&&e.start()}function Av(r){return r.constructor.name==="MessagePort"}function Op(r){Av(r)&&r.close()}function tf(r,e){let t=new Map;return r.addEventListener("message",function(s){let{data:i}=s;if(!i||!i.id)return;let o=t.get(i.id);if(o)try{o(i)}finally{t.delete(i.id)}}),ef(r,t,[],e)}function ca(r){if(r)throw new Error("Proxy has been released and is not useable")}function Tp(r){return Bs(r,new Map,{type:"RELEASE"}).then(()=>{Op(r)})}var fa=new WeakMap,la="FinalizationRegistry"in globalThis&&new FinalizationRegistry(r=>{let e=(fa.get(r)||0)-1;fa.set(r,e),e===0&&Tp(r)});function Iv(r,e){let t=(fa.get(e)||0)+1;fa.set(e,t),la&&la.register(r,e,r)}function kv(r){la&&la.unregister(r)}function ef(r,e,t=[],n=function(){}){let s=!1,i=new Proxy(n,{get(o,c){if(ca(s),c===Rv)return()=>{kv(i),Tp(r),e.clear(),s=!0};if(c==="then"){if(t.length===0)return{then:()=>i};let u=Bs(r,e,{type:"GET",path:t.map(p=>p.toString())}).then(ts);return u.then.bind(u)}return ef(r,e,[...t,c])},set(o,c,u){ca(s);let[p,m]=da(u);return Bs(r,e,{type:"SET",path:[...t,c].map(b=>b.toString()),value:p},m).then(ts)},apply(o,c,u){ca(s);let p=t[t.length-1];if(p===Ev)return Bs(r,e,{type:"ENDPOINT"}).then(ts);if(p==="bind")return ef(r,e,t.slice(0,-1));let[m,b]=Sp(u);return Bs(r,e,{type:"APPLY",path:t.map(x=>x.toString()),argumentList:m},b).then(ts)},construct(o,c){ca(s);let[u,p]=Sp(c);return Bs(r,e,{type:"CONSTRUCT",path:t.map(m=>m.toString()),argumentList:u},p).then(ts)}});return Iv(i,r),i}function Ov(r){return Array.prototype.concat.apply([],r)}function Sp(r){let e=r.map(da);return[e.map(t=>t[0]),Ov(e.map(t=>t[1]))]}var Np=new WeakMap;function Tv(r,e){return Np.set(r,e),r}function Nv(r){return Object.assign(r,{[xp]:!0})}function Lp(r,e=globalThis,t="*"){return{postMessage:(n,s)=>r.postMessage(n,t,s),addEventListener:e.addEventListener.bind(e),removeEventListener:e.removeEventListener.bind(e)}}function da(r){for(let[e,t]of Ip)if(t.canHandle(r)){let[n,s]=t.serialize(r);return[{type:"HANDLER",name:e,value:n},s]}return[{type:"RAW",value:r},Np.get(r)||[]]}function ts(r){switch(r.type){case"HANDLER":return Ip.get(r.name).deserialize(r.value);case"RAW":return r.value}}function Bs(r,e,t,n){return new Promise(s=>{let i=Lv();e.set(i,s),r.start&&r.start(),r.postMessage(Object.assign({id:i},t),n)})}function Lv(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}var Bv={postMessage(){},addEventListener:()=>{},removeEventListener:()=>{}},Cv={postMessage:r=>{window.ReactNativeWebView.postMessage(JSON.stringify(r))},addEventListener:(r,e,...t)=>{document.addEventListener("FarcasterFrameCallback",e,...t)},removeEventListener:(r,e)=>{document.removeEventListener("FarcasterFrameCallback",e)}},Bp=typeof window>"u"?Bv:window?.ReactNativeWebView?Cv:Lp(window?.parent??window);var ie=tf(Bp);var rf=Ep(),Pv=vp();function Mv({code:r,details:e}){switch(r){case 4001:return new Ii;case 4100:return new ki;case 4200:return new Oi;case 4900:return new Ti;case 4901:return new Ni;default:return new vr(r,e??"Unknown provider RPC error")}}var Cs=Rp({...rf,async request(r){let e=Pv.prepare(r);try{let t=await ie.ethProviderRequestV2(e).then(n=>aa(n,{request:e,raw:!0}));if(t.error)throw Mv(t.error);return t.result}catch(t){if(t instanceof Error&&t.message.match(/cannot read property 'apply'/i))return await ie.ethProviderRequest(e);throw t instanceof vr||t instanceof At?t:new es({message:t instanceof Error?t.message:void 0})}}});async function Cp(){try{let r=await ie.getCapabilities();return!r.includes("wallet.getEthereumProvider")&&!r.includes("wallet.getEvmProvider")?void 0:Cs}catch{return Cs}}function Pp(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",()=>{ie.eip6963RequestProvider()}),document.addEventListener("FarcasterFrameEthProviderEvent",r=>{if(r instanceof MessageEvent){let e=r.data;rf.emit(e.event,...e.params)}}),document.addEventListener("FarcasterFrameEvent",r=>{if(r instanceof MessageEvent){let e=r.data;e.event==="eip6963:announceProvider"&&Pp({info:e.info,provider:Cs})}}));typeof window<"u"&&(window.addEventListener("eip6963:requestProvider",()=>{ie.eip6963RequestProvider()}),window.addEventListener("message",r=>{if(r instanceof MessageEvent&&r.data.type==="frameEthProviderEvent"){let e=r.data;rf.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"&&Pp({info:e.info,provider:Cs})}}));var _f={};Qt(_f,{quickAuth:()=>Ms});var Uv=new TextEncoder,ha=new TextDecoder,pk=2**32;var Dv=r=>{let e=atob(r),t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t},Mp=r=>{let e=r;e instanceof Uint8Array&&(e=ha.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return Dv(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}};var Up=Mp;function Fv(r){return typeof r=="object"&&r!==null}function nf(r){if(!Fv(r)||Object.prototype.toString.call(r)!=="[object Object]")return!1;if(Object.getPrototypeOf(r)===null)return!0;let e=r;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(r)===e}var It=class extends Error{constructor(e,t){super(e,t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}};It.code="ERR_JOSE_GENERIC";var sf=class extends It{constructor(e,t,n="unspecified",s="unspecified"){super(e,{cause:{claim:n,reason:s,payload:t}}),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=n,this.reason=s,this.payload=t}};sf.code="ERR_JWT_CLAIM_VALIDATION_FAILED";var of=class extends It{constructor(e,t,n="unspecified",s="unspecified"){super(e,{cause:{claim:n,reason:s,payload:t}}),this.code="ERR_JWT_EXPIRED",this.claim=n,this.reason=s,this.payload=t}};of.code="ERR_JWT_EXPIRED";var af=class extends It{constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}};af.code="ERR_JOSE_ALG_NOT_ALLOWED";var cf=class extends It{constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}};cf.code="ERR_JOSE_NOT_SUPPORTED";var uf=class extends It{constructor(e="decryption operation failed",t){super(e,t),this.code="ERR_JWE_DECRYPTION_FAILED"}};uf.code="ERR_JWE_DECRYPTION_FAILED";var ff=class extends It{constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}};ff.code="ERR_JWE_INVALID";var lf=class extends It{constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}};lf.code="ERR_JWS_INVALID";var hr=class extends It{constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}};hr.code="ERR_JWT_INVALID";var df=class extends It{constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}};df.code="ERR_JWK_INVALID";var hf=class extends It{constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}};hf.code="ERR_JWKS_INVALID";var pf=class extends It{constructor(e="no applicable key found in the JSON Web Key Set",t){super(e,t),this.code="ERR_JWKS_NO_MATCHING_KEY"}};pf.code="ERR_JWKS_NO_MATCHING_KEY";var mf=class extends It{constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS"}};mf.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";var gf=class extends It{constructor(e="request timed out",t){super(e,t),this.code="ERR_JWKS_TIMEOUT"}};gf.code="ERR_JWKS_TIMEOUT";var yf=class extends It{constructor(e="signature verification failed",t){super(e,t),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}};yf.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";function Dp(r){if(typeof r!="string")throw new hr("JWTs must use Compact JWS serialization, JWT must be a string");let{1:e,length:t}=r.split(".");if(t===5)throw new hr("Only JWTs using Compact JWS serialization can be decoded");if(t!==3)throw new hr("Invalid JWT");if(!e)throw new hr("JWTs must contain a payload");let n;try{n=Up(e)}catch{throw new hr("Failed to base64url decode the payload")}let s;try{s=JSON.parse(ha.decode(n))}catch{throw new hr("Failed to parse the decoded payload as JSON")}if(!nf(s))throw new hr("Invalid JWT Claims Set");return s}function zp(r){return Dp(r)}var pa=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&&"details"in t.cause&&typeof t.cause.details=="string"?t.cause.details:t.cause?.message?t.cause.message:t.details})(),s=[e||"An error occurred.",...t.metaMessages?["",...t.metaMessages]:[],...n?["",n?`Details: ${n}`:void 0]:[]].filter(i=>typeof i=="string").join(`
14
14
  `);super(s,t.cause?{cause:t.cause}:void 0),this.name="BaseError",this.cause=t.cause,this.details=n,this.shortMessage=e}},Ps=class extends pa{constructor({status:e}){super(`Request failed with status ${e}`),this.name="RequestFailedError"}},ma=class extends pa{constructor(e){super(e),this.name="InvalidToken"}};async function Fp({origin:r}){let e=await fetch(`${r}/nonce`,{method:"POST"});if(!e.ok)throw new Ps({status:e.status});return await e.json()}async function $p({origin:r},e){let t=await fetch(`${r}/verify-siwf`,{method:"POST",headers:new Headers({"Content-Type":"application/json"}),body:JSON.stringify(e)});if(!t.ok)throw new Ps({status:t.status});let n=await t.json();if(n.valid===!1)throw new ma(n.message??"unknown");return{token:n.token}}function Vp(r={}){return{origin:r.origin??"https://auth.farcaster.xyz"}}function Wp(r={}){let e=Vp(r);return{generateNonce:()=>Fp(e),verifySiwf:t=>$p(e,t)}}var $v=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,Vv=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;function qp(r){let{scheme:e,statement:t,...n}=r.match($v)?.groups??{},{chainId:s,expirationTime:i,issuedAt:o,notBefore:c,requestId:u,...p}=r.match(Vv)?.groups??{},m=r.split("Resources:")[1]?.split(`
15
- - `).slice(1);return{...n,...p,...s?{chainId:Number(s)}:{},...i?{expirationTime:new Date(i)}:{},...o?{issuedAt:new Date(o)}:{},...c?{notBefore:new Date(c)}:{},...u?{requestId:u}:{},...m?{resources:m}:{},...e?{scheme:e}:{},...t?{statement:t}:{}}}var Ms=(()=>{let r,e;async function t(n){let s=Wp({origin:n.quickAuthServerOrigin}),{nonce:i}=await s.generateNonce(),o=await ie.signIn({nonce:i,acceptAuthAddress:!0});if(o.result){let c=qp(o.result.message);if(!c.domain)throw new Error("Missing domain on SIWE message");let u=await s.verifySiwf({domain:c.domain,message:o.result.message,signature:o.result.signature});return r={token:u.token,payload:zp(u.token)},u}throw o.error.type==="rejected_by_user"?new gn.RejectedByUser:new Error("Unreachable")}return{get token(){if(r&&new Date(r.payload.exp*1e3)>new Date(Date.now()+15e3))return r.token},async getToken(n={}){let s=n.force??!1;return r&&!s&&new Date(r.payload.exp*1e3)>new Date(Date.now()+15e3)?{token:r.token}:(e||(e=t(n)),e.finally(()=>{e=void 0}),e)},async fetch(n,s){let{token:i}=await this.getToken(),o=new Headers(s?.headers);return o.set("Authorization",`Bearer ${i}`),fetch(n,{...s,headers:o})}}})();function qv(){let r=new yh;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 kt=qv();var{solanaProviderRequest:jp}=ie,Kp;jp&&(Kp=Gu(Ju(jp)));async function bf(){let r;try{r=await ie.getCapabilities()}catch{}if(r?.includes("wallet.getSolanaProvider"))return Kp}var Hp=null;async function jv(r=1e3){if(Hp===!0)return!0;if(typeof window>"u"||!window.ReactNativeWebView&&window===window.parent)return!1;let e=await Promise.race([ie.context.then(t=>!!t),new Promise(t=>{setTimeout(()=>t(!1),r)})]).catch(()=>!1);return e&&(Hp=!0),e}var Gp=async()=>{let r=await ie.addFrame();if(r.result)return r.result;throw r.error.type==="invalid_domain_manifest"?new ss.InvalidDomainManifest:r.error.type==="rejected_by_user"?new ss.RejectedByUser:new Error("Unreachable")},wf={...kt,getCapabilities:ie.getCapabilities,getChains:ie.getChains,isInMiniApp:jv,context:ie.context,back:gp({miniAppHost:ie,emitter:kt}),quickAuth:Ms,actions:{setPrimaryButton:ie.setPrimaryButton.bind(ie),ready:async(r={})=>await ie.ready(r),close:ie.close.bind(ie),viewCast:ie.viewCast.bind(ie),viewProfile:ie.viewProfile.bind(ie),openMiniApp:ie.openMiniApp.bind(ie),signIn:async r=>{let e=await ie.signIn(r);if(e.result)return e.result;throw e.error.type==="rejected_by_user"?new gn.RejectedByUser:new Error("Unreachable")},openUrl:r=>{let e=typeof r=="string"?r:r.url;return ie.openUrl(e.trim())},addFrame:Gp,addMiniApp:Gp,composeCast(r={}){return ie.composeCast(r)},viewToken:ie.viewToken.bind(ie),sendToken:ie.sendToken.bind(ie),swapToken:ie.swapToken.bind(ie),requestCameraAndMicrophoneAccess:ie.requestCameraAndMicrophoneAccess.bind(ie)},experimental:{getSolanaProvider:bf,signManifest:async r=>{let e=await ie.signManifest(r);if(e.result)return e.result;throw e.error.type==="rejected_by_user"?new yn.RejectedByUser:e.error.type==="invalid_domain"?new yn.InvalidDomain:e.error.type==="generic_error"?new yn.GenericError(e.error.message):new Error("Unreachable")},quickAuth(r){return Ms.getToken(r)}},wallet:{ethProvider:Cs,getEthereumProvider:Cp,getSolanaProvider:bf},haptics:{impactOccurred:ie.impactOccurred.bind(ie),notificationOccurred:ie.notificationOccurred.bind(ie),selectionChanged:ie.selectionChanged.bind(ie)}};typeof document<"u"&&document.addEventListener("FarcasterFrameEvent",r=>{if(r instanceof MessageEvent){let e=r.data;e.event==="primary_button_clicked"?kt.emit("primaryButtonClicked"):e.event==="miniapp_added"?kt.emit("miniAppAdded",{notificationDetails:e.notificationDetails}):e.event==="miniapp_add_rejected"?kt.emit("miniAppAddRejected",{reason:e.reason}):e.event==="miniapp_removed"?kt.emit("miniAppRemoved"):e.event==="notifications_enabled"?kt.emit("notificationsEnabled",{notificationDetails:e.notificationDetails}):e.event==="notifications_disabled"?kt.emit("notificationsDisabled"):e.event==="back_navigation_triggered"&&kt.emit("backNavigationTriggered")}});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"?kt.emit("primaryButtonClicked"):e.event==="miniapp_added"?kt.emit("miniAppAdded",{notificationDetails:e.notificationDetails}):e.event==="miniapp_add_rejected"?kt.emit("miniAppAddRejected",{reason:e.reason}):e.event==="miniapp_removed"?kt.emit("miniAppRemoved"):e.event==="notifications_enabled"?kt.emit("notificationsEnabled",{notificationDetails:e.notificationDetails}):e.event==="notifications_disabled"?kt.emit("notificationsDisabled"):e.event==="back_navigation_triggered"&&kt.emit("backNavigationTriggered")}});typeof console<"u"&&console.warn&&console.warn("@farcaster/frame-sdk is deprecated. Please use @farcaster/miniapp-sdk instead.");var Yp=wf,Zp=!1,Kv=new Proxy(ie,{get(r,e,t){return!Zp&&typeof console<"u"&&console.warn&&(Zp=!0,console.warn("frameHost is deprecated. Please use miniAppHost instead.")),Reflect.get(r,e,t)}}),Hv=Yp;return Pa(Gv);})();
15
+ - `).slice(1);return{...n,...p,...s?{chainId:Number(s)}:{},...i?{expirationTime:new Date(i)}:{},...o?{issuedAt:new Date(o)}:{},...c?{notBefore:new Date(c)}:{},...u?{requestId:u}:{},...m?{resources:m}:{},...e?{scheme:e}:{},...t?{statement:t}:{}}}var Ms=(()=>{let r,e;async function t(n){let s=Wp({origin:n.quickAuthServerOrigin}),{nonce:i}=await s.generateNonce(),o=await ie.signIn({nonce:i,acceptAuthAddress:!0});if(o.result){let c=qp(o.result.message);if(!c.domain)throw new Error("Missing domain on SIWE message");let u=await s.verifySiwf({domain:c.domain,message:o.result.message,signature:o.result.signature});return r={token:u.token,payload:zp(u.token)},u}throw o.error.type==="rejected_by_user"?new gn.RejectedByUser:new Error("Unreachable")}return{get token(){if(r&&new Date(r.payload.exp*1e3)>new Date(Date.now()+15e3))return r.token},async getToken(n={}){let s=n.force??!1;return r&&!s&&new Date(r.payload.exp*1e3)>new Date(Date.now()+15e3)?{token:r.token}:(e||(e=t(n)),e.finally(()=>{e=void 0}),e)},async fetch(n,s){let{token:i}=await this.getToken(),o=new Headers(s?.headers);return o.set("Authorization",`Bearer ${i}`),fetch(n,{...s,headers:o})}}})();function qv(){let r=new yh;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 kt=qv();var{solanaProviderRequest:jp}=ie,Kp;jp&&(Kp=Gu(Ju(jp)));async function bf(){let r;try{r=await ie.getCapabilities()}catch{}if(r?.includes("wallet.getSolanaProvider"))return Kp}var Hp=null;async function jv(r=1e3){if(Hp===!0)return!0;if(typeof window>"u"||!window.ReactNativeWebView&&window===window.parent)return!1;let e=await Promise.race([ie.context.then(t=>!!t),new Promise(t=>{setTimeout(()=>t(!1),r)})]).catch(()=>!1);return e&&(Hp=!0),e}var Gp=async()=>{let r=await ie.addFrame();if(r.result)return r.result;throw r.error.type==="invalid_domain_manifest"?new ss.InvalidDomainManifest:r.error.type==="rejected_by_user"?new ss.RejectedByUser:new Error("Unreachable")},wf={...kt,getCapabilities:ie.getCapabilities,getChains:ie.getChains,isInMiniApp:jv,context:ie.context,back:gp({miniAppHost:ie,emitter:kt}),quickAuth:Ms,actions:{setPrimaryButton:ie.setPrimaryButton.bind(ie),ready:async(r={})=>await ie.ready(r),close:ie.close.bind(ie),viewCast:ie.viewCast.bind(ie),viewProfile:ie.viewProfile.bind(ie),openMiniApp:ie.openMiniApp.bind(ie),signIn:async r=>{let e=await ie.signIn({...r,acceptAuthAddress:r.acceptAuthAddress??!0});if(e.result)return e.result;throw e.error.type==="rejected_by_user"?new gn.RejectedByUser:new Error("Unreachable")},openUrl:r=>{let e=typeof r=="string"?r:r.url;return ie.openUrl(e.trim())},addFrame:Gp,addMiniApp:Gp,composeCast(r={}){return ie.composeCast(r)},viewToken:ie.viewToken.bind(ie),sendToken:ie.sendToken.bind(ie),swapToken:ie.swapToken.bind(ie),requestCameraAndMicrophoneAccess:ie.requestCameraAndMicrophoneAccess.bind(ie)},experimental:{getSolanaProvider:bf,signManifest:async r=>{let e=await ie.signManifest(r);if(e.result)return e.result;throw e.error.type==="rejected_by_user"?new yn.RejectedByUser:e.error.type==="invalid_domain"?new yn.InvalidDomain:e.error.type==="generic_error"?new yn.GenericError(e.error.message):new Error("Unreachable")},quickAuth(r){return Ms.getToken(r)}},wallet:{ethProvider:Cs,getEthereumProvider:Cp,getSolanaProvider:bf},haptics:{impactOccurred:ie.impactOccurred.bind(ie),notificationOccurred:ie.notificationOccurred.bind(ie),selectionChanged:ie.selectionChanged.bind(ie)}};typeof document<"u"&&document.addEventListener("FarcasterFrameEvent",r=>{if(r instanceof MessageEvent){let e=r.data;e.event==="primary_button_clicked"?kt.emit("primaryButtonClicked"):e.event==="miniapp_added"?kt.emit("miniAppAdded",{notificationDetails:e.notificationDetails}):e.event==="miniapp_add_rejected"?kt.emit("miniAppAddRejected",{reason:e.reason}):e.event==="miniapp_removed"?kt.emit("miniAppRemoved"):e.event==="notifications_enabled"?kt.emit("notificationsEnabled",{notificationDetails:e.notificationDetails}):e.event==="notifications_disabled"?kt.emit("notificationsDisabled"):e.event==="back_navigation_triggered"&&kt.emit("backNavigationTriggered")}});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"?kt.emit("primaryButtonClicked"):e.event==="miniapp_added"?kt.emit("miniAppAdded",{notificationDetails:e.notificationDetails}):e.event==="miniapp_add_rejected"?kt.emit("miniAppAddRejected",{reason:e.reason}):e.event==="miniapp_removed"?kt.emit("miniAppRemoved"):e.event==="notifications_enabled"?kt.emit("notificationsEnabled",{notificationDetails:e.notificationDetails}):e.event==="notifications_disabled"?kt.emit("notificationsDisabled"):e.event==="back_navigation_triggered"&&kt.emit("backNavigationTriggered")}});typeof console<"u"&&console.warn&&console.warn("@farcaster/frame-sdk is deprecated. Please use @farcaster/miniapp-sdk instead.");var Yp=wf,Zp=!1,Kv=new Proxy(ie,{get(r,e,t){return!Zp&&typeof console<"u"&&console.warn&&(Zp=!0,console.warn("frameHost is deprecated. Please use miniAppHost instead.")),Reflect.get(r,e,t)}}),Hv=Yp;return Pa(Gv);})();
16
16
  /*! Bundled license information:
17
17
 
18
18
  ieee754/index.js: