@farcaster/frame-sdk 0.1.2 → 0.1.3
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 +1 -1
- package/dist/index.min.js.map +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
package/dist/index.min.js
CHANGED
|
@@ -12,7 +12,7 @@ Message: ${n}.
|
|
|
12
12
|
`,A=I+T.join(I);console.error(S.error.message,A)}throw new hi({action:"simulate",signature:"",transactionMessage:S.error.message,logs:T})}return S.result}async sendTransaction(e,t,n){if("version"in e){if(t&&Array.isArray(t))throw new Error("Invalid arguments");let o=e.serialize();return await this.sendRawTransaction(o,t)}if(t===void 0||!Array.isArray(t))throw new Error("Invalid arguments");let s=t;if(e.nonceInfo)e.sign(...s);else{let o=this._disableBlockhashCaching;for(;;){let c=await this._blockhashWithExpiryBlockHeight(o);if(e.lastValidBlockHeight=c.lastValidBlockHeight,e.recentBlockhash=c.blockhash,e.sign(...s),!e.signature)throw new Error("!signature");let u=e.signature.toString("base64");if(this._blockhashInfo.transactionSignatures.includes(u))o=!0;else{this._blockhashInfo.transactionSignatures.push(u);break}}}let i=e.serialize();return await this.sendRawTransaction(i,n)}async sendRawTransaction(e,t){let n=we(e).toString("base64");return await this.sendEncodedTransaction(n,t)}async sendEncodedTransaction(e,t){let n={encoding:"base64"},s=t&&t.skipPreflight,i=s===!0?"processed":t&&t.preflightCommitment||this.commitment;t&&t.maxRetries!=null&&(n.maxRetries=t.maxRetries),t&&t.minContextSlot!=null&&(n.minContextSlot=t.minContextSlot),s&&(n.skipPreflight=s),i&&(n.preflightCommitment=i);let o=[e,n],c=await this._rpcRequest("sendTransaction",o),u=W(c,VR);if("error"in u){let p;throw"data"in u.error&&(p=u.error.data.logs),new hi({action:s?"send":"simulate",signature:"",transactionMessage:u.error.message,logs:p})}return u.result}_wsOnOpen(){this._rpcWebSocketConnected=!0,this._rpcWebSocketHeartbeat=setInterval(()=>{(async()=>{try{await this._rpcWebSocket.notify("ping")}catch{}})()},5e3),this._updateSubscriptions()}_wsOnError(e){this._rpcWebSocketConnected=!1,console.error("ws error:",e.message)}_wsOnClose(e){if(this._rpcWebSocketConnected=!1,this._rpcWebSocketGeneration=(this._rpcWebSocketGeneration+1)%Number.MAX_SAFE_INTEGER,this._rpcWebSocketIdleTimeout&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null),this._rpcWebSocketHeartbeat&&(clearInterval(this._rpcWebSocketHeartbeat),this._rpcWebSocketHeartbeat=null),e===1e3){this._updateSubscriptions();return}this._subscriptionCallbacksByServerSubscriptionId={},Object.entries(this._subscriptionsByHash).forEach(([t,n])=>{this._setSubscription(t,{...n,state:"pending"})})}_setSubscription(e,t){let n=this._subscriptionsByHash[e]?.state;if(this._subscriptionsByHash[e]=t,n!==t.state){let s=this._subscriptionStateChangeCallbacksByHash[e];s&&s.forEach(i=>{try{i(t.state)}catch{}})}}_onSubscriptionStateChange(e,t){let n=this._subscriptionHashByClientSubscriptionId[e];if(n==null)return()=>{};let s=this._subscriptionStateChangeCallbacksByHash[n]||=new Set;return s.add(t),()=>{s.delete(t),s.size===0&&delete this._subscriptionStateChangeCallbacksByHash[n]}}async _updateSubscriptions(){if(Object.keys(this._subscriptionsByHash).length===0){this._rpcWebSocketConnected&&(this._rpcWebSocketConnected=!1,this._rpcWebSocketIdleTimeout=setTimeout(()=>{this._rpcWebSocketIdleTimeout=null;try{this._rpcWebSocket.close()}catch(n){n instanceof Error&&console.log(`Error when closing socket connection: ${n.message}`)}},500));return}if(this._rpcWebSocketIdleTimeout!==null&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketConnected=!0),!this._rpcWebSocketConnected){this._rpcWebSocket.connect();return}let e=this._rpcWebSocketGeneration,t=()=>e===this._rpcWebSocketGeneration;await Promise.all(Object.keys(this._subscriptionsByHash).map(async n=>{let s=this._subscriptionsByHash[n];if(s!==void 0)switch(s.state){case"pending":case"unsubscribed":if(s.callbacks.size===0){delete this._subscriptionsByHash[n],s.state==="unsubscribed"&&delete this._subscriptionCallbacksByServerSubscriptionId[s.serverSubscriptionId],await this._updateSubscriptions();return}await(async()=>{let{args:i,method:o}=s;try{this._setSubscription(n,{...s,state:"subscribing"});let c=await this._rpcWebSocket.call(o,i);this._setSubscription(n,{...s,serverSubscriptionId:c,state:"subscribed"}),this._subscriptionCallbacksByServerSubscriptionId[c]=s.callbacks,await this._updateSubscriptions()}catch(c){if(console.error(`Received ${c instanceof Error?"":"JSON-RPC "}error calling \`${o}\``,{args:i,error:c}),!t())return;this._setSubscription(n,{...s,state:"pending"}),await this._updateSubscriptions()}})();break;case"subscribed":s.callbacks.size===0&&await(async()=>{let{serverSubscriptionId:i,unsubscribeMethod:o}=s;if(this._subscriptionsAutoDisposedByRpc.has(i))this._subscriptionsAutoDisposedByRpc.delete(i);else{this._setSubscription(n,{...s,state:"unsubscribing"}),this._setSubscription(n,{...s,state:"unsubscribing"});try{await this._rpcWebSocket.call(o,[i])}catch(c){if(c instanceof Error&&console.error(`${o} error:`,c.message),!t())return;this._setSubscription(n,{...s,state:"subscribed"}),await this._updateSubscriptions();return}}this._setSubscription(n,{...s,state:"unsubscribed"}),await this._updateSubscriptions()})();break}}))}_handleServerNotification(e,t){let n=this._subscriptionCallbacksByServerSubscriptionId[e];n!==void 0&&n.forEach(s=>{try{s(...t)}catch(i){console.error(i)}})}_wsOnAccountNotification(e){let{result:t,subscription:n}=W(e,dR);this._handleServerNotification(n,[t.value,t.context])}_makeSubscription(e,t){let n=this._nextClientSubscriptionId++,s=Rh([e.method,t]),i=this._subscriptionsByHash[s];return i===void 0?this._subscriptionsByHash[s]={...e,args:t,callbacks:new Set([e.callback]),state:"pending"}:i.callbacks.add(e.callback),this._subscriptionHashByClientSubscriptionId[n]=s,this._subscriptionDisposeFunctionsByClientSubscriptionId[n]=async()=>{delete this._subscriptionDisposeFunctionsByClientSubscriptionId[n],delete this._subscriptionHashByClientSubscriptionId[n];let o=this._subscriptionsByHash[s];Ae(o!==void 0,`Could not find a \`Subscription\` when tearing down client subscription #${n}`),o.callbacks.delete(e.callback),await this._updateSubscriptions()},this._updateSubscriptions(),n}onAccountChange(e,t,n){let{commitment:s,config:i}=Le(n),o=this._buildArgs([e.toBase58()],s||this._commitment||"finalized","base64",i);return this._makeSubscription({callback:t,method:"accountSubscribe",unsubscribeMethod:"accountUnsubscribe"},o)}async removeAccountChangeListener(e){await this._unsubscribeClientSubscription(e,"account change")}_wsOnProgramAccountNotification(e){let{result:t,subscription:n}=W(e,pR);this._handleServerNotification(n,[{accountId:t.value.pubkey,accountInfo:t.value.account},t.context])}onProgramAccountChange(e,t,n,s){let{commitment:i,config:o}=Le(n),c=this._buildArgs([e.toBase58()],i||this._commitment||"finalized","base64",o||(s?{filters:Sh(s)}:void 0));return this._makeSubscription({callback:t,method:"programSubscribe",unsubscribeMethod:"programUnsubscribe"},c)}async removeProgramAccountChangeListener(e){await this._unsubscribeClientSubscription(e,"program account change")}onLogs(e,t,n){let s=this._buildArgs([typeof e=="object"?{mentions:[e.toString()]}:e],n||this._commitment||"finalized");return this._makeSubscription({callback:t,method:"logsSubscribe",unsubscribeMethod:"logsUnsubscribe"},s)}async removeOnLogsListener(e){await this._unsubscribeClientSubscription(e,"logs")}_wsOnLogsNotification(e){let{result:t,subscription:n}=W(e,qR);this._handleServerNotification(n,[t.value,t.context])}_wsOnSlotNotification(e){let{result:t,subscription:n}=W(e,gR);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,_R);this._handleServerNotification(n,[t])}onSlotUpdate(e){return this._makeSubscription({callback:e,method:"slotsUpdatesSubscribe",unsubscribeMethod:"slotsUpdatesUnsubscribe"},[])}async removeSlotUpdateListener(e){await this._unsubscribeClientSubscription(e,"slot update")}async _unsubscribeClientSubscription(e,t){let n=this._subscriptionDisposeFunctionsByClientSubscriptionId[e];n?await n():console.warn(`Ignored unsubscribe request because an active subscription with id \`${e}\` for '${t}' events could not be found.`)}_buildArgs(e,t,n,s){let i=t||this._commitment;if(i||n||s){let o={};n&&(o.encoding=n),i&&(o.commitment=i),s&&(o=Object.assign(o,s)),e.push(o)}return e}_buildArgsAtLeastConfirmed(e,t,n,s){let i=t||this._commitment;if(i&&!["confirmed","finalized"].includes(i))throw new Error("Using Connection with default commitment: `"+this._commitment+"`, but method requires at least `confirmed`");return this._buildArgs(e,t,n,s)}_wsOnSignatureNotification(e){let{result:t,subscription:n}=W(e,bR);t.value!=="receivedSignature"&&this._subscriptionsAutoDisposedByRpc.add(n),this._handleServerNotification(n,t.value==="receivedSignature"?[{type:"received"},t.context]:[{type:"status",result:t.value},t.context])}onSignature(e,t,n){let s=this._buildArgs([e],n||this._commitment||"finalized"),i=this._makeSubscription({callback:(o,c)=>{if(o.type==="status"){t(o.result,c);try{this.removeSignatureListener(i)}catch{}}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},s);return i}onSignatureWithOptions(e,t,n){let{commitment:s,...i}={...n,commitment:n&&n.commitment||this._commitment||"finalized"},o=this._buildArgs([e],s,void 0,i),c=this._makeSubscription({callback:(u,p)=>{t(u,p);try{this.removeSignatureListener(c)}catch{}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},o);return c}async removeSignatureListener(e){await this._unsubscribeClientSubscription(e,"signature result")}_wsOnRootNotification(e){let{result:t,subscription:n}=W(e,wR);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 s=e.slice(0,32),i=xu(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=xu(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)}},fi=Object.freeze({CreateLookupTable:{index:0,layout:R.struct([R.u32("instruction"),ks("recentSlot"),R.u8("bumpSeed")])},FreezeLookupTable:{index:1,layout:R.struct([R.u32("instruction")])},ExtendLookupTable:{index:2,layout:R.struct([R.u32("instruction"),ks(),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),s=fi.CreateLookupTable,i=Ee(s,{recentSlot:BigInt(e.recentSlot),bumpSeed:n}),o=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1},{pubkey:e.payer,isSigner:!0,isWritable:!0},{pubkey:Ft.programId,isSigner:!1,isWritable:!1}];return[new Te({programId:this.programId,keys:o,data:i}),t]}static freezeLookupTable(e){let t=fi.FreezeLookupTable,n=Ee(t),s=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1}];return new Te({programId:this.programId,keys:s,data:n})}static extendLookupTable(e){let t=fi.ExtendLookupTable,n=Ee(t,{addresses:e.addresses.map(i=>i.toBytes())}),s=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1}];return e.payer&&s.push({pubkey:e.payer,isSigner:!0,isWritable:!0},{pubkey:Ft.programId,isSigner:!1,isWritable:!1}),new Te({programId:this.programId,keys:s,data:n})}static deactivateLookupTable(e){let t=fi.DeactivateLookupTable,n=Ee(t),s=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1}];return new Te({programId:this.programId,keys:s,data:n})}static closeLookupTable(e){let t=fi.CloseLookupTable,n=Ee(t),s=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1},{pubkey:e.recipient,isSigner:!1,isWritable:!0}];return new Te({programId:this.programId,keys:s,data:n})}};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"),ks("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:s,instructionIndex:i}=e;Ae(t.length===Oh,`Public Key must be ${Oh} bytes but received ${t.length} bytes`),Ae(s.length===Th,`Signature must be ${Th} bytes but received ${s.length} bytes`);let o=Nh.span,c=o+t.length,u=c+s.length,p=1,m=ae.Buffer.alloc(u+n.length),b=i??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(s,c),m.fill(n,u),new Te({keys:[],programId:r.programId,data:m})}static createInstructionWithPrivateKey(e){let{privateKey:t,message:n,instructionIndex:s}=e;Ae(t.length===kh,`Private key must be ${kh} bytes but received ${t.length} bytes`);try{let i=Cu.fromSecretKey(t),o=i.publicKey.toBytes(),c=zu(n,i.secretKey);return this.createInstructionWithPublicKey({publicKey:o,message:n,signature:c,instructionIndex:s})}catch(i){throw new Error(`Error creating instruction; ${i}`)}}};Uu.programId=new ce("Ed25519SigVerify111111111111111111111111111");var KR=(r,e)=>{let t=ci.sign(r,e);return[t.toCompactRawBytes(),t.recovery]};ci.utils.isValidPrivateKey;var HR=ci.getPublicKey,Lh=32,Ru=20,Bh=64,GR=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){Ae(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: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===Ru,`Address must be ${Ru} bytes but received ${c.length} bytes`);let u=1+GR,p=u,m=u+c.length,b=m+s.length+1,x=1,S=ae.Buffer.alloc(vu.span+n.length);return vu.encode({numSignatures:x,signatureOffset:m,signatureInstructionIndex:o,ethAddressOffset:p,ethAddressInstructionIndex:o,messageDataOffset:b,messageDataSize:n.length,messageInstructionIndex:o,signature:we(s),ethAddress:we(c),recoveryId:i},S),S.fill(we(n),vu.span),new Te({keys:[],programId:r.programId,data:S})}static createInstructionWithPrivateKey(e){let{privateKey:t,message:n,instructionIndex:s}=e;Ae(t.length===Lh,`Private key must be ${Lh} bytes but received ${t.length} bytes`);try{let i=we(t),o=HR(i,!1).slice(1),c=ae.Buffer.from(lu(we(n))),[u,p]=KR(c,i);return this.createInstructionWithPublicKey({publicKey:o,message:n,signature:u,recoveryId:p,instructionIndex:s})}catch(i){throw new Error(`Error creating instruction; ${i}`)}}};Du.programId=new ce("KeccakSecp256k11111111111111111111111111111");var Jh,ZR=new ce("StakeConfig11111111111111111111111111111111");var mi=class{constructor(e,t,n){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=e,this.epoch=t,this.custodian=n}};Jh=mi;mi.default=new Jh(0,0,ce.default);var hn=Object.freeze({Initialize:{index:0,layout:R.struct([R.u32("instruction"),fE(),lE()])},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"),As("authoritySeed"),be("authorityOwner")])}}),bI=Object.freeze({Staker:{index:0},Withdrawer:{index:1}}),ea=class{constructor(){}static initialize(e){let{stakePubkey:t,authorized:n,lockup:s}=e,i=s||mi.default,o=hn.Initialize,c=Ee(o,{authorized:{staker:we(n.staker.toBuffer()),withdrawer:we(n.withdrawer.toBuffer())},lockup:{unixTimestamp:i.unixTimestamp,epoch:i.epoch,custodian:we(i.custodian.toBuffer())}}),u={keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:di,isSigner:!1,isWritable:!1}],programId:this.programId,data:c};return new Te(u)}static createAccountWithSeed(e){let t=new Se;t.add(Ft.createAccountWithSeed({fromPubkey:e.fromPubkey,newAccountPubkey:e.stakePubkey,basePubkey:e.basePubkey,seed:e.seed,lamports:e.lamports,space:this.space,programId:this.programId}));let{stakePubkey:n,authorized:s,lockup:i}=e;return t.add(this.initialize({stakePubkey:n,authorized:s,lockup:i}))}static createAccount(e){let t=new Se;t.add(Ft.createAccount({fromPubkey:e.fromPubkey,newAccountPubkey:e.stakePubkey,lamports:e.lamports,space:this.space,programId:this.programId}));let{stakePubkey:n,authorized:s,lockup:i}=e;return t.add(this.initialize({stakePubkey:n,authorized:s,lockup:i}))}static delegate(e){let{stakePubkey:t,authorizedPubkey:n,votePubkey:s}=e,i=hn.Delegate,o=Ee(i);return new Se().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:Dr,isSigner:!1,isWritable:!1},{pubkey:yu,isSigner:!1,isWritable:!1},{pubkey:ZR,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static authorize(e){let{stakePubkey:t,authorizedPubkey:n,newAuthorizedPubkey:s,stakeAuthorizationType:i,custodianPubkey:o}=e,c=hn.Authorize,u=Ee(c,{newAuthorized:we(s.toBuffer()),stakeAuthorizationType:i.index}),p=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey: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:s,authorityOwner:i,newAuthorizedPubkey:o,stakeAuthorizationType:c,custodianPubkey:u}=e,p=hn.AuthorizeWithSeed,m=Ee(p,{newAuthorized:we(o.toBuffer()),stakeAuthorizationType:c.index,authoritySeed:s,authorityOwner:we(i.toBuffer())}),b=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1},{pubkey: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:s,lamports:i}=e,o=hn.Split,c=Ee(o,{lamports:i});return new Te({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:c})}static split(e,t){let n=new Se;return n.add(Ft.createAccount({fromPubkey:e.authorizedPubkey,newAccountPubkey:e.splitStakePubkey,lamports:t,space:this.space,programId:this.programId})),n.add(this.splitInstruction(e))}static splitWithSeed(e,t){let{stakePubkey:n,authorizedPubkey:s,splitStakePubkey:i,basePubkey:o,seed:c,lamports:u}=e,p=new Se;return p.add(Ft.allocate({accountPubkey:i,basePubkey:o,seed:c,space:this.space,programId:this.programId})),t&&t>0&&p.add(Ft.transfer({fromPubkey:e.authorizedPubkey,toPubkey:i,lamports:t})),p.add(this.splitInstruction({stakePubkey:n,authorizedPubkey:s,splitStakePubkey:i,lamports:u}))}static merge(e){let{stakePubkey:t,sourceStakePubKey:n,authorizedPubkey:s}=e,i=hn.Merge,o=Ee(i);return new Se().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:Dr,isSigner:!1,isWritable:!1},{pubkey:yu,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static withdraw(e){let{stakePubkey:t,authorizedPubkey:n,toPubkey:s,lamports:i,custodianPubkey:o}=e,c=hn.Withdraw,u=Ee(c,{lamports:i}),p=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey: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,s=hn.Deactivate,i=Ee(s);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:i})}};ea.programId=new ce("Stake11111111111111111111111111111111111111");ea.space=200;var li=Object.freeze({InitializeAccount:{index:0,layout:R.struct([R.u32("instruction"),dE()])},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"),hE()])}}),wI=Object.freeze({Voter:{index:0},Withdrawer:{index:1}}),ta=class r{constructor(){}static initializeAccount(e){let{votePubkey:t,nodePubkey:n,voteInit:s}=e,i=li.InitializeAccount,o=Ee(i,{voteInit:{nodePubkey:we(s.nodePubkey.toBuffer()),authorizedVoter:we(s.authorizedVoter.toBuffer()),authorizedWithdrawer:we(s.authorizedWithdrawer.toBuffer()),commission:s.commission}}),c={keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:di,isSigner:!1,isWritable:!1},{pubkey: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:s,voteAuthorizationType:i}=e,o=li.Authorize,c=Ee(o,{newAuthorized:we(s.toBuffer()),voteAuthorizationType:i.index}),u=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey: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:s,newAuthorizedPubkey:i,voteAuthorizationType:o,votePubkey:c}=e,u=li.AuthorizeWithSeed,p=Ee(u,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:we(n.toBuffer()),currentAuthorityDerivedKeySeed:s,newAuthorized:we(i.toBuffer()),voteAuthorizationType:o.index}}),m=[{pubkey:c,isSigner:!1,isWritable:!0},{pubkey: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:s,toPubkey:i}=e,o=li.Withdraw,c=Ee(o,{lamports:s}),u=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1}];return new Se().add({keys:u,programId:this.programId,data:c})}static safeWithdraw(e,t,n){if(e.lamports>t-n)throw new Error("Withdraw will leave vote account with insufficient funds.");return r.withdraw(e)}static updateValidatorIdentity(e){let{votePubkey:t,authorizedWithdrawerPubkey:n,nodePubkey:s}=e,i=li.UpdateValidatorIdentity,o=Ee(i),c=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}];return new Se().add({keys:c,programId:this.programId,data:o})}};ta.programId=new ce("Vote111111111111111111111111111111111111111");ta.space=3762;var EI=new ce("Va1idator1nfo111111111111111111111111111111"),RI=P({name:z(),website:ne(z()),details:ne(z()),iconUrl:ne(z()),keybaseUsername:ne(z())});var vI=new ce("Vote111111111111111111111111111111111111111"),SI=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 YR(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:Ku(n),options:s};return await r({method:"signAndSendTransaction",params:i})}if(t.method==="signTransaction"){let{transaction:n}=t.params,s={transaction:Ku(n)},{signedTransaction:i}=await r({method:"signTransaction",params:s});return{signedTransaction:ju(i)}}}}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,s={transaction:ju(n)};return await r({method:"signAndSendTransaction",params:s})}if(t.method==="signTransaction"){let{transaction:n}=t.params,s={transaction:ju(n)},{signedTransaction:i}=await r({method:"signTransaction",params:s});return{signedTransaction:Ku(i)}}}}var Xh=({miniAppHost:r,emitter:e})=>{let t,n=null;return{visible:!1,get onback(){return n},set onback(s){n&&e.removeListener("backNavigationTriggered",n),n=s,s&&e.addListener("backNavigationTriggered",s)},async show(){await r.updateBackState({visible:!0}),this.visible=!0},async hide(){await r.updateBackState({visible:!1}),this.visible=!1},async enableWebNavigation(){t=JR({back:this,emitter:e})},async disableWebNavigation(){t?.(),t=void 0}}};function JR({emitter:r,back:e}){let t=XR();if(t)return QR({emitter:r,back:e,navigation:t});if(typeof window<"u")return ev({emitter:r,back:e,window})}function XR(){if(typeof window<"u"&&window.navigation!==void 0)return window.navigation}function QR({emitter:r,back:e,navigation:t}){function n(){t.canGoBack?e.show():e.hide()}function s(){e.visible&&t.canGoBack&&t.back()}return t.addEventListener("navigatesuccess",n),r.addListener("backNavigationTriggered",s),()=>{t.removeEventListener("navigatesuccess",n),r.removeListener("backNavigationTriggered",s)}}function ev({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 ia=class r extends Error{constructor(e,t={}){let n=(()=>{if(t.cause instanceof r){if(t.cause.details)return t.cause.details;if(t.cause.shortMessage)return t.cause.shortMessage}return t.cause?.message?t.cause.message:t.details})(),s=t.cause instanceof r&&t.cause.docsPath||t.docsPath,o=`https://oxlib.sh${s??""}`,c=[e||"An error occurred.",...t.metaMessages?["",...t.metaMessages]:[],...n||s?["",n?`Details: ${n}`:void 0,s?`See: ${o}`:void 0]:[]].filter(u=>typeof u=="string").join(`
|
|
13
13
|
`);super(c,t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${ep()}`}),this.cause=t.cause,this.details=n,this.docs=o,this.docsPath=s,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:s}=n.error,i=s===Qn.code?Qn:s===gi.code?gi:s===xi.code?xi:s===vi.code?vi:s===Ei.code?Ei:s===Si.code?Si:s===wi.code?wi:s===Ai.code?Ai:s===yi.code?yi:s===_i.code?_i:s===bi.code?bi:s===Ri.code?Ri:At;throw new i(n.error)}return n.result}var At=class extends Error{constructor(e){let{code:t,message:n,data:s}=e;super(n),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.BaseError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t,this.data=s}},gi=class r extends At{constructor(e={}){super({message:"Missing or invalid parameters.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.InvalidInputError"})}};Object.defineProperty(gi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var yi=class r extends At{constructor(e={}){super({message:"Requested resource not found.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.ResourceNotFoundError"})}};Object.defineProperty(yi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var _i=class r extends At{constructor(e={}){super({message:"Requested resource not available.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.ResourceUnavailableError"})}};Object.defineProperty(_i,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var bi=class r extends At{constructor(e={}){super({message:"Transaction creation failed.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.TransactionRejectedError"})}};Object.defineProperty(bi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var wi=class r extends At{constructor(e={}){super({message:"Method is not implemented.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.MethodNotSupportedError"})}};Object.defineProperty(wi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var Ei=class r extends At{constructor(e={}){super({message:"Rate limit exceeded.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.LimitExceededError"})}};Object.defineProperty(Ei,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var Ri=class r extends At{constructor(e={}){super({message:"JSON-RPC version not supported.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.VersionNotSupportedError"})}};Object.defineProperty(Ri,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var vi=class r extends At{constructor(e={}){super({message:"Input is not a valid JSON-RPC request.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.InvalidRequestError"})}};Object.defineProperty(vi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Si=class r extends At{constructor(e={}){super({message:"Method does not exist.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.MethodNotFoundError"})}};Object.defineProperty(Si,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var xi=class r extends At{constructor(e={}){super({message:"Invalid method parameters.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.InvalidParamsError"})}};Object.defineProperty(xi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var Qn=class r extends At{constructor(e={}){super({message:"Internal JSON-RPC error.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.InternalErrorError"})}};Object.defineProperty(Qn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var Ai=class r extends At{constructor(e={}){super({message:"Failed to parse JSON-RPC response.",...e,code:r.code}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcResponse.ParseError"})}};Object.defineProperty(Ai,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});var 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}},Ii=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(Ii,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});var ki=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(ki,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});var Oi=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(Oi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});var Ti=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(Ti,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});var Ni=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(Ni,"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 sp(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 s=await r.request(n);return s&&typeof s=="object"&&"jsonrpc"in s?oa(s):s}}}var Gu=class extends ia{constructor(){super("`provider` is undefined."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Provider.IsUndefinedError"})}};function ip(r={}){let e=r.id??0;return{prepare(t){return nv({id:e++,...t})},get id(){return e}}}function nv(r){return{...r,jsonrpc:"2.0"}}var ap=Symbol("Comlink.proxy"),iv=Symbol("Comlink.endpoint"),ov=Symbol("Comlink.releaseProxy"),Zu=Symbol("Comlink.finalizer"),ca=Symbol("Comlink.thrown"),cp=r=>typeof r=="object"&&r!==null||typeof r=="function",av={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)}},cv={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",av],["throw",cv]]);function uv(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(s){if(!s||!s.data)return;if(!uv(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(es),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]]=es(s.data.value),p=!0;break;case"APPLY":p=b.apply(m,u);break;case"CONSTRUCT":{let x=new b(...u);p=mv(x)}break;case"ENDPOINT":{let{port1:x,port2:S}=new MessageChannel;fp(r,S),p=pv(x,[x])}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,x]=la(m);e.postMessage(Object.assign(Object.assign({},b),{id:i}),x),o==="RELEASE"&&(e.removeEventListener("message",n),lp(e),Zu in r&&typeof r[Zu]=="function"&&r[Zu]())}).catch(m=>{let[b,x]=la({value:new TypeError("Unserializable return value"),[ca]:0});e.postMessage(Object.assign(Object.assign({},b),{id:i}),x)})}),e.start&&e.start()}function fv(r){return r.constructor.name==="MessagePort"}function lp(r){fv(r)&&r.close()}function Ju(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)}}),Yu(r,t,[],e)}function aa(r){if(r)throw new Error("Proxy has been released and is not useable")}function dp(r){return Ns(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 lv(r,e){let t=(ua.get(e)||0)+1;ua.set(e,t),fa&&fa.register(r,e,r)}function dv(r){fa&&fa.unregister(r)}function Yu(r,e,t=[],n=function(){}){let s=!1,i=new Proxy(n,{get(o,c){if(aa(s),c===ov)return()=>{dv(i),dp(r),e.clear(),s=!0};if(c==="then"){if(t.length===0)return{then:()=>i};let u=Ns(r,e,{type:"GET",path:t.map(p=>p.toString())}).then(es);return u.then.bind(u)}return Yu(r,e,[...t,c])},set(o,c,u){aa(s);let[p,m]=la(u);return Ns(r,e,{type:"SET",path:[...t,c].map(b=>b.toString()),value:p},m).then(es)},apply(o,c,u){aa(s);let p=t[t.length-1];if(p===iv)return Ns(r,e,{type:"ENDPOINT"}).then(es);if(p==="bind")return Yu(r,e,t.slice(0,-1));let[m,b]=op(u);return Ns(r,e,{type:"APPLY",path:t.map(x=>x.toString()),argumentList:m},b).then(es)},construct(o,c){aa(s);let[u,p]=op(c);return Ns(r,e,{type:"CONSTRUCT",path:t.map(m=>m.toString()),argumentList:u},p).then(es)}});return lv(i,r),i}function hv(r){return Array.prototype.concat.apply([],r)}function op(r){let e=r.map(la);return[e.map(t=>t[0]),hv(e.map(t=>t[1]))]}var hp=new WeakMap;function pv(r,e){return hp.set(r,e),r}function mv(r){return Object.assign(r,{[ap]:!0})}function pp(r,e=globalThis,t="*"){return{postMessage:(n,s)=>r.postMessage(n,t,s),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,s]=t.serialize(r);return[{type:"HANDLER",name:e,value:n},s]}return[{type:"RAW",value:r},hp.get(r)||[]]}function es(r){switch(r.type){case"HANDLER":return up.get(r.name).deserialize(r.value);case"RAW":return r.value}}function Ns(r,e,t,n){return new Promise(s=>{let i=gv();e.set(i,s),r.start&&r.start(),r.postMessage(Object.assign({id:i},t),n)})}function gv(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}var yv={postMessage(){},addEventListener:()=>{},removeEventListener:()=>{}},_v={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"?yv:window?.ReactNativeWebView?_v:pp(window?.parent??window);var ue=Ju(mp);var Xu=np(),bv=ip();function wv({code:r,details:e}){switch(r){case 4001:return new Ii;case 4100:return new ki;case 4200:return new Oi;case 4900:return new Ti;case 4901:return new Ni;default:return new Rr(r,e??"Unknown provider RPC error")}}var Ls=sp({...Xu,async request(r){let e=bv.prepare(r);try{let t=await ue.ethProviderRequestV2(e).then(n=>oa(n,{request:e,raw:!0}));if(t.error)throw wv(t.error);return t.result}catch(t){if(t instanceof Error&&t.message.match(/cannot read property 'apply'/i))return await ue.ethProviderRequest(e);throw t instanceof Rr||t instanceof At?t:new Qn({message:t instanceof Error?t.message:void 0})}}});async function gp(){try{let r=await ue.getCapabilities();return!r.includes("wallet.getEthereumProvider")&&!r.includes("wallet.getEvmProvider")?void 0:Ls}catch{return Ls}}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",()=>{ue.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:Ls})}}));typeof window<"u"&&(window.addEventListener("eip6963:requestProvider",()=>{ue.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:Ls})}}));var pf={};ir(pf,{quickAuth:()=>Cs});var Ev=new TextEncoder,da=new TextDecoder,XI=2**32;var Rv=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 Rv(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}};var bp=_p;function Sv(r){return typeof r=="object"&&r!==null}function Qu(r){if(!Sv(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",s="unspecified"){super(e,{cause:{claim:n,reason:s,payload:t}}),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=n,this.reason=s,this.payload=t}};ef.code="ERR_JWT_CLAIM_VALIDATION_FAILED";var tf=class extends It{constructor(e,t,n="unspecified",s="unspecified"){super(e,{cause:{claim:n,reason:s,payload:t}}),this.code="ERR_JWT_EXPIRED",this.claim=n,this.reason=s,this.payload=t}};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 s;try{s=JSON.parse(da.decode(n))}catch{throw new dr("Failed to parse the decoded payload as JSON")}if(!Qu(s))throw new dr("Invalid JWT Claims Set");return s}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})(),s=[e||"An error occurred.",...t.metaMessages?["",...t.metaMessages]:[],...n?["",n?`Details: ${n}`:void 0]:[]].filter(i=>typeof i=="string").join(`
|
|
14
14
|
`);super(s,t.cause?{cause:t.cause}:void 0),this.name="BaseError",this.cause=t.cause,this.details=n,this.shortMessage=e}},Bs=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 Bs({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 Bs({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 xp(r={}){let e=Sp(r);return{generateNonce:()=>Rp(e),verifySiwf:t=>vp(e,t)}}var xv=/^(?:(?<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 Ap(r){let{scheme:e,statement:t,...n}=r.match(xv)?.groups??{},{chainId:s,expirationTime:i,issuedAt:o,notBefore:c,requestId:u,...p}=r.match(Av)?.groups??{},m=r.split("Resources:")[1]?.split(`
|
|
15
|
-
- `).slice(1);return{...n,...p,...s?{chainId:Number(s)}:{},...i?{expirationTime:new Date(i)}:{},...o?{issuedAt:new Date(o)}:{},...c?{notBefore:new Date(c)}:{},...u?{requestId:u}:{},...m?{resources:m}:{},...e?{scheme:e}:{},...t?{statement:t}:{}}}var Cs=(()=>{let r,e;async function t(n){let s=xp({origin:n.quickAuthServerOrigin}),{nonce:i}=await s.generateNonce(),o=await ue.signIn({nonce:i,acceptAuthAddress:!0});if(o.result){let c=Ap(o.result.message);if(!c.domain)throw new Error("Missing domain on SIWE message");let u=await s.verifySiwf({domain:c.domain,message:o.result.message,signature:o.result.signature});return r={token:u.token,payload: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 s=n.force??!1;return r&&!s&&new Date(r.payload.exp*1e3)>new Date(Date.now()+15e3)?{token:r.token}:(e||(e=t(n)),e.finally(()=>{e=void 0}),e)},async fetch(n,s){let{token:i}=await this.getToken(),o=new Headers(s?.headers);return o.set("Authorization",`Bearer ${i}`),fetch(n,{...s,headers:o})}}})();function kv(){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=kv();var{solanaProviderRequest:Ip}=ue,kp;Ip&&(kp=qu(Hu(Ip)));async function mf(){let r;try{r=await ue.getCapabilities()}catch{}if(r?.includes("wallet.getSolanaProvider"))return kp}var Op=null;async function Ov(r=50){if(Op===!0)return!0;if(typeof window>"u"||!window.ReactNativeWebView&&window===window.parent)return!1;let e=await Promise.race([ue.context.then(t=>!!t),new Promise(t=>{setTimeout(()=>t(!1),r)})]).catch(()=>!1);return e&&(Op=!0),e}var Tp=async()=>{let r=await ue.
|
|
15
|
+
- `).slice(1);return{...n,...p,...s?{chainId:Number(s)}:{},...i?{expirationTime:new Date(i)}:{},...o?{issuedAt:new Date(o)}:{},...c?{notBefore:new Date(c)}:{},...u?{requestId:u}:{},...m?{resources:m}:{},...e?{scheme:e}:{},...t?{statement:t}:{}}}var Cs=(()=>{let r,e;async function t(n){let s=xp({origin:n.quickAuthServerOrigin}),{nonce:i}=await s.generateNonce(),o=await ue.signIn({nonce:i,acceptAuthAddress:!0});if(o.result){let c=Ap(o.result.message);if(!c.domain)throw new Error("Missing domain on SIWE message");let u=await s.verifySiwf({domain:c.domain,message:o.result.message,signature:o.result.signature});return r={token:u.token,payload: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 s=n.force??!1;return r&&!s&&new Date(r.payload.exp*1e3)>new Date(Date.now()+15e3)?{token:r.token}:(e||(e=t(n)),e.finally(()=>{e=void 0}),e)},async fetch(n,s){let{token:i}=await this.getToken(),o=new Headers(s?.headers);return o.set("Authorization",`Bearer ${i}`),fetch(n,{...s,headers:o})}}})();function kv(){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=kv();var{solanaProviderRequest:Ip}=ue,kp;Ip&&(kp=qu(Hu(Ip)));async function mf(){let r;try{r=await ue.getCapabilities()}catch{}if(r?.includes("wallet.getSolanaProvider"))return kp}var Op=null;async function Ov(r=50){if(Op===!0)return!0;if(typeof window>"u"||!window.ReactNativeWebView&&window===window.parent)return!1;let e=await Promise.race([ue.context.then(t=>!!t),new Promise(t=>{setTimeout(()=>t(!1),r)})]).catch(()=>!1);return e&&(Op=!0),e}var Tp=async()=>{let r=await ue.addFrame();if(r.result)return r.result;throw r.error.type==="invalid_domain_manifest"?new rs.InvalidDomainManifest:r.error.type==="rejected_by_user"?new rs.RejectedByUser:new Error("Unreachable")},gf={...kt,getCapabilities:ue.getCapabilities,getChains:ue.getChains,isInMiniApp:Ov,context:ue.context,back:Xh({miniAppHost:ue,emitter:kt}),quickAuth:Cs,actions:{setPrimaryButton:ue.setPrimaryButton.bind(ue),ready:async(r={})=>await ue.ready(r),close:ue.close.bind(ue),viewCast:ue.viewCast.bind(ue),viewProfile:ue.viewProfile.bind(ue),signIn:async r=>{let e=await ue.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 ue.openUrl(e.trim())},addFrame:Tp,addMiniApp:Tp,composeCast(r={}){return ue.composeCast(r)},viewToken:ue.viewToken.bind(ue),sendToken:ue.sendToken.bind(ue),swapToken:ue.swapToken.bind(ue)},experimental:{getSolanaProvider:mf,quickAuth(r){return Cs.getToken(r)}},wallet:{ethProvider:Ls,getEthereumProvider:gp,getSolanaProvider:mf},haptics:{impactOccurred:ue.impactOccurred.bind(ue),notificationOccurred:ue.notificationOccurred.bind(ue),selectionChanged:ue.selectionChanged.bind(ue)}};typeof document<"u"&&document.addEventListener("FarcasterFrameEvent",r=>{if(r instanceof MessageEvent){let e=r.data;e.event==="primary_button_clicked"?kt.emit("primaryButtonClicked"):e.event==="miniapp_added"?kt.emit("miniAppAdded",{notificationDetails:e.notificationDetails}):e.event==="miniapp_add_rejected"?kt.emit("miniAppAddRejected",{reason:e.reason}):e.event==="miniapp_removed"?kt.emit("miniAppRemoved"):e.event==="notifications_enabled"?kt.emit("notificationsEnabled",{notificationDetails:e.notificationDetails}):e.event==="notifications_disabled"?kt.emit("notificationsDisabled"):e.event==="back_navigation_triggered"&&kt.emit("backNavigationTriggered")}});typeof window<"u"&&window.addEventListener("message",r=>{if(r instanceof MessageEvent&&r.data.type==="frameEvent"){let e=r.data.event;e.event==="primary_button_clicked"?kt.emit("primaryButtonClicked"):e.event==="miniapp_added"?kt.emit("miniAppAdded",{notificationDetails:e.notificationDetails}):e.event==="miniapp_add_rejected"?kt.emit("miniAppAddRejected",{reason:e.reason}):e.event==="miniapp_removed"?kt.emit("miniAppRemoved"):e.event==="notifications_enabled"?kt.emit("notificationsEnabled",{notificationDetails:e.notificationDetails}):e.event==="notifications_disabled"?kt.emit("notificationsDisabled"):e.event==="back_navigation_triggered"&&kt.emit("backNavigationTriggered")}});typeof console<"u"&&console.warn&&console.warn("@farcaster/frame-sdk is deprecated. Please use @farcaster/miniapp-sdk instead.");var Lp=gf,Np=!1,Tv=new Proxy(ue,{get(r,e,t){return!Np&&typeof console<"u"&&console.warn&&(Np=!0,console.warn("frameHost is deprecated. Please use miniAppHost instead.")),Reflect.get(r,e,t)}}),Nv=Lp;return Ca(Lv);})();
|
|
16
16
|
/*! Bundled license information:
|
|
17
17
|
|
|
18
18
|
ieee754/index.js:
|