@revibase/lite 0.0.16 → 0.0.17

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.cjs CHANGED
@@ -5,5 +5,5 @@ Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function bef
5
5
  For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[Ur]:"No signature verification implementation could be found.",[br]:"No key generation implementation could be found.",[Pr]:"No signing implementation could be found.",[Br]:"No key export implementation could be found.",[Xn]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[mo]:"Transaction processing left an account with an outstanding borrowed reference",[uo]:"Account in use",[Io]:"Account loaded twice",[_o]:"Attempt to debit an account but found no record of a prior credit.",[bo]:"Transaction loads an address table account that doesn't exist",[Ro]:"This transaction has already been processed",[To]:"Blockhash not found",[go]:"Loader call chain is too deep",[Oo]:"Transactions are currently disabled due to cluster maintenance",[ko]:"Transaction contains a duplicate instruction ($index) that is not allowed",[lo]:"Insufficient funds for fee",[xo]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[Eo]:"This account may not be used to pay transaction fees",[So]:"Transaction contains an invalid account reference",[Bo]:"Transaction loads an address table account with invalid data",[Fo]:"Transaction address table lookup uses an invalid index",[Po]:"Transaction loads an address table account with an invalid owner",[Go]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[No]:"This program may not be used for executing instructions",[vo]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[Mo]:"Transaction loads a writable account that cannot be written",[Wo]:"Transaction exceeded max loaded accounts data size cap",[Do]:"Transaction requires a fee but has no signature present",[Ao]:"Attempt to load a program that does not exist",[Ho]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[Vo]:"ResanitizationNeeded",[Co]:"Transaction failed to sanitize accounts offsets correctly",[fo]:"Transaction did not pass signature verification",[Uo]:"Transaction locked too many accounts",[Ko]:"Sum of account balances before and after transaction do not match",[co]:"The transaction failed with the error `$errorName`",[ho]:"Transaction version is unsupported",[Lo]:"Transaction would exceed account data limit within the block",[zo]:"Transaction would exceed total account data limit",[yo]:"Transaction would exceed max account limit within the block",[po]:"Transaction would exceed max Block Cost Limit",[wo]:"Transaction would exceed max Vote Cost Limit",[ct]:"Attempted to sign a transaction with an address that is not a signer for it",[io]:"Transaction is missing an address at index: $index.",[Ie]:"Transaction has no expected signers therefore it cannot be encoded",[_t]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[ce]:"Transaction does not have a blockhash lifetime",[de]:"Transaction is not a durable nonce transaction",[nt]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[rt]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[ot]:"No fee payer set in CompiledTransaction",[it]:"Could not find program address at index $index",[ut]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[It]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[oo]:"Transaction is missing a fee payer.",[st]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[so]:"Transaction first instruction is not advance nonce account instruction.",[ao]:"Transaction with no instructions cannot be durable nonce transaction.",[se]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[K]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[dt]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[at]:"Transaction is missing signatures for addresses: $addresses.",[ue]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[_e]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[At]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."},m="i",C="t";function Ra(e,t={}){let n=Ea[e];if(n.length===0)return "";let r;function i(o){if(r[C]===2){let s=n.slice(r[m]+1,o);a.push(s in t?`${t[s]}`:`$${s}`);}else r[C]===1&&a.push(n.slice(r[m],o));}let a=[];return n.split("").forEach((o,s)=>{if(s===0){r={[m]:0,[C]:n[0]==="\\"?0:n[0]==="$"?2:1};return}let c;switch(r[C]){case 0:c={[m]:s,[C]:1};break;case 1:o==="\\"?c={[m]:s,[C]:0}:o==="$"&&(c={[m]:s,[C]:2});break;case 2:o==="\\"?c={[m]:s,[C]:0}:o==="$"?c={[m]:s,[C]:2}:o.match(/\w/)||(c={[m]:s,[C]:1});break}c&&(r!==c&&i(s),r=c);}),i(),a.join("")}function Ta(e,t={}){if(process.env.NODE_ENV!=="production")return Ra(e,t);{let n=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(n+=` '${la(t)}'`),`${n}\``}}var A=class extends Error{cause=this.cause;context;constructor(...[e,t]){let n,r;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([a,o])=>{a==="cause"?r={cause:o.value}:(n===void 0&&(n={}),Object.defineProperty(n,a,o));});let i=Ta(e,n);super(i,r),this.context=n===void 0?{}:n,this.context.__code=e,this.name="SolanaError";}};function ga(e,t){if(e.length>=t)return e;let n=new Uint8Array(t).fill(0);return n.set(e),n}var Da=(e,t)=>ga(e.length<=t?e:e.slice(0,t),t);function y(e,t){return "fixedSize"in t?t.fixedSize:t.getSizeFromValue(e)}function l(e){return Object.freeze({...e,encode:t=>{let n=new Uint8Array(y(t,e));return e.write(t,n,0),n}})}function L(e){return Object.freeze({...e,decode:(t,n=0)=>e.read(t,n)[0]})}function D(e){return "fixedSize"in e&&typeof e.fixedSize=="number"}function Sa(e){return !D(e)}function bt(e,t,n=0){if(t.length-n<=0)throw new A(Ae,{codecDescription:e})}function $(e,t,n,r=0){let i=n.length-r;if(i<t)throw new A(le,{bytesLength:i,codecDescription:e,expected:t})}function Pt(e,t){let n=(o,s,c)=>{let d=e.encode(o);return c=t.write(d.length,s,c),s.set(d,c),c+d.length};if(D(t)&&D(e))return l({...e,fixedSize:t.fixedSize+e.fixedSize,write:n});let r=D(t)?t.fixedSize:t.maxSize??null,i=D(e)?e.fixedSize:e.maxSize??null,a=r!==null&&i!==null?r+i:null;return l({...e,...a!==null?{maxSize:a}:{},getSizeFromValue:o=>{let s=y(o,e);return y(s,t)+s},write:n})}function v(e,t){return l({fixedSize:t,write:(n,r,i)=>{let a=e.encode(n),o=a.length>t?a.slice(0,t):a;return r.set(o,i),i+t}})}function V(e,t){return L({fixedSize:t,read:(n,r)=>{$("fixCodecSize",t,n,r),(r>0||n.length>t)&&(n=n.slice(r,r+t)),D(e)&&(n=Da(n,e.fixedSize));let[i]=e.read(n,0);return [i,r+t]}})}function S(e,t){return l({...Sa(e)?{...e,getSizeFromValue:n=>e.getSizeFromValue(t(n))}:e,write:(n,r,i)=>e.write(t(n),r,i)})}function fa(e,t,n=t){if(!t.match(new RegExp(`^[${e}]*$`)))throw new A(G,{alphabet:e,base:e.length,value:n})}var Na=e=>l({getSizeFromValue:t=>{let[n,r]=Bt(t,e[0]);if(!r)return t.length;let i=Ft(r,e);return n.length+Math.ceil(i.toString(16).length/2)},write(t,n,r){if(fa(e,t),t==="")return r;let[i,a]=Bt(t,e[0]);if(!a)return n.set(new Uint8Array(i.length).fill(0),r),r+i.length;let o=Ft(a,e),s=[];for(;o>0n;)s.unshift(Number(o%256n)),o/=256n;let c=[...Array(i.length).fill(0),...s];return n.set(c,r),r+c.length}}),Ca=e=>L({read(t,n){let r=n===0?t:t.slice(n);if(r.length===0)return ["",0];let i=r.findIndex(c=>c!==0);i=i===-1?r.length:i;let a=e[0].repeat(i);if(i===r.length)return [a,t.length];let o=r.slice(i).reduce((c,d)=>c*256n+BigInt(d),0n),s=Oa(o,e);return [a+s,t.length]}});function Bt(e,t){let[n,r]=e.split(new RegExp(`((?!${t}).*)`));return [n,r]}function Ft(e,t){let n=BigInt(t.length),r=0n;for(let i of e)r*=n,r+=BigInt(t.indexOf(i));return r}function Oa(e,t){let n=BigInt(t.length),r=[];for(;e>0n;)r.unshift(t[Number(e%n)]),e/=n;return r.join("")}var wt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Y=()=>Na(wt),p=()=>Ca(wt);var q=()=>L({read:(e,t=0)=>[Buffer.from(e,t).toString("base64"),e.length]});var vt=globalThis.TextEncoder,zt=()=>{let e;return l({getSizeFromValue:t=>(e||=new vt).encode(t).length,write:(t,n,r)=>{let i=(e||=new vt).encode(t);return n.set(i,r),r+i.length}})};var ge,De;function Se(){return ge||(ge=Y()),ge}function pa(){return De||(De=p()),De}function kt(e){if(e.length<32||e.length>44)return false;let t=Se();try{return t.encode(e).byteLength===32}catch{return false}}function fe(e){if(e.length<32||e.length>44)throw new A(ae,{actualLength:e.length});let r=Se().encode(e).byteLength;if(r!==32)throw new A(oe,{actualLength:r})}function T(e){return fe(e),e}function w(){return S(v(Se(),32),e=>T(e))}function f(){return V(pa(),32)}function j(){return new Intl.Collator("en",{caseFirst:"lower",ignorePunctuation:false,localeMatcher:"best fit",numeric:false,sensitivity:"variant",usage:"sort"}).compare}function xt(e,t,n,r){if(r<t||r>n)throw new A(Re,{codecDescription:e,max:n,min:t,value:r})}function Wt(e){return e?.endian!==1}function Ne(e){return l({fixedSize:e.size,write(t,n,r){e.range&&xt(e.name,e.range[0],e.range[1],t);let i=new ArrayBuffer(e.size);return e.set(new DataView(i),t,Wt(e.config)),n.set(new Uint8Array(i),r),r+e.size}})}function ha(e){return L({fixedSize:e.size,read(t,n=0){bt(e.name,t,n),$(e.name,e.size,t,n);let r=new DataView(Ma(t,n,e.size));return [e.get(r,Wt(e.config)),n+e.size]}})}function Ma(e,t,n){let r=e.byteOffset+(t??0),i=n??e.byteLength;return e.buffer.slice(r,r+i)}var h=()=>l({getSizeFromValue:e=>e<=127?1:e<=16383?2:3,maxSize:3,write:(e,t,n)=>{xt("shortU16",0,65535,e);let r=[0];for(let i=0;;i+=1){let a=Number(e)>>i*7;if(a===0)break;let o=127&a;r[i]=o,i>0&&(r[i-1]|=128);}return t.set(r,n),n+r.length}});var X=(e={})=>Ne({config:e,name:"u32",range:[0,4294967295],set:(t,n,r)=>t.setUint32(0,Number(n),r),size:4});var Z=(e={})=>Ne({config:e,name:"u64",range:[0n,BigInt("0xffffffffffffffff")],set:(t,n,r)=>t.setBigUint64(0,BigInt(n),r),size:8}),Ce=(e={})=>ha({config:e,get:(t,n)=>t.getBigUint64(0,n),name:"u64",size:8});var M=()=>Ne({name:"u8",range:[0,255],set:(e,t)=>e.setUint8(0,Number(t)),size:1});function Ua(e,t,n){if(t!==n)throw new A(Ee,{actual:n,codecDescription:e,expected:t})}function ba(e){return e.reduce((t,n)=>t===null||n===null?null:Math.max(t,n),0)}function Gt(e){return e.reduce((t,n)=>t===null||n===null?null:t+n,0)}function $t(e){return D(e)?e.fixedSize:null}function me(e){return D(e)?e.fixedSize:e.maxSize??null}function U(e,t={}){let n=t.size??X(),r=Vt(n,$t(e)),i=Vt(n,me(e))??void 0;return l({...r!==null?{fixedSize:r}:{getSizeFromValue:a=>(typeof n=="object"?y(a.length,n):0)+[...a].reduce((s,c)=>s+y(c,e),0),maxSize:i},write:(a,o,s)=>(typeof n=="number"&&Ua("array",n,a.length),typeof n=="object"&&(s=n.write(a.length,o,s)),a.forEach(c=>{s=e.write(c,o,s);}),s)})}function Vt(e,t){return typeof e!="number"?null:e===0?0:t===null?null:t*e}function H(){return l({getSizeFromValue:e=>e.length,write:(e,t,n)=>(t.set(e,n),n+e.length)})}function Yt(e){return l({fixedSize:e.length,write:(t,n,r)=>(n.set(e,r),r+e.length)})}function qt(e,t){let n=Pa(e),r=(a,o,s)=>{let c=t(a);return Ht(e,c),e[c].write(a,o,s)};if(n!==null)return l({fixedSize:n,write:r});let i=Ba(e);return l({...i!==null?{maxSize:i}:{},getSizeFromValue:a=>{let o=t(a);return Ht(e,o),y(a,e[o])},write:r})}function Ht(e,t){if(typeof e[t]>"u")throw new A(Te,{maxRange:e.length-1,minRange:0,variant:t})}function Pa(e){if(e.length===0)return 0;if(!D(e[0]))return null;let t=e[0].fixedSize;return e.every(r=>D(r)&&r.fixedSize===t)?t:null}function Ba(e){return ba(e.map(t=>me(t)))}function N(e){let t=e.map(([,i])=>i),n=Gt(t.map($t)),r=Gt(t.map(me))??void 0;return l({...n===null?{getSizeFromValue:i=>e.map(([a,o])=>y(i[a],o)).reduce((a,o)=>a+o,0),maxSize:r}:{fixedSize:n},write:(i,a,o)=>(e.forEach(([s,c])=>{o=c.write(i[s],a,o);}),o)})}function pe(e,...t){return t.reduce((n,r)=>r(n),e)}var b=(e=>(e[e.WRITABLE_SIGNER=3]="WRITABLE_SIGNER",e[e.READONLY_SIGNER=2]="READONLY_SIGNER",e[e.WRITABLE=1]="WRITABLE",e[e.READONLY=0]="READONLY",e))(b||{});var Fa=1;function P(e){return e>=2}function k(e){return (e&Fa)!==0}function he(e,t){return e|t}function jt(e){return kt(e)}function Xt(){return f()}function rn(e){return "lifetimeConstraint"in e&&typeof e.lifetimeConstraint.blockhash=="string"&&typeof e.lifetimeConstraint.lastValidBlockHeight=="bigint"&&jt(e.lifetimeConstraint.blockhash)}function on(e,t){return "lifetimeConstraint"in t&&t.lifetimeConstraint&&"blockhash"in t.lifetimeConstraint&&t.lifetimeConstraint.blockhash===e.blockhash&&t.lifetimeConstraint.lastValidBlockHeight===e.lastValidBlockHeight?t:Object.freeze({...t,lifetimeConstraint:Object.freeze(e)})}function ka(e,t,n=t){if(!t.match(new RegExp(`^[${e}]*$`)))throw new A(G,{alphabet:e,base:e.length,value:n})}var xa=e=>l({getSizeFromValue:t=>{let[n,r]=Zt(t,e[0]);if(!r)return t.length;let i=Jt(r,e);return n.length+Math.ceil(i.toString(16).length/2)},write(t,n,r){if(ka(e,t),t==="")return r;let[i,a]=Zt(t,e[0]);if(!a)return n.set(new Uint8Array(i.length).fill(0),r),r+i.length;let o=Jt(a,e),s=[];for(;o>0n;)s.unshift(Number(o%256n)),o/=256n;let c=[...Array(i.length).fill(0),...s];return n.set(c,r),r+c.length}});function Zt(e,t){let[n,r]=e.split(new RegExp(`((?!${t}).*)`));return [n,r]}function Jt(e,t){let n=BigInt(t.length),r=0n;for(let i of e)r*=n,r+=BigInt(t.indexOf(i));return r}var Wa="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Ga=()=>xa(Wa);var Me;function Va(){if(!Me){let e=U(M(),{size:h()});Me=N([["lookupTableAddress",w()],["writableIndexes",e],["readonlyIndexes",e]]);}return Me}var ye;function Le(){return ye||(ye=M()),ye}function Ha(){return N([["numSignerAccounts",Le()],["numReadonlySignerAccounts",Le()],["numReadonlyNonSignerAccounts",Le()]])}var Ue;function Ka(){return Ue||(Ue=S(N([["programAddressIndex",M()],["accountIndices",U(M(),{size:h()})],["data",Pt(H(),h())]]),e=>e.accountIndices!==void 0&&e.data!==void 0?e:{...e,accountIndices:e.accountIndices??[],data:e.data??new Uint8Array(0)})),Ue}var $a=0,Ya=128;function qa(){return l({getSizeFromValue:e=>e==="legacy"?0:1,maxSize:1,write:(e,t,n)=>{if(e==="legacy")return n;if(e<0||e>127)throw new A(ue,{actualVersion:e});if(e>$a)throw new A(_e,{unsupportedVersion:e});return t.set([e|Ya],n),n+1}})}function Qt(){return N(an())}function en(){return S(N([...an(),["addressTableLookups",ja()]]),e=>e.version==="legacy"?e:{...e,addressTableLookups:e.addressTableLookups??[]})}function an(){let e=qt([Yt(new Uint8Array(32)),v(Ga(),32)],t=>t===void 0?0:1);return [["version",qa()],["header",Ha()],["staticAccounts",U(w(),{size:h()})],["lifetimeToken",e],["instructions",U(Ka(),{size:h()})]]}function ja(){return U(Va(),{size:h()})}function sn(){return l({getSizeFromValue:e=>e.version==="legacy"?Qt().getSizeFromValue(e):en().getSizeFromValue(e),write:(e,t,n)=>e.version==="legacy"?Qt().write(e,t,n):en().write(e,t,n)})}function tn(e,t,n){e[t]=n(e[t]??{role:b.READONLY});}var E=Symbol("AddressMapTypeProperty");function Xa(e,t){let n={[e]:{[E]:0,role:b.WRITABLE_SIGNER}},r=new Set;for(let i of t){tn(n,i.programAddress,o=>{if(r.add(i.programAddress),E in o){if(k(o.role))switch(o[E]){case 0:throw new A(se,{programAddress:i.programAddress});default:throw new A(K,{programAddress:i.programAddress})}if(o[E]===2)return o}return {[E]:2,role:b.READONLY}});let a;if(i.accounts)for(let o of i.accounts)tn(n,o.address,s=>{let{address:c,...d}=o;if(E in s)switch(s[E]){case 0:return s;case 1:{let u=he(s.role,d.role);if("lookupTableAddress"in d){if(s.lookupTableAddress!==d.lookupTableAddress&&(a||=j())(d.lookupTableAddress,s.lookupTableAddress)<0)return {[E]:1,...d,role:u}}else if(P(d.role))return {[E]:2,role:u};return s.role!==u?{...s,role:u}:s}case 2:{let u=he(s.role,d.role);if(r.has(o.address)){if(k(d.role))throw new A(K,{programAddress:o.address});return s.role!==u?{...s,role:u}:s}else return "lookupTableAddress"in d&&!P(s.role)?{...d,[E]:1,role:u}:s.role!==u?{...s,role:u}:s}}return "lookupTableAddress"in d?{...d,[E]:1}:{...d,[E]:2}});}return n}function Za(e){let t;return Object.entries(e).sort(([r,i],[a,o])=>{if(i[E]!==o[E]){if(i[E]===0)return -1;if(o[E]===0)return 1;if(i[E]===2)return -1;if(o[E]===2)return 1}let s=P(i.role);if(s!==P(o.role))return s?-1:1;let c=k(i.role);return c!==k(o.role)?c?-1:1:(t||=j(),i[E]===1&&o[E]===1&&i.lookupTableAddress!==o.lookupTableAddress?t(i.lookupTableAddress,o.lookupTableAddress):t(r,a))}).map(([r,i])=>({address:r,...i}))}function Ja(e){let t={};for(let n of e){if(!("lookupTableAddress"in n))continue;let r=t[n.lookupTableAddress]||={readonlyIndexes:[],writableIndexes:[]};n.role===b.WRITABLE?r.writableIndexes.push(n.addressIndex):r.readonlyIndexes.push(n.addressIndex);}return Object.keys(t).sort(j()).map(n=>({lookupTableAddress:n,...t[n]}))}function Qa(e){let t=0,n=0,r=0;for(let i of e){if("lookupTableAddress"in i)break;let a=k(i.role);P(i.role)?(r++,a||n++):a||t++;}return {numReadonlyNonSignerAccounts:t,numReadonlySignerAccounts:n,numSignerAccounts:r}}function es(e){let t={};for(let[n,r]of e.entries())t[r.address]=n;return t}function ts(e,t){let n=es(t);return e.map(({accounts:r,data:i,programAddress:a})=>({programAddressIndex:n[a],...r?{accountIndices:r.map(({address:o})=>n[o])}:null,...i?{data:i}:null}))}function ns(e){return "nonce"in e?e.nonce:e.blockhash}function rs(e){let t=e.findIndex(r=>"lookupTableAddress"in r);return (t===-1?e:e.slice(0,t)).map(({address:r})=>r)}function cn(e){let t=Xa(e.feePayer.address,e.instructions),n=Za(t),r=e.lifetimeConstraint;return {...e.version!=="legacy"?{addressTableLookups:Ja(n)}:null,...r?{lifetimeToken:ns(r)}:null,header:Qa(n),instructions:ts(e.instructions,n),staticAccounts:rs(n),version:e.version}}function is(e,t,n){for(let[r,i]of Object.entries(n))for(let a=0;a<i.length;a++)if(e===i[a])return {address:e,addressIndex:a,lookupTableAddress:r,role:t}}function dn(e,t){let n=new Set(e.instructions.map(o=>o.programAddress)),r=new Set(Object.values(t).flatMap(o=>o).filter(o=>!n.has(o))),i=[],a=false;for(let o of e.instructions){if(!o.accounts){i.push(o);continue}let s=[],c=false;for(let d of o.accounts){if("lookupTableAddress"in d||!r.has(d.address)||P(d.role)){s.push(d);continue}let u=is(d.address,d.role,t);s.push(Object.freeze(u)),c=true,a=true;}i.push(Object.freeze(c?{...o,accounts:s}:o));}return Object.freeze(a?{...e,instructions:i}:e)}function un(e){return Object.freeze({instructions:Object.freeze([]),version:e.version})}var os="SysvarRecentB1ockHashes11111111111111111111",as="11111111111111111111111111111111";function ss(e){return e.programAddress===as&&e.data!=null&&cs(e.data)&&e.accounts?.length===3&&e.accounts[0].address!=null&&e.accounts[0].role===b.WRITABLE&&e.accounts[1].address===os&&e.accounts[1].role===b.READONLY&&e.accounts[2].address!=null&&P(e.accounts[2].role)}function cs(e){return e.byteLength===4&&e[0]===4&&e[1]===0&&e[2]===0&&e[3]===0}function be(e){return "lifetimeConstraint"in e&&typeof e.lifetimeConstraint.nonce=="string"&&e.instructions[0]!=null&&ss(e.instructions[0])}function In(e,t){return Object.freeze({...t,instructions:Object.freeze([...t.instructions,...e])})}function _n(e,t){return Object.freeze({...t,instructions:Object.freeze([...e,...t.instructions])})}function ds(e){let t=Object.values(e);if(t.length===0)throw new A(Ie);return t.map(n=>n||new Uint8Array(64).fill(0))}function us(){return S(U(v(H(),64),{size:h()}),ds)}function Pe(){return N([["signatures",us()],["messageBytes",H()]])}function Be(e){let t=cn(e),n=sn().encode(t),r=t.staticAccounts.slice(0,t.header.numSignerAccounts),i={};for(let o of r)i[o]=null;let a;return rn(e)?a={blockhash:e.lifetimeConstraint.blockhash,lastValidBlockHeight:e.lifetimeConstraint.lastValidBlockHeight}:be(e)&&(a={nonce:e.lifetimeConstraint.nonce,nonceAccountAddress:e.instructions[0].accounts[0].address}),Object.freeze({...a?{lifetimeConstraint:a}:void 0,messageBytes:n,signatures:Object.freeze(i)})}function Fe(e){let t=Pe().encode(e);return q().decode(t)}function An(e,t){Object.freeze(e);let n={...t,feePayer:e};return Object.freeze(n),n}function ve(e){return Object.freeze({address:e,signMessages:n=>Promise.resolve(n.map(()=>Object.freeze({}))),signTransactions:n=>Promise.resolve(n.map(()=>Object.freeze({})))})}var J="ComputeBudget111111111111111111111111111111";var we=2;function ze(){return S(N([["discriminator",M()],["units",X()]]),e=>({...e,discriminator:we}))}function Q(e,t){let n=J,r={...e};return Object.freeze({data:ze().encode(r),programAddress:n})}var ke=3;function xe(){return S(N([["discriminator",M()],["microLamports",Z()]]),e=>({...e,discriminator:ke}))}function ee(e,t){let n=J,r={...e};return Object.freeze({data:xe().encode(r),programAddress:n})}async function Kd(e,t){e.openBlankPopUp();let{instructions:n,signer:r,addressesByLookupTableAddress:i}=t,a=core.prepareTransactionMessage({payer:T(r.walletAddress),instructions:n,addressesByLookupTableAddress:i}),o=window.origin,c={phase:"start",data:{type:"transaction",payload:{transactionMessageBytes:core.bufferToBase64URLString(new Uint8Array(a))}},redirectOrigin:o,signer:r},{rid:d}=await e.onClientAuthorizationCallback(c);return await e.sendPayloadToProvider({rid:d}),await e.onClientAuthorizationCallback({phase:"complete",data:{type:"transaction",rid:d}})}var x="11111111111111111111111111111111";var ln=0,En=1,Rn=2,Tn=3,gn=4,Dn=5,Sn=6,fn=7,Nn=8;process.env.NODE_ENV!=="production"&&({[ln]:"an account with the same address already exists",[Dn]:"provided address does not match addressed derived from seed",[Tn]:"cannot allocate account data of this length",[Rn]:"cannot assign account to this program id",[gn]:"length of requested seed is too long",[fn]:"stored nonce is still in recent_blockhashes",[Sn]:"advancing stored nonce requires a populated RecentBlockhashes sysvar",[Nn]:"specified nonce does not match stored nonce",[En]:"account does not have enough SOL to perform the operation"});var We="TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";async function NM(e,t){if(t.amount<=0)throw new Error("Transfer amount must be greater than 0");if(!t.destination||typeof t.destination!="string")throw new Error("Destination address is required");e.openBlankPopUp();let{mint:n,tokenProgram:r=We,amount:i,destination:a,signer:o}=t,s=window.origin,d={phase:"start",data:{type:"transaction",payload:{transactionActionType:"transfer_intent",transactionAddress:n?r:x,transactionMessageBytes:core.bufferToBase64URLString(new Uint8Array([...Z().encode(i),...w().encode(T(a)),...w().encode(T(n??x))]))}},redirectOrigin:s,signer:o},{rid:u}=await e.onClientAuthorizationCallback(d);return await e.sendPayloadToProvider({rid:u}),await e.onClientAuthorizationCallback({phase:"complete",data:{type:"transaction",rid:u}})}var B="https://auth.revibase.com",Cn="https://api.revibase.com",On="revibase.com";var mn="9wmtQxMMFWDdeK64QqTs4BK95acdatpbbwDP4csxs3Yn";function Ge(e){if(typeof window>"u")throw new Error("Function can only be called in a browser environment");let t=window.innerWidth||window.screen.availWidth,n=window.innerHeight||window.screen.availHeight,r=t<=768,i,a,o,s;if(r)i=t,a=n,o=0,s=0;else {let d=window.screenLeft??window.screenX??0,u=window.screenTop??window.screenY??0,I=window.innerWidth??document.documentElement.clientWidth??window.screen.width,R=window.innerHeight??document.documentElement.clientHeight??window.screen.height;i=500,a=600,s=Math.round(d+(I-i)/2),o=Math.round(u+(R-a)/2);}let c=["popup=yes",`width=${i}`,`height=${a}`,`top=${o}`,`left=${s}`,"toolbar=no","location=no","status=no","menubar=no","scrollbars=yes","resizable=yes"].join(",");return window.open(e??"","_blank",c)}var pn=class{pending=new Map;onClientAuthorizationCallback;providerOrigin;popUp=null;constructor(t){this.onClientAuthorizationCallback=t.onClientAuthorizationCallback,this.providerOrigin=t.providerOrigin??B;}openBlankPopUp(){if(this.popUp=Ge(),!this.popUp)throw new Error("Popup blocked. Please enable popups.")}async sendPayloadToProvider({rid:t,timeoutMs:n=3e5}){if(typeof window>"u")throw new Error("Provider can only be used in a browser environment");if(this.pending.size>0)throw new Error("An authorization flow is already in progress");let r=new URL(this.providerOrigin);return r.searchParams.set("rid",t),r.searchParams.set("redirectOrigin",window.location.origin),new Promise((i,a)=>{let o=setTimeout(()=>{let s=this.pending.get(t);s&&(s.cancel?s.cancel(new Error("Authentication timed out")):(this.pending.delete(t),a(new Error("Authentication timed out"))));},n);this.pending.set(t,{rid:t,resolve:i,reject:a,timeoutId:o}),this.openWebPopup({startUrl:r.toString(),origin:r.origin,rid:t,timeoutMs:n});})}openWebPopup(t){let{startUrl:n,origin:r,rid:i,timeoutMs:a}=t,o=this.pending.get(i);if(!o)return;let s=this.popUp??null,c=null,d=false,u=false,I=()=>{window.removeEventListener("message",ie);try{c?.close();}catch{}c=null;try{s&&!s.closed&&s.close();}catch{}this.popUp=null,clearInterval(Wn);},R=g=>{d||(d=true,clearTimeout(o.timeoutId),this.pending.delete(i),I(),o.reject(g));},O=()=>{d||(d=true,clearTimeout(o.timeoutId),this.pending.delete(i),I(),o.resolve({rid:i}));};o.cancel=R;let re=()=>{if(!s)s=Ge(n);else try{s.location.href!==n&&s.location.replace(n);}catch{try{s.location.replace(n);}catch{throw new Error("Unable to navigate popup to provider URL")}}if(!s)throw new Error("Popup blocked. Please enable popups.");return s};try{s=re();}catch(g){R(g instanceof Error?g:new Error(String(g)));return}let Wn=setInterval(()=>{s?.closed&&(u||(u=true,R(new Error("Popup was closed by the user"))));},2e3),ie=g=>{if(g.origin!==r||g.source!==s)return;let Ke=g.data;Ke?.type==="popup-connect"&&Ke.rid===i&&g.ports?.[0]&&(c=g.ports[0],c.start(),c.postMessage({type:"popup-init"}),c.onmessage=$e=>{switch($e.data.type){case "popup-complete":O();break;case "popup-error":R(new Error($e.data.error));break;case "popup-closed":{R(new Error("Lost connection with the popup."));break}}},window.removeEventListener("message",ie));};window.addEventListener("message",ie);}};async function hn(e){let t=await fetch(`${e}/getRandomPayer`);if(!t.ok)throw new Error(`Failed to fetch random payer: ${t.status} ${t.statusText}`);let{randomPayer:n}=await t.json();if(!n)throw new Error("Invalid response: randomPayer is missing");return {address:T(n),async signTransactions(r){let i={publicKey:n,transactions:r.map(s=>q().decode(Pe().encode(s)))},a=await fetch(`${e}/sign`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(!a.ok)throw new Error(`Failed to sign transactions: ${a.status} ${a.statusText}`);let o=await a.json();if("error"in o)throw new Error(`Transaction signing failed: ${o.error}`);if(!Array.isArray(o.signatures))throw new Error("Invalid response: signatures must be an array");return o.signatures.map(s=>({[T(n)]:Y().encode(s)}))}}}var ac=___default.default.object({publicKey:___default.default.string(),walletAddress:___default.default.string(),settingsIndexWithAddress:___default.default.object({index:___default.default.number(),settingsAddressTreeIndex:___default.default.number()}),username:___default.default.string(),image:___default.default.string()}),Mn=___default.default.object({phase:___default.default.literal("start"),redirectOrigin:___default.default.string(),signer:ac.optional(),data:___default.default.object({type:___default.default.literal("transaction"),payload:core.TransactionPayloadWithBase64MessageBytesSchema.extend({transactionActionType:core.TransactionActionTypeSchema.optional(),transactionAddress:___default.default.string().optional()})}).strict()}).strict(),yn=___default.default.object({phase:___default.default.literal("complete"),data:___default.default.object({type:___default.default.literal("message"),rid:___default.default.string()})}),Ln=___default.default.object({phase:___default.default.literal("complete"),data:___default.default.object({type:___default.default.literal("transaction"),rid:___default.default.string()})});function Un(e){let t=e.domain?`${e.domain} wants you to sign in with your account.`:"Sign in with your account.",n=[];return e.nonce&&n.push(`Nonce: ${e.nonce}`),n.length>0?`${t}
6
6
 
7
7
  ${n.join(`
8
- `)}`:t}async function te(e,t){let{additionalInfo:n}=e.data.payload;if(n.settingsIndexWithAddress)return n.settingsIndexWithAddress;let r=await core.fetchUserAccountData(new core.Secp256r1Key(e.data.payload.signer),e.data.payload.userAddressTreeIndex,t);if(r.delegatedTo.__option==="None")throw new Error("User has no delegated wallet");return r.delegatedTo.value}async function bn({payer:e,index:t,settingsAddressTreeIndex:n,transactionMessageBytes:r,signers:i,compressed:a,addressesByLookupTableAddress:o,cachedAccounts:s}){let c=await core.prepareTransactionSync({payer:e,index:t,settingsAddressTreeIndex:n,transactionMessageBytes:r,signers:i,compressed:a,simulateProof:true,addressesByLookupTableAddress:o,cachedAccounts:s}),d=pe(un({version:0}),I=>In(c.instructions,I),I=>An(c.payer,I),I=>on({blockhash:Xt().decode(crypto.getRandomValues(new Uint8Array(32))),lastValidBlockHeight:BigInt(Number.MAX_SAFE_INTEGER)},I),I=>c.addressesByLookupTableAddress?dn(I,c.addressesByLookupTableAddress):I,I=>_n([Q({units:8e5}),ee({microLamports:1e3})],I),I=>Be(I)),u=Fe(d).length;return console.log("Estimated Tx Size: ",u),u>1644}function Pn(){let e=crypto.getRandomValues(new Uint8Array(33)),t=crypto.getRandomValues(new Uint8Array(37)),n=crypto.getRandomValues(new Uint8Array(250)),r=crypto.getRandomValues(new Uint8Array(64));return new core.SignedSecp256r1Key(e,{originIndex:0,crossOrigin:false,authData:t,domainConfig:f().decode(crypto.getRandomValues(new Uint8Array(32))),signature:r,verifyArgs:{slotHash:crypto.getRandomValues(new Uint8Array(32)),slotNumber:BigInt(0),truncatedClientDataJson:crypto.getRandomValues(new Uint8Array(100)),clientDataJson:n},clientAndDeviceHash:crypto.getRandomValues(new Uint8Array(32)),authResponse:{id:"",rawId:"",type:"public-key",clientExtensionResults:{},response:{authenticatorData:core.bufferToBase64URLString(t),clientDataJSON:core.bufferToBase64URLString(n),signature:core.bufferToBase64URLString(r)}}})}async function Bn(e=core.getJitoTipsConfig()){let{getJitoTipsUrl:t,priority:n}=e,r=await fetch(t);if(!r.ok)throw new Error(`Failed to fetch Jito tips: ${r.status} ${r.statusText}`);let i=await r.json();if(!Array.isArray(i)||!i[0]||typeof i[0][n]!="number")throw new Error("Invalid Jito tips response format");return Math.round(i[0][n]*1e9)}function F(){return {[T(mn)]:["ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL","11111111111111111111111111111111","TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb","metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s","Sysvar1nstructions1111111111111111111111111","auth9SigNpDKz4sJJ1DfCTuZrZNSAgh9sFD3rboVmgg","SysvarS1otHashes111111111111111111111111111","3C6AdJiD9qxMqZTmB53b5HC5Yfq2Bb57XAzYDzu4YDcj","BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY","noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV","cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK","GXtd2izAiMJPwMEjfgTRH3d7k9mjn4Jq3JrWFv9gySYy","SySTEM1eSU2p4BGQfQpimFEWWSC1XDFeun3Nqzz3rT7","35hkDgaAKwMCaxRz2ocSZ6NaUrtKkyNqU6c4RV3tYJRh","HwXnGK3tPkkVY6P439H2p68AxpeuWXd5PcrAxFpbmfbA","compr6CUsB5m2jS4Y3831ztGSTnDpnKJTKS95d64XVq","bmt1LryLZUMmF7ZtqESaw7wifBXLfXHQYoE4GAmrahU","oq1na8gojfdUhsfCpyjNt6h4JaDWtHf1yQj4koBWfto","cpi15BoVPKgEPw5o8wc2T816GE7b378nMXnhH3Xbq4y","bmt2UxoBxB9xWev4BkLvkGdapsz6sZGkzViPNph7VFi","oq2UkeMsJLfXt2QHzim242SUi3nvjJs8Pn7Eac9H9vg","cpi2yGapXUR3As5SjnHBAVvmApNiLsbeZpF3euWnW6B","bmt3ccLd4bqSVZVeCJnH1F6C8jNygAhaDfxDwePyyGb","oq3AxjekBWgo64gpauB6QtuZNesuv19xrhaC1ZM1THQ","cpi3mbwMpSX8FAGMZVP85AwxqCaQMfEk9Em1v8QK9Rf","bmt4d3p1a4YQgk9PeZv5s4DBUmbF5NxqYpk9HGjQsd8","oq4ypwvVGzCUMoiKKHWh4S1SgZJ9vCvKpcz6RT6A8dq","cpi4yyPDc4bCgHAnsenunGA8Y77j3XEDyjgfyCKgcoc","bmt5yU97jC88YXTuSukYHa8Z5Bi2ZDUtmzfkDTA2mG2","oq5oh5ZR3yGomuQgFduNDzjtGvVWfDRGLuDVjv9a96P","cpi5ZTjdgYpZ1Xr7B1cMLLUE81oTtJbNNAyKary2nV6","amt2kaJA14v3urZbZvnc5v2np8jqvc4Z8zDep5wbtzx","ACXg8a7VaqecBWrSbdu73W4Pg9gsqXJ3EXAqkHyhvVXg","r18WwUxfG8kQ69bQPAB2jV6zGNKy3GosFGctjQoV4ti","cTokenmWW8bLPjZEBAUgYy3zKxQZW6VKi7bqNFEVv3m","2cLqZJrYMuCzKdSZBoWxZ3tXoeCMmMyDiuy6UBaKnbmK","5tgzUZaVtfnnSEBgmBDtJj6PdgYCnA1uaEGEUi3y5Njg","2yaSthpW4U4VZvBhwPfGA7HwC9v9Rfq3SNRZvJkKcrNe"].map(T)}}async function Dc(e,t){let n=core.createClientAuthorizationCompleteRequestChallenge(e),r=p().decode(new Uint8Array(await crypto.subtle.sign({name:"Ed25519"},t,new Uint8Array(n))));return {...e.data.payload,clientSignature:{...e.data.payload.clientSignature,signature:r}}}async function W(e,t,n){let r=await Dc(e,t),i=new Map,a=await te(e,i),[o,s,c]=await Promise.all([n??await hn(Cn),core.fetchSettingsAccountData(a.index,a.settingsAddressTreeIndex,i),core.getSignedSecp256r1Key(r)]),{transactionManagerAddress:d,userAddressTreeIndex:u}=core.retrieveTransactionManager(e.data.payload.signer,s),I=new Uint8Array(core.base64URLStringToBuffer(e.data.payload.transactionPayload.transactionMessageBytes)),R=await core.getSignedTransactionManager({authResponses:[r],transactionManagerAddress:d,transactionMessageBytes:I,userAddressTreeIndex:u,cachedAccounts:i});return {settingsIndexWithAddress:a,settingsData:s,signedSigner:c,transactionManagerSigner:R,payer:o}}function ne(e,t){return t?[e,t]:[e]}async function Fn(e,t,n){let{transactionActionType:r,transactionMessageBytes:i}=e.data.payload.transactionPayload;if(r!=="execute"&&r!=="create_with_preauthorized_execution")throw new Error("Transaction action type must be 'execute' or 'create_with_preauthorized_execution'");let a=await W(e,t,n),[o]=await Promise.all([Bn()]),s=new Uint8Array(core.base64URLStringToBuffer(i)),c=new Map,d=await core.prepareTransactionBundle({compressed:a.settingsData.isCompressed,index:a.settingsIndexWithAddress.index,settingsAddressTreeIndex:a.settingsIndexWithAddress.settingsAddressTreeIndex,transactionMessageBytes:s,creator:a.transactionManagerSigner??a.signedSigner,executor:a.transactionManagerSigner?a.signedSigner:void 0,jitoBundlesTipAmount:o,payer:a.payer,cachedAccounts:c}),u=F(),I=d.map(O=>({...O,addressesByLookupTableAddress:O.addressesByLookupTableAddress?{...O.addressesByLookupTableAddress,...u}:u})),R=await core.signAndSendBundledTransactions(I);return core.pollJitoBundleConfirmation(R)}async function vn({rid:e,privateKey:t,providerOrigin:n=B}){let r=p().decode(new Uint8Array(await crypto.subtle.sign({name:"Ed25519"},t,new Uint8Array(zt().encode(e))))),i=await fetch(`${n}/getResult`,{method:"POST",body:JSON.stringify({rid:e,signature:r})});if(!i.ok)throw new Error((await i.json()).error);return await i.json()}async function wn(e,t=B,n=On){let{payload:r}=e.data,i=r.message,a=core.createMessageChallenge(i,r.clientSignature.clientOrigin,r.deviceSignature.publicKey,r.nonce),{verified:o}=await server.verifyAuthenticationResponse({response:r.authResponse,expectedChallenge:core.bufferToBase64URLString(a),expectedRPID:n,expectedOrigin:t,requireUserVerification:false,credential:{counter:0,id:r.authResponse.id,publicKey:core.convertPubkeyCompressedToCose(r.signer)}});if(!o)throw new Error("WebAuthn message verification failed");let s=await te(e),c=await core.getWalletAddressFromIndex(s.index);return {publicKey:r.signer,walletAddress:c,settingsIndexWithAddress:s,...r.additionalInfo}}async function He({privateKey:e,request:t,providerOrigin:n=B}){let r=core.createClientAuthorizationStartRequestChallenge(t),i=p().decode(new Uint8Array(await crypto.subtle.sign({name:"Ed25519"},e,new Uint8Array(r)))),a=await fetch(`${n}/startRequest`,{method:"POST",body:JSON.stringify({signature:i,request:t})});if(!a.ok)throw new Error((await a.json()).error);return await a.json()}async function zn(e,t,n){let{transactionActionType:r,transactionMessageBytes:i}=e.data.payload.transactionPayload;if(r!=="sync")throw new Error("Transaction action type must be 'sync'");let a=await W(e,t,n),o=ne(a.signedSigner,a.transactionManagerSigner),s=new Uint8Array(core.base64URLStringToBuffer(i)),c=new Map,{instructions:d,addressesByLookupTableAddress:u}=await core.prepareTransactionSync({compressed:a.settingsData.isCompressed,signers:o,payer:a.payer,transactionMessageBytes:s,index:a.settingsIndexWithAddress.index,settingsAddressTreeIndex:a.settingsIndexWithAddress.settingsAddressTreeIndex,cachedAccounts:c}),I=F(),R=u?{...u,...I}:I;return core.signAndSendTransaction({instructions:d,payer:a.payer,addressesByLookupTableAddress:R})}async function kn(e,t,n){let{transactionActionType:r,transactionMessageBytes:i,transactionAddress:a}=e.data.payload.transactionPayload;if(r!=="transfer_intent")throw new Error("Transaction action type must be 'transfer_intent'");let o=await W(e,t,n),s=new Uint8Array(core.base64URLStringToBuffer(i)),c=Ce().decode(s.slice(0,8)),d=f().decode(s.slice(8,40)),u=f().decode(s.slice(40,72)),I=ne(o.signedSigner,o.transactionManagerSigner),R=new Map,O=u!==x?await core.tokenTransferIntent({payer:o.payer,index:o.settingsIndexWithAddress.index,settingsAddressTreeIndex:o.settingsIndexWithAddress.settingsAddressTreeIndex,amount:c,signers:I,destination:d,mint:u,tokenProgram:T(a),compressed:o.settingsData.isCompressed,cachedAccounts:R}):await core.nativeTransferIntent({payer:o.payer,index:o.settingsIndexWithAddress.index,settingsAddressTreeIndex:o.settingsIndexWithAddress.settingsAddressTreeIndex,amount:c,signers:I,destination:d,compressed:o.settingsData.isCompressed,cachedAccounts:R});return core.signAndSendTransaction({instructions:O,payer:o.payer,addressesByLookupTableAddress:F()})}async function wy({request:e,privateKey:t,feePayer:n,providerOrigin:r,rpId:i}){let a=___default.default.union([Mn,core.StartMessageRequestSchema,Ln,yn]).parse(e);if(a.phase==="start"){let{data:d,signer:u}=a;if(d.type==="message"){let O=d.payload??Un({nonce:crypto.randomUUID()}),re={...a,signer:xn(a),data:{...d,payload:O}};return await He({request:re,privateKey:t,providerOrigin:r})}if(d.type!=="transaction")throw new Error(`Unsupported request type: ${d.type}`);if(!u||typeof u!="object"||!("settingsIndexWithAddress"in u))throw new Error("Transaction start request requires a User signer object");let{transactionPayload:I}=await Vc(d,u),R={phase:"start",redirectOrigin:a.redirectOrigin,signer:xn(a),data:{type:"transaction",payload:I}};return await He({request:R,providerOrigin:r,privateKey:t})}let o=await vn({rid:a.data.rid,providerOrigin:r,privateKey:t});if(o.data.type==="message")return {user:await wn({data:o.data},r,i)};let{transactionActionType:s}=o.data.payload.transactionPayload,c={phase:"complete",data:o.data};switch(s){case "transfer_intent":return {txSig:await kn(c,t,n)};case "sync":return {txSig:await zn(c,t,n)};case "execute":case "create_with_preauthorized_execution":return {txSig:await Fn(c,t,n)};default:throw new Error(`Unsupported transaction action type: ${s}`)}}function xn(e){return e.signer?typeof e.signer=="string"?e.signer:e.signer.publicKey:void 0}async function Vc(e,t){if(!e.payload||typeof e.payload!="object")throw new Error("Invalid transaction payload: payload must be an object");if(!e.payload.transactionMessageBytes||typeof e.payload.transactionMessageBytes!="string")throw new Error("Invalid transaction payload: transactionMessageBytes is required and must be a string");if(e.payload.transactionAddress&&e.payload.transactionActionType)return {transactionPayload:e.payload};if(!t.settingsIndexWithAddress||typeof t.settingsIndexWithAddress!="object")throw new Error("Invalid signer: settingsIndexWithAddress is required");let n=e.payload,r=t.settingsIndexWithAddress,i;try{i=new Uint8Array(core.base64URLStringToBuffer(n.transactionMessageBytes));}catch(I){throw new Error(`Invalid transaction message bytes: ${I instanceof Error?I.message:"Failed to decode base64"}`)}let[a,o]=await Promise.all([core.fetchSettingsAccountData(r.index,r.settingsAddressTreeIndex),core.getSettingsFromIndex(r.index)]),s=a.members.find(I=>I.role===core.UserRole.TransactionManager),d=await bn({signers:[Pn(),...s?[ve(f().decode(s.pubkey.key))]:[]],compressed:a.isCompressed,payer:ve(f().decode(crypto.getRandomValues(new Uint8Array(32)))),index:r.index,settingsAddressTreeIndex:r.settingsAddressTreeIndex,transactionMessageBytes:i,addressesByLookupTableAddress:F()})?s?"execute":"create_with_preauthorized_execution":"sync";return {transactionPayload:{transactionMessageBytes:n.transactionMessageBytes,transactionActionType:d,transactionAddress:o.toString()}}}Object.defineProperty(exports,"initialize",{enumerable:true,get:function(){return core.initialize}});exports.CompleteMessageRequestSchema=yn;exports.CompleteTransactionRequestSchema=Ln;exports.RevibaseProvider=pn;exports.StartTransactionRequestWithOptionalTypeSchema=Mn;exports.UserSchema=ac;exports.executeTransaction=Kd;exports.getRandomPayer=hn;exports.processClientAuthCallback=wy;exports.signIn=Hc;exports.transferTokens=NM;//# sourceMappingURL=index.cjs.map
8
+ `)}`:t}async function te(e,t){let{additionalInfo:n}=e.data.payload;if(n.settingsIndexWithAddress)return n.settingsIndexWithAddress;let r=await core.fetchUserAccountData(new core.Secp256r1Key(e.data.payload.signer),e.data.payload.userAddressTreeIndex,t);if(r.delegatedTo.__option==="None")throw new Error("User has no delegated wallet");return r.delegatedTo.value}async function bn({payer:e,index:t,settingsAddressTreeIndex:n,transactionMessageBytes:r,signers:i,compressed:a,addressesByLookupTableAddress:o,cachedAccounts:s}){let c=await core.prepareTransactionSync({payer:e,index:t,settingsAddressTreeIndex:n,transactionMessageBytes:r,signers:i,compressed:a,simulateProof:true,addressesByLookupTableAddress:o,cachedAccounts:s}),d=pe(un({version:0}),I=>In(c.instructions,I),I=>An(c.payer,I),I=>on({blockhash:Xt().decode(crypto.getRandomValues(new Uint8Array(32))),lastValidBlockHeight:BigInt(Number.MAX_SAFE_INTEGER)},I),I=>c.addressesByLookupTableAddress?dn(I,c.addressesByLookupTableAddress):I,I=>_n([Q({units:8e5}),ee({microLamports:1e3})],I),I=>Be(I)),u=Fe(d).length;return console.log("Estimated Tx Size: ",u),u>1644}function Pn(){let e=crypto.getRandomValues(new Uint8Array(33)),t=crypto.getRandomValues(new Uint8Array(37)),n=crypto.getRandomValues(new Uint8Array(250)),r=crypto.getRandomValues(new Uint8Array(64));return new core.SignedSecp256r1Key(e,{originIndex:0,crossOrigin:false,authData:t,domainConfig:f().decode(crypto.getRandomValues(new Uint8Array(32))),signature:r,verifyArgs:{slotHash:crypto.getRandomValues(new Uint8Array(32)),slotNumber:BigInt(0),truncatedClientDataJson:crypto.getRandomValues(new Uint8Array(100)),clientDataJson:n},clientAndDeviceHash:crypto.getRandomValues(new Uint8Array(32)),authResponse:{id:"",rawId:"",type:"public-key",clientExtensionResults:{},response:{authenticatorData:core.bufferToBase64URLString(t),clientDataJSON:core.bufferToBase64URLString(n),signature:core.bufferToBase64URLString(r)}}})}async function Bn(e=core.getJitoTipsConfig()){let{getJitoTipsUrl:t,priority:n}=e,r=await fetch(t);if(!r.ok)throw new Error(`Failed to fetch Jito tips: ${r.status} ${r.statusText}`);let i=await r.json();if(!Array.isArray(i)||!i[0]||typeof i[0][n]!="number")throw new Error("Invalid Jito tips response format");return Math.round(i[0][n]*1e9)}function F(){return {[T(mn)]:["ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL","11111111111111111111111111111111","TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb","metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s","Sysvar1nstructions1111111111111111111111111","auth9SigNpDKz4sJJ1DfCTuZrZNSAgh9sFD3rboVmgg","SysvarS1otHashes111111111111111111111111111","3C6AdJiD9qxMqZTmB53b5HC5Yfq2Bb57XAzYDzu4YDcj","BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY","noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV","cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK","GXtd2izAiMJPwMEjfgTRH3d7k9mjn4Jq3JrWFv9gySYy","SySTEM1eSU2p4BGQfQpimFEWWSC1XDFeun3Nqzz3rT7","35hkDgaAKwMCaxRz2ocSZ6NaUrtKkyNqU6c4RV3tYJRh","HwXnGK3tPkkVY6P439H2p68AxpeuWXd5PcrAxFpbmfbA","compr6CUsB5m2jS4Y3831ztGSTnDpnKJTKS95d64XVq","bmt1LryLZUMmF7ZtqESaw7wifBXLfXHQYoE4GAmrahU","oq1na8gojfdUhsfCpyjNt6h4JaDWtHf1yQj4koBWfto","cpi15BoVPKgEPw5o8wc2T816GE7b378nMXnhH3Xbq4y","bmt2UxoBxB9xWev4BkLvkGdapsz6sZGkzViPNph7VFi","oq2UkeMsJLfXt2QHzim242SUi3nvjJs8Pn7Eac9H9vg","cpi2yGapXUR3As5SjnHBAVvmApNiLsbeZpF3euWnW6B","bmt3ccLd4bqSVZVeCJnH1F6C8jNygAhaDfxDwePyyGb","oq3AxjekBWgo64gpauB6QtuZNesuv19xrhaC1ZM1THQ","cpi3mbwMpSX8FAGMZVP85AwxqCaQMfEk9Em1v8QK9Rf","bmt4d3p1a4YQgk9PeZv5s4DBUmbF5NxqYpk9HGjQsd8","oq4ypwvVGzCUMoiKKHWh4S1SgZJ9vCvKpcz6RT6A8dq","cpi4yyPDc4bCgHAnsenunGA8Y77j3XEDyjgfyCKgcoc","bmt5yU97jC88YXTuSukYHa8Z5Bi2ZDUtmzfkDTA2mG2","oq5oh5ZR3yGomuQgFduNDzjtGvVWfDRGLuDVjv9a96P","cpi5ZTjdgYpZ1Xr7B1cMLLUE81oTtJbNNAyKary2nV6","amt2kaJA14v3urZbZvnc5v2np8jqvc4Z8zDep5wbtzx","ACXg8a7VaqecBWrSbdu73W4Pg9gsqXJ3EXAqkHyhvVXg","r18WwUxfG8kQ69bQPAB2jV6zGNKy3GosFGctjQoV4ti","cTokenmWW8bLPjZEBAUgYy3zKxQZW6VKi7bqNFEVv3m","2cLqZJrYMuCzKdSZBoWxZ3tXoeCMmMyDiuy6UBaKnbmK","5tgzUZaVtfnnSEBgmBDtJj6PdgYCnA1uaEGEUi3y5Njg","2yaSthpW4U4VZvBhwPfGA7HwC9v9Rfq3SNRZvJkKcrNe"].map(T)}}async function Dc(e,t){let n=core.createClientAuthorizationCompleteRequestChallenge(e),r=p().decode(new Uint8Array(await crypto.subtle.sign({name:"Ed25519"},t,new Uint8Array(n))));return {...e.data.payload,clientSignature:{...e.data.payload.clientSignature,signature:r}}}async function W(e,t,n){let r=await Dc(e,t),i=new Map,a=await te(e,i),[o,s,c]=await Promise.all([n??await hn(Cn),core.fetchSettingsAccountData(a.index,a.settingsAddressTreeIndex,i),core.getSignedSecp256r1Key(r)]),{transactionManagerAddress:d,userAddressTreeIndex:u}=core.retrieveTransactionManager(e.data.payload.signer,s),I=new Uint8Array(core.base64URLStringToBuffer(e.data.payload.transactionPayload.transactionMessageBytes)),R=await core.getSignedTransactionManager({authResponses:[r],transactionManagerAddress:d,transactionMessageBytes:I,userAddressTreeIndex:u,cachedAccounts:i});return {settingsIndexWithAddress:a,settingsData:s,signedSigner:c,transactionManagerSigner:R,payer:o}}function ne(e,t){return t?[e,t]:[e]}async function Fn(e,t,n){let{transactionActionType:r,transactionMessageBytes:i}=e.data.payload.transactionPayload;if(r!=="execute"&&r!=="create_with_preauthorized_execution")throw new Error("Transaction action type must be 'execute' or 'create_with_preauthorized_execution'");let a=await W(e,t,n),[o]=await Promise.all([Bn()]),s=new Uint8Array(core.base64URLStringToBuffer(i)),c=new Map,d=await core.prepareTransactionBundle({compressed:a.settingsData.isCompressed,index:a.settingsIndexWithAddress.index,settingsAddressTreeIndex:a.settingsIndexWithAddress.settingsAddressTreeIndex,transactionMessageBytes:s,creator:a.transactionManagerSigner??a.signedSigner,executor:a.transactionManagerSigner?a.signedSigner:void 0,jitoBundlesTipAmount:o,payer:a.payer,cachedAccounts:c}),u=F(),I=d.map(O=>({...O,addressesByLookupTableAddress:O.addressesByLookupTableAddress?{...O.addressesByLookupTableAddress,...u}:u})),R=await core.signAndSendBundledTransactions(I);return core.pollJitoBundleConfirmation(R)}async function vn({rid:e,privateKey:t,providerOrigin:n=B}){let r=p().decode(new Uint8Array(await crypto.subtle.sign({name:"Ed25519"},t,new Uint8Array(zt().encode(e))))),i=await fetch(`${n}/api/getResult`,{method:"POST",body:JSON.stringify({rid:e,signature:r})});if(!i.ok)throw new Error((await i.json()).error);return await i.json()}async function wn(e,t=B,n=On){let{payload:r}=e.data,i=r.message,a=core.createMessageChallenge(i,r.clientSignature.clientOrigin,r.deviceSignature.publicKey,r.nonce),{verified:o}=await server.verifyAuthenticationResponse({response:r.authResponse,expectedChallenge:core.bufferToBase64URLString(a),expectedRPID:n,expectedOrigin:t,requireUserVerification:false,credential:{counter:0,id:r.authResponse.id,publicKey:core.convertPubkeyCompressedToCose(r.signer)}});if(!o)throw new Error("WebAuthn message verification failed");let s=await te(e),c=await core.getWalletAddressFromIndex(s.index);return {publicKey:r.signer,walletAddress:c,settingsIndexWithAddress:s,...r.additionalInfo}}async function He({privateKey:e,request:t,providerOrigin:n=B}){let r=core.createClientAuthorizationStartRequestChallenge(t),i=p().decode(new Uint8Array(await crypto.subtle.sign({name:"Ed25519"},e,new Uint8Array(r)))),a=await fetch(`${n}/api/startRequest`,{method:"POST",body:JSON.stringify({signature:i,request:t})});if(!a.ok)throw new Error((await a.json()).error);return await a.json()}async function zn(e,t,n){let{transactionActionType:r,transactionMessageBytes:i}=e.data.payload.transactionPayload;if(r!=="sync")throw new Error("Transaction action type must be 'sync'");let a=await W(e,t,n),o=ne(a.signedSigner,a.transactionManagerSigner),s=new Uint8Array(core.base64URLStringToBuffer(i)),c=new Map,{instructions:d,addressesByLookupTableAddress:u}=await core.prepareTransactionSync({compressed:a.settingsData.isCompressed,signers:o,payer:a.payer,transactionMessageBytes:s,index:a.settingsIndexWithAddress.index,settingsAddressTreeIndex:a.settingsIndexWithAddress.settingsAddressTreeIndex,cachedAccounts:c}),I=F(),R=u?{...u,...I}:I;return core.signAndSendTransaction({instructions:d,payer:a.payer,addressesByLookupTableAddress:R})}async function kn(e,t,n){let{transactionActionType:r,transactionMessageBytes:i,transactionAddress:a}=e.data.payload.transactionPayload;if(r!=="transfer_intent")throw new Error("Transaction action type must be 'transfer_intent'");let o=await W(e,t,n),s=new Uint8Array(core.base64URLStringToBuffer(i)),c=Ce().decode(s.slice(0,8)),d=f().decode(s.slice(8,40)),u=f().decode(s.slice(40,72)),I=ne(o.signedSigner,o.transactionManagerSigner),R=new Map,O=u!==x?await core.tokenTransferIntent({payer:o.payer,index:o.settingsIndexWithAddress.index,settingsAddressTreeIndex:o.settingsIndexWithAddress.settingsAddressTreeIndex,amount:c,signers:I,destination:d,mint:u,tokenProgram:T(a),compressed:o.settingsData.isCompressed,cachedAccounts:R}):await core.nativeTransferIntent({payer:o.payer,index:o.settingsIndexWithAddress.index,settingsAddressTreeIndex:o.settingsIndexWithAddress.settingsAddressTreeIndex,amount:c,signers:I,destination:d,compressed:o.settingsData.isCompressed,cachedAccounts:R});return core.signAndSendTransaction({instructions:O,payer:o.payer,addressesByLookupTableAddress:F()})}async function wy({request:e,privateKey:t,feePayer:n,providerOrigin:r,rpId:i}){let a=___default.default.union([Mn,core.StartMessageRequestSchema,Ln,yn]).parse(e);if(a.phase==="start"){let{data:d,signer:u}=a;if(d.type==="message"){let O=d.payload??Un({nonce:crypto.randomUUID()}),re={...a,signer:xn(a),data:{...d,payload:O}};return await He({request:re,privateKey:t,providerOrigin:r})}if(d.type!=="transaction")throw new Error(`Unsupported request type: ${d.type}`);if(!u||typeof u!="object"||!("settingsIndexWithAddress"in u))throw new Error("Transaction start request requires a User signer object");let{transactionPayload:I}=await Vc(d,u),R={phase:"start",redirectOrigin:a.redirectOrigin,signer:xn(a),data:{type:"transaction",payload:I}};return await He({request:R,providerOrigin:r,privateKey:t})}let o=await vn({rid:a.data.rid,providerOrigin:r,privateKey:t});if(o.data.type==="message")return {user:await wn({data:o.data},r,i)};let{transactionActionType:s}=o.data.payload.transactionPayload,c={phase:"complete",data:o.data};switch(s){case "transfer_intent":return {txSig:await kn(c,t,n)};case "sync":return {txSig:await zn(c,t,n)};case "execute":case "create_with_preauthorized_execution":return {txSig:await Fn(c,t,n)};default:throw new Error(`Unsupported transaction action type: ${s}`)}}function xn(e){return e.signer?typeof e.signer=="string"?e.signer:e.signer.publicKey:void 0}async function Vc(e,t){if(!e.payload||typeof e.payload!="object")throw new Error("Invalid transaction payload: payload must be an object");if(!e.payload.transactionMessageBytes||typeof e.payload.transactionMessageBytes!="string")throw new Error("Invalid transaction payload: transactionMessageBytes is required and must be a string");if(e.payload.transactionAddress&&e.payload.transactionActionType)return {transactionPayload:e.payload};if(!t.settingsIndexWithAddress||typeof t.settingsIndexWithAddress!="object")throw new Error("Invalid signer: settingsIndexWithAddress is required");let n=e.payload,r=t.settingsIndexWithAddress,i;try{i=new Uint8Array(core.base64URLStringToBuffer(n.transactionMessageBytes));}catch(I){throw new Error(`Invalid transaction message bytes: ${I instanceof Error?I.message:"Failed to decode base64"}`)}let[a,o]=await Promise.all([core.fetchSettingsAccountData(r.index,r.settingsAddressTreeIndex),core.getSettingsFromIndex(r.index)]),s=a.members.find(I=>I.role===core.UserRole.TransactionManager),d=await bn({signers:[Pn(),...s?[ve(f().decode(s.pubkey.key))]:[]],compressed:a.isCompressed,payer:ve(f().decode(crypto.getRandomValues(new Uint8Array(32)))),index:r.index,settingsAddressTreeIndex:r.settingsAddressTreeIndex,transactionMessageBytes:i,addressesByLookupTableAddress:F()})?s?"execute":"create_with_preauthorized_execution":"sync";return {transactionPayload:{transactionMessageBytes:n.transactionMessageBytes,transactionActionType:d,transactionAddress:o.toString()}}}Object.defineProperty(exports,"initialize",{enumerable:true,get:function(){return core.initialize}});exports.CompleteMessageRequestSchema=yn;exports.CompleteTransactionRequestSchema=Ln;exports.RevibaseProvider=pn;exports.StartTransactionRequestWithOptionalTypeSchema=Mn;exports.UserSchema=ac;exports.executeTransaction=Kd;exports.getRandomPayer=hn;exports.processClientAuthCallback=wy;exports.signIn=Hc;exports.transferTokens=NM;//# sourceMappingURL=index.cjs.map
9
9
  //# sourceMappingURL=index.cjs.map