@farcaster/frame-sdk 0.0.47 → 0.0.48

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 gi({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=be(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=V(c,yv);if("error"in u){let p;throw"data"in u.error&&(p=u.error.data.logs),new gi({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}=V(e,$E);this._handleServerNotification(n,[t.value,t.context])}_makeSubscription(e,t){let n=this._nextClientSubscriptionId++,s=oh([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}=Be(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}=V(e,jE);this._handleServerNotification(n,[{accountId:t.value.pubkey,accountInfo:t.value.account},t.context])}onProgramAccountChange(e,t,n,s){let{commitment:i,config:o}=Be(n),c=this._buildArgs([e.toBase58()],i||this._commitment||"finalized","base64",o||(s?{filters:ch(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}=V(e,bv);this._handleServerNotification(n,[t.value,t.context])}_wsOnSlotNotification(e){let{result:t,subscription:n}=V(e,WE);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}=V(e,HE);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}=V(e,GE);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}=V(e,ZE);this._handleServerNotification(n,[t])}onRootChange(e){return this._makeSubscription({callback:e,method:"rootSubscribe",unsubscribeMethod:"rootUnsubscribe"},[])}async removeRootChangeListener(e){await this._unsubscribeClientSubscription(e,"root change")}},Uu=class r{constructor(e){this._keypair=void 0,this._keypair=e??eh()}static generate(){return new r(eh())}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 ce(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}},hi=Object.freeze({CreateLookupTable:{index:0,layout:v.struct([v.u32("instruction"),ks("recentSlot"),v.u8("bumpSeed")])},FreezeLookupTable:{index:1,layout:v.struct([v.u32("instruction")])},ExtendLookupTable:{index:2,layout:v.struct([v.u32("instruction"),ks(),v.seq(_e(),v.offset(v.u32(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:v.struct([v.u32("instruction")])},CloseLookupTable:{index:4,layout:v.struct([v.u32("instruction")])}});var Du=class{constructor(){}static createLookupTable(e){let[t,n]=ce.findProgramAddressSync([e.authority.toBuffer(),eu().encode(e.recentSlot)],this.programId),s=hi.CreateLookupTable,i=we(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:zt.programId,isSigner:!1,isWritable:!1}];return[new Te({programId:this.programId,keys:o,data:i}),t]}static freezeLookupTable(e){let t=hi.FreezeLookupTable,n=we(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=hi.ExtendLookupTable,n=we(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:zt.programId,isSigner:!1,isWritable:!1}),new Te({programId:this.programId,keys:s,data:n})}static deactivateLookupTable(e){let t=hi.DeactivateLookupTable,n=we(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=hi.CloseLookupTable,n=we(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})}};Du.programId=new ce("AddressLookupTab1e1111111111111111111111111");var Jo=Object.freeze({RequestUnits:{index:0,layout:v.struct([v.u8("instruction"),v.u32("units"),v.u32("additionalFee")])},RequestHeapFrame:{index:1,layout:v.struct([v.u8("instruction"),v.u32("bytes")])},SetComputeUnitLimit:{index:2,layout:v.struct([v.u8("instruction"),v.u32("units")])},SetComputeUnitPrice:{index:3,layout:v.struct([v.u8("instruction"),ks("microLamports")])}}),zu=class{constructor(){}static requestUnits(e){let t=Jo.RequestUnits,n=we(t,e);return new Te({keys:[],programId:this.programId,data:n})}static requestHeapFrame(e){let t=Jo.RequestHeapFrame,n=we(t,e);return new Te({keys:[],programId:this.programId,data:n})}static setComputeUnitLimit(e){let t=Jo.SetComputeUnitLimit,n=we(t,e);return new Te({keys:[],programId:this.programId,data:n})}static setComputeUnitPrice(e){let t=Jo.SetComputeUnitPrice,n=we(t,{microLamports:BigInt(e.microLamports)});return new Te({keys:[],programId:this.programId,data:n})}};zu.programId=new ce("ComputeBudget111111111111111111111111111111");var dh=64,hh=32,ph=64,mh=v.struct([v.u8("numSignatures"),v.u8("padding"),v.u16("signatureOffset"),v.u16("signatureInstructionIndex"),v.u16("publicKeyOffset"),v.u16("publicKeyInstructionIndex"),v.u16("messageDataOffset"),v.u16("messageDataSize"),v.u16("messageInstructionIndex")]),Fu=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===ph,`Signature must be ${ph} bytes but received ${s.length} bytes`);let o=mh.span,c=o+t.length,u=c+s.length,p=1,m=ae.Buffer.alloc(u+n.length),b=i??65535;return mh.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===dh,`Private key must be ${dh} bytes but received ${t.length} bytes`);try{let i=Uu.fromSecretKey(t),o=i.publicKey.toBytes(),c=Vu(n,i.secretKey);return this.createInstructionWithPublicKey({publicKey:o,message:n,signature:c,instructionIndex:s})}catch(i){throw new Error(`Error creating instruction; ${i}`)}}};Fu.programId=new ce("Ed25519SigVerify111111111111111111111111111");var Ev=(r,e)=>{let t=li.sign(r,e);return[t.toCompactRawBytes(),t.recovery]};li.utils.isValidPrivateKey;var vv=li.getPublicKey,gh=32,xu=20,yh=64,Rv=11,Au=v.struct([v.u8("numSignatures"),v.u16("signatureOffset"),v.u8("signatureInstructionIndex"),v.u16("ethAddressOffset"),v.u8("ethAddressInstructionIndex"),v.u16("messageDataOffset"),v.u16("messageDataSize"),v.u8("messageInstructionIndex"),v.blob(20,"ethAddress"),v.blob(64,"signature"),v.u8("recoveryId")]),$u=class r{constructor(){}static publicKeyToEthAddress(e){Ae(e.length===yh,`Public key must be ${yh} bytes but received ${e.length} bytes`);try{return ae.Buffer.from(pu(be(e))).slice(-xu)}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=ae.Buffer.from(t.substr(2),"hex"):c=ae.Buffer.from(t,"hex"):c=t,Ae(c.length===xu,`Address must be ${xu} bytes but received ${c.length} bytes`);let u=1+Rv,p=u,m=u+c.length,b=m+s.length+1,x=1,S=ae.Buffer.alloc(Au.span+n.length);return Au.encode({numSignatures:x,signatureOffset:m,signatureInstructionIndex:o,ethAddressOffset:p,ethAddressInstructionIndex:o,messageDataOffset:b,messageDataSize:n.length,messageInstructionIndex:o,signature:be(s),ethAddress:be(c),recoveryId:i},S),S.fill(be(n),Au.span),new Te({keys:[],programId:r.programId,data:S})}static createInstructionWithPrivateKey(e){let{privateKey:t,message:n,instructionIndex:s}=e;Ae(t.length===gh,`Private key must be ${gh} bytes but received ${t.length} bytes`);try{let i=be(t),o=vv(i,!1).slice(1),c=ae.Buffer.from(pu(be(n))),[u,p]=Ev(c,i);return this.createInstructionWithPublicKey({publicKey:o,message:n,signature:u,recoveryId:p,instructionIndex:s})}catch(i){throw new Error(`Error creating instruction; ${i}`)}}};$u.programId=new ce("KeccakSecp256k11111111111111111111111111111");var Ph,Sv=new ce("StakeConfig11111111111111111111111111111111");var _i=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}};Ph=_i;_i.default=new Ph(0,0,ce.default);var hn=Object.freeze({Initialize:{index:0,layout:v.struct([v.u32("instruction"),z1(),F1()])},Authorize:{index:1,layout:v.struct([v.u32("instruction"),_e("newAuthorized"),v.u32("stakeAuthorizationType")])},Delegate:{index:2,layout:v.struct([v.u32("instruction")])},Split:{index:3,layout:v.struct([v.u32("instruction"),v.ns64("lamports")])},Withdraw:{index:4,layout:v.struct([v.u32("instruction"),v.ns64("lamports")])},Deactivate:{index:5,layout:v.struct([v.u32("instruction")])},Merge:{index:7,layout:v.struct([v.u32("instruction")])},AuthorizeWithSeed:{index:8,layout:v.struct([v.u32("instruction"),_e("newAuthorized"),v.u32("stakeAuthorizationType"),Is("authoritySeed"),_e("authorityOwner")])}}),FA=Object.freeze({Staker:{index:0},Withdrawer:{index:1}}),ua=class{constructor(){}static initialize(e){let{stakePubkey:t,authorized:n,lockup:s}=e,i=s||_i.default,o=hn.Initialize,c=we(o,{authorized:{staker:be(n.staker.toBuffer()),withdrawer:be(n.withdrawer.toBuffer())},lockup:{unixTimestamp:i.unixTimestamp,epoch:i.epoch,custodian:be(i.custodian.toBuffer())}}),u={keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:mi,isSigner:!1,isWritable:!1}],programId:this.programId,data:c};return new Te(u)}static createAccountWithSeed(e){let t=new Se;t.add(zt.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(zt.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=we(i);return new Se().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:Mr,isSigner:!1,isWritable:!1},{pubkey:wu,isSigner:!1,isWritable:!1},{pubkey:Sv,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=we(c,{newAuthorized:be(s.toBuffer()),stakeAuthorizationType:i.index}),p=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:Mr,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=we(p,{newAuthorized:be(o.toBuffer()),stakeAuthorizationType:c.index,authoritySeed:s,authorityOwner:be(i.toBuffer())}),b=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1},{pubkey:Mr,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=we(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(zt.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(zt.allocate({accountPubkey:i,basePubkey:o,seed:c,space:this.space,programId:this.programId})),t&&t>0&&p.add(zt.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=we(i);return new Se().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:Mr,isSigner:!1,isWritable:!1},{pubkey:wu,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=we(c,{lamports:i}),p=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:Mr,isSigner:!1,isWritable:!1},{pubkey:wu,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=we(s);return new Se().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:Mr,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:i})}};ua.programId=new ce("Stake11111111111111111111111111111111111111");ua.space=200;var pi=Object.freeze({InitializeAccount:{index:0,layout:v.struct([v.u32("instruction"),$1()])},Authorize:{index:1,layout:v.struct([v.u32("instruction"),_e("newAuthorized"),v.u32("voteAuthorizationType")])},Withdraw:{index:3,layout:v.struct([v.u32("instruction"),v.ns64("lamports")])},UpdateValidatorIdentity:{index:4,layout:v.struct([v.u32("instruction")])},AuthorizeWithSeed:{index:10,layout:v.struct([v.u32("instruction"),V1()])}}),$A=Object.freeze({Voter:{index:0},Withdrawer:{index:1}}),fa=class r{constructor(){}static initializeAccount(e){let{votePubkey:t,nodePubkey:n,voteInit:s}=e,i=pi.InitializeAccount,o=we(i,{voteInit:{nodePubkey:be(s.nodePubkey.toBuffer()),authorizedVoter:be(s.authorizedVoter.toBuffer()),authorizedWithdrawer:be(s.authorizedWithdrawer.toBuffer()),commission:s.commission}}),c={keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:mi,isSigner:!1,isWritable:!1},{pubkey:Mr,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(zt.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=pi.Authorize,c=we(o,{newAuthorized:be(s.toBuffer()),voteAuthorizationType:i.index}),u=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:Mr,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=pi.AuthorizeWithSeed,p=we(u,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:be(n.toBuffer()),currentAuthorityDerivedKeySeed:s,newAuthorized:be(i.toBuffer()),voteAuthorizationType:o.index}}),m=[{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:Mr,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=pi.Withdraw,c=we(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=pi.UpdateValidatorIdentity,o=we(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})}};fa.programId=new ce("Vote111111111111111111111111111111111111111");fa.space=3762;var VA=new ce("Va1idator1nfo111111111111111111111111111111"),jA=P({name:z(),website:ne(z()),details:ne(z()),iconUrl:ne(z()),keybaseUsername:ne(z())});var qA=new ce("Vote111111111111111111111111111111111111111"),WA=v.struct([_e("nodePubkey"),_e("authorizedWithdrawer"),v.u8("commission"),v.nu64(),v.seq(v.struct([v.nu64("slot"),v.u32("confirmationCount")]),v.offset(v.u32(),-8),"votes"),v.u8("rootSlotValid"),v.nu64("rootSlot"),v.nu64(),v.seq(v.struct([v.nu64("epoch"),_e("authorizedVoter")]),v.offset(v.u32(),-8),"authorizedVoters"),v.struct([v.seq(v.struct([_e("authorizedPubkey"),v.nu64("epochOfLastAuthorizedSwitch"),v.nu64("targetEpoch")]),32,"buf"),v.nu64("idx"),v.u8("isEmpty")],"priorVoters"),v.nu64(),v.seq(v.struct([v.nu64("epoch"),v.nu64("credits"),v.nu64("prevCredits")]),v.offset(v.u32(),-8),"epochCredits"),v.struct([v.nu64("slot"),v.nu64("timestamp")],"lastTimestamp")]);var Hu=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 Gu(r){return Buffer.from(r.serialize({verifySignatures:!1})).toString("base64")}function Zu(r){let e=Buffer.from(r,"base64");return la.deserializeMessageVersion(e)==="legacy"?ia.deserialize(e):Se.from(e)}function xv(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:Zu(n),options:s};return await r({method:"signAndSendTransaction",params:i})}if(t.method==="signTransaction"){let{transaction:n}=t.params,s={transaction:Zu(n)},{signedTransaction:i}=await r({method:"signTransaction",params:s});return{signedTransaction:Gu(i)}}}}function Yu(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:Gu(n)};return await r({method:"signAndSendTransaction",params:i})}if(t.method==="signTransaction"){let{transaction:n}=t.params,s={transaction:Gu(n)},{signedTransaction:i}=await r({method:"signTransaction",params:s});return{signedTransaction:Zu(i)}}}}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(`
13
13
  `);super(s,t.cause?{cause:t.cause}:void 0),this.name="BaseError",this.cause=t.cause,this.details=n,this.shortMessage=e}},Bs=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 Mh({origin:r}){let e=await fetch(`${r}/nonce`,{method:"POST"});if(!e.ok)throw new Bs({status:e.status});return await e.json()}async function Uh({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 Bs({status:t.status});let n=await t.json();if(n.valid===!1)throw new ma(n.message??"unknown");return{token:n.token}}function Dh(r={}){return{origin:r.origin??"https://auth.farcaster.xyz"}}function zh(r={}){let e=Dh(r);return{generateNonce:()=>Mh(e),verifySiwf:t=>Uh(e,t)}}var Fh="0.1.1";function $h(){return Fh}var ga=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=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(`
14
14
  `);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@${$h()}`}),this.cause=t.cause,this.details=n,this.docs=o,this.docsPath=s,this.shortMessage=e}walk(e){return Vh(this,e)}};function Vh(r,e){return e?.(r)?r:r&&typeof r=="object"&&"cause"in r&&r.cause?Vh(r.cause,e):e?null:r}var Iv=/^(?:(?<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)?/,Ov=/(?: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 jh(r){let{scheme:e,statement:t,...n}=r.match(Iv)?.groups??{},{chainId:s,expirationTime:i,issuedAt:o,notBefore:c,requestId:u,...p}=r.match(Ov)?.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}:{}}}function ya(r,e={}){let{raw:t=!1}=e,n=r;if(t)return r;if(n.error)throw Xu(n.error);return n.result}function Xu(r){let e=r;if(e instanceof Error&&!("code"in e))return new lr({cause:e,data:e,message:e.message});let{code:t}=e;return t===lr.code?new lr(e):t===bi.code?new bi(e):t===Oi.code?new Oi(e):t===Ai.code?new Ai(e):t===Si.code?new Si(e):t===Ii.code?new Ii(e):t===Ri.code?new Ri(e):t===ki.code?new ki(e):t===wi.code?new wi(e):t===Ei.code?new Ei(e):t===vi.code?new vi(e):t===xi.code?new xi(e):new lr({cause:e instanceof Error?e:void 0,data:e,message:e.message})}var Pt=class extends Error{constructor(e){let{cause:t,code:n,message:s,data:i}=e;super(s,{cause:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.BaseError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),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.cause=t,this.code=n,this.data=i}},bi=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Missing or invalid parameters."}),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(bi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var wi=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Requested resource not found."}),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(wi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var Ei=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Requested resource not available."}),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(Ei,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var vi=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Transaction creation failed."}),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(vi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var Ri=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Method is not implemented."}),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(Ri,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var Si=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Rate limit exceeded."}),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(Si,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var xi=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"JSON-RPC version not supported."}),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(xi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Ai=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Input is not a valid JSON-RPC request."}),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(Ai,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Ii=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Method does not exist."}),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(Ii,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var Oi=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Invalid method parameters."}),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(Oi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var lr=class r extends Pt{constructor(e={}){super({cause:e.cause,code:r.code,data:e.data,message:e.message??"Internal JSON-RPC error."}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.InternalError"})}};Object.defineProperty(lr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var ki=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Failed to parse JSON-RPC response."}),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(ki,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});var vt=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}},Xn=class extends vt{constructor({message:e="The user rejected the request."}={}){super(4001,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UserRejectedRequestError"})}};Object.defineProperty(Xn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});var Jn=class extends vt{constructor({message:e="The requested method and/or account has not been authorized by the user."}={}){super(4100,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UnauthorizedError"})}};Object.defineProperty(Jn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});var Qn=class extends vt{constructor({message:e="The provider does not support the requested method."}={}){super(4200,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UnsupportedMethodError"})}};Object.defineProperty(Qn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});var es=class extends vt{constructor({message:e="The provider is disconnected from all chains."}={}){super(4900,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.DisconnectedError"})}};Object.defineProperty(es,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});var ts=class extends vt{constructor({message:e="The provider is not connected to the requested chain."}={}){super(4901,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.ChainDisconnectedError"})}};Object.defineProperty(ts,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});var Ti=class extends vt{constructor({message:e="An error occurred when attempting to switch chain."}={}){super(4902,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.SwitchChainError"})}};Object.defineProperty(Ti,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});var Ni=class extends vt{constructor({message:e="This Wallet does not support a capability that was not marked as optional."}={}){super(5700,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UnsupportedNonOptionalCapabilityError"})}};Object.defineProperty(Ni,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});var Bi=class extends vt{constructor({message:e="This Wallet does not support the requested chain ID."}={}){super(5710,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UnsupportedChainIdError"})}};Object.defineProperty(Bi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});var Li=class extends vt{constructor({message:e="There is already a bundle submitted with this ID."}={}){super(5720,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.DuplicateIdError"})}};Object.defineProperty(Li,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});var Ci=class extends vt{constructor({message:e="This bundle id is unknown / has not been submitted."}={}){super(5730,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UnknownBundleIdError"})}};Object.defineProperty(Ci,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});var Pi=class extends vt{constructor({message:e="The call bundle is too large for the Wallet to process."}={}){super(5740,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.BundleTooLargeError"})}};Object.defineProperty(Pi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});var Mi=class extends vt{constructor({message:e="The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."}={}){super(5750,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.AtomicReadyWalletRejectedUpgradeError"})}};Object.defineProperty(Mi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});var Ui=class extends vt{constructor({message:e="The wallet does not support atomic execution but the request requires it."}={}){super(5760,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.AtomicityNotSupportedError"})}};Object.defineProperty(Ui,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});function Wh(){let r=new fn.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 Kh(r,e={}){let{includeEvents:t=!0}=e;if(!r)throw new Ju;return{...t?{on:r.on?.bind(r),removeListener:r.removeListener?.bind(r)}:{},async request(n){try{let s=await r.request(n);return s&&typeof s=="object"&&"jsonrpc"in s?ya(s):s}catch(s){throw Tv(s)}}}}function Tv(r){let e=Xu(r);if(e instanceof lr){if(!e.data)return e;let{code:t}=e.data;if(t===es.code)return new es(e);if(t===ts.code)return new ts(e);if(t===Xn.code)return new Xn(e);if(t===Jn.code)return new Jn(e);if(t===Qn.code)return new Qn(e);if(t===Ti.code)return new Ti(e);if(t===Mi.code)return new Mi(e);if(t===Ui.code)return new Ui(e);if(t===Pi.code)return new Pi(e);if(t===Ci.code)return new Ci(e);if(t===Li.code)return new Li(e);if(t===Bi.code)return new Bi(e);if(t===Ni.code)return new Ni(e)}return e}var Ju=class extends ga{constructor(){super("`provider` is undefined."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.IsUndefinedError"})}};function Hh(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 Zh=Symbol("Comlink.proxy"),Cv=Symbol("Comlink.endpoint"),Pv=Symbol("Comlink.releaseProxy"),Qu=Symbol("Comlink.finalizer"),ba=Symbol("Comlink.thrown"),Yh=r=>typeof r=="object"&&r!==null||typeof r=="function",Mv={canHandle:r=>Yh(r)&&r[Zh],serialize(r){let{port1:e,port2:t}=new MessageChannel;return Jh(r,e),[t,[t]]},deserialize(r){return r.start(),tf(r)}},Uv={canHandle:r=>Yh(r)&&ba 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}},Xh=new Map([["proxy",Mv],["throw",Uv]]);function Dv(r,e){for(let t of r)if(e===t||t==="*"||t instanceof RegExp&&t.test(e))return!0;return!1}function Jh(r,e=globalThis,t=["*"]){e.addEventListener("message",function n(s){if(!s||!s.data)return;if(!Dv(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(rs),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]]=rs(s.data.value),p=!0;break;case"APPLY":p=b.apply(m,u);break;case"CONSTRUCT":{let x=new b(...u);p=qv(x)}break;case"ENDPOINT":{let{port1:x,port2:S}=new MessageChannel;Jh(r,S),p=jv(x,[x])}break;case"RELEASE":p=void 0;break;default:return}}catch(m){p={value:m,[ba]:0}}Promise.resolve(p).catch(m=>({value:m,[ba]:0})).then(m=>{let[b,x]=va(m);e.postMessage(Object.assign(Object.assign({},b),{id:i}),x),o==="RELEASE"&&(e.removeEventListener("message",n),Qh(e),Qu in r&&typeof r[Qu]=="function"&&r[Qu]())}).catch(m=>{let[b,x]=va({value:new TypeError("Unserializable return value"),[ba]:0});e.postMessage(Object.assign(Object.assign({},b),{id:i}),x)})}),e.start&&e.start()}function zv(r){return r.constructor.name==="MessagePort"}function Qh(r){zv(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 _a(r){if(r)throw new Error("Proxy has been released and is not useable")}function e0(r){return Ls(r,new Map,{type:"RELEASE"}).then(()=>{Qh(r)})}var wa=new WeakMap,Ea="FinalizationRegistry"in globalThis&&new FinalizationRegistry(r=>{let e=(wa.get(r)||0)-1;wa.set(r,e),e===0&&e0(r)});function Fv(r,e){let t=(wa.get(e)||0)+1;wa.set(e,t),Ea&&Ea.register(r,e,r)}function $v(r){Ea&&Ea.unregister(r)}function ef(r,e,t=[],n=function(){}){let s=!1,i=new Proxy(n,{get(o,c){if(_a(s),c===Pv)return()=>{$v(i),e0(r),e.clear(),s=!0};if(c==="then"){if(t.length===0)return{then:()=>i};let u=Ls(r,e,{type:"GET",path:t.map(p=>p.toString())}).then(rs);return u.then.bind(u)}return ef(r,e,[...t,c])},set(o,c,u){_a(s);let[p,m]=va(u);return Ls(r,e,{type:"SET",path:[...t,c].map(b=>b.toString()),value:p},m).then(rs)},apply(o,c,u){_a(s);let p=t[t.length-1];if(p===Cv)return Ls(r,e,{type:"ENDPOINT"}).then(rs);if(p==="bind")return ef(r,e,t.slice(0,-1));let[m,b]=Gh(u);return Ls(r,e,{type:"APPLY",path:t.map(x=>x.toString()),argumentList:m},b).then(rs)},construct(o,c){_a(s);let[u,p]=Gh(c);return Ls(r,e,{type:"CONSTRUCT",path:t.map(m=>m.toString()),argumentList:u},p).then(rs)}});return Fv(i,r),i}function Vv(r){return Array.prototype.concat.apply([],r)}function Gh(r){let e=r.map(va);return[e.map(t=>t[0]),Vv(e.map(t=>t[1]))]}var t0=new WeakMap;function jv(r,e){return t0.set(r,e),r}function qv(r){return Object.assign(r,{[Zh]:!0})}function r0(r,e=globalThis,t="*"){return{postMessage:(n,s)=>r.postMessage(n,t,s),addEventListener:e.addEventListener.bind(e),removeEventListener:e.removeEventListener.bind(e)}}function va(r){for(let[e,t]of Xh)if(t.canHandle(r)){let[n,s]=t.serialize(r);return[{type:"HANDLER",name:e,value:n},s]}return[{type:"RAW",value:r},t0.get(r)||[]]}function rs(r){switch(r.type){case"HANDLER":return Xh.get(r.name).deserialize(r.value);case"RAW":return r.value}}function Ls(r,e,t,n){return new Promise(s=>{let i=Wv();e.set(i,s),r.start&&r.start(),r.postMessage(Object.assign({id:i},t),n)})}function Wv(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}var Kv={postMessage(){},addEventListener:()=>{},removeEventListener:()=>{}},Hv={postMessage:r=>{console.debug("[webview:req]",r),window.ReactNativeWebView.postMessage(JSON.stringify(r))},addEventListener:(r,e,...t)=>{document.addEventListener("FarcasterFrameCallback",e,...t)},removeEventListener:(r,e)=>{document.removeEventListener("FarcasterFrameCallback",e)}},n0=typeof window>"u"?Kv:window?.ReactNativeWebView?Hv:r0(window?.parent??window);var Ee=tf(n0);var rf=Wh(),Gv=Hh();function Zv({code:r,details:e}){switch(r){case 4001:return new Xn;case 4100:return new Jn;case 4200:return new Qn;case 4900:return new es;case 4901:return new ts;default:return new vt(r,e??"Unknown provider RPC error")}}var Cs=Kh({...rf,async request(r){let e=Gv.prepare(r);try{let t=await Ee.ethProviderRequestV2(e).then(n=>ya(n,{request:e,raw:!0}));if(t.error)throw Zv(t.error);return t.result}catch(t){if(t instanceof Error&&t.message.match(/cannot read property 'apply'/i))return await Ee.ethProviderRequest(e);throw t instanceof vt||t instanceof Pt?t:new lr({message:t instanceof Error?t.message:void 0})}}});async function s0(){try{let r=await Ee.getCapabilities();return!r.includes("wallet.getEthereumProvider")&&!r.includes("wallet.getEvmProvider")?void 0:Cs}catch{return Cs}}function i0(r){let e=new CustomEvent("eip6963:announceProvider",{detail:Object.freeze(r)});window.dispatchEvent(e);let t=()=>window.dispatchEvent(e);return window.addEventListener("eip6963:requestProvider",t),()=>window.removeEventListener("eip6963:requestProvider",t)}typeof document<"u"&&(document.addEventListener("eip6963:requestProvider",()=>{Ee.eip6963RequestProvider()}),document.addEventListener("FarcasterFrameEthProviderEvent",r=>{if(r instanceof MessageEvent){let e=r.data;rf.emit(e.event,...e.params)}}),document.addEventListener("FarcasterFrameEvent",r=>{if(r instanceof MessageEvent){let e=r.data;e.event==="eip6963:announceProvider"&&i0({info:e.info,provider:Cs})}}));typeof window<"u"&&(window.addEventListener("eip6963:requestProvider",()=>{Ee.eip6963RequestProvider()}),window.addEventListener("message",r=>{if(r instanceof MessageEvent&&r.data.type==="frameEthProviderEvent"){let e=r.data;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"&&i0({info:e.info,provider:Cs})}}));var{solanaProviderRequest:o0}=Ee,a0;o0&&(a0=Hu(Yu(o0)));async function c0(){let r;try{r=await Ee.getCapabilities()}catch{}if(r?.includes("wallet.getSolanaProvider"))return a0}function l0(){let r=new fn.default;return{get eventNames(){return r.eventNames.bind(r)},get listenerCount(){return r.listenerCount.bind(r)},get listeners(){return r.listeners.bind(r)},addListener:r.addListener.bind(r),emit:r.emit.bind(r),off:r.off.bind(r),on:r.on.bind(r),once:r.once.bind(r),removeAllListeners:r.removeAllListeners.bind(r),removeListener:r.removeListener.bind(r)}}var Jt=l0(),u0=null;async function Yv(r=50){if(u0===!0)return!0;if(typeof window>"u"||!window.ReactNativeWebView&&window===window.parent)return!1;let e=await Promise.race([Ee.context.then(t=>!!t),new Promise(t=>{setTimeout(()=>t(!1),r)})]).catch(()=>!1);return e&&(u0=!0),e}var f0=async()=>{let r=await Ee.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")},nf={...Jt,getCapabilities:Ee.getCapabilities,getChains:Ee.getChains,isInMiniApp:Yv,context:Ee.context,actions:{setPrimaryButton:Ee.setPrimaryButton.bind(Ee),ready:Ee.ready.bind(Ee),close:Ee.close.bind(Ee),viewProfile:Ee.viewProfile.bind(Ee),signIn:async r=>{let e=await Ee.signIn(r);if(e.result)return e.result;throw e.error.type==="rejected_by_user"?new is.RejectedByUser:new Error("Unreachable")},openUrl:r=>{let e=typeof r=="string"?r:r.url;return Ee.openUrl(e.trim())},addFrame:f0,addMiniApp:f0,composeCast(r={}){return Ee.composeCast(r)},viewToken:Ee.viewToken.bind(Ee),sendToken:Ee.sendToken.bind(Ee),swapToken:Ee.swapToken.bind(Ee)},experimental:{getSolanaProvider:c0,quickAuth:async(r={})=>{let e=zh({origin:r.quickAuthServerOrigin}),{nonce:t}=await e.generateNonce(),n=await Ee.signIn({nonce:t});if(n.result){let s=jh(n.result.message);if(!s.domain)throw new Error("Missing domain on SIWE message");return await e.verifySiwf({domain:s.domain,message:n.result.message,signature:n.result.signature})}throw n.error.type==="rejected_by_user"?new is.RejectedByUser:new Error("Unreachable")}},wallet:{ethProvider:Cs,getEthereumProvider:s0}};typeof document<"u"&&document.addEventListener("FarcasterFrameEvent",r=>{if(r instanceof MessageEvent){let e=r.data;e.event==="primary_button_clicked"?Jt.emit("primaryButtonClicked"):e.event==="frame_added"?Jt.emit("frameAdded",{notificationDetails:e.notificationDetails}):e.event==="frame_add_rejected"?Jt.emit("frameAddRejected",{reason:e.reason}):e.event==="frame_removed"?Jt.emit("frameRemoved"):e.event==="notifications_enabled"?Jt.emit("notificationsEnabled",{notificationDetails:e.notificationDetails}):e.event==="notifications_disabled"&&Jt.emit("notificationsDisabled")}});typeof window<"u"&&window.addEventListener("message",r=>{if(r instanceof MessageEvent&&r.data.type==="frameEvent"){let e=r.data.event;e.event==="primary_button_clicked"?Jt.emit("primaryButtonClicked"):e.event==="frame_added"?Jt.emit("frameAdded",{notificationDetails:e.notificationDetails}):e.event==="frame_add_rejected"?Jt.emit("frameAddRejected",{reason:e.reason}):e.event==="frame_removed"?Jt.emit("frameRemoved"):e.event==="notifications_enabled"?Jt.emit("notificationsEnabled",{notificationDetails:e.notificationDetails}):e.event==="notifications_disabled"&&Jt.emit("notificationsDisabled")}});var Xv=nf;return Va(Jv);})();
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}:{}}}function ya(r,e={}){let{raw:t=!1}=e,n=r;if(t)return r;if(n.error)throw Xu(n.error);return n.result}function Xu(r){let e=r;if(e instanceof Error&&!("code"in e))return new lr({cause:e,data:e,message:e.message});let{code:t}=e;return t===lr.code?new lr(e):t===bi.code?new bi(e):t===Oi.code?new Oi(e):t===Ai.code?new Ai(e):t===Si.code?new Si(e):t===Ii.code?new Ii(e):t===Ri.code?new Ri(e):t===ki.code?new ki(e):t===wi.code?new wi(e):t===Ei.code?new Ei(e):t===vi.code?new vi(e):t===xi.code?new xi(e):new lr({cause:e instanceof Error?e:void 0,data:e,message:e.message})}var Pt=class extends Error{constructor(e){let{cause:t,code:n,message:s,data:i}=e;super(s,{cause:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.BaseError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),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.cause=t,this.code=n,this.data=i}},bi=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Missing or invalid parameters."}),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(bi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var wi=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Requested resource not found."}),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(wi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var Ei=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Requested resource not available."}),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(Ei,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var vi=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Transaction creation failed."}),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(vi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var Ri=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Method is not implemented."}),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(Ri,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var Si=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Rate limit exceeded."}),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(Si,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var xi=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"JSON-RPC version not supported."}),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(xi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Ai=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Input is not a valid JSON-RPC request."}),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(Ai,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Ii=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Method does not exist."}),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(Ii,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var Oi=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Invalid method parameters."}),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(Oi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var lr=class r extends Pt{constructor(e={}){super({cause:e.cause,code:r.code,data:e.data,message:e.message??"Internal JSON-RPC error."}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.InternalError"})}};Object.defineProperty(lr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var ki=class r extends Pt{constructor(e={}){super({code:r.code,data:e.data,message:e.message??"Failed to parse JSON-RPC response."}),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(ki,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});var vt=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}},Xn=class extends vt{constructor({message:e="The user rejected the request."}={}){super(4001,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UserRejectedRequestError"})}};Object.defineProperty(Xn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});var Jn=class extends vt{constructor({message:e="The requested method and/or account has not been authorized by the user."}={}){super(4100,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UnauthorizedError"})}};Object.defineProperty(Jn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});var Qn=class extends vt{constructor({message:e="The provider does not support the requested method."}={}){super(4200,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UnsupportedMethodError"})}};Object.defineProperty(Qn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});var es=class extends vt{constructor({message:e="The provider is disconnected from all chains."}={}){super(4900,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.DisconnectedError"})}};Object.defineProperty(es,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});var ts=class extends vt{constructor({message:e="The provider is not connected to the requested chain."}={}){super(4901,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.ChainDisconnectedError"})}};Object.defineProperty(ts,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});var Ti=class extends vt{constructor({message:e="An error occurred when attempting to switch chain."}={}){super(4902,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.SwitchChainError"})}};Object.defineProperty(Ti,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});var Ni=class extends vt{constructor({message:e="This Wallet does not support a capability that was not marked as optional."}={}){super(5700,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UnsupportedNonOptionalCapabilityError"})}};Object.defineProperty(Ni,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});var Bi=class extends vt{constructor({message:e="This Wallet does not support the requested chain ID."}={}){super(5710,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UnsupportedChainIdError"})}};Object.defineProperty(Bi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});var Li=class extends vt{constructor({message:e="There is already a bundle submitted with this ID."}={}){super(5720,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.DuplicateIdError"})}};Object.defineProperty(Li,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});var Ci=class extends vt{constructor({message:e="This bundle id is unknown / has not been submitted."}={}){super(5730,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.UnknownBundleIdError"})}};Object.defineProperty(Ci,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});var Pi=class extends vt{constructor({message:e="The call bundle is too large for the Wallet to process."}={}){super(5740,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.BundleTooLargeError"})}};Object.defineProperty(Pi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});var Mi=class extends vt{constructor({message:e="The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."}={}){super(5750,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.AtomicReadyWalletRejectedUpgradeError"})}};Object.defineProperty(Mi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});var Ui=class extends vt{constructor({message:e="The wallet does not support atomic execution but the request requires it."}={}){super(5760,e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.AtomicityNotSupportedError"})}};Object.defineProperty(Ui,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});function Wh(){let r=new fn.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 Kh(r,e={}){let{includeEvents:t=!0}=e;if(!r)throw new Ju;return{...t?{on:r.on?.bind(r),removeListener:r.removeListener?.bind(r)}:{},async request(n){try{let s=await r.request(n);return s&&typeof s=="object"&&"jsonrpc"in s?ya(s):s}catch(s){throw Tv(s)}}}}function Tv(r){let e=Xu(r);if(e instanceof lr){if(!e.data)return e;let{code:t}=e.data;if(t===es.code)return new es(e);if(t===ts.code)return new ts(e);if(t===Xn.code)return new Xn(e);if(t===Jn.code)return new Jn(e);if(t===Qn.code)return new Qn(e);if(t===Ti.code)return new Ti(e);if(t===Mi.code)return new Mi(e);if(t===Ui.code)return new Ui(e);if(t===Pi.code)return new Pi(e);if(t===Ci.code)return new Ci(e);if(t===Li.code)return new Li(e);if(t===Bi.code)return new Bi(e);if(t===Ni.code)return new Ni(e)}return e}var Ju=class extends ga{constructor(){super("`provider` is undefined."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.IsUndefinedError"})}};function Hh(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 Zh=Symbol("Comlink.proxy"),Cv=Symbol("Comlink.endpoint"),Pv=Symbol("Comlink.releaseProxy"),Qu=Symbol("Comlink.finalizer"),ba=Symbol("Comlink.thrown"),Yh=r=>typeof r=="object"&&r!==null||typeof r=="function",Mv={canHandle:r=>Yh(r)&&r[Zh],serialize(r){let{port1:e,port2:t}=new MessageChannel;return Jh(r,e),[t,[t]]},deserialize(r){return r.start(),tf(r)}},Uv={canHandle:r=>Yh(r)&&ba 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}},Xh=new Map([["proxy",Mv],["throw",Uv]]);function Dv(r,e){for(let t of r)if(e===t||t==="*"||t instanceof RegExp&&t.test(e))return!0;return!1}function Jh(r,e=globalThis,t=["*"]){e.addEventListener("message",function n(s){if(!s||!s.data)return;if(!Dv(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(rs),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]]=rs(s.data.value),p=!0;break;case"APPLY":p=b.apply(m,u);break;case"CONSTRUCT":{let x=new b(...u);p=qv(x)}break;case"ENDPOINT":{let{port1:x,port2:S}=new MessageChannel;Jh(r,S),p=jv(x,[x])}break;case"RELEASE":p=void 0;break;default:return}}catch(m){p={value:m,[ba]:0}}Promise.resolve(p).catch(m=>({value:m,[ba]:0})).then(m=>{let[b,x]=va(m);e.postMessage(Object.assign(Object.assign({},b),{id:i}),x),o==="RELEASE"&&(e.removeEventListener("message",n),Qh(e),Qu in r&&typeof r[Qu]=="function"&&r[Qu]())}).catch(m=>{let[b,x]=va({value:new TypeError("Unserializable return value"),[ba]:0});e.postMessage(Object.assign(Object.assign({},b),{id:i}),x)})}),e.start&&e.start()}function zv(r){return r.constructor.name==="MessagePort"}function Qh(r){zv(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 _a(r){if(r)throw new Error("Proxy has been released and is not useable")}function e0(r){return Ls(r,new Map,{type:"RELEASE"}).then(()=>{Qh(r)})}var wa=new WeakMap,Ea="FinalizationRegistry"in globalThis&&new FinalizationRegistry(r=>{let e=(wa.get(r)||0)-1;wa.set(r,e),e===0&&e0(r)});function Fv(r,e){let t=(wa.get(e)||0)+1;wa.set(e,t),Ea&&Ea.register(r,e,r)}function $v(r){Ea&&Ea.unregister(r)}function ef(r,e,t=[],n=function(){}){let s=!1,i=new Proxy(n,{get(o,c){if(_a(s),c===Pv)return()=>{$v(i),e0(r),e.clear(),s=!0};if(c==="then"){if(t.length===0)return{then:()=>i};let u=Ls(r,e,{type:"GET",path:t.map(p=>p.toString())}).then(rs);return u.then.bind(u)}return ef(r,e,[...t,c])},set(o,c,u){_a(s);let[p,m]=va(u);return Ls(r,e,{type:"SET",path:[...t,c].map(b=>b.toString()),value:p},m).then(rs)},apply(o,c,u){_a(s);let p=t[t.length-1];if(p===Cv)return Ls(r,e,{type:"ENDPOINT"}).then(rs);if(p==="bind")return ef(r,e,t.slice(0,-1));let[m,b]=Gh(u);return Ls(r,e,{type:"APPLY",path:t.map(x=>x.toString()),argumentList:m},b).then(rs)},construct(o,c){_a(s);let[u,p]=Gh(c);return Ls(r,e,{type:"CONSTRUCT",path:t.map(m=>m.toString()),argumentList:u},p).then(rs)}});return Fv(i,r),i}function Vv(r){return Array.prototype.concat.apply([],r)}function Gh(r){let e=r.map(va);return[e.map(t=>t[0]),Vv(e.map(t=>t[1]))]}var t0=new WeakMap;function jv(r,e){return t0.set(r,e),r}function qv(r){return Object.assign(r,{[Zh]:!0})}function r0(r,e=globalThis,t="*"){return{postMessage:(n,s)=>r.postMessage(n,t,s),addEventListener:e.addEventListener.bind(e),removeEventListener:e.removeEventListener.bind(e)}}function va(r){for(let[e,t]of Xh)if(t.canHandle(r)){let[n,s]=t.serialize(r);return[{type:"HANDLER",name:e,value:n},s]}return[{type:"RAW",value:r},t0.get(r)||[]]}function rs(r){switch(r.type){case"HANDLER":return Xh.get(r.name).deserialize(r.value);case"RAW":return r.value}}function Ls(r,e,t,n){return new Promise(s=>{let i=Wv();e.set(i,s),r.start&&r.start(),r.postMessage(Object.assign({id:i},t),n)})}function Wv(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}var Kv={postMessage(){},addEventListener:()=>{},removeEventListener:()=>{}},Hv={postMessage:r=>{console.debug("[webview:req]",r),window.ReactNativeWebView.postMessage(JSON.stringify(r))},addEventListener:(r,e,...t)=>{document.addEventListener("FarcasterFrameCallback",e,...t)},removeEventListener:(r,e)=>{document.removeEventListener("FarcasterFrameCallback",e)}},n0=typeof window>"u"?Kv:window?.ReactNativeWebView?Hv:r0(window?.parent??window);var Ee=tf(n0);var rf=Wh(),Gv=Hh();function Zv({code:r,details:e}){switch(r){case 4001:return new Xn;case 4100:return new Jn;case 4200:return new Qn;case 4900:return new es;case 4901:return new ts;default:return new vt(r,e??"Unknown provider RPC error")}}var Cs=Kh({...rf,async request(r){let e=Gv.prepare(r);try{let t=await Ee.ethProviderRequestV2(e).then(n=>ya(n,{request:e,raw:!0}));if(t.error)throw Zv(t.error);return t.result}catch(t){if(t instanceof Error&&t.message.match(/cannot read property 'apply'/i))return await Ee.ethProviderRequest(e);throw t instanceof vt||t instanceof Pt?t:new lr({message:t instanceof Error?t.message:void 0})}}});async function s0(){try{let r=await Ee.getCapabilities();return!r.includes("wallet.getEthereumProvider")&&!r.includes("wallet.getEvmProvider")?void 0:Cs}catch{return Cs}}function i0(r){let e=new CustomEvent("eip6963:announceProvider",{detail:Object.freeze(r)});window.dispatchEvent(e);let t=()=>window.dispatchEvent(e);return window.addEventListener("eip6963:requestProvider",t),()=>window.removeEventListener("eip6963:requestProvider",t)}typeof document<"u"&&(document.addEventListener("eip6963:requestProvider",()=>{Ee.eip6963RequestProvider()}),document.addEventListener("FarcasterFrameEthProviderEvent",r=>{if(r instanceof MessageEvent){let e=r.data;rf.emit(e.event,...e.params)}}),document.addEventListener("FarcasterFrameEvent",r=>{if(r instanceof MessageEvent){let e=r.data;e.event==="eip6963:announceProvider"&&i0({info:e.info,provider:Cs})}}));typeof window<"u"&&(window.addEventListener("eip6963:requestProvider",()=>{Ee.eip6963RequestProvider()}),window.addEventListener("message",r=>{if(r instanceof MessageEvent&&r.data.type==="frameEthProviderEvent"){let e=r.data;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"&&i0({info:e.info,provider:Cs})}}));var{solanaProviderRequest:o0}=Ee,a0;o0&&(a0=Hu(Yu(o0)));async function c0(){let r;try{r=await Ee.getCapabilities()}catch{}if(r?.includes("wallet.getSolanaProvider"))return a0}function l0(){let r=new fn.default;return{get eventNames(){return r.eventNames.bind(r)},get listenerCount(){return r.listenerCount.bind(r)},get listeners(){return r.listeners.bind(r)},addListener:r.addListener.bind(r),emit:r.emit.bind(r),off:r.off.bind(r),on:r.on.bind(r),once:r.once.bind(r),removeAllListeners:r.removeAllListeners.bind(r),removeListener:r.removeListener.bind(r)}}var Jt=l0(),u0=null;async function Yv(r=50){if(u0===!0)return!0;if(typeof window>"u"||!window.ReactNativeWebView&&window===window.parent)return!1;let e=await Promise.race([Ee.context.then(t=>!!t),new Promise(t=>{setTimeout(()=>t(!1),r)})]).catch(()=>!1);return e&&(u0=!0),e}var f0=async()=>{let r=await Ee.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")},nf={...Jt,getCapabilities:Ee.getCapabilities,getChains:Ee.getChains,isInMiniApp:Yv,context:Ee.context,actions:{setPrimaryButton:Ee.setPrimaryButton.bind(Ee),ready:Ee.ready.bind(Ee),close:Ee.close.bind(Ee),viewProfile:Ee.viewProfile.bind(Ee),signIn:async r=>{let e=await Ee.signIn(r);if(e.result)return e.result;throw e.error.type==="rejected_by_user"?new is.RejectedByUser:new Error("Unreachable")},openUrl:r=>{let e=typeof r=="string"?r:r.url;return Ee.openUrl(e.trim())},addFrame:f0,addMiniApp:f0,composeCast(r={}){return Ee.composeCast(r)},viewToken:Ee.viewToken.bind(Ee),sendToken:Ee.sendToken.bind(Ee),swapToken:Ee.swapToken.bind(Ee)},experimental:{getSolanaProvider:c0,quickAuth:async(r={})=>{let e=zh({origin:r.quickAuthServerOrigin}),{nonce:t}=await e.generateNonce(),n=await Ee.signIn({nonce:t,acceptAuthAddress:!0});if(n.result){let s=jh(n.result.message);if(!s.domain)throw new Error("Missing domain on SIWE message");return await e.verifySiwf({domain:s.domain,message:n.result.message,signature:n.result.signature})}throw n.error.type==="rejected_by_user"?new is.RejectedByUser:new Error("Unreachable")}},wallet:{ethProvider:Cs,getEthereumProvider:s0}};typeof document<"u"&&document.addEventListener("FarcasterFrameEvent",r=>{if(r instanceof MessageEvent){let e=r.data;e.event==="primary_button_clicked"?Jt.emit("primaryButtonClicked"):e.event==="frame_added"?Jt.emit("frameAdded",{notificationDetails:e.notificationDetails}):e.event==="frame_add_rejected"?Jt.emit("frameAddRejected",{reason:e.reason}):e.event==="frame_removed"?Jt.emit("frameRemoved"):e.event==="notifications_enabled"?Jt.emit("notificationsEnabled",{notificationDetails:e.notificationDetails}):e.event==="notifications_disabled"&&Jt.emit("notificationsDisabled")}});typeof window<"u"&&window.addEventListener("message",r=>{if(r instanceof MessageEvent&&r.data.type==="frameEvent"){let e=r.data.event;e.event==="primary_button_clicked"?Jt.emit("primaryButtonClicked"):e.event==="frame_added"?Jt.emit("frameAdded",{notificationDetails:e.notificationDetails}):e.event==="frame_add_rejected"?Jt.emit("frameAddRejected",{reason:e.reason}):e.event==="frame_removed"?Jt.emit("frameRemoved"):e.event==="notifications_enabled"?Jt.emit("notificationsEnabled",{notificationDetails:e.notificationDetails}):e.event==="notifications_disabled"&&Jt.emit("notificationsDisabled")}});var Xv=nf;return Va(Jv);})();
16
16
  /*! Bundled license information:
17
17
 
18
18
  ieee754/index.js: