Files
to_session/text/3.65.22_0/scripts/ui/chunk-77DN3L3V.js
Administrator a0720d80dc fefdwef
2025-11-12 12:54:37 +08:00

8 lines
5.1 KiB
JavaScript

import{a as R,b as z,c as C}from"./chunk-52LHB4XI.js";import{a as x}from"./chunk-OW3UQNCS.js";import{c as E}from"./chunk-6MDHMQQH.js";import{a as b}from"./chunk-SE3PRL6Z.js";import{e as p,f as d}from"./chunk-NQTLXTUD.js";import{i as K}from"./chunk-UPD2LWC3.js";import{U as S,W as L,X as N,u as P,v as I}from"./chunk-57GDHD25.js";import{a as W}from"./chunk-Z3XU47FL.js";import{f as O,o as B,p as w,q as A}from"./chunk-QTLWQ5AJ.js";B();A();var h=O(W());var u={getAccount:async({provider:a})=>{let s=a?.solana?.publicKey;return s||(s=(await a?.solana?.connect({onlyIfTrusted:!0}))?.publicKey),s?s?.toBase58():""},getSolanaConnection:()=>x({SolanaConnection:L}),getLatestBlockhash:async({from:a,to:s,isBlockHashFromRpc:t=!1})=>{let o,e;if(t){let n=await u.getSolanaConnection().getLatestBlockhash();o=n?.blockhash,e=n?.lastValidBlockHeight}else{let i=E(p.SOLANA_SIGNINFO,{address:a}),n=await d.post(i,{from:a,to:s});o=n?.data?.info?.recentBlockhash,e=n?.data?.info?.lastValidBlockHeight}return{recentBlockhash:o,lastValidBlockHeight:e}},signSolanaTransaction:async({payload:a,feePayer:s})=>{let{transaction:t,bizType:o,bizId:e=[],notReplaceBlockhash:i=!1}=a,n=null,r=()=>typeof a?.toJSON=="function"?a:a?.instruction,{recentBlockhash:l,lastValidBlockHeight:f}=await u.getLatestBlockhash({from:s,isBlockHashFromRpc:e?.length>0}),m=r();return m?(n=new P({feePayer:s,blockhash:l,lastValidBlockHeight:f}).add(m),n.recentBlockhash=l):t&&(i||(t?.version>=0?t.message.recentBlockhash=l:(t.signatures=[],t.recentBlockhash=l,t.lastValidBlockHeight=f),e.forEach(y=>{let c=C(o,y),g=N.fromSeed(c.slice(0,32));t?.version>=0?t.sign([g]):t.partialSign(g)})),n=t),n},signMessage:({provider:a,message:s})=>{let{solana:t}=a||{};return new Promise((o,e)=>{let i=new TextEncoder().encode(s);t.publicKey&&t.signMessage(i,"utf8").then(n=>{let r=Array.prototype.map.call(n.signature,l=>`00${l.toString(16)}`.slice(-2)).join("");o(r)}).catch(n=>{e(n)})})},signWcMessage:async({provider:a,address:s,message:t})=>{let{signature:o}=await a?.request({method:"solana_signMessage",params:{message:t,pubkey:s}},"solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ");return o},signAllTransactions:({provider:a,transactions:s})=>new Promise((t,o)=>{a?.solana?.signAllTransactions(s).then(e=>{t(e)}).catch(e=>{o(e)})}),preExecuteTrade:async({address:a,transaction:s})=>{let t;try{t=h.default.encode(s.serialize({requireAllSignatures:!1,verifySignatures:!1}))}catch(e){console.log("preExecuteTrade err: ",e)}if(!t)return Promise.resolve();let[,o]=await z(d.post(p.PRE_EXECUTE_TRADE,{checkTypes:[8],from:a,chainId:b.SOLANA,simulateTransactionParamList:[{sigVerify:!1,replaceRecentBlockhash:!0,transaction:t}]},{timeout:3e4}));if(o){let e=o[0]?.simulateTransactionResultList||[];if(e?.length>0&&!e[0]?.result)throw{code:R.PRE_TRADE,message:e[0]?.msg}}},sendTransaction:async({provider:a,payload:s,cb:t,extraParams:o,address:e})=>async function(){let{solana:i}=a||{},n=await u.signSolanaTransaction({provider:a,payload:s,feePayer:i.publicKey});if(!n)throw new Error("no transaction");o?.isNotNeedPreExecute||u.preExecuteTrade({address:e,transaction:n});try{console.log("solana transaction",n);let{signature:r}=await i.signAndSendTransaction(n,{},o);return t&&t(r),r}catch(r){throw console.log("solana transaction error",r),r}}(),signWcTransaction:async({provider:a,payload:s,asyncCb:t,address:o})=>{let e=await u.signSolanaTransaction({payload:s,feePayer:o}),i=[],n,r=[],l,f;if(e?.version>=0){let c=await u.getSolanaConnection(),g=e.message.addressTableLookups.map(async T=>{let M=await c.getAccountInfo(T.accountKey);return new S({key:T.accountKey,state:S.deserialize(M.data)})}),H=await Promise.all(g),k=I.decompile(e.message,{addressLookupTableAccounts:H});i=k.instructions,f=k.payerKey,n=k.payerKey?.toBase58(),r=[{pubkey:n,signature:null}],l=K.encode(e.serialize({requireAllSignatures:!1,verifySignatures:!1}))}else i=e.instructions,f=s.transaction.feePayer,n=s.transaction.feePayer?.toBase58(),r=e.signatures.map(c=>({pubkey:c.publicKey.toBase58(),signature:c.signature?h.default.encode(c.signature):null})),l=e.serialize({requireAllSignatures:!1,verifySignatures:!1}).toString("base64");t&&t({transaction:e,address:o});let m={recentBlockhash:e.recentBlockhash||e?.message?.recentBlockhash,feePayer:n,instructions:i.map(c=>({programId:c.programId.toBase58(),data:Array.from(c.data),keys:c.keys.map(g=>({isSigner:g.isSigner,isWritable:g.isWritable,pubkey:g.pubkey.toBase58()}))})),signatures:r,transaction:l},{signature:y}=await a?.request({method:"solana_signTransaction",params:m},"solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ");return e.addSignature(f,w.Buffer.from(h.default.decode(y))),e},sendWcTransaction:async({provider:a,payload:s,cb:t,extraParams:o,address:e})=>{let i={provider:a,payload:s,address:e,extraParams:o};o?.isNotNeedPreExecute||(i.asyncCb=u.preExecuteTrade);let n=await u.signWcTransaction(i),r=h.default.encode(n?.signature||n?.signatures[0]);return await d.post(p.BROAD_SOLANA_TRANSACTION,{signedTx:h.default.encode(n.serialize()),coinId:1800,fromAdr:e,txHash:r},{timeout:3e4,needSign:!0}),t&&t(r),r}},J=u;export{J as a};
window.inOKXExtension = true;
window.inMiniApp = false;
window.ASSETS_BUILD_TYPE = "publish";
//# sourceMappingURL=chunk-77DN3L3V.js.map