require(`../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../../constants/chains.constants.cjs`),t=require(`../../../types/ethereum-network.types.cjs`),n=require(`../../pre-transaction/solana.cjs`);require(`../../../types/index.cjs`);let r=require(`@solana/web3.js`);var i=async(e,n,r)=>{let i=r??e.userKeys.getAccessKey();return(await e.getContractWithFetcher(n,t.ContractType.AccessTokenContract).hasToken(i))[0]},a=async(t,i,a)=>{let o=a??t.userKeys.getAccessKey(),{hinkalIdl:s,originalDeployer:c}=e.networkRegistry[i].contractData;if(!s||!c)throw Error(`missing hinkal data`);let l=new r.PublicKey(c),u=t.getSolanaProgram(s),d=n.getAccessTokenAccountPublicKey(BigInt(o),u.programId,l);if(!await u.provider.connection.getAccountInfo(d))return!1;let{isAdded:f}=await u.account.accesskeyAccount.fetch(d);return f},o=async(t,n,r)=>e.isTronLike(n)?!0:e.isSolanaLike(n)?a(t,n,r):i(t,n,r);exports.checkHinkalAccessToken=o;