8 lines
23 KiB
JavaScript
8 lines
23 KiB
JavaScript
import{a as rt}from"./chunk-NHWRF7PB.js";import{a as oe}from"./chunk-HGOKU3MY.js";import{b as st}from"./chunk-LZ5CMJWS.js";import{Y as Re}from"./chunk-4CRAVIXI.js";import{A as we,B as Be}from"./chunk-DHD6EQRZ.js";import{d as K,g as be,i as ot}from"./chunk-SN5KMB4Y.js";import{a as nt}from"./chunk-RBSWB7WT.js";import{g as ne,k as Pe,l as Ie,r as de}from"./chunk-JJLCPFOT.js";import{b as te}from"./chunk-BKENFTY2.js";import{a as Qe,e as et,f as Ee,r as D}from"./chunk-4FLAC4IK.js";import{o as _e}from"./chunk-64WUUNDB.js";import{Kb as ze,jb as $e,jc as Rt,wa as qe}from"./chunk-QY24TFF7.js";import{c as le,e as Bt}from"./chunk-Z36WOTFJ.js";import{b as pe}from"./chunk-BXKNNBFT.js";import{W as Ae,c as Ue}from"./chunk-TUSK34X6.js";import{c as b}from"./chunk-DS3RNNYF.js";import{a as tt}from"./chunk-J5JOI62E.js";import{$a as ue,Eb as Q,Gd as Ze,J as Xe,Jb as It,K as Ye,L as He,Ma as $,Na as At,Nc as Je,Pd as wt,S as Ge,Xa as z,ee as x,ia as Se,ib as Pt,ic as ee,od as bt,oe as me}from"./chunk-I5E2ION7.js";import{H as Fe,n as Y,y}from"./chunk-SQMXULWT.js";import{H as Ve,d as Ne,o as ce,r as je}from"./chunk-GQZAGQSC.js";import{a as Et}from"./chunk-3LLV5FBU.js";import{Z as We,f as Ke,ra as Ut}from"./chunk-GSIHKWLV.js";import{ka as q}from"./chunk-RC6UR2LL.js";import{b as ie}from"./chunk-BF2V36QE.js";import{f as v,o as A,p as k,q as E}from"./chunk-QTLWQ5AJ.js";A();E();var N=v(ie()),gt=v(Rt()),R=v(_e());Ut();Fe();Bt();Pt();me();Et();wt();bt();At();It();Se();A();E();var M=v(ie()),ge=v(_e());A();E();Se();function Dt(e,t,r,o,n=4){return(0,ge.useMemoizedFn)(async(s,u)=>{let i=0;for(let a=0;a<n;a++){let c=await e(s,void 0,{tempFeeRate:Number(u.expectedFeeRate)});if(!c.length)return[];i=c.reduce((l,p)=>l+p.coinAmount,0);let m=await t({inputs:c,outputs:[{address:r,amount:o}],dustSize:i});if(i-(m+Number(u.increaseFee))>o)return[!0,!1,c,m];if(i>o&&a===n-1)return m=i-o,[!1,!0,c,m]}return[]})}function at(e){let[t,r]=(0,M.useState)({}),[o,n]=(0,M.useState)(0),[s,u]=(0,M.useState)([]),[i,a]=(0,M.useState)(void 0),{mainCoinId:c,address:m,btcSpeedUpInfo:_,txHash:l}=e,p=c,d=K(p),f=nt(),T=(0,M.useMemo)(()=>_?.cpfpSpeedUpUtxo?.map(w=>`${w.txHash}-${w.vout}`),[_]),[,C]=rt({coinId:p,address:m,chainId:d?.chainId},{pollingInterval:20*1e3}),h=C?.minOutput||0,g=Te({coinId:p,fromAddr:m,output:[{to:m,value:h}],satBytes:t?.expectedFeeRate}),F=xe({coinId:p,address:m,walletId:f,utxoType:V.ACCELERATE_BTC_TX_UTXO,speedUpNeedUtxo:T}),{cancel:I}=(0,ge.useRequest)(async()=>{let w=await qe({address:m,coinId:p,txHash:l});r(w);let B=await F(0,void 0,{tempFeeRate:t.expectedFeeRate});u(B),a(void 0)},{pollingInterval:20*1e3,onError:w=>{a(w),I()}});(0,M.useEffect)(()=>{if(t?.expectedFeeRate&&s.length){let w=s.reduce((B,G)=>B+G.coinAmount,0);g({inputs:s,outputs:[{address:m,amount:h}],satBytes:t.expectedFeeRate,dustSize:w}).then(B=>{let G=He(B,Number(t.increaseFee),h);n(G)}).catch(B=>{throw B})}},[m,h,t,s,t?.expectedFeeRate]);let L=Dt(F,g,m,h);return[o,t,h,L,i]}A();E();var P=v(ie()),pt=v(_e()),dt=v(tt());Fe();me();A();E();var S=v(ie()),mt=v(_e()),ye=v(tt());Fe();me();Se();A();E();var U={"retina-border-basic":"_retina-border-basic_gm6nn_1",retinaBorderBasic:"_retina-border-basic_gm6nn_1",root:"_root_gm6nn_29",subTitle:"_subTitle_gm6nn_32",utxo:"_utxo_gm6nn_37",coin:"_coin_gm6nn_45",coinDetail:"_coinDetail_gm6nn_81",coinSymbol:"_coinSymbol_gm6nn_87",nftImage:"_nftImage_gm6nn_93",coinAmount:"_coinAmount_gm6nn_96",coinValue:"_coinValue_gm6nn_101",assetList:"_assetList_gm6nn_109",unresolvedTip:"_unresolvedTip_gm6nn_109",list:"_list_gm6nn_116",paddingTop:"_paddingTop_gm6nn_119",asset:"_asset_gm6nn_109",assetDetail:"_assetDetail_gm6nn_129",assetValue:"_assetValue_gm6nn_130",foldSwitch:"_foldSwitch_gm6nn_144",fold:"_fold_gm6nn_144"};var J=e=>[x.ARC_NFT,x.BRC_NFT,x.FRACTAL_ORDINAL,x.DRC_NFT,x.SRC_NFT].includes(e),lt=e=>J(e?.protocolId)?`${e.collectionName||""} ${e.inscriptionNumber||e.nftId||""}`:Qe(e.tokenAmount||"",{symbol:e.tokenSymbol||""}).value,_t=({asset:e,selectedCurrency:t,className:r})=>S.default.createElement(D.Text,{ellipsis:{tooltip:!0},className:r},Ge(e.usdAmount,0)?y("extension_defi_card_text_unknown_value"):et(Y.mul(e.usdAmount,t.usdToThisRate),{currencySign:t.symbol}).value),Kt=({assetList:e,assetUnknown:t,selectedCurrency:r})=>{let o=e.length>3,[n,{toggle:s}]=(0,mt.useBoolean)(o),u=n?e.slice(0,3):e,i=!!t?.length;return S.default.createElement(b.Box,{className:U.assetList},i&&S.default.createElement(D.Text,{className:U.unresolvedTip},y("extension_defi_mid_alert_utxo_not_decode",{asset:t.join(y("extension_wallet_text_punctuation_mark"))})),u?.length?S.default.createElement(b.Box,{className:(0,ye.default)(U.list,{[U.paddingTop]:!i})},u.map(a=>S.default.createElement(b.Box,{className:U.asset},S.default.createElement(D.Text,{ellipsis:{tooltip:!0},className:U.assetDetail},lt(a)),S.default.createElement(_t,{asset:a,className:U.assetValue,selectedCurrency:r})))):null,!!o&&S.default.createElement(b.Box,{align:b.ALIGN.center,className:(0,ye.default)(U.foldSwitch,{[U.fold]:n}),onClick:s},S.default.createElement(b.Box,null,y(n?"extension_defi_card_textbtn_view_all":"extension_defi_card_textbtn_view_less")),S.default.createElement(te,{className:"okx-wallet-plugin-add-arrow-chevrons"})))},Wt=({title:e,utxoList:t,selectedCurrency:r})=>S.default.createElement(b.Box,{className:U.root},S.default.createElement(D.Text,{className:U.subTitle},e),t.map(o=>{let{mainAsset:n,protocolAssetList:s,assetUnknown:u}=o;return S.default.createElement(b.Box,{className:U.utxo},S.default.createElement(b.Box,{className:U.coin},S.default.createElement(b.Box,{className:U.coinDetail},S.default.createElement(te,{className:(0,ye.default)(U.coinSymbol,{[U.nftImage]:J(n.protocolId)}),radius:!1,size:J(n.protocolId)?Ee.sm:Ee.xs,src:n.image,text:n.tokenSymbol}),S.default.createElement(D.Text,{ellipsis:{tooltip:!0},className:U.coinAmount},lt(n))),S.default.createElement(_t,{className:U.coinValue,asset:n,selectedCurrency:r})),S.default.createElement(Kt,{assetList:s,assetUnknown:u,selectedCurrency:r}))})),ve=Wt;A();E();var O={"retina-border-basic":"_retina-border-basic_5grf2_1",retinaBorderBasic:"_retina-border-basic_5grf2_1",root:"_root_5grf2_29",header:"_header_5grf2_35",back:"_back_5grf2_42",main:"_main_5grf2_45",title:"_title_5grf2_51",text:"_text_5grf2_87",checkBox:"_checkBox_5grf2_92",footerWrap:"_footerWrap_5grf2_95",tipMessage:"_tipMessage_5grf2_131",submitButton:"_submitButton_5grf2_135"};var Xt=({conflictAssetUtxo:e,unlockFeeUtxo:t,selectedCurrency:r,protocolId:o,onConfirm:n,onCancel:s,coin:u,psbtTitle:i=""})=>{let[a,c]=(0,P.useState)(!1),m=(0,P.useRef)(),[_,l]=(0,P.useState)(!1);return(0,pt.useMount)(()=>{l(st(m.current,"vertical"))}),P.default.createElement(b.Box,{className:O.root},P.default.createElement(b.Box,{className:O.header},P.default.createElement(te,{className:(0,dt.default)(O.back,"okds-arrow-chevron-left-centered-md"),onClick:s})),P.default.createElement(b.Box,{ref:m,className:O.main},P.default.createElement(b.Box,{className:O.title},P.default.createElement(D.Text,{className:O.text},y("extension_defi_top_title_confirm_use_utxo"))),!!e.length&&P.default.createElement(ve,{title:J(o)?y("extension_defi_top_subtitle_utxo_lose_all_assets_nft"):y("extension_defi_top_subtitle_utxo_lose_all_assets",{token:u.symbol}),utxoList:e,selectedCurrency:r}),!!t.length&&P.default.createElement(ve,{title:i||([x.ARC_20,x.RUNES,x.BRC_20,x.FRACTAL_BRC20,x.RUNEMAIN,x.FRACTAL_RUNES].includes(o)||J(o)?y("extension_defi_mid_subtitle_utxo_cover_fee_icu",{chainName:u?.chainName}):y("extension_defi_top_subtitle_use_utxo_lose_assets",{chainName:u?.chainName})),utxoList:t,selectedCurrency:r}),P.default.createElement(je,{className:O.checkBox,onChange:p=>{let d=p?.target?.checked;c(d)},checked:a},y("extension_defi_bot_checkbox_label_confirm_use_utxo"))),P.default.createElement(b.Box,{className:O.footerWrap},!a&&P.default.createElement(Ne,{desc:y(_?"extension_defi_bot_tips_slide_check_box":"extension_defi_bot_tips_confirm_check_box"),type:Ne.TYPE.info,closable:!1,className:O.tipMessage}),P.default.createElement(q,{block:!0,className:O.submitButton,disabled:!a,category:q.CATEGORY.fill,size:q.SIZE.lg,type:q.TYPE.highlight,onClick:n},y("extension_defi_bot_btn_continue"))))},ft=Xt;A();E();me();A();E();var V={TRANSFER:1,TRANSFER_NFT:2,COMPLETE:3,BRC20_CONVERTIBLE:4,NFT_REMOVAL:5,PSBT_DUMMY_OCCUPIED:6,EXPEND_ABLE:7,EXPEND_UNABLE:8,INSCRIPTION:9,BRC20S_CONVERTIBLE:4,NEW_INSCRIPTION:11,SPLIT_UTXO:13,INSCRIPTION_USE_NFT_UTXO:14,ACCELERATE_BTC_TX_UTXO:15},H={CAL_FEE:1,CONFIRM:2},W=546,X={INSCRIBE:1,PSBT:2,PSBT_MPC_UNSIGNED_LIST:21,PSBT_MPC_SIGNED_LIST:22,PSBT_MPC_UNSIGNED_BUY:23,PSBT_MPC_SIGNED_BUY:24,PSBT_MPC_UNSIGNED:25,PSBT_KEY_SCRIPT_PATH:3,PSBT_KEY_SCRIPT_PATH_BATCH:4,SRC20:101,RUNES:102,RUNEMAIN:103,ARC20:114,CAT20:115},Z={TRANSFER:1,PSBT:2,ACCELERATE:3};var Yt={BRC20:1,SRC20:101},ke=e=>{if(e===x.SRC_20)return X.SRC20;if(e===x.ARC_20)return X.ARC20;if(e===x.RUNES)return X.RUNES;if(e===x.RUNEMAIN||e===x.FRACTAL_RUNES)return X.RUNEMAIN;if(e===x.CAT_20)return X.CAT20},Ht=({data:e,nftLocaltionVOs:t},r)=>Array.isArray(e)&&e?.length?{data:e}:!r||!t?.[0]?.nftId||!Array.isArray(t)?{}:r===x.ARC_20?{data:t.map(({nftId:o,tokenType:n,value:s})=>({atomicalId:o,type:n,amount:s}))}:r===x.RUNES?{data:t.map(({nftId:o,value:n})=>({id:o,amount:n}))}:r===x.RUNEMAIN||r===x.FRACTAL_RUNES?{data:t.map(({nftId:o,value:n})=>({id:o,amount:n}))}:{},re=(e,t={},r)=>Array.isArray(e)?e.map(({txHash:o,vout:n,coinAmount:s,rawTransaction:u,...i})=>({vOut:n,amount:s,txId:o,rawTransaction:u,...Ht(i,r),...t})):[],xt=(e={},t,r)=>{let o=r===Yt.BRC20?"text/plain;charset=utf-8":"stamp:",n=e?.revealAddr,s=e?.contentType;return s||(s=o),n||(n=t),{...e,revealAddr:n,contentType:s}},Tt=({type:e,toAddr:t,fromAddr:r,satBytes:o,utxoList:n,privateKey:s,inscriptionData:u,inscriptionDataList:i,revealOutValue:a=W})=>({type:e,revealOutValue:a,changeAddress:r,commitFeeRate:o,revealFeeRate:o,commitTxPrevOutputList:re(n,{privateKey:s,address:r}),inscriptionData:xt(u,t||r,e),inscriptionDataList:i?.length?i.map(c=>xt(c,t||r,e)):void 0}),Gt=({changeAddr:e,toAddr:t,satBytes:r,utxoList:o=[],coinAmount:n,inputs:s,outputs:u,...i})=>({address:e,feePerB:r,inputs:re([...s||[],...o]),outputs:u||[{address:t,amount:n}],...i}),jt=({changeAddr:e,toAddr:t,satBytes:r,utxoList:o=[],coinAmount:n,inputs:s,outputs:u,protocolId:i,fromAddr:a,...c})=>{let m={feePerB:r,address:e,inputs:re([...s||[],...o],{address:a||e},i),outputs:u||[{address:t,amount:n}],...c};return i===x.RUNES&&Object.assign(m,{runeData:{etching:null,burn:!1}}),(i===x.RUNEMAIN||i===x.FRACTAL_RUNES)&&Object.assign(m,{runeData:{etching:null,burn:!1,useDefaultOutput:!1,defaultOutput:0}}),i===x.CAT_20&&Object.assign(m,{feeRate:r,changeAddress:e,toAddress:t,tokenAmount:n,verifyScript:!0}),m},Vt=e=>[x.SRC_20,x.ARC_20,x.RUNES,x.RUNEMAIN,x.FRACTAL_RUNES,x.CAT_20].includes(e),fe=({toAddr:e,changeAddr:t,satBytes:r,utxoList:o=[],coinAmount:n,inputs:s,outputs:u,protocolId:i,...a})=>Vt(i)?jt({toAddr:e,changeAddr:t,satBytes:r,utxoList:o,coinAmount:n,inputs:s,outputs:u,protocolId:i,...a}):Gt({toAddr:e,changeAddr:t,satBytes:r,utxoList:o,coinAmount:n,inputs:s,outputs:u,...a});var xe=e=>{let{coinId:t,address:r,walletId:o,utxoType:n,satBytes:s,utxoRequests:u=[],...i}=e,a=K(t),c=a?.baseCoinId||a?.coinId;return(0,R.useMemoizedFn)(async(m,_,l={})=>{let p={coinId:c,utxoRequests:[{address:r,coinAmount:m,serviceCharge:_,utxoType:n||V.TRANSFER,...i,...l},...u]};try{let{data:d}=await Q($?.getBTCUTXO,p,{walletSignParams:{needWalletSign:!0,walletId:o}}),{utxoList:f}=d?.[0]||{};return f}catch(d){return Promise.reject(d)}},[c,r,o,n,i])},Jt=[],it=(e,t)=>{let{ready:r=!0,refreshDeps:o=[],...n}=t||{},{coinAmount:s="0",networkFee:u="0",...i}=e||{},a=xe(i),c={debounceWait:500,ready:r&&i?.address&&i?.walletId,refreshDeps:[s,u,a,...o],...n},{error:m,loading:_,data:l}=(0,R.useRequest)(async()=>await a(s,u),c);return[_,l||Jt,m]},Le=()=>(0,R.useMemoizedFn)(async({coinId:e,baseCoinId:t,satBytes:r,addressList:o,walletId:n,utxoType:s,...u})=>{let i=Array.isArray(o)?o:[o],a={coinId:t,utxoRequests:i.map(c=>({address:c,coinAmount:0,serviceCharge:0,utxoType:s||V.TRANSFER,...u}))};try{let{data:c}=await Q($?.getBTCUTXO,a,{walletSignParams:{needWalletSign:!0,walletId:n}});return i.map(m=>{let{canTransferAmount:_}=c.find(l=>l.address===m);return _})}catch(c){return Promise.reject(c)}}),Lt=(e={},t)=>{let{address:r,coinId:o,...n}=e,{ready:s=!0,...u}=t||{},i=Le(),a=K(o),{loading:c,data:m,error:_}=(0,R.useRequest)(async()=>{try{return(await i({addressList:[r],baseCoinId:a.baseCoinId||o,coinId:o,...n}))?.[0]||"0"}catch{return"0"}},{ready:!!r&&s&&a?.baseCoinId!==void 0,...u});return[c,m,_]},vt=(e={},t)=>{let{addressList:r,coinId:o,...n}=e,{ready:s=!0,...u}=t||{},i=Le(),a=K(o),{loading:c,data:m,error:_}=(0,R.useRequest)(async()=>await i({addressList:r,baseCoinId:a.baseCoinId||o,coinId:o,...n}),{ready:Array.isArray(r)&&r?.length&&s&&a?.baseCoinId!==void 0,...u});return[c,m||[],_]},Zt=0,ct=()=>(0,R.useMemoizedFn)((e,t)=>(e||[]).some(o=>o.status===Zt)?new Promise((o,n)=>{let s=ce.warn({alignBottom:!1,title:y("extension_wallet_transaction_title_low_tradingfee"),text:y("extension_wallet_transaction_subtitle_low_tradingfee"),confirmText:y("wallet_extension_address_popup_btn_continue"),cancelText:y("wallet_extension_btn_general_cancel"),onCancel:()=>{s.destroy(),n(),t?.()},onConfirm:()=>{s.destroy(),o()}})}):Promise.resolve(),[]),qt=(e,t)=>{let[,r]=be(t);return(0,R.useMemoizedFn)(async o=>{if(r?.coinId!==Je)return Promise.resolve();let{data:n}=await Q($.checkWalletCommonPending,{address:e,coinId:t});return n?new Promise((s,u)=>{let i=ce.warn({alignBottom:!1,title:y("extension_defi_mid_title_reminder"),text:y("extension_defi_mid_subtitle_reminder_submit"),confirmText:y("extension_defi_mid_btn_cancel"),onConfirm:()=>{i.destroy(),u(),o?.()},cancelText:y("extension_defi_mid_btn_continue_submit"),onCancel:()=>{i.destroy(),s()}})}):Promise.resolve()})},$t=({address:e,coinId:t,protocolId:r,txType:o=Ue.TRANS_OUT,doubleConfirmSource:n=Z.TRANSFER})=>{let[s,u]=be(t,{withPrice:!0});s=s||{},u=u||{};let i=(0,gt.useSelector)(ze),{currencyId:a}=i,c=ot({currencyId:a});return(0,R.useMemoizedFn)(async m=>{let _={};return m.forEach(({txHash:l,resourceUrl:p})=>{_[l]=p}),new Promise((l,p)=>{(async()=>{try{let{data:{conflictAssetUtxo:d,unlockFeeUtxo:f}}=await Q($.doubleCheckUtxo,{utxoList:m.map(g=>{let F=We(g,["vout","nftId","txHash","status","coinAmount"]);return n!==Z.PSBT?F.unlockUtxo=g?.utxoStatusType===1:F.unlockUtxo=!0,F}),address:e,txType:o,coinId:t});if(!d?.length&&!f?.length){l();return}let T=d?.map(g=>{let[F,...I]=g.protocolAssetList;return F.image=_[g.txHash]||s.image,{...g,mainAsset:F,protocolAssetList:I}})||[],C=f?.map(g=>{let F=Ye(g.coinAmount,Y.pow(10,u.decimals||0));return g.mainAsset={tokenSymbol:u.symbol,tokenAmount:F,usdAmount:Xe(F,u.usdPrice||0),image:u.image},g})||[],h=ce.action({windowStyle:{width:"100%",height:"100%",maxHeight:"none"},alignBottom:!0,hideCloseBtn:!0,noContentPadding:!0,children:N.default.createElement(ft,{coin:s,selectedCurrency:i,coinToCurrencyFn:c,protocolId:r,conflictAssetUtxo:T,unlockFeeUtxo:C,txType:o,onConfirm:()=>{l(),h.destroy()},onCancel:()=>{p(new Error(Re)),h.destroy()},psbtTitle:n=Z.PSBT?y("extension_defi_top_toast_all_spent"):""})})}catch{Ve.error(y("extension_defi_toast_textarea_create_order_fail")),p(new Error(Re))}})()})})},kt=({address:e,coinId:t,currencyId:r,txType:o=Ue.TRANS_OUT,protocolId:n,doubleConfirmSource:s=Z.TRANSFER})=>{let u=$t({address:e,coinId:t,protocolId:n,txType:o,currencyId:r,doubleConfirmSource:s}),i=qt(e,t),a=ct();return(0,R.useMemoizedFn)(async(c,m=Ke)=>{try{return s===Z.TRANSFER&&(await i(m),await a(c,m)),await u(c),Promise.resolve()}catch(_){return Promise.reject(_)}})};function yt(e){return JSON.stringify({ecdsaShare2:$e(e)})}async function Ct(e,t,{share:r,pShare:o,mpcId:n,deriveIndex:s}){let{networks:u}=await ue(),i=oe(),a=await i.exec("inscribeForMPCUnsigned",[t,u.bitcoin]),{commitTx:c,signHashList:m}=a;t.commitTx=c;let _={currency:0,baseChain:ee,share:r,pShare:o,mpcId:n,signHashList:m,deriveIndex:s},l=await le().mpcSignTransaction(e,ee,_),p=JSON.parse(l).signatures;t.signatureList=p;let d=await i.exec("inscribeForMPCSigned",[t,u.bitcoin]);return delete d.signHashList,d}var Ko=e=>{let t=Ie(),r=de(),o=Pe(),n=(0,N.useCallback)((a,c,m="text/plain;charset=utf-8")=>{let _=[];return a.forEach(l=>{let p={...l};p.contentType||(p.contentType=m),p.revealAddr||(p.revealAddr=c),_.push(p)}),_},[]),s=(0,N.useCallback)(async a=>{let c=o(a),m=await le().getMpcShare(a,ee),{share:_,pShare:l}=m??{},{mpcId:p,publicKey:d,deriveIndex:f}=c?.addressType?.bitcoin?.find(T=>T?.addressType===c?.selectedAddressType?.bitcoin)||{};return{publicKey:d,share:_,pShare:l,mpcId:p,deriveIndex:f}},[]),u=(0,N.useCallback)(async(a,c)=>{let _=(await r(a))?.find(l=>l.address===c)?.privateKey;if(t){let{getRandomPrivateKey:l,getMidKey:p}=await z(),{networks:d,private2Wif:f}=await ue();if(e===H.CAL_FEE)return await l(0);if(e===H.CONFIRM){let{share:T}=await s(a),C=await p(yt(T),0);return f(k.Buffer.from(C),d.bitcoin)}}return _},[]);return(0,N.useCallback)(async({walletId:a,address:c,tx:m={},privateKey:_})=>{let l=_;l||(l=await u(a,c));let{publicKey:p}=await s(a),d=oe(),{commitTxPrevOutputList:f,commitFeeRate:T,revealFeeRate:C,inscriptionData:h,inscriptionDataList:g,revealOutValue:F=546,changeAddress:I=c,toAddr:L}=m,B={commitTxPrevOutputList:f.map(j=>({...j,privateKey:l,publicKey:p,address:c})),commitFeeRate:T,revealFeeRate:C||T,inscriptionData:h,inscriptionDataList:n(g,L||c),revealOutValue:F,changeAddress:I,type:1};if(e===H.CONFIRM&&t){let j=await s(a);return await Ct(a,B,j)}return await d.exec("signTransaction",[0,{data:B}])},[u,s,n,t,e])},Wo=e=>{let t=Ie(),r=de(),o=Pe(),n=(0,N.useCallback)(async i=>{let a=await le().getMpcShare(i,ee),c=o(i),{share:m,pShare:_}=a??{},{mpcId:l,publicKey:p,deriveIndex:d}=c?.addressType?.bitcoin?.find(f=>f?.addressType===c?.selectedAddressType?.bitcoin)||{};return{publicKey:p,share:m,pShare:_,mpcId:l,deriveIndex:d}},[]),s=(0,N.useCallback)(async(i,a)=>{let m=(await r(i))?.find(_=>_.address===a)?.privateKey;if(t){let{getRandomPrivateKey:_,getMidKey:l}=await z(),{networks:p,private2Wif:d}=await ue();if(e===H.CAL_FEE)return await _(0);if(e===H.CONFIRM){let{share:f}=await n(i),T=await l(yt(f),0);return d(k.Buffer.from(T),p.bitcoin)}}return m},[]);return(0,N.useCallback)(async({walletId:i,address:a,tx:c={},privateKey:m,mintType:_=Ae.parallel})=>{let l=m;l||(l=await s(i,a));let{publicKey:p}=await n(i),d=oe(),{input:f,outValue:T,inscriptions:C}=c,h=f.map(w=>({...w,privateKey:l,publicKey:p,address:a})),g={type:X.RUNEMAIN,inputs:h,outputs:[{address:a,amount:T,data:C[0]}],runeData:{etching:null,useDefaultOutput:!1,defaultOutput:0,burn:!1,mint:!0,mintNum:C.length,serialMint:_===Ae.serial},...c},{estimateFee:F}=await z(),I=await F(0,{data:g});if(C.length===1&&(I=[I]),e===H.CONFIRM&&t){let w=await n(i),B=await Ct(i,g,w);return{commitTx:B[0],revealTxs:B.slice(1),commitAddrs:[],commitTxFee:I[0],revealTxFees:I.slice(1)}}let L=await d.exec("signTransaction",[0,{data:g,privateKey:l}]);return C.length===1&&(L=[L]),{commitTx:L[0],revealTxs:L.slice(1),commitAddrs:[],commitTxFee:I[0],revealTxFees:I.slice(1)}},[s,n,t,e])},ht=({type:e,toAddr:t,fromAddr:r,walletId:o,satBytes:n,inscriptionData:s,inscriptionDataList:u,revealOutValue:i=790})=>{let a=ne(),c=o||a,m=de();return(0,N.useCallback)(async({utxoList:_})=>{let p=(await m(c)).find(({address:f})=>f===r)?.privateKey,d=Tt({type:e,toAddr:t,satBytes:n,fromAddr:r,utxoList:_,privateKey:p,revealOutValue:i,inscriptionData:s,inscriptionDataList:u});try{return await oe().exec("signTransaction",[0,{data:d}])}catch{throw Error("sign error")}},[m,c,e,t,n,r,i,s,u])},zt=({type:e,toAddr:t,fromAddr:r,walletId:o,satBytes:n,inscriptionData:s,inscriptionDataList:u,revealOutValue:i=W,onlyCommitTxFee:a})=>{let c=ht({type:e,toAddr:t,fromAddr:r,walletId:o,satBytes:n,revealOutValue:i,inscriptionData:s,inscriptionDataList:u});return(0,N.useCallback)(async({utxoList:m,..._})=>{let{commitTxFee:l,revealTxFees:p=[]}=await c({utxoList:m,..._});return a?l:{commitTxFee:l,totalRevealTxFee:(p||[]).reduce((d,f)=>Y.add(d,f),0)}},[a,c])},Qt=({type:e,coinId:t,fromAddr:r,toAddr:o,satBytes:n,coinAmount:s,protocolId:u})=>{let a=K(t)?.baseCoinId||t;return(0,N.useCallback)(async({utxoList:c,...m})=>{if(!Number(n))return Promise.reject();let{estimateFee:_}=await z(),l=fe({type:e,toAddr:o,utxoList:c,satBytes:n,coinAmount:s,protocolId:u,changeAddr:r,...m}),d=Ze({coinId:+a})?.coinType;try{return await _(d,{data:l,privateKey:""})}catch(f){return Promise.reject(f)}},[a,s,r,u,n,o,e])},Te=({coinId:e,fromAddr:t,toAddr:r,satBytes:o,coinAmount:n,protocolId:s,revealOutValue:u,inscriptionData:i,inscriptionDataList:a,...c})=>{let m=ke(s),_=Qt({coinId:e,satBytes:o,fromAddr:t,toAddr:r,coinAmount:n,protocolId:s,type:m,...c}),l=zt({coinId:e,toAddr:r,fromAddr:t,satBytes:o,coinAmount:n,protocolId:s,revealOutValue:u,inscriptionData:i,inscriptionDataList:a,type:m,onlyCommitTxFee:!0,...c});return s===x.SRC_20?l:_},Ot=(e,t)=>{let{coinId:r,walletId:o,toAddr:n,fromAddr:s,satBytes:u,networkFee:i,coinAmount:a,canTransferAmount:c,utxoParams:m={},inscriptionData:_,protocolId:l,inscriptionDataList:p,revealOutValue:d=W,inputs:f,...T}=e,C=K(r),h=C?.baseCoinId===0,g=l||C?.protocolId,{ready:F=!0,refreshDeps:I}=t||{},[L,{setTrue:w,setFalse:B}]=(0,R.useBoolean)(!1),[G,j]=(0,N.useState)(),Oe=ne(),Ft=o||Oe,[Ce,St]=(0,N.useState)(i),Me=Te({coinId:r,fromAddr:s,toAddr:n,satBytes:u,coinAmount:a,protocolId:g,revealOutValue:d,inscriptionData:_,inscriptionDataList:p}),De={coinAmount:a,networkFee:Ce||"0"};h&&c&&Y.gt(Y.add(a,Ce),c)&&(De={coinAmount:c,networkFee:0});let[Nt,se]=it({coinId:r,address:s,walletId:Ft,...De,...m},{refreshDeps:I,ready:h&&!!c&&F||!h&&F}),he=(0,N.useMemo)(()=>[...f||[],...se||[]],[f,se]);return(0,R.useDeepCompareEffect)(()=>{!Array.isArray(he)||!he?.length||(w(),Me({utxoList:he,...T}).then(ae=>{j(!1),St(ae),t?.onSuccess?.(ae,se)}).catch(ae=>{j(!0),t?.onError?.(ae)}).finally(()=>{B()}))},[se,T,Me]),[L||Nt,Ce,G]},en=({type:e,coinId:t,toAddr:r,walletId:o,fromAddr:n,changeAddr:s,satBytes:u,localType:i,coinAmount:a,networkFee:c,protocolId:m,dustSize:_=W,...l})=>{let p=ne(),d=o||p,f=pe(i),T=we({fromAddr:n,localType:f,walletId:d});return(0,N.useCallback)(async({utxoList:C,...h})=>{let g=fe({toAddr:r,satBytes:u,type:e,changeAddr:s||n,dustSize:_,coinAmount:a,utxoList:C,protocolId:m,...l,...h});return await T({params:g,...h})},[s,a,_,n,m,l,u,T,r,e])},ut=({coinId:e,toAddr:t,walletId:r,protocolId:o,fromAddr:n,changeAddr:s,satBytes:u,localType:i,coinAmount:a,networkFee:c,inscriptionData:m,inscriptionDataList:_,dustSize:l=W,...p})=>{let d=pe(i),f=ke(o),T=en({coinId:e,toAddr:t,walletId:r,fromAddr:n,changeAddr:s,satBytes:u,localType:d,coinAmount:a,networkFee:c,dustSize:l,protocolId:o,type:f,...p}),C=ht({toAddr:t,fromAddr:n,walletId:r,satBytes:u,protocolId:o,inscriptionData:m,inscriptionDataList:_,type:f,...p});return o===x.SRC_20?C:T},Mt=({coinId:e,toAddr:t,txType:r,fromAddr:o,satBytes:n,walletId:s,localType:u,networkFee:i,coinAmount:a,protocolId:c,dustSize:m=W,extraPublishParams:_={},...l})=>{let p=ne(),d=s||p,f=pe(u),T=ut({coinId:e,toAddr:t,walletId:s,fromAddr:o,satBytes:n,localType:f,coinAmount:a,networkFee:i,dustSize:m,protocolId:c,...l}),C=Be({coinId:e,txType:r,coinAmount:a,fromAddr:o,toAddr:t,localType:f,networkFee:i,walletId:d,extJson:JSON.stringify({protocolId:c}),..._});return(0,N.useCallback)(async({utxoList:h,...g})=>{let F=await T({utxoList:h,...g}),I=F;return c===x.SRC_20&&(I=F?.commitTx),await C(I)},[c,C,T])};export{at as a,V as b,H as c,W as d,Z as e,Ht as f,re as g,Vt as h,xe as i,it as j,Lt as k,vt as l,kt as m,Ko as n,Wo as o,Te as p,Ot as q,ut as r,Mt as s};
|
|
|
|
window.inOKXExtension = true;
|
|
window.inMiniApp = false;
|
|
window.ASSETS_BUILD_TYPE = "publish";
|
|
|
|
//# sourceMappingURL=chunk-TNEX36HU.js.map
|