@farcaster/miniapp-sdk 0.0.0-canary-20250701152931 → 0.0.0-canary-20250705122814

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
  `,x=I+T.join(I);console.error(S.error.message,x)}throw new hs({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=we(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=W(c,FR);if("error"in u){let p;throw"data"in u.error&&(p=u.error.data.logs),new hs({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}=W(e,fR);this._handleServerNotification(n,[t.value,t.context])}_makeSubscription(e,t){let n=this._nextClientSubscriptionId++,i=Rh([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}=Le(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}=W(e,dR);this._handleServerNotification(n,[{accountId:t.value.pubkey,accountInfo:t.value.account},t.context])}onProgramAccountChange(e,t,n,i){let{commitment:s,config:o}=Le(n),c=this._buildArgs([e.toBase58()],s||this._commitment||"finalized","base64",o||(i?{filters:Sh(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}=W(e,VR);this._handleServerNotification(n,[t.value,t.context])}_wsOnSlotNotification(e){let{result:t,subscription:n}=W(e,pR);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,gR);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}=W(e,yR);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}=W(e,_R);this._handleServerNotification(n,[t])}onRootChange(e){return this._makeSubscription({callback:e,method:"rootSubscribe",unsubscribeMethod:"rootUnsubscribe"},[])}async removeRootChangeListener(e){await this._unsubscribeClientSubscription(e,"root change")}},Cu=class r{constructor(e){this._keypair=void 0,this._keypair=e??gh()}static generate(){return new r(gh())}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=Au(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=Au(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)}},fs=Object.freeze({CreateLookupTable:{index:0,layout:R.struct([R.u32("instruction"),ki("recentSlot"),R.u8("bumpSeed")])},FreezeLookupTable:{index:1,layout:R.struct([R.u32("instruction")])},ExtendLookupTable:{index:2,layout:R.struct([R.u32("instruction"),ki(),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 Pu=class{constructor(){}static createLookupTable(e){let[t,n]=ce.findProgramAddressSync([e.authority.toBuffer(),Jc().encode(e.recentSlot)],this.programId),i=fs.CreateLookupTable,s=Ee(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:Ft.programId,isSigner:!1,isWritable:!1}];return[new Te({programId:this.programId,keys:o,data:s}),t]}static freezeLookupTable(e){let t=fs.FreezeLookupTable,n=Ee(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=fs.ExtendLookupTable,n=Ee(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:Ft.programId,isSigner:!1,isWritable:!1}),new Te({programId:this.programId,keys:i,data:n})}static deactivateLookupTable(e){let t=fs.DeactivateLookupTable,n=Ee(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=fs.CloseLookupTable,n=Ee(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})}};Pu.programId=new ce("AddressLookupTab1e1111111111111111111111111");var Wo=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"),ki("microLamports")])}}),Mu=class{constructor(){}static requestUnits(e){let t=Wo.RequestUnits,n=Ee(t,e);return new Te({keys:[],programId:this.programId,data:n})}static requestHeapFrame(e){let t=Wo.RequestHeapFrame,n=Ee(t,e);return new Te({keys:[],programId:this.programId,data:n})}static setComputeUnitLimit(e){let t=Wo.SetComputeUnitLimit,n=Ee(t,e);return new Te({keys:[],programId:this.programId,data:n})}static setComputeUnitPrice(e){let t=Wo.SetComputeUnitPrice,n=Ee(t,{microLamports:BigInt(e.microLamports)});return new Te({keys:[],programId:this.programId,data:n})}};Mu.programId=new ce("ComputeBudget111111111111111111111111111111");var kh=64,Oh=32,Th=64,Nh=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")]),Uu=class r{constructor(){}static createInstructionWithPublicKey(e){let{publicKey:t,message:n,signature:i,instructionIndex:s}=e;xe(t.length===Oh,`Public Key must be ${Oh} bytes but received ${t.length} bytes`),xe(i.length===Th,`Signature must be ${Th} bytes but received ${i.length} bytes`);let o=Nh.span,c=o+t.length,u=c+i.length,p=1,m=ae.Buffer.alloc(u+n.length),b=s??65535;return Nh.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===kh,`Private key must be ${kh} bytes but received ${t.length} bytes`);try{let s=Cu.fromSecretKey(t),o=s.publicKey.toBytes(),c=zu(n,s.secretKey);return this.createInstructionWithPublicKey({publicKey:o,message:n,signature:c,instructionIndex:i})}catch(s){throw new Error(`Error creating instruction; ${s}`)}}};Uu.programId=new ce("Ed25519SigVerify111111111111111111111111111");var qR=(r,e)=>{let t=cs.sign(r,e);return[t.toCompactRawBytes(),t.recovery]};cs.utils.isValidPrivateKey;var jR=cs.getPublicKey,Lh=32,Ru=20,Bh=64,KR=11,vu=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")]),Du=class r{constructor(){}static publicKeyToEthAddress(e){xe(e.length===Bh,`Public key must be ${Bh} bytes but received ${e.length} bytes`);try{return ae.Buffer.from(lu(we(e))).slice(-Ru)}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===Ru,`Address must be ${Ru} bytes but received ${c.length} bytes`);let u=1+KR,p=u,m=u+c.length,b=m+i.length+1,A=1,S=ae.Buffer.alloc(vu.span+n.length);return vu.encode({numSignatures:A,signatureOffset:m,signatureInstructionIndex:o,ethAddressOffset:p,ethAddressInstructionIndex:o,messageDataOffset:b,messageDataSize:n.length,messageInstructionIndex:o,signature:we(i),ethAddress:we(c),recoveryId:s},S),S.fill(we(n),vu.span),new Te({keys:[],programId:r.programId,data:S})}static createInstructionWithPrivateKey(e){let{privateKey:t,message:n,instructionIndex:i}=e;xe(t.length===Lh,`Private key must be ${Lh} bytes but received ${t.length} bytes`);try{let s=we(t),o=jR(s,!1).slice(1),c=ae.Buffer.from(lu(we(n))),[u,p]=qR(c,s);return this.createInstructionWithPublicKey({publicKey:o,message:n,signature:u,recoveryId:p,instructionIndex:i})}catch(s){throw new Error(`Error creating instruction; ${s}`)}}};Du.programId=new ce("KeccakSecp256k11111111111111111111111111111");var Jh,HR=new ce("StakeConfig11111111111111111111111111111111");var ms=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}};Jh=ms;ms.default=new Jh(0,0,ce.default);var hn=Object.freeze({Initialize:{index:0,layout:R.struct([R.u32("instruction"),cE(),uE()])},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"),xi("authoritySeed"),be("authorityOwner")])}}),yI=Object.freeze({Staker:{index:0},Withdrawer:{index:1}}),ea=class{constructor(){}static initialize(e){let{stakePubkey:t,authorized:n,lockup:i}=e,s=i||ms.default,o=hn.Initialize,c=Ee(o,{authorized:{staker:we(n.staker.toBuffer()),withdrawer:we(n.withdrawer.toBuffer())},lockup:{unixTimestamp:s.unixTimestamp,epoch:s.epoch,custodian:we(s.custodian.toBuffer())}}),u={keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:ds,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:i,lockup:s}=e;return t.add(this.initialize({stakePubkey:n,authorized:i,lockup:s}))}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: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=hn.Delegate,o=Ee(s);return new Se().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:Dr,isSigner:!1,isWritable:!1},{pubkey:yu,isSigner:!1,isWritable:!1},{pubkey:HR,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=hn.Authorize,u=Ee(c,{newAuthorized:we(i.toBuffer()),stakeAuthorizationType:s.index}),p=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:Dr,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=hn.AuthorizeWithSeed,m=Ee(p,{newAuthorized:we(o.toBuffer()),stakeAuthorizationType:c.index,authoritySeed:i,authorityOwner:we(s.toBuffer())}),b=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1},{pubkey:Dr,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=hn.Split,c=Ee(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(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:i,splitStakePubkey:s,basePubkey:o,seed:c,lamports:u}=e,p=new Se;return p.add(Ft.allocate({accountPubkey:s,basePubkey:o,seed:c,space:this.space,programId:this.programId})),t&&t>0&&p.add(Ft.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=hn.Merge,o=Ee(s);return new Se().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:Dr,isSigner:!1,isWritable:!1},{pubkey:yu,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=hn.Withdraw,u=Ee(c,{lamports:s}),p=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:Dr,isSigner:!1,isWritable:!1},{pubkey:yu,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=hn.Deactivate,s=Ee(i);return new Se().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:Dr,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:s})}};ea.programId=new ce("Stake11111111111111111111111111111111111111");ea.space=200;var ls=Object.freeze({InitializeAccount:{index:0,layout:R.struct([R.u32("instruction"),fE()])},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"),lE()])}}),_I=Object.freeze({Voter:{index:0},Withdrawer:{index:1}}),ta=class r{constructor(){}static initializeAccount(e){let{votePubkey:t,nodePubkey:n,voteInit:i}=e,s=ls.InitializeAccount,o=Ee(s,{voteInit:{nodePubkey:we(i.nodePubkey.toBuffer()),authorizedVoter:we(i.authorizedVoter.toBuffer()),authorizedWithdrawer:we(i.authorizedWithdrawer.toBuffer()),commission:i.commission}}),c={keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:ds,isSigner:!1,isWritable:!1},{pubkey:Dr,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:i,voteAuthorizationType:s}=e,o=ls.Authorize,c=Ee(o,{newAuthorized:we(i.toBuffer()),voteAuthorizationType:s.index}),u=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:Dr,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=ls.AuthorizeWithSeed,p=Ee(u,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:we(n.toBuffer()),currentAuthorityDerivedKeySeed:i,newAuthorized:we(s.toBuffer()),voteAuthorizationType:o.index}}),m=[{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:Dr,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=ls.Withdraw,c=Ee(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=ls.UpdateValidatorIdentity,o=Ee(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})}};ta.programId=new ce("Vote111111111111111111111111111111111111111");ta.space=3762;var bI=new ce("Va1idator1nfo111111111111111111111111111111"),wI=P({name:z(),website:ne(z()),details:ne(z()),iconUrl:ne(z()),keybaseUsername:ne(z())});var EI=new ce("Vote111111111111111111111111111111111111111"),RI=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 qu=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 ju(r){return Buffer.from(r.serialize({verifySignatures:!1})).toString("base64")}function Ku(r){let e=Buffer.from(r,"base64");return ra.deserializeMessageVersion(e)==="legacy"?Yo.deserialize(e):Se.from(e)}function GR(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:Ku(n),options:i};return await r({method:"signAndSendTransaction",params:s})}if(t.method==="signTransaction"){let{transaction:n}=t.params,i={transaction:Ku(n)},{signedTransaction:s}=await r({method:"signTransaction",params:i});return{signedTransaction:ju(s)}}}}function Hu(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,i={transaction:ju(n)};return await r({method:"signAndSendTransaction",params:i})}if(t.method==="signTransaction"){let{transaction:n}=t.params,i={transaction:ju(n)},{signedTransaction:s}=await r({method:"signTransaction",params:i});return{signedTransaction:Ku(s)}}}}var Xh=({miniAppHost:r,emitter:e})=>{let t,n=null;return{visible:!1,get onback(){return n},set onback(i){n&&e.removeListener("backNavigationTriggered",n),n=i,i&&e.addListener("backNavigationTriggered",i)},async show(){await r.updateBackState({visible:!0}),this.visible=!0},async hide(){await r.updateBackState({visible:!1}),this.visible=!1},async enableWebNavigation(){t=ZR({back:this,emitter:e})},async disableWebNavigation(){t?.(),t=void 0}}};function ZR({emitter:r,back:e}){let t=YR();if(t)return JR({emitter:r,back:e,navigation:t});if(typeof window<"u")return XR({emitter:r,back:e,window})}function YR(){if(typeof window<"u"&&window.navigation!==void 0)return window.navigation}function JR({emitter:r,back:e,navigation:t}){function n(){t.canGoBack?e.show():e.hide()}function i(){e.visible&&t.canGoBack&&t.back()}return t.addEventListener("navigatesuccess",n),r.addListener("backNavigationTriggered",i),()=>{t.removeEventListener("navigatesuccess",n),r.removeListener("backNavigationTriggered",i)}}function XR({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 Qh="0.1.1";function ep(){return Qh}var sa=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
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@${ep()}`}),this.cause=t.cause,this.details=n,this.docs=o,this.docsPath=i,this.shortMessage=e}walk(e){return tp(this,e)}};function tp(r,e){return e?.(r)?r:r&&typeof r=="object"&&"cause"in r&&r.cause?tp(r.cause,e):e?null:r}function oa(r,e={}){let{raw:t=!1}=e,n=r;if(t)return r;if(n.error){let{code:i}=n.error,s=i===Qn.code?Qn:i===gs.code?gs:i===As.code?As:i===vs.code?vs:i===Es.code?Es:i===Ss.code?Ss:i===ws.code?ws:i===xs.code?xs:i===ys.code?ys:i===_s.code?_s:i===bs.code?bs:i===Rs.code?Rs:xt;throw new s(n.error)}return n.result}var xt=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}},gs=class r extends xt{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(gs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var ys=class r extends xt{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(ys,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var _s=class r extends xt{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(_s,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var bs=class r extends xt{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(bs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var ws=class r extends xt{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(ws,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var Es=class r extends xt{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(Es,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var Rs=class r extends xt{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(Rs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var vs=class r extends xt{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(vs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Ss=class r extends xt{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(Ss,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var As=class r extends xt{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(As,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var Qn=class r extends xt{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(Qn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var xs=class r extends xt{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(xs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});var Rr=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}},Is=class extends Rr{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(Is,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});var ks=class extends Rr{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(ks,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});var Os=class extends Rr{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(Os,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});var Ts=class extends Rr{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(Ts,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});var Ns=class extends Rr{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(Ns,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});function np(){let r=new Hn.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 ip(r,e={}){let{includeEvents:t=!0}=e;if(!r)throw new Gu;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?oa(i):i}}}var Gu=class extends sa{constructor(){super("`provider` is undefined."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.IsUndefinedError"})}};function sp(r={}){let e=r.id??0;return{prepare(t){return tv({id:e++,...t})},get id(){return e}}}function tv(r){return{...r,jsonrpc:"2.0"}}var ap=Symbol("Comlink.proxy"),nv=Symbol("Comlink.endpoint"),iv=Symbol("Comlink.releaseProxy"),Zu=Symbol("Comlink.finalizer"),ca=Symbol("Comlink.thrown"),cp=r=>typeof r=="object"&&r!==null||typeof r=="function",sv={canHandle:r=>cp(r)&&r[ap],serialize(r){let{port1:e,port2:t}=new MessageChannel;return fp(r,e),[t,[t]]},deserialize(r){return r.start(),Ju(r)}},ov={canHandle:r=>cp(r)&&ca 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}},up=new Map([["proxy",sv],["throw",ov]]);function av(r,e){for(let t of r)if(e===t||t==="*"||t instanceof RegExp&&t.test(e))return!0;return!1}function fp(r,e=globalThis,t=["*"]){e.addEventListener("message",function n(i){if(!i||!i.data)return;if(!av(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(ei),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]]=ei(i.data.value),p=!0;break;case"APPLY":p=b.apply(m,u);break;case"CONSTRUCT":{let A=new b(...u);p=hv(A)}break;case"ENDPOINT":{let{port1:A,port2:S}=new MessageChannel;fp(r,S),p=dv(A,[A])}break;case"RELEASE":p=void 0;break;default:return}}catch(m){p={value:m,[ca]:0}}Promise.resolve(p).catch(m=>({value:m,[ca]:0})).then(m=>{let[b,A]=la(m);e.postMessage(Object.assign(Object.assign({},b),{id:s}),A),o==="RELEASE"&&(e.removeEventListener("message",n),lp(e),Zu in r&&typeof r[Zu]=="function"&&r[Zu]())}).catch(m=>{let[b,A]=la({value:new TypeError("Unserializable return value"),[ca]:0});e.postMessage(Object.assign(Object.assign({},b),{id:s}),A)})}),e.start&&e.start()}function cv(r){return r.constructor.name==="MessagePort"}function lp(r){cv(r)&&r.close()}function Ju(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)}}),Yu(r,t,[],e)}function aa(r){if(r)throw new Error("Proxy has been released and is not useable")}function dp(r){return Ni(r,new Map,{type:"RELEASE"}).then(()=>{lp(r)})}var ua=new WeakMap,fa="FinalizationRegistry"in globalThis&&new FinalizationRegistry(r=>{let e=(ua.get(r)||0)-1;ua.set(r,e),e===0&&dp(r)});function uv(r,e){let t=(ua.get(e)||0)+1;ua.set(e,t),fa&&fa.register(r,e,r)}function fv(r){fa&&fa.unregister(r)}function Yu(r,e,t=[],n=function(){}){let i=!1,s=new Proxy(n,{get(o,c){if(aa(i),c===iv)return()=>{fv(s),dp(r),e.clear(),i=!0};if(c==="then"){if(t.length===0)return{then:()=>s};let u=Ni(r,e,{type:"GET",path:t.map(p=>p.toString())}).then(ei);return u.then.bind(u)}return Yu(r,e,[...t,c])},set(o,c,u){aa(i);let[p,m]=la(u);return Ni(r,e,{type:"SET",path:[...t,c].map(b=>b.toString()),value:p},m).then(ei)},apply(o,c,u){aa(i);let p=t[t.length-1];if(p===nv)return Ni(r,e,{type:"ENDPOINT"}).then(ei);if(p==="bind")return Yu(r,e,t.slice(0,-1));let[m,b]=op(u);return Ni(r,e,{type:"APPLY",path:t.map(A=>A.toString()),argumentList:m},b).then(ei)},construct(o,c){aa(i);let[u,p]=op(c);return Ni(r,e,{type:"CONSTRUCT",path:t.map(m=>m.toString()),argumentList:u},p).then(ei)}});return uv(s,r),s}function lv(r){return Array.prototype.concat.apply([],r)}function op(r){let e=r.map(la);return[e.map(t=>t[0]),lv(e.map(t=>t[1]))]}var hp=new WeakMap;function dv(r,e){return hp.set(r,e),r}function hv(r){return Object.assign(r,{[ap]:!0})}function pp(r,e=globalThis,t="*"){return{postMessage:(n,i)=>r.postMessage(n,t,i),addEventListener:e.addEventListener.bind(e),removeEventListener:e.removeEventListener.bind(e)}}function la(r){for(let[e,t]of up)if(t.canHandle(r)){let[n,i]=t.serialize(r);return[{type:"HANDLER",name:e,value:n},i]}return[{type:"RAW",value:r},hp.get(r)||[]]}function ei(r){switch(r.type){case"HANDLER":return up.get(r.name).deserialize(r.value);case"RAW":return r.value}}function Ni(r,e,t,n){return new Promise(i=>{let s=pv();e.set(s,i),r.start&&r.start(),r.postMessage(Object.assign({id:s},t),n)})}function pv(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}var mv={postMessage(){},addEventListener:()=>{},removeEventListener:()=>{}},gv={postMessage:r=>{window.ReactNativeWebView.postMessage(JSON.stringify(r))},addEventListener:(r,e,...t)=>{document.addEventListener("FarcasterFrameCallback",e,...t)},removeEventListener:(r,e)=>{document.removeEventListener("FarcasterFrameCallback",e)}},mp=typeof window>"u"?mv:window?.ReactNativeWebView?gv:pp(window?.parent??window);var fe=Ju(mp),yv=fe;var Xu=np(),_v=sp();function bv({code:r,details:e}){switch(r){case 4001:return new Is;case 4100:return new ks;case 4200:return new Os;case 4900:return new Ts;case 4901:return new Ns;default:return new Rr(r,e??"Unknown provider RPC error")}}var Li=ip({...Xu,async request(r){let e=_v.prepare(r);try{let t=await fe.ethProviderRequestV2(e).then(n=>oa(n,{request:e,raw:!0}));if(t.error)throw bv(t.error);return t.result}catch(t){if(t instanceof Error&&t.message.match(/cannot read property 'apply'/i))return await fe.ethProviderRequest(e);throw t instanceof Rr||t instanceof xt?t:new Qn({message:t instanceof Error?t.message:void 0})}}});async function gp(){try{let r=await fe.getCapabilities();return!r.includes("wallet.getEthereumProvider")&&!r.includes("wallet.getEvmProvider")?void 0:Li}catch{return Li}}function yp(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",()=>{fe.eip6963RequestProvider()}),document.addEventListener("FarcasterFrameEthProviderEvent",r=>{if(r instanceof MessageEvent){let e=r.data;Xu.emit(e.event,...e.params)}}),document.addEventListener("FarcasterFrameEvent",r=>{if(r instanceof MessageEvent){let e=r.data;e.event==="eip6963:announceProvider"&&yp({info:e.info,provider:Li})}}));typeof window<"u"&&(window.addEventListener("eip6963:requestProvider",()=>{fe.eip6963RequestProvider()}),window.addEventListener("message",r=>{if(r instanceof MessageEvent&&r.data.type==="frameEthProviderEvent"){let e=r.data;Xu.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"&&yp({info:e.info,provider:Li})}}));var pf={};sr(pf,{quickAuth:()=>Ci});var wv=new TextEncoder,da=new TextDecoder,YI=2**32;var Ev=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},_p=r=>{let e=r;e instanceof Uint8Array&&(e=da.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return Ev(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}};var bp=_p;function vv(r){return typeof r=="object"&&r!==null}function Qu(r){if(!vv(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 ef=class extends It{constructor(e,t,n="unspecified",i="unspecified"){super(e,{cause:{claim:n,reason:i,payload:t}}),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=n,this.reason=i,this.payload=t}};ef.code="ERR_JWT_CLAIM_VALIDATION_FAILED";var tf=class extends It{constructor(e,t,n="unspecified",i="unspecified"){super(e,{cause:{claim:n,reason:i,payload:t}}),this.code="ERR_JWT_EXPIRED",this.claim=n,this.reason=i,this.payload=t}};tf.code="ERR_JWT_EXPIRED";var rf=class extends It{constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}};rf.code="ERR_JOSE_ALG_NOT_ALLOWED";var nf=class extends It{constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}};nf.code="ERR_JOSE_NOT_SUPPORTED";var sf=class extends It{constructor(e="decryption operation failed",t){super(e,t),this.code="ERR_JWE_DECRYPTION_FAILED"}};sf.code="ERR_JWE_DECRYPTION_FAILED";var of=class extends It{constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}};of.code="ERR_JWE_INVALID";var af=class extends It{constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}};af.code="ERR_JWS_INVALID";var dr=class extends It{constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}};dr.code="ERR_JWT_INVALID";var cf=class extends It{constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}};cf.code="ERR_JWK_INVALID";var uf=class extends It{constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}};uf.code="ERR_JWKS_INVALID";var ff=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"}};ff.code="ERR_JWKS_NO_MATCHING_KEY";var lf=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"}};lf.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";var df=class extends It{constructor(e="request timed out",t){super(e,t),this.code="ERR_JWKS_TIMEOUT"}};df.code="ERR_JWKS_TIMEOUT";var hf=class extends It{constructor(e="signature verification failed",t){super(e,t),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}};hf.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";function wp(r){if(typeof r!="string")throw new dr("JWTs must use Compact JWS serialization, JWT must be a string");let{1:e,length:t}=r.split(".");if(t===5)throw new dr("Only JWTs using Compact JWS serialization can be decoded");if(t!==3)throw new dr("Invalid JWT");if(!e)throw new dr("JWTs must contain a payload");let n;try{n=bp(e)}catch{throw new dr("Failed to base64url decode the payload")}let i;try{i=JSON.parse(da.decode(n))}catch{throw new dr("Failed to parse the decoded payload as JSON")}if(!Qu(i))throw new dr("Invalid JWT Claims Set");return i}function Ep(r){return wp(r)}var ha=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})(),i=[e||"An error occurred.",...t.metaMessages?["",...t.metaMessages]:[],...n?["",n?`Details: ${n}`:void 0]:[]].filter(s=>typeof s=="string").join(`
14
14
  `);super(i,t.cause?{cause:t.cause}:void 0),this.name="BaseError",this.cause=t.cause,this.details=n,this.shortMessage=e}},Bi=class extends ha{constructor({status:e}){super(`Request failed with status ${e}`),this.name="RequestFailedError"}},pa=class extends ha{constructor(e){super(e),this.name="InvalidToken"}};async function Rp({origin:r}){let e=await fetch(`${r}/nonce`,{method:"POST"});if(!e.ok)throw new Bi({status:e.status});return await e.json()}async function vp({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 Bi({status:t.status});let n=await t.json();if(n.valid===!1)throw new pa(n.message??"unknown");return{token:n.token}}function Sp(r={}){return{origin:r.origin??"https://auth.farcaster.xyz"}}function Ap(r={}){let e=Sp(r);return{generateNonce:()=>Rp(e),verifySiwf:t=>vp(e,t)}}var Sv=/^(?:(?<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)?/,Av=/(?: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 xp(r){let{scheme:e,statement:t,...n}=r.match(Sv)?.groups??{},{chainId:i,expirationTime:s,issuedAt:o,notBefore:c,requestId:u,...p}=r.match(Av)?.groups??{},m=r.split("Resources:")[1]?.split(`
15
- - `).slice(1);return{...n,...p,...i?{chainId:Number(i)}:{},...s?{expirationTime:new Date(s)}:{},...o?{issuedAt:new Date(o)}:{},...c?{notBefore:new Date(c)}:{},...u?{requestId:u}:{},...m?{resources:m}:{},...e?{scheme:e}:{},...t?{statement:t}:{}}}var Ci=(()=>{let r,e;async function t(n){let i=Ap({origin:n.quickAuthServerOrigin}),{nonce:s}=await i.generateNonce(),o=await fe.signIn({nonce:s,acceptAuthAddress:!0});if(o.result){let c=xp(o.result.message);if(!c.domain)throw new Error("Missing domain on SIWE message");let u=await i.verifySiwf({domain:c.domain,message:o.result.message,signature:o.result.signature});return r={token:u.token,payload:Ep(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 i=n.force??!1;return r&&!i&&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,i){let{token:s}=await this.getToken(),o=new Headers(i?.headers);return o.set("Authorization",`Bearer ${s}`),fetch(n,{...i,headers:o})}}})();function Iv(){let r=new Qd;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=Iv();var{solanaProviderRequest:Ip}=fe,kp;Ip&&(kp=qu(Hu(Ip)));async function mf(){let r;try{r=await fe.getCapabilities()}catch{}if(r?.includes("wallet.getSolanaProvider"))return kp}var Op=null;async function kv(r=50){if(Op===!0)return!0;if(typeof window>"u"||!window.ReactNativeWebView&&window===window.parent)return!1;let e=await Promise.race([fe.context.then(t=>!!t),new Promise(t=>{setTimeout(()=>t(!1),r)})]).catch(()=>!1);return e&&(Op=!0),e}var Tp=async()=>{let r=await fe.addMiniApp();if(r.result)return r.result;throw r.error.type==="invalid_domain_manifest"?new ri.InvalidDomainManifest:r.error.type==="rejected_by_user"?new ri.RejectedByUser:new Error("Unreachable")},gf={...kt,getCapabilities:fe.getCapabilities,getChains:fe.getChains,isInMiniApp:kv,context:fe.context,back:Xh({miniAppHost:fe,emitter:kt}),quickAuth:Ci,actions:{setPrimaryButton:fe.setPrimaryButton.bind(fe),ready:async(r={})=>await fe.ready(r),close:fe.close.bind(fe),viewCast:fe.viewCast.bind(fe),viewProfile:fe.viewProfile.bind(fe),signIn:async r=>{let e=await fe.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 fe.openUrl(e.trim())},addFrame:Tp,addMiniApp:Tp,composeCast(r={}){return fe.composeCast(r)},viewToken:fe.viewToken.bind(fe),sendToken:fe.sendToken.bind(fe),swapToken:fe.swapToken.bind(fe)},experimental:{getSolanaProvider:mf,quickAuth(r){return Ci.getToken(r)}},wallet:{ethProvider:Li,getEthereumProvider:gp,getSolanaProvider:mf},haptics:{impactOccurred:fe.impactOccurred.bind(fe),notificationOccurred:fe.notificationOccurred.bind(fe),selectionChanged:fe.selectionChanged.bind(fe)}};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")}});var Ov=gf;return Ca(Tv);})();
15
+ - `).slice(1);return{...n,...p,...i?{chainId:Number(i)}:{},...s?{expirationTime:new Date(s)}:{},...o?{issuedAt:new Date(o)}:{},...c?{notBefore:new Date(c)}:{},...u?{requestId:u}:{},...m?{resources:m}:{},...e?{scheme:e}:{},...t?{statement:t}:{}}}var Ci=(()=>{let r,e;async function t(n){let i=Ap({origin:n.quickAuthServerOrigin}),{nonce:s}=await i.generateNonce(),o=await fe.signIn({nonce:s,acceptAuthAddress:!0});if(o.result){let c=xp(o.result.message);if(!c.domain)throw new Error("Missing domain on SIWE message");let u=await i.verifySiwf({domain:c.domain,message:o.result.message,signature:o.result.signature});return r={token:u.token,payload:Ep(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 i=n.force??!1;return r&&!i&&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,i){let{token:s}=await this.getToken(),o=new Headers(i?.headers);return o.set("Authorization",`Bearer ${s}`),fetch(n,{...i,headers:o})}}})();function Iv(){let r=new Qd;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=Iv();var{solanaProviderRequest:Ip}=fe,kp;Ip&&(kp=qu(Hu(Ip)));async function mf(){let r;try{r=await fe.getCapabilities()}catch{}if(r?.includes("wallet.getSolanaProvider"))return kp}var Op=null;async function kv(r=50){if(Op===!0)return!0;if(typeof window>"u"||!window.ReactNativeWebView&&window===window.parent)return!1;let e=await Promise.race([fe.context.then(t=>!!t),new Promise(t=>{setTimeout(()=>t(!1),r)})]).catch(()=>!1);return e&&(Op=!0),e}var Tp=async()=>{let r=await fe.addFrame();if(r.result)return r.result;throw r.error.type==="invalid_domain_manifest"?new ri.InvalidDomainManifest:r.error.type==="rejected_by_user"?new ri.RejectedByUser:new Error("Unreachable")},gf={...kt,getCapabilities:fe.getCapabilities,getChains:fe.getChains,isInMiniApp:kv,context:fe.context,back:Xh({miniAppHost:fe,emitter:kt}),quickAuth:Ci,actions:{setPrimaryButton:fe.setPrimaryButton.bind(fe),ready:async(r={})=>await fe.ready(r),close:fe.close.bind(fe),viewCast:fe.viewCast.bind(fe),viewProfile:fe.viewProfile.bind(fe),signIn:async r=>{let e=await fe.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 fe.openUrl(e.trim())},addFrame:Tp,addMiniApp:Tp,composeCast(r={}){return fe.composeCast(r)},viewToken:fe.viewToken.bind(fe),sendToken:fe.sendToken.bind(fe),swapToken:fe.swapToken.bind(fe)},experimental:{getSolanaProvider:mf,quickAuth(r){return Ci.getToken(r)}},wallet:{ethProvider:Li,getEthereumProvider:gp,getSolanaProvider:mf},haptics:{impactOccurred:fe.impactOccurred.bind(fe),notificationOccurred:fe.notificationOccurred.bind(fe),selectionChanged:fe.selectionChanged.bind(fe)}};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")}});var Ov=gf;return Ca(Tv);})();
16
16
  /*! Bundled license information:
17
17
 
18
18
  ieee754/index.js: