@rango-dev/provider-okx 0.64.1-next.0 → 0.64.1-next.2

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/mod.js CHANGED
@@ -1,2 +1,2 @@
1
- var Mo=Object.defineProperty;var e=(o,n)=>Mo(o,"name",{value:n,configurable:!0});import{defineVersions as kt}from"@hub3js/core/utils";import{ProviderBuilder as Lt}from"@hub3js/core";import{CAIP_ARBITRUM_CHAIN_ID as on,CAIP_AVAX_CHAIN_ID as nn,CAIP_BOBA_CHAIN_ID as tn,CAIP_BSC_CHAIN_ID as en,CAIP_CRONOS_CHAIN_ID as rn,CAIP_ETHEREUM_CHAIN_ID as cn,CAIP_FANTOM_CHAIN_ID as sn,CAIP_GNOSIS_CHAIN_ID as an,CAIP_HARMONY_CHAIN_ID as mn,CAIP_MOONBEAM_CHAIN_ID as dn,CAIP_MOONRIVER_CHAIN_ID as un,CAIP_OPTIMISM_CHAIN_ID as pn,CAIP_POLYGON_CHAIN_ID as ln,isEvmNamespace as fn}from"@hub3js/evm";import{isSolanaNamespace as An}from"@hub3js/solana";import{getChainIdFromCaip2ChainId as no}from"@hub3js/std/utils";import{isSuiNamespace as gn}from"@hub3js/sui";import{isTvmNamespace as En}from"@hub3js/tvm";import{isTronNamespace as Tn}from"@rango-dev/wallets-core/namespaces/tron";import{CAIP_BITCOIN_CHAIN_ID as hn,isUtxoNamespace as Cn}from"@rango-dev/wallets-core/namespaces/utxo";import{EVM_NAMESPACE as Go,SOLANA_NAMESPACE as Jo,UTXO_NAMESPACE as Yo,TON_NAMESPACE as $o,TRON_NAMESPACE as Qo}from"@hub3js/namespaces";import{dynamicImportWithRefinedError as k,getNetworkInstance as v}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as Zo,TransactionType as f}from"rango-types";import{DefaultSolanaSigner as Uo}from"@rango-dev/signer-solana";import{SignerError as Wo,SignerErrorCode as jo}from"rango-types";var S=class extends Uo{static{e(this,"OKXSolanaSigner")}constructor(n){super(n)}async signMessage(n){try{let{signature:t}=await this.provider.request({method:"signMessage",params:{message:n}});return t}catch(t){throw new Wo(jo.SIGN_TX_ERROR,void 0,t)}}};import{dynamicImportWithRefinedError as Ko}from"@rango-dev/wallets-shared";import{SignerError as y,SignerErrorCode as B,TonChainID as Vo}from"rango-types";import{utils as D}from"@hub3js/tvm";import{dynamicImportWithRefinedError as Xo}from"@rango-dev/wallets-shared";function T(o){return!!o&&o.event==="connect"&&Array.isArray(o.payload?.items)}e(T,"isTonConnectEventSuccess");function Ho(o){return typeof o=="object"&&o!==null&&"name"in o&&o.name==="ton_addr"&&"address"in o&&typeof o.address=="string"}e(Ho,"isTonAddressItemReply");var H;function K(o){H=o}e(K,"setEnvironments");function V(){let o=H?.tonConnectManifestUrl;if(!o)throw new Error("OKX TON requires a TonConnect manifest URL. Please provide it through the provider environments.");return o}e(V,"getTonConnectManifestUrl");var X=0;function I(){return X+=1,X.toString()}e(I,"nextTonRequestId");async function P(o){if(!T(o))return D.formatAccountsToCAIP([]);let n=o.payload.items.find(Ho);if(!n)return D.formatAccountsToCAIP([]);let{Address:t}=await Xo(async()=>await import("@ton/core")),r=t.parseRaw(n.address).toString({bounceable:!1,urlSafe:!0});return D.formatAccountsToCAIP([r])}e(P,"connectEventToCAIP");function qo(o){let n=o.error.code===x?B.REJECTED_BY_USER:B.SEND_TX_ERROR;return new y(n,o.error.message,o.error)}e(qo,"toSignerError");var _=class{static{e(this,"OKXTonSigner")}provider;constructor(n){this.provider=n}async signMessage(){throw y.UnimplementedError("signMessage")}async signAndSendTx(n){let{validUntil:t,network:r,from:a,messages:A}=n,{Address:i,Cell:u}=await Ko(async()=>await import("@ton/core")),g={valid_until:t,network:r??Vo.MAINNET,...a&&{from:i.parse(a).toRawString()},messages:A.map(({stateInit:s,payload:E,...ko})=>({...ko,...s!=null&&{stateInit:s},...E!=null&&{payload:E}}))};try{let s=await this.provider.send({method:"sendTransaction",params:[JSON.stringify(g)],id:I()});if("error"in s)throw qo(s);return{hash:u.fromBase64(s.result).hash().toString("hex")}}catch(s){throw s instanceof y?s:new y(B.SEND_TX_ERROR,void 0,s)}}};import{isBitcoinBlockchain as Fo}from"@rango-dev/wallets-shared";import{SignerError as zo}from"rango-types";var O=class{static{e(this,"OKXUTXOSigner")}provider;constructor(n){this.provider=n}async signMessage(){throw zo.UnimplementedError("signMessage")}async signAndSendTx(n){let{asset:t,psbt:r}=n;if(!r)throw new Error("No PSBT found to sign. Ensure a valid PSBT is provided.");if(!Fo(t.blockchain))throw new Error(`Signing ${t.blockchain} transaction is not implemented by the signer.`);let a=Buffer.from(r.unsignedPsbtBase64,"base64").toString("hex"),A=r.inputsToSign.flatMap(({address:i,signingIndexes:u})=>u.map(g=>({index:g,address:i})));try{let i=await this.provider.signPsbt(a,{autoFinalized:!0,toSignInputs:A});return{hash:await this.provider.pushPsbt(i)}}catch(i){throw new Error(i?.message||"Error during signing transaction")}}};import{EVM_NAMESPACE as q,SOLANA_NAMESPACE as F,TON_NAMESPACE as z,TRON_NAMESPACE as G,UTXO_NAMESPACE as J}from"@hub3js/namespaces";import{getInstanceOrThrow as Y}from"@hub3js/sui";function m(){let{okxwallet:o,okxTonWallet:n}=window;if(!o&&!n)return null;let t=new Map;return o&&t.set(q,o),o.solana&&t.set(F,o.solana),o.bitcoin&&t.set(J,o.bitcoin),n?.tonconnect&&t.set(z,n.tonconnect),o.tronLink&&t.set(G,o.tronLink),t}e(m,"okx");function $(){let o=m();if(!o)throw new Error("OKX Wallet is not injected. Please check your wallet.");return o}e($,"getInstanceOrThrow");function p(){let n=m()?.get(q);if(!n)throw new Error("OKX Wallet not injected or EVM not enabled. Please check your wallet.");return n}e(p,"evmOKX");function h(){let n=m()?.get(F);if(!n)throw new Error("OKX Wallet not injected or Solana not enabled. Please check your wallet.");return n}e(h,"solanaOKX");function C(){let n=m()?.get(J);if(!n)throw new Error("OKX Wallet not injected or Utxo not enabled. Please check your wallet.");return n}e(C,"bitcoinOKX");function l(){let n=m()?.get(z);if(!n)throw new Error("OKX Wallet not injected or TON not enabled. Please check your wallet.");return n}e(l,"tonOKX");function b(){let n=m()?.get(G);if(!n)throw new Error("OKX Wallet not injected or Tron not enabled. Please check your wallet.");return n}e(b,"tronOKX");function Q(){try{return Y(d)}catch{return null}}e(Q,"suiWalletInstance");function Z(){return Y(d)}e(Z,"suiWalletInstanceOrThrow");async function oo(){let n=await C().connect();if(n.error?.message)throw new Error(n.error.message);return n}e(oo,"getBitcoinAccounts");function L(o){if(typeof o!="object"||o===null)return!1;let n=o;return typeof n.message=="object"&&n.message!==null&&typeof n.message.action=="string"}e(L,"isOkxTronMessageEvent");async function M(o){let n=v(o,Go),t=v(o,Jo),r=v(o,Yo),a=v(o,$o),A=v(o,Qo),i=new Zo,{DefaultEvmSigner:u}=await k(async()=>await import("@rango-dev/signer-evm")),{DefaultTronSigner:g}=await k(async()=>await import("@rango-dev/signer-tron"));i.registerSigner(f.EVM,new u(n)),i.registerSigner(f.SOLANA,new S(t)),i.registerSigner(f.TRANSFER,new O(r)),i.registerSigner(f.TON,new _(a)),i.registerSigner(f.TRON,new g(A));let s=Q();if(s){let{DefaultSuiSigner:E}=await k(async()=>await import("@rango-dev/signer-sui"));i.registerSigner(f.SUI,new E(s))}return i}e(M,"getSigners");var c="okx",to=2,x=300,eo=200,ro=4001,d="OKX Wallet",bn=[cn,en,ln,sn,on,pn,rn,tn,an,dn,un,mn,nn],io={name:"OKX",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/okx/icon.svg",extensions:{chrome:"https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",brave:"https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",firefox:"https://addons.mozilla.org/en-US/firefox/addon/okexwallet",homepage:"https://www.okx.com/web3"},properties:[{name:"namespaces",value:{selection:"multiple",data:[{label:"EVM",value:"EVM",id:"ETH",isChainSupported:o=>fn(o)&&bn.includes(no(o))},{label:"Solana",value:"Solana",id:"SOLANA",isChainSupported:An},{label:"BTC",value:"UTXO",id:"BTC",isChainSupported:o=>Cn(o)&&no(o)===hn},{label:"Ton",value:"Ton",id:"TON",isChainSupported:En},{label:"Tron",value:"Tron",id:"TRON",isChainSupported:Tn},{label:"Sui",value:"Sui",id:"SUI",isChainSupported:gn}]}},{name:"signers",value:{getSigners:async()=>M($())}}]};import{NamespaceBuilder as vn}from"@hub3js/core";import{actions as N,builders as w,utils as wn}from"@hub3js/evm";import*as co from"@hub3js/std/builders";import{standardizeAndThrowError as Sn}from"@hub3js/std/operators";var[In,so]=w.changeAccountSubscriber(p).onSwitchAccount(o=>{o.payload.length||o.preventDefault()}).format(async(o,n)=>{let t=await o.request({method:"eth_chainId"});return wn.formatAccountsToCAIP(n.filter(Boolean),t)}).build(),Pn=w.connect().action(N.connect(p)).before(In).or(so).or(Sn).build(),yn=co.disconnect().before(()=>{p().disconnect()}).after(so).build(),_n=w.canSwitchNetwork().action(N.canSwitchNetwork()).build(),xn=w.canEagerConnect().action(N.canEagerConnect(p)).build(),On=w.getChainId().action(N.getChainId(p)).build(),ao=new vn("EVM",c).action(Pn).action(yn).action(xn).action(_n).action(On).build();import{ActionBuilder as Nn,NamespaceBuilder as Rn}from"@hub3js/core";import{actions as mo,builders as uo,utils as Dn}from"@hub3js/solana";import*as po from"@hub3js/std/builders";import{standardizeAndThrowError as Bn}from"@hub3js/std/operators";var[Ln,lo]=uo.changeAccountSubscriber(h).onSwitchAccount(o=>{o.payload||o.preventDefault()}).format(async(o,n)=>Dn.formatAccountsToCAIP(n?[n]:[])).build(),kn=uo.connect().action(mo.connect(h)).before(Ln).or(lo).or(Bn).build(),Mn=po.disconnect().before(()=>{h().disconnect()}).after(lo).build(),Un=new Nn("canEagerConnect").action(mo.canEagerConnect(h)).build(),fo=new Rn("Solana",c).action(kn).action(Mn).action(Un).build();import{NamespaceBuilder as qn}from"@hub3js/core";import*as go from"@hub3js/std/builders";import{standardizeAndThrowError as Fn}from"@hub3js/std/operators";import{builders as Eo}from"@hub3js/tvm";import"@hub3js/tvm";function Wn(o){return async()=>{let n=o(),t;try{t=await n.restoreConnection()}catch{}if((!t||!T(t))&&(t=await n.connect(to,{manifestUrl:V(),items:[{name:"ton_addr"}]})),!T(t))throw t.payload.code===x?new Error("User rejected the request."):new Error(`Couldn't connect to OKX TON. code: ${t.payload.code}, message: ${t.payload.message}`);let r=await P(t);if(!r.length)throw new Error("Couldn't find any TON address!");return r}}e(Wn,"connect");function jn(o){return async()=>{try{let n=await o().restoreConnection();return T(n)}catch{return!1}}}e(jn,"canEagerConnect");function Xn(o){return async()=>{try{await o().send({method:"disconnect",params:[],id:I()})}catch{}}}e(Xn,"disconnect");var R={connect:Wn,canEagerConnect:jn,disconnect:Xn};import{ChangeAccountSubscriberBuilder as Ao}from"@hub3js/std/hooks";import{utils as Hn}from"@hub3js/tvm";var Kn=e(o=>new Ao().getInstance(o).format(async n=>{try{let t=await n.restoreConnection();return await P(t)}catch{return Hn.formatAccountsToCAIP([])}}).addEventListener((n,t)=>{n.on("accountChanged",t)}).removeEventListener((n,t)=>{n.off("accountChanged",t)}),"changeAccountSubscriber"),Vn=e(o=>new Ao().getInstance(o).onSwitchAccount((n,t)=>{n.preventDefault(),t.action("disconnect")}).format(async()=>[]).addEventListener((n,t)=>{n.on("disconnect",t)}).removeEventListener((n,t)=>{n.off("disconnect",t)}),"disconnectSubscriber"),U={changeAccountSubscriber:Kn,disconnectSubscriber:Vn};var[zn,To]=U.changeAccountSubscriber(l).build(),[Gn,ho]=U.disconnectSubscriber(l).build(),Jn=Eo.connect().action(R.connect(l)).before(zn).before(Gn).or(ho).or(To).or(Fn).build(),Yn=go.disconnect().before(R.disconnect(l)).after(To).after(ho).build(),$n=Eo.canEagerConnect().action(R.canEagerConnect(l)).build(),Co=new qn("Ton",c).action(Jn).action(Yn).action($n).build();import{NamespaceBuilder as rt}from"@hub3js/core";import*as vo from"@hub3js/std/builders";import{standardizeAndThrowError as it}from"@hub3js/std/operators";import"@rango-dev/wallets-core/namespaces/tron";import{builders as wo}from"@rango-dev/wallets-core/namespaces/tron";import{utils as Qn}from"@rango-dev/wallets-core/namespaces/tron";var Zn=e(async()=>{let o=b(),n=await o.request({method:"tron_requestAccounts"});if(n?.code&&n.code!==eo)throw n.code===ro?new Error("User rejected the request."):new Error(n.message??"Failed to connect to OKX Wallet Tron.");return Qn.formatAccountsToCAIP([o.tronWeb.defaultAddress.base58])},"connect"),ot=e(async()=>{try{return!!b().ready}catch{return!1}},"canEagerConnect"),W={connect:Zn,canEagerConnect:ot};import{ChangeAccountSubscriberBuilder as nt}from"@hub3js/std/hooks";import{utils as tt}from"@rango-dev/wallets-core/namespaces/tron";var et=e(o=>new nt().getInstance(o).onSwitchAccount((n,t)=>{let r=n.payload?.data;if(!L(r)){n.preventDefault();return}let{action:a}=r.message;if(a==="disconnect"){n.preventDefault(),t.action("disconnect");return}(a!=="accountsChanged"||typeof r.message.data?.address!="string")&&n.preventDefault()}).format(async(n,t)=>{let r=t.data,a=L(r)&&r.message.action==="accountsChanged"?r.message.data?.address:void 0;if(typeof a!="string")throw new Error("No Tron address received from OKX Wallet.");return tt.formatAccountsToCAIP([a])}).addEventListener((n,t)=>{window.addEventListener("message",t)}).removeEventListener((n,t)=>{window.removeEventListener("message",t)}),"changeAccountSubscriber"),bo={changeAccountSubscriber:et};var[ct,So]=bo.changeAccountSubscriber(b).build(),st=wo.connect().action(W.connect).before(ct).or(So).or(it).build(),at=wo.canEagerConnect().action(W.canEagerConnect).build(),mt=vo.disconnect().after(So).build(),Io=new rt("Tron",c).action(st).action(mt).action(at).build();import{NamespaceBuilder as ut}from"@hub3js/core";import*as yo from"@hub3js/std/builders";import{standardizeAndThrowError as pt}from"@hub3js/std/operators";import{actions as lt,builders as _o,hooks as ft}from"@hub3js/sui";function dt(o){let n;return[t=>{let r=o();if(!r)throw new Error("Trying to subscribe to your Sui wallet, but seems its instance is not available.");n=r.features["standard:events"].on("disconnect",()=>{t.action("disconnect")})},(t,r)=>(typeof n=="function"&&n(),r)]}e(dt,"disconnectSubscriber");var Po={disconnectSubscriber:dt};var[At,xo]=ft.changeAccountSubscriber({name:d}),[gt,Oo]=Po.disconnectSubscriber(Z),Et=_o.canEagerConnect().action(lt.canEagerConnect({name:d})).build(),Tt=_o.connect({name:d}).before(At).before(gt).or(xo).or(Oo).or(pt).build(),ht=yo.disconnect().after(xo).after(Oo).build(),No=new ut("Sui",c).action(Tt).action(ht).action(Et).build();import{NamespaceBuilder as Pt}from"@hub3js/core";import*as Ro from"@hub3js/std/builders";import{standardizeAndThrowError as yt}from"@hub3js/std/operators";import{CAIP_BITCOIN_CHAIN_ID as _t,utils as xt}from"@rango-dev/wallets-core/namespaces/utxo";import{builders as Ot}from"@rango-dev/wallets-core/namespaces/utxo";import{ActionBuilder as Ct}from"@hub3js/core";import{ChangeAccountSubscriberBuilder as bt}from"@hub3js/std/hooks";import{CAIP_BITCOIN_CHAIN_ID as vt,utils as wt}from"@rango-dev/wallets-core/namespaces/utxo";var St=e(o=>new bt().getInstance(o).onSwitchAccount(n=>{n.payload?.address||n.preventDefault()}).format(async(n,t)=>wt.formatAccountsToCAIP(t?[t.address]:[],vt)).addEventListener((n,t)=>n.addListener("accountChanged",t)).removeEventListener((n,t)=>n.removeListener("accountChanged",t)),"changeAccountSubscriber");function It(o){return new Ct("canEagerConnect").action(async()=>{let n=o();try{return!!(await n.getAccounts()).length}catch{return!1}})}e(It,"canEagerConnect");var j={changeAccountSubscriber:St,canEagerConnect:It};var[Nt,Do]=j.changeAccountSubscriber(C).build(),Rt=j.canEagerConnect(C).build(),Dt=Ot.connect().action(async function(){let o=await oo();if(!o?.address)throw new Error("Couldn't find any address!");return xt.formatAccountsToCAIP([o.address],_t)}).before(Nt).or(Do).or(yt).build(),Bt=Ro.disconnect().before(()=>{C().disconnect()}).after(Do).build(),Bo=new Pt("UTXO",c).action(Dt).action(Bt).action(Rt).build();var Lo=e(()=>new Lt(c).init(function(o,n){K(n);let[,t]=o.state();m()&&(t("installed",!0),console.debug("[okx] instance detected.",o))}).config("metadata",io).add("solana",fo).add("evm",ao).add("utxo",Bo).add("ton",Co).add("tron",Io).add("sui",No).build(),"buildProvider");var ei=e(()=>kt().version("1.0.0",Lo()).build(),"versions");export{ei as versions};
1
+ var ko=Object.defineProperty;var e=(o,n)=>ko(o,"name",{value:n,configurable:!0});import{defineVersions as Dt}from"@hub3js/core/utils";import{ProviderBuilder as Rt}from"@hub3js/core";import{CAIP_ARBITRUM_CHAIN_ID as $o,CAIP_AVAX_CHAIN_ID as Qo,CAIP_BOBA_CHAIN_ID as Zo,CAIP_BSC_CHAIN_ID as on,CAIP_CRONOS_CHAIN_ID as nn,CAIP_ETHEREUM_CHAIN_ID as tn,CAIP_FANTOM_CHAIN_ID as en,CAIP_GNOSIS_CHAIN_ID as rn,CAIP_HARMONY_CHAIN_ID as sn,CAIP_MOONBEAM_CHAIN_ID as cn,CAIP_MOONRIVER_CHAIN_ID as an,CAIP_OPTIMISM_CHAIN_ID as mn,CAIP_POLYGON_CHAIN_ID as dn,isEvmNamespace as un}from"@hub3js/evm";import{isSolanaNamespace as pn}from"@hub3js/solana";import{getChainIdFromCaip2ChainId as oo}from"@hub3js/std/utils";import{isSuiNamespace as ln}from"@hub3js/sui";import{isTvmNamespace as fn}from"@hub3js/tvm";import{isTronNamespace as An}from"@rango-dev/wallets-core/namespaces/tron";import{CAIP_BITCOIN_CHAIN_ID as gn,isUtxoNamespace as En}from"@rango-dev/wallets-core/namespaces/utxo";import{EVM_NAMESPACE as qo,SOLANA_NAMESPACE as Fo,TON_NAMESPACE as zo,TRON_NAMESPACE as Go,UTXO_NAMESPACE as Jo}from"@hub3js/namespaces";import{getNetworkInstance as v}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as Yo,TransactionType as f}from"rango-types";import{DefaultSolanaSigner as Mo}from"@rango-dev/signer-solana";import{SignerError as Uo,SignerErrorCode as Wo}from"rango-types";var w=class extends Mo{static{e(this,"OKXSolanaSigner")}constructor(n){super(n)}async signMessage(n){try{let{signature:t}=await this.provider.request({method:"signMessage",params:{message:n}});return t}catch(t){throw new Uo(Wo.SIGN_TX_ERROR,void 0,t)}}};import{SignerError as _,SignerErrorCode as B,TonChainID as Xo}from"rango-types";import{utils as D}from"@hub3js/tvm";function T(o){return!!o&&o.event==="connect"&&Array.isArray(o.payload?.items)}e(T,"isTonConnectEventSuccess");function jo(o){return typeof o=="object"&&o!==null&&"name"in o&&o.name==="ton_addr"&&"address"in o&&typeof o.address=="string"}e(jo,"isTonAddressItemReply");var X;function H(o){X=o}e(H,"setEnvironments");function K(){let o=X?.tonConnectManifestUrl;if(!o)throw new Error("OKX TON requires a TonConnect manifest URL. Please provide it through the provider environments.");return o}e(K,"getTonConnectManifestUrl");var j=0;function P(){return j+=1,j.toString()}e(P,"nextTonRequestId");async function I(o){if(!T(o))return D.formatAccountsToCAIP([]);let n=o.payload.items.find(jo);if(!n)return D.formatAccountsToCAIP([]);let{Address:t}=await import("@ton/core"),r=t.parseRaw(n.address).toString({bounceable:!1,urlSafe:!0});return D.formatAccountsToCAIP([r])}e(I,"connectEventToCAIP");function Ho(o){let n=o.error.code===x?B.REJECTED_BY_USER:B.SEND_TX_ERROR;return new _(n,o.error.message,o.error)}e(Ho,"toSignerError");var y=class{static{e(this,"OKXTonSigner")}provider;constructor(n){this.provider=n}async signMessage(){throw _.UnimplementedError("signMessage")}async signAndSendTx(n){let{validUntil:t,network:r,from:a,messages:A}=n,{Address:i,Cell:u}=await import("@ton/core"),g={valid_until:t,network:r??Xo.MAINNET,...a&&{from:i.parse(a).toRawString()},messages:A.map(({stateInit:c,payload:E,...Lo})=>({...Lo,...c!=null&&{stateInit:c},...E!=null&&{payload:E}}))};try{let c=await this.provider.send({method:"sendTransaction",params:[JSON.stringify(g)],id:P()});if("error"in c)throw Ho(c);return{hash:u.fromBase64(c.result).hash().toString("hex")}}catch(c){throw c instanceof _?c:new _(B.SEND_TX_ERROR,void 0,c)}}};import{isBitcoinBlockchain as Ko}from"@rango-dev/wallets-shared";import{SignerError as Vo}from"rango-types";var O=class{static{e(this,"OKXUTXOSigner")}provider;constructor(n){this.provider=n}async signMessage(){throw Vo.UnimplementedError("signMessage")}async signAndSendTx(n){let{asset:t,psbt:r}=n;if(!r)throw new Error("No PSBT found to sign. Ensure a valid PSBT is provided.");if(!Ko(t.blockchain))throw new Error(`Signing ${t.blockchain} transaction is not implemented by the signer.`);let a=Buffer.from(r.unsignedPsbtBase64,"base64").toString("hex"),A=r.inputsToSign.flatMap(({address:i,signingIndexes:u})=>u.map(g=>({index:g,address:i})));try{let i=await this.provider.signPsbt(a,{autoFinalized:!0,toSignInputs:A});return{hash:await this.provider.pushPsbt(i)}}catch(i){throw new Error(i?.message||"Error during signing transaction")}}};import{EVM_NAMESPACE as V,SOLANA_NAMESPACE as q,TON_NAMESPACE as F,TRON_NAMESPACE as z,UTXO_NAMESPACE as G}from"@hub3js/namespaces";import{getInstanceOrThrow as J}from"@hub3js/sui";function m(){let{okxwallet:o,okxTonWallet:n}=window;if(!o&&!n)return null;let t=new Map;return o&&t.set(V,o),o.solana&&t.set(q,o.solana),o.bitcoin&&t.set(G,o.bitcoin),n?.tonconnect&&t.set(F,n.tonconnect),o.tronLink&&t.set(z,o.tronLink),t}e(m,"okx");function Y(){let o=m();if(!o)throw new Error("OKX Wallet is not injected. Please check your wallet.");return o}e(Y,"getInstanceOrThrow");function p(){let n=m()?.get(V);if(!n)throw new Error("OKX Wallet not injected or EVM not enabled. Please check your wallet.");return n}e(p,"evmOKX");function C(){let n=m()?.get(q);if(!n)throw new Error("OKX Wallet not injected or Solana not enabled. Please check your wallet.");return n}e(C,"solanaOKX");function h(){let n=m()?.get(G);if(!n)throw new Error("OKX Wallet not injected or Utxo not enabled. Please check your wallet.");return n}e(h,"bitcoinOKX");function l(){let n=m()?.get(F);if(!n)throw new Error("OKX Wallet not injected or TON not enabled. Please check your wallet.");return n}e(l,"tonOKX");function b(){let n=m()?.get(z);if(!n)throw new Error("OKX Wallet not injected or Tron not enabled. Please check your wallet.");return n}e(b,"tronOKX");function $(){try{return J(d)}catch{return null}}e($,"suiWalletInstance");function Q(){return J(d)}e(Q,"suiWalletInstanceOrThrow");async function Z(){let n=await h().connect();if(n.error?.message)throw new Error(n.error.message);return n}e(Z,"getBitcoinAccounts");function L(o){if(typeof o!="object"||o===null)return!1;let n=o;return typeof n.message=="object"&&n.message!==null&&typeof n.message.action=="string"}e(L,"isOkxTronMessageEvent");async function k(o){let n=v(o,qo),t=v(o,Fo),r=v(o,Jo),a=v(o,zo),A=v(o,Go),i=new Yo,{DefaultEvmSigner:u}=await import("@rango-dev/signer-evm"),{DefaultTronSigner:g}=await import("@rango-dev/signer-tron");i.registerSigner(f.EVM,new u(n)),i.registerSigner(f.SOLANA,new w(t)),i.registerSigner(f.TRANSFER,new O(r)),i.registerSigner(f.TON,new y(a)),i.registerSigner(f.TRON,new g(A));let c=$();if(c){let{DefaultSuiSigner:E}=await import("@rango-dev/signer-sui");i.registerSigner(f.SUI,new E(c))}return i}e(k,"getSigners");var s="okx",no=2,x=300,to=200,eo=4001,d="OKX Wallet",Tn=[tn,on,dn,en,$o,mn,nn,Zo,rn,cn,an,sn,Qo],ro={name:"OKX",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/okx/icon.svg",extensions:{chrome:"https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",brave:"https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",firefox:"https://addons.mozilla.org/en-US/firefox/addon/okexwallet",homepage:"https://www.okx.com/web3"},properties:[{name:"namespaces",value:{selection:"multiple",data:[{label:"EVM",value:"EVM",id:"ETH",isChainSupported:o=>un(o)&&Tn.includes(oo(o))},{label:"Solana",value:"Solana",id:"SOLANA",isChainSupported:pn},{label:"BTC",value:"UTXO",id:"BTC",isChainSupported:o=>En(o)&&oo(o)===gn},{label:"Ton",value:"Ton",id:"TON",isChainSupported:fn},{label:"Tron",value:"Tron",id:"TRON",isChainSupported:An},{label:"Sui",value:"Sui",id:"SUI",isChainSupported:ln}]}},{name:"signers",value:{getSigners:async()=>k(Y())}}]};import{NamespaceBuilder as Cn}from"@hub3js/core";import{actions as N,builders as S,utils as hn}from"@hub3js/evm";import*as io from"@hub3js/std/builders";import{standardizeAndThrowError as bn}from"@hub3js/std/operators";var[vn,so]=S.changeAccountSubscriber(p).onSwitchAccount(o=>{o.payload.length||o.preventDefault()}).format(async(o,n)=>{let t=await o.request({method:"eth_chainId"});return hn.formatAccountsToCAIP(n.filter(Boolean),t)}).build(),Sn=S.connect().action(N.connect(p)).before(vn).or(so).or(bn).build(),wn=io.disconnect().before(()=>{p().disconnect()}).after(so).build(),Pn=S.canSwitchNetwork().action(N.canSwitchNetwork()).build(),In=S.canEagerConnect().action(N.canEagerConnect(p)).build(),_n=S.getChainId().action(N.getChainId(p)).build(),co=new Cn("EVM",s).action(Sn).action(wn).action(In).action(Pn).action(_n).build();import{ActionBuilder as yn,NamespaceBuilder as xn}from"@hub3js/core";import{actions as ao,builders as mo,utils as On}from"@hub3js/solana";import*as uo from"@hub3js/std/builders";import{standardizeAndThrowError as Nn}from"@hub3js/std/operators";var[Rn,po]=mo.changeAccountSubscriber(C).onSwitchAccount(o=>{o.payload||o.preventDefault()}).format(async(o,n)=>On.formatAccountsToCAIP(n?[n]:[])).build(),Dn=mo.connect().action(ao.connect(C)).before(Rn).or(po).or(Nn).build(),Bn=uo.disconnect().before(()=>{C().disconnect()}).after(po).build(),Ln=new yn("canEagerConnect").action(ao.canEagerConnect(C)).build(),lo=new xn("Solana",s).action(Dn).action(Bn).action(Ln).build();import{NamespaceBuilder as Mn}from"@hub3js/core";import*as Ao from"@hub3js/std/builders";import{standardizeAndThrowError as Un}from"@hub3js/std/operators";import{actions as Wn,builders as go,hooks as jn}from"@hub3js/sui";function kn(o){let n;return[t=>{let r=o();if(!r)throw new Error("Trying to subscribe to your Sui wallet, but seems its instance is not available.");n=r.features["standard:events"].on("disconnect",()=>{t.action("disconnect")})},(t,r)=>(typeof n=="function"&&n(),r)]}e(kn,"disconnectSubscriber");var fo={disconnectSubscriber:kn};var[Xn,Eo]=jn.changeAccountSubscriber({name:d}),[Hn,To]=fo.disconnectSubscriber(Q),Kn=go.canEagerConnect().action(Wn.canEagerConnect({name:d})).build(),Vn=go.connect({name:d}).before(Xn).before(Hn).or(Eo).or(To).or(Un).build(),qn=Ao.disconnect().after(Eo).after(To).build(),Co=new Mn("Sui",s).action(Vn).action(qn).action(Kn).build();import{NamespaceBuilder as Qn}from"@hub3js/core";import*as bo from"@hub3js/std/builders";import{standardizeAndThrowError as Zn}from"@hub3js/std/operators";import{builders as vo}from"@hub3js/tvm";import"@hub3js/tvm";function Fn(o){return async()=>{let n=o(),t;try{t=await n.restoreConnection()}catch{}if((!t||!T(t))&&(t=await n.connect(no,{manifestUrl:K(),items:[{name:"ton_addr"}]})),!T(t))throw t.payload.code===x?new Error("User rejected the request."):new Error(`Couldn't connect to OKX TON. code: ${t.payload.code}, message: ${t.payload.message}`);let r=await I(t);if(!r.length)throw new Error("Couldn't find any TON address!");return r}}e(Fn,"connect");function zn(o){return async()=>{try{let n=await o().restoreConnection();return T(n)}catch{return!1}}}e(zn,"canEagerConnect");function Gn(o){return async()=>{try{await o().send({method:"disconnect",params:[],id:P()})}catch{}}}e(Gn,"disconnect");var R={connect:Fn,canEagerConnect:zn,disconnect:Gn};import{ChangeAccountSubscriberBuilder as ho}from"@hub3js/std/hooks";import{utils as Jn}from"@hub3js/tvm";var Yn=e(o=>new ho().getInstance(o).format(async n=>{try{let t=await n.restoreConnection();return await I(t)}catch{return Jn.formatAccountsToCAIP([])}}).addEventListener((n,t)=>{n.on("accountChanged",t)}).removeEventListener((n,t)=>{n.off("accountChanged",t)}),"changeAccountSubscriber"),$n=e(o=>new ho().getInstance(o).onSwitchAccount((n,t)=>{n.preventDefault(),t.action("disconnect")}).format(async()=>[]).addEventListener((n,t)=>{n.on("disconnect",t)}).removeEventListener((n,t)=>{n.off("disconnect",t)}),"disconnectSubscriber"),M={changeAccountSubscriber:Yn,disconnectSubscriber:$n};var[ot,So]=M.changeAccountSubscriber(l).build(),[nt,wo]=M.disconnectSubscriber(l).build(),tt=vo.connect().action(R.connect(l)).before(ot).before(nt).or(wo).or(So).or(Zn).build(),et=bo.disconnect().before(R.disconnect(l)).after(So).after(wo).build(),rt=vo.canEagerConnect().action(R.canEagerConnect(l)).build(),Po=new Qn("Ton",s).action(tt).action(et).action(rt).build();import{NamespaceBuilder as ut}from"@hub3js/core";import*as _o from"@hub3js/std/builders";import{standardizeAndThrowError as pt}from"@hub3js/std/operators";import"@rango-dev/wallets-core/namespaces/tron";import{builders as yo}from"@rango-dev/wallets-core/namespaces/tron";import{utils as it}from"@rango-dev/wallets-core/namespaces/tron";var st=e(async()=>{let o=b(),n=await o.request({method:"tron_requestAccounts"});if(n?.code&&n.code!==to)throw n.code===eo?new Error("User rejected the request."):new Error(n.message??"Failed to connect to OKX Wallet Tron.");return it.formatAccountsToCAIP([o.tronWeb.defaultAddress.base58])},"connect"),ct=e(async()=>{try{return!!b().ready}catch{return!1}},"canEagerConnect"),U={connect:st,canEagerConnect:ct};import{ChangeAccountSubscriberBuilder as at}from"@hub3js/std/hooks";import{utils as mt}from"@rango-dev/wallets-core/namespaces/tron";var dt=e(o=>new at().getInstance(o).onSwitchAccount((n,t)=>{let r=n.payload?.data;if(!L(r)){n.preventDefault();return}let{action:a}=r.message;if(a==="disconnect"){n.preventDefault(),t.action("disconnect");return}(a!=="accountsChanged"||typeof r.message.data?.address!="string")&&n.preventDefault()}).format(async(n,t)=>{let r=t.data,a=L(r)&&r.message.action==="accountsChanged"?r.message.data?.address:void 0;if(typeof a!="string")throw new Error("No Tron address received from OKX Wallet.");return mt.formatAccountsToCAIP([a])}).addEventListener((n,t)=>{window.addEventListener("message",t)}).removeEventListener((n,t)=>{window.removeEventListener("message",t)}),"changeAccountSubscriber"),Io={changeAccountSubscriber:dt};var[lt,xo]=Io.changeAccountSubscriber(b).build(),ft=yo.connect().action(U.connect).before(lt).or(xo).or(pt).build(),At=yo.canEagerConnect().action(U.canEagerConnect).build(),gt=_o.disconnect().after(xo).build(),Oo=new ut("Tron",s).action(ft).action(gt).action(At).build();import{NamespaceBuilder as St}from"@hub3js/core";import*as No from"@hub3js/std/builders";import{standardizeAndThrowError as wt}from"@hub3js/std/operators";import{CAIP_BITCOIN_CHAIN_ID as Pt,utils as It}from"@rango-dev/wallets-core/namespaces/utxo";import{builders as _t}from"@rango-dev/wallets-core/namespaces/utxo";import{ActionBuilder as Et}from"@hub3js/core";import{ChangeAccountSubscriberBuilder as Tt}from"@hub3js/std/hooks";import{CAIP_BITCOIN_CHAIN_ID as Ct,utils as ht}from"@rango-dev/wallets-core/namespaces/utxo";var bt=e(o=>new Tt().getInstance(o).onSwitchAccount(n=>{n.payload?.address||n.preventDefault()}).format(async(n,t)=>ht.formatAccountsToCAIP(t?[t.address]:[],Ct)).addEventListener((n,t)=>n.addListener("accountChanged",t)).removeEventListener((n,t)=>n.removeListener("accountChanged",t)),"changeAccountSubscriber");function vt(o){return new Et("canEagerConnect").action(async()=>{let n=o();try{return!!(await n.getAccounts()).length}catch{return!1}})}e(vt,"canEagerConnect");var W={changeAccountSubscriber:bt,canEagerConnect:vt};var[yt,Ro]=W.changeAccountSubscriber(h).build(),xt=W.canEagerConnect(h).build(),Ot=_t.connect().action(async function(){let o=await Z();if(!o?.address)throw new Error("Couldn't find any address!");return It.formatAccountsToCAIP([o.address],Pt)}).before(yt).or(Ro).or(wt).build(),Nt=No.disconnect().before(()=>{h().disconnect()}).after(Ro).build(),Do=new St("UTXO",s).action(Ot).action(Nt).action(xt).build();var Bo=e(()=>new Rt(s).init(function(o,n){H(n);let[,t]=o.state();m()&&(t("installed",!0),console.debug("[okx] instance detected.",o))}).config("metadata",ro).add("solana",lo).add("evm",co).add("utxo",Do).add("ton",Po).add("tron",Oo).add("sui",Co).build(),"buildProvider");var Qr=e(()=>Dt().version("1.0.0",Bo()).build(),"versions");export{Qr as versions};
2
2
  //# sourceMappingURL=mod.js.map
package/dist/mod.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/mod.ts", "../src/provider.ts", "../src/constants.ts", "../src/signer.ts", "../src/signers/solana.ts", "../src/signers/ton.ts", "../src/namespaces/ton/utils.ts", "../src/signers/utxo.ts", "../src/utils.ts", "../src/namespaces/evm.ts", "../src/namespaces/solana.ts", "../src/namespaces/ton/ton.ts", "../src/actions/ton.ts", "../src/builders/ton.ts", "../src/namespaces/tron.ts", "../src/actions/tron.ts", "../src/builders/tron.ts", "../src/namespaces/sui.ts", "../src/hooks/sui.ts", "../src/namespaces/utxo.ts", "../src/builders/utxo.ts"],
4
- "sourcesContent": ["import { defineVersions } from '@hub3js/core/utils';\n\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions().version('1.0.0', buildProvider()).build();\n\nexport { versions };\n", "import type { Environments } from './namespaces/ton/types.js';\n\nimport { ProviderBuilder } from '@hub3js/core';\n\nimport { metadata, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { solana } from './namespaces/solana.js';\nimport { ton } from './namespaces/ton/ton.js';\nimport { setEnvironments } from './namespaces/ton/utils.js';\nimport { tron } from './namespaces/tron.js';\nimport { sui } from './namespaces/sui.js';\nimport { utxo } from './namespaces/utxo.js';\nimport { okx as okxInstance } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context, environments?: Environments) {\n setEnvironments(environments);\n const [, setState] = context.state();\n\n if (okxInstance()) {\n setState('installed', true);\n console.debug('[okx] instance detected.', context);\n }\n })\n .config('metadata', metadata)\n .add('solana', solana)\n .add('evm', evm)\n .add('utxo', utxo)\n .add('ton', ton)\n .add('tron', tron)\n .add('sui', sui)\n\n .build();\n\nexport { buildProvider };\n", "import type { ProviderMetadata } from '@hub3js/core';\n\nimport {\n CAIP_ARBITRUM_CHAIN_ID,\n CAIP_AVAX_CHAIN_ID,\n CAIP_BOBA_CHAIN_ID,\n CAIP_BSC_CHAIN_ID,\n CAIP_CRONOS_CHAIN_ID,\n CAIP_ETHEREUM_CHAIN_ID,\n CAIP_FANTOM_CHAIN_ID,\n CAIP_GNOSIS_CHAIN_ID,\n CAIP_HARMONY_CHAIN_ID,\n CAIP_MOONBEAM_CHAIN_ID,\n CAIP_MOONRIVER_CHAIN_ID,\n CAIP_OPTIMISM_CHAIN_ID,\n CAIP_POLYGON_CHAIN_ID,\n isEvmNamespace,\n} from '@hub3js/evm';\nimport { isSolanaNamespace } from '@hub3js/solana';\nimport { getChainIdFromCaip2ChainId } from '@hub3js/std/utils';\nimport { isSuiNamespace } from '@hub3js/sui';\nimport { isTvmNamespace } from '@hub3js/tvm';\nimport { isTronNamespace } from '@rango-dev/wallets-core/namespaces/tron';\nimport {\n CAIP_BITCOIN_CHAIN_ID,\n isUtxoNamespace,\n} from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const WALLET_ID = 'okx';\n\nexport const TON_CONNECT_PROTOCOL_VERSION = 2;\nexport const TON_CONNECT_USER_REJECTED_CODE = 300;\n\nexport const TRON_OK_REQUEST_CODE = 200;\n// EIP-1193 user-rejected-request code returned by `tron_requestAccounts`.\nexport const TRON_USER_REJECTION_CODE = 4001;\n\nexport const WALLET_NAME_IN_WALLET_STANDARD = 'OKX Wallet';\n\nexport const EVM_SUPPORTED_CHAINS = [\n CAIP_ETHEREUM_CHAIN_ID,\n CAIP_BSC_CHAIN_ID,\n CAIP_POLYGON_CHAIN_ID,\n CAIP_FANTOM_CHAIN_ID,\n CAIP_ARBITRUM_CHAIN_ID,\n CAIP_OPTIMISM_CHAIN_ID,\n CAIP_CRONOS_CHAIN_ID,\n CAIP_BOBA_CHAIN_ID,\n CAIP_GNOSIS_CHAIN_ID,\n CAIP_MOONBEAM_CHAIN_ID,\n CAIP_MOONRIVER_CHAIN_ID,\n CAIP_HARMONY_CHAIN_ID,\n CAIP_AVAX_CHAIN_ID,\n];\n\nexport const metadata: ProviderMetadata = {\n name: 'OKX',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/okx/icon.svg',\n extensions: {\n chrome:\n 'https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge',\n brave:\n 'https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge',\n firefox: 'https://addons.mozilla.org/en-US/firefox/addon/okexwallet',\n homepage: 'https://www.okx.com/web3',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'multiple',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n isChainSupported: (chainId: string) =>\n isEvmNamespace(chainId) &&\n EVM_SUPPORTED_CHAINS.includes(\n getChainIdFromCaip2ChainId(chainId)\n ),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n isChainSupported: isSolanaNamespace,\n },\n {\n label: 'BTC',\n value: 'UTXO',\n id: 'BTC',\n isChainSupported: (chainId: string) =>\n isUtxoNamespace(chainId) &&\n getChainIdFromCaip2ChainId(chainId) === CAIP_BITCOIN_CHAIN_ID,\n },\n {\n label: 'Ton',\n value: 'Ton',\n id: 'TON',\n isChainSupported: isTvmNamespace,\n },\n {\n label: 'Tron',\n value: 'Tron',\n id: 'TRON',\n isChainSupported: isTronNamespace,\n },\n {\n label: 'Sui',\n value: 'Sui',\n id: 'SUI',\n isChainSupported: isSuiNamespace,\n },\n ],\n },\n },\n {\n name: 'signers',\n value: { getSigners: async () => getSigners(getInstanceOrThrow()) },\n },\n ],\n};\n", "import type { Provider } from './types.js';\nimport type { SignerFactory } from 'rango-types';\n\nimport {\n EVM_NAMESPACE,\n SOLANA_NAMESPACE,\n UTXO_NAMESPACE,\n TON_NAMESPACE,\n TRON_NAMESPACE,\n} from '@hub3js/namespaces';\nimport {\n dynamicImportWithRefinedError,\n getNetworkInstance,\n} from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { OKXSolanaSigner } from './signers/solana.js';\nimport { OKXTonSigner } from './signers/ton.js';\nimport { OKXUTXOSigner } from './signers/utxo.js';\nimport { suiWalletInstance } from './utils.js';\n\nexport default async function getSigners(\n provider: Provider\n): Promise<SignerFactory> {\n const ethProvider = getNetworkInstance(provider, EVM_NAMESPACE);\n const solProvider = getNetworkInstance(provider, SOLANA_NAMESPACE);\n const utxoProvider = getNetworkInstance(provider, UTXO_NAMESPACE);\n const tonProvider = getNetworkInstance(provider, TON_NAMESPACE);\n const tronProvider = getNetworkInstance(provider, TRON_NAMESPACE);\n\n const signers = new DefaultSignerFactory();\n const { DefaultEvmSigner } = await dynamicImportWithRefinedError(\n async () => await import('@rango-dev/signer-evm')\n );\n const { DefaultTronSigner } = await dynamicImportWithRefinedError(\n async () => await import('@rango-dev/signer-tron')\n );\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.SOLANA, new OKXSolanaSigner(solProvider));\n signers.registerSigner(TxType.TRANSFER, new OKXUTXOSigner(utxoProvider));\n signers.registerSigner(TxType.TON, new OKXTonSigner(tonProvider));\n signers.registerSigner(TxType.TRON, new DefaultTronSigner(tronProvider));\n\n const suiProvider = suiWalletInstance();\n if (suiProvider) {\n const { DefaultSuiSigner } = await dynamicImportWithRefinedError(\n async () => await import('@rango-dev/signer-sui')\n );\n signers.registerSigner(TxType.SUI, new DefaultSuiSigner(suiProvider));\n }\n\n return signers;\n}\n", "import {\n DefaultSolanaSigner,\n type SolanaExternalProvider,\n} from '@rango-dev/signer-solana';\nimport { SignerError, SignerErrorCode } from 'rango-types';\n\nexport class OKXSolanaSigner extends DefaultSolanaSigner {\n constructor(provider: SolanaExternalProvider) {\n super(provider);\n }\n\n async signMessage(msg: string): Promise<string> {\n try {\n const { signature } = await this.provider.request({\n method: 'signMessage',\n params: {\n message: msg,\n },\n });\n return signature;\n } catch (error) {\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, error);\n }\n }\n}\n", "import type {\n TonConnectWalletResponseError,\n TonProviderApi,\n} from '../namespaces/ton/types.js';\nimport type { GenericSigner, TonTransaction } from 'rango-types';\n\nimport { dynamicImportWithRefinedError } from '@rango-dev/wallets-shared';\nimport { SignerError, SignerErrorCode, TonChainID } from 'rango-types';\n\nimport { TON_CONNECT_USER_REJECTED_CODE } from '../constants.js';\nimport { nextTonRequestId } from '../namespaces/ton/utils.js';\n\nfunction toSignerError(response: TonConnectWalletResponseError): SignerError {\n const code =\n response.error.code === TON_CONNECT_USER_REJECTED_CODE\n ? SignerErrorCode.REJECTED_BY_USER\n : SignerErrorCode.SEND_TX_ERROR;\n return new SignerError(code, response.error.message, response.error);\n}\n\nexport class OKXTonSigner implements GenericSigner<TonTransaction> {\n private provider: TonProviderApi;\n\n constructor(provider: TonProviderApi) {\n this.provider = provider;\n }\n\n async signMessage(): Promise<string> {\n throw SignerError.UnimplementedError('signMessage');\n }\n\n async signAndSendTx(tx: TonTransaction): Promise<{ hash: string }> {\n const { validUntil, network, from, messages } = tx;\n\n const { Address, Cell } = await dynamicImportWithRefinedError(\n async () => await import('@ton/core')\n );\n\n const transactionPayload = {\n valid_until: validUntil,\n network: network ?? TonChainID.MAINNET,\n ...(from && { from: Address.parse(from).toRawString() }),\n messages: messages.map(({ stateInit, payload, ...message }) => ({\n ...message,\n ...(stateInit != null && { stateInit }),\n ...(payload != null && { payload }),\n })),\n };\n\n try {\n const response = await this.provider.send({\n method: 'sendTransaction',\n params: [JSON.stringify(transactionPayload)],\n id: nextTonRequestId(),\n });\n\n if ('error' in response) {\n throw toSignerError(response);\n }\n\n const hash = Cell.fromBase64(response.result).hash().toString('hex');\n return { hash };\n } catch (error) {\n if (error instanceof SignerError) {\n throw error;\n }\n throw new SignerError(SignerErrorCode.SEND_TX_ERROR, undefined, error);\n }\n }\n}\n", "import type {\n Environments,\n TonAddressItemReply,\n TonConnectEvent,\n TonConnectEventSuccess,\n} from './types.js';\nimport type { CaipAccount } from '@hub3js/std/types';\n\nimport { utils as tonCoreUtils } from '@hub3js/tvm';\nimport { dynamicImportWithRefinedError } from '@rango-dev/wallets-shared';\n\nexport function isTonConnectEventSuccess(\n event: TonConnectEvent\n): event is TonConnectEventSuccess {\n return (\n !!event && event.event === 'connect' && Array.isArray(event.payload?.items)\n );\n}\n\nexport function isTonAddressItemReply(\n item: unknown\n): item is TonAddressItemReply {\n return (\n typeof item === 'object' &&\n item !== null &&\n 'name' in item &&\n item.name === 'ton_addr' &&\n 'address' in item &&\n typeof item.address === 'string'\n );\n}\n\nlet environments: Environments | undefined;\n\nexport function setEnvironments(env?: Environments) {\n environments = env;\n}\n\nexport function getTonConnectManifestUrl(): string {\n const manifestUrl = environments?.tonConnectManifestUrl;\n if (!manifestUrl) {\n throw new Error(\n 'OKX TON requires a TonConnect manifest URL. Please provide it through the provider environments.'\n );\n }\n return manifestUrl;\n}\n\nlet tonRequestId = 0;\n\n// TonConnect requires a unique string `id` on every request sent to the bridge.\nexport function nextTonRequestId(): string {\n tonRequestId += 1;\n return tonRequestId.toString();\n}\n\n// Convert a `ConnectEvent`'s raw `<workchain>:<hex>` address to user-friendly CAIP.\nexport async function connectEventToCAIP(\n connectEvent: TonConnectEvent\n): Promise<CaipAccount[]> {\n if (!isTonConnectEventSuccess(connectEvent)) {\n return tonCoreUtils.formatAccountsToCAIP([]);\n }\n\n const addressItem = connectEvent.payload.items.find(isTonAddressItemReply);\n if (!addressItem) {\n return tonCoreUtils.formatAccountsToCAIP([]);\n }\n\n const { Address } = await dynamicImportWithRefinedError(\n async () => await import('@ton/core')\n );\n const userFriendlyAddress = Address.parseRaw(addressItem.address).toString({\n bounceable: false,\n urlSafe: true,\n });\n\n return tonCoreUtils.formatAccountsToCAIP([userFriendlyAddress]);\n}\n", "import type { ProviderAPI } from '@rango-dev/wallets-core/namespaces/utxo';\nimport type { GenericSigner, Transfer } from 'rango-types';\n\nimport { isBitcoinBlockchain } from '@rango-dev/wallets-shared';\nimport { SignerError } from 'rango-types';\n\nexport class OKXUTXOSigner implements GenericSigner<Transfer> {\n private provider: ProviderAPI;\n constructor(provider: ProviderAPI) {\n this.provider = provider;\n }\n\n async signMessage(): Promise<string> {\n throw SignerError.UnimplementedError('signMessage');\n }\n\n async signAndSendTx(tx: Transfer): Promise<{ hash: string }> {\n const { asset, psbt } = tx;\n if (!psbt) {\n throw new Error(\n 'No PSBT found to sign. Ensure a valid PSBT is provided.'\n );\n }\n\n if (!isBitcoinBlockchain(asset.blockchain)) {\n throw new Error(\n `Signing ${asset.blockchain} transaction is not implemented by the signer.`\n );\n }\n // 1. Decode Base64 to hex\n const psbtHex = Buffer.from(psbt.unsignedPsbtBase64, 'base64').toString(\n 'hex'\n );\n\n // 2. Build UniSat inputs\n const toSignInputs = psbt.inputsToSign.flatMap(\n ({ address, signingIndexes }) =>\n signingIndexes.map((index) => ({ index, address }))\n );\n\n try {\n // 3. Sign (& auto-finalize)\n const signedPsbtHex = await this.provider.signPsbt(psbtHex, {\n autoFinalized: true,\n toSignInputs,\n });\n\n // 4. Push signed psbt\n const transactionHash = await this.provider.pushPsbt(signedPsbtHex);\n\n return { hash: transactionHash };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n throw new Error(error?.message || 'Error during signing transaction');\n }\n }\n}\n", "import type { TonProviderApi } from './namespaces/ton/types.js';\nimport type { OkxBtcAddress, OkxTronMessageEvent, Provider } from './types.js';\nimport type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';\nimport type { ProviderAPI as SolanaProviderApi } from '@hub3js/solana';\nimport type { ProviderAPI as SuiProviderApi } from '@hub3js/sui';\nimport type { ProviderAPI as TronProviderApi } from '@rango-dev/wallets-core/namespaces/tron';\nimport type { ProviderAPI as UtxoProviderApi } from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport {\n EVM_NAMESPACE,\n SOLANA_NAMESPACE,\n TON_NAMESPACE,\n TRON_NAMESPACE,\n UTXO_NAMESPACE,\n} from '@hub3js/namespaces';\nimport { getInstanceOrThrow as getSuiInstanceOrThrow } from '@hub3js/sui';\n\nimport { WALLET_NAME_IN_WALLET_STANDARD } from './constants.js';\n\nexport function okx(): Provider | null {\n const { okxwallet, okxTonWallet } = window;\n if (!okxwallet && !okxTonWallet) {\n return null;\n }\n const instances: Provider = new Map();\n if (okxwallet) {\n instances.set(EVM_NAMESPACE, okxwallet);\n }\n if (okxwallet.solana) {\n instances.set(SOLANA_NAMESPACE, okxwallet.solana);\n }\n if (okxwallet.bitcoin) {\n instances.set(UTXO_NAMESPACE, okxwallet.bitcoin);\n }\n if (okxTonWallet?.tonconnect) {\n instances.set(TON_NAMESPACE, okxTonWallet.tonconnect);\n }\n if (okxwallet.tronLink) {\n instances.set(TRON_NAMESPACE, okxwallet.tronLink);\n }\n return instances;\n}\n\nexport function getInstanceOrThrow(): Provider {\n const instances = okx();\n\n if (!instances) {\n throw new Error('OKX Wallet is not injected. Please check your wallet.');\n }\n\n return instances;\n}\n\nexport function evmOKX(): EvmProviderApi {\n const instances = okx();\n\n const evmInstance = instances?.get(EVM_NAMESPACE);\n\n if (!evmInstance) {\n throw new Error(\n 'OKX Wallet not injected or EVM not enabled. Please check your wallet.'\n );\n }\n\n return evmInstance as EvmProviderApi;\n}\n\nexport function solanaOKX(): SolanaProviderApi {\n const instance = okx();\n const solanaInstance = instance?.get(SOLANA_NAMESPACE);\n\n if (!solanaInstance) {\n throw new Error(\n 'OKX Wallet not injected or Solana not enabled. Please check your wallet.'\n );\n }\n\n return solanaInstance;\n}\nexport function bitcoinOKX(): UtxoProviderApi {\n const instance = okx();\n const bitcoinInstance = instance?.get(UTXO_NAMESPACE);\n\n if (!bitcoinInstance) {\n throw new Error(\n 'OKX Wallet not injected or Utxo not enabled. Please check your wallet.'\n );\n }\n\n return bitcoinInstance;\n}\n\nexport function tonOKX(): TonProviderApi {\n const instance = okx();\n const tonInstance = instance?.get(TON_NAMESPACE);\n\n if (!tonInstance) {\n throw new Error(\n 'OKX Wallet not injected or TON not enabled. Please check your wallet.'\n );\n }\n\n return tonInstance as TonProviderApi;\n}\n\nexport function tronOKX(): TronProviderApi {\n const instance = okx();\n const tronInstance = instance?.get(TRON_NAMESPACE);\n\n if (!tronInstance) {\n throw new Error(\n 'OKX Wallet not injected or Tron not enabled. Please check your wallet.'\n );\n }\n\n return tronInstance;\n}\n\nexport function suiWalletInstance(): SuiProviderApi | null {\n try {\n return getSuiInstanceOrThrow(WALLET_NAME_IN_WALLET_STANDARD);\n } catch {\n return null;\n }\n}\n\nexport function suiWalletInstanceOrThrow(): SuiProviderApi {\n return getSuiInstanceOrThrow(WALLET_NAME_IN_WALLET_STANDARD);\n}\nexport async function getBitcoinAccounts(): Promise<OkxBtcAddress> {\n const instance = bitcoinOKX();\n const requestResult = await instance.connect();\n\n if (requestResult.error?.message) {\n throw new Error(requestResult.error.message);\n }\n\n return requestResult;\n}\n\nexport function isOkxTronMessageEvent(\n value: unknown\n): value is OkxTronMessageEvent {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n const event = value as { message?: { action?: unknown } };\n return (\n typeof event.message === 'object' &&\n event.message !== null &&\n typeof event.message.action === 'string'\n );\n}\n", "import type { EvmActions } from '@hub3js/evm';\n\nimport { NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders, utils } from '@hub3js/evm';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\n\nimport { WALLET_ID } from '../constants.js';\nimport { evmOKX } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(evmOKX)\n /*\n * Okx wallet may call the `changeAccount` event with `null` value\n * but we shouldn't disconnect in this case.\n */\n .onSwitchAccount((event) => {\n if (!event.payload.length) {\n event.preventDefault();\n }\n })\n .format(async (instance, event) => {\n const chainId = await instance.request({ method: 'eth_chainId' });\n // The wallet may emit a `null` value in its `sent` event.\n return utils.formatAccountsToCAIP(event.filter(Boolean), chainId);\n })\n .build();\nconst connect = builders\n .connect()\n .action(actions.connect(evmOKX))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<EvmActions>()\n .before(() => {\n evmOKX().disconnect();\n })\n .after(changeAccountCleanup)\n .build();\n\nconst canSwitchNetwork = builders\n .canSwitchNetwork()\n .action(actions.canSwitchNetwork())\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(actions.canEagerConnect(evmOKX))\n .build();\n\nconst getChainId = builders\n .getChainId()\n .action(actions.getChainId(evmOKX))\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .action(canSwitchNetwork)\n .action(getChainId)\n .build();\n\nexport { evm };\n", "import type { SolanaActions } from '@hub3js/solana';\n\nimport { ActionBuilder, NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders, utils } from '@hub3js/solana';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\n\nimport { WALLET_ID } from '../constants.js';\nimport { solanaOKX } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(solanaOKX)\n /*\n * Okx wallet may call the `changeAccount` event with `null` value\n * but we shouldn't disconnect in this case.\n */\n .onSwitchAccount((event) => {\n if (!event.payload) {\n event.preventDefault();\n }\n })\n .format(async (_, event) => {\n // The wallet may emit a `null` value in its `sent` event.\n return utils.formatAccountsToCAIP(event ? [event] : []);\n })\n .build();\n\nconst connect = builders\n .connect()\n .action(actions.connect(solanaOKX))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<SolanaActions>()\n .before(() => {\n solanaOKX().disconnect();\n })\n .after(changeAccountCleanup)\n .build();\n\nconst canEagerConnect = new ActionBuilder<SolanaActions, 'canEagerConnect'>(\n 'canEagerConnect'\n)\n .action(actions.canEagerConnect(solanaOKX))\n .build();\n\nconst solana = new NamespaceBuilder<SolanaActions>('Solana', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { solana };\n", "import { NamespaceBuilder } from '@hub3js/core';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\nimport { builders, type TonActions } from '@hub3js/tvm';\n\nimport { tonActions } from '../../actions/ton.js';\nimport { tonBuilders } from '../../builders/ton.js';\nimport { WALLET_ID } from '../../constants.js';\nimport { tonOKX } from '../../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = tonBuilders\n .changeAccountSubscriber(tonOKX)\n .build();\n\nconst [walletDisconnectSubscriber, walletDisconnectCleanup] = tonBuilders\n .disconnectSubscriber(tonOKX)\n .build();\n\nconst connect = builders\n .connect()\n .action(tonActions.connect(tonOKX))\n .before(changeAccountSubscriber)\n .before(walletDisconnectSubscriber)\n .or(walletDisconnectCleanup)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<TonActions>()\n .before(tonActions.disconnect(tonOKX))\n .after(changeAccountCleanup)\n .after(walletDisconnectCleanup)\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(tonActions.canEagerConnect(tonOKX))\n .build();\n\nconst ton = new NamespaceBuilder<TonActions>('Ton', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { ton };\n", "import type {\n TonConnectEvent,\n TonProviderApi,\n} from '../namespaces/ton/types.js';\nimport type { Context, FunctionWithContext } from '@hub3js/core';\n\nimport { type TonActions } from '@hub3js/tvm';\n\nimport {\n TON_CONNECT_PROTOCOL_VERSION,\n TON_CONNECT_USER_REJECTED_CODE,\n} from '../constants.js';\nimport {\n connectEventToCAIP,\n getTonConnectManifestUrl,\n isTonConnectEventSuccess,\n nextTonRequestId,\n} from '../namespaces/ton/utils.js';\n\nexport function connect(\n getInstance: () => TonProviderApi\n): FunctionWithContext<TonActions['connect'], Context> {\n return async () => {\n const instance = getInstance();\n\n /*\n * If the dApp was approved before, `restoreConnection` resolves the current\n * session without prompting the user; otherwise fall back to a fresh\n * connect request.\n */\n let connectEvent: TonConnectEvent | undefined;\n try {\n connectEvent = await instance.restoreConnection();\n } catch {\n // No restorable session; a fresh connect request is made below.\n }\n\n if (!connectEvent || !isTonConnectEventSuccess(connectEvent)) {\n connectEvent = await instance.connect(TON_CONNECT_PROTOCOL_VERSION, {\n manifestUrl: getTonConnectManifestUrl(),\n items: [{ name: 'ton_addr' }],\n });\n }\n\n if (!isTonConnectEventSuccess(connectEvent)) {\n // The bridge reports a user-cancelled prompt as a `connect_error` event.\n if (connectEvent.payload.code === TON_CONNECT_USER_REJECTED_CODE) {\n throw new Error('User rejected the request.');\n }\n throw new Error(\n `Couldn't connect to OKX TON. code: ${connectEvent.payload.code}, message: ${connectEvent.payload.message}`\n );\n }\n\n const accounts = await connectEventToCAIP(connectEvent);\n if (!accounts.length) {\n throw new Error(\"Couldn't find any TON address!\");\n }\n\n return accounts;\n };\n}\n\nexport function canEagerConnect(\n getInstance: () => TonProviderApi\n): FunctionWithContext<TonActions['canEagerConnect'], Context> {\n return async () => {\n /*\n * Auto connect may run this before the wallet is injected; it should never\n * throw.\n */\n try {\n const connectEvent = await getInstance().restoreConnection();\n return isTonConnectEventSuccess(connectEvent);\n } catch {\n return false;\n }\n };\n}\n\nexport function disconnect(getInstance: () => TonProviderApi) {\n return async () => {\n /*\n * Revoking the session on the wallet side is best effort; local state\n * cleanup should proceed even if it fails.\n */\n try {\n await getInstance().send({\n method: 'disconnect',\n params: [],\n id: nextTonRequestId(),\n });\n } catch {\n // ignore\n }\n };\n}\n\nexport const tonActions = { connect, canEagerConnect, disconnect };\n", "import type { TonProviderApi } from '../namespaces/ton/types.js';\n\nimport { ChangeAccountSubscriberBuilder } from '@hub3js/std/hooks';\nimport { type TonActions, utils } from '@hub3js/tvm';\n\nimport { connectEventToCAIP } from '../namespaces/ton/utils.js';\n\n/*\n * OKX emits its non-standard `accountChanged` event without a documented\n * payload, so the switched address can't be read from the event. Because the\n * bridge is standard TON Connect, `format` re-reads the active account from the\n * instance via `restoreConnection` instead\n */\nexport const changeAccountSubscriber = (getInstance: () => TonProviderApi) =>\n new ChangeAccountSubscriberBuilder<unknown, TonProviderApi, TonActions>()\n .getInstance(getInstance)\n .format(async (instance) => {\n try {\n const connectEvent = await instance.restoreConnection();\n return await connectEventToCAIP(connectEvent);\n } catch {\n // No active session after the switch \u2014 treat as disconnected.\n return utils.formatAccountsToCAIP([]);\n }\n })\n .addEventListener((instance, callback) => {\n instance.on('accountChanged', callback);\n })\n .removeEventListener((instance, callback) => {\n instance.off('accountChanged', callback);\n });\n\nexport const disconnectSubscriber = (getInstance: () => TonProviderApi) =>\n new ChangeAccountSubscriberBuilder<unknown, TonProviderApi, TonActions>()\n .getInstance(getInstance)\n .onSwitchAccount((event, context) => {\n event.preventDefault();\n void context.action('disconnect');\n })\n .format(async () => [])\n .addEventListener((instance, callback) => {\n instance.on('disconnect', callback);\n })\n .removeEventListener((instance, callback) => {\n instance.off('disconnect', callback);\n });\n\nexport const tonBuilders = { changeAccountSubscriber, disconnectSubscriber };\n", "import { NamespaceBuilder } from '@hub3js/core';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\nimport { type TronActions } from '@rango-dev/wallets-core/namespaces/tron';\nimport { builders } from '@rango-dev/wallets-core/namespaces/tron';\n\nimport { tronActions } from '../actions/tron.js';\nimport { tronBuilders } from '../builders/tron.js';\nimport { WALLET_ID } from '../constants.js';\nimport { tronOKX } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = tronBuilders\n .changeAccountSubscriber(tronOKX)\n .build();\n\nconst connect = builders\n .connect()\n .action(tronActions.connect)\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(tronActions.canEagerConnect)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<TronActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst tron = new NamespaceBuilder<TronActions>('Tron', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { tron };\n", "import { utils } from '@rango-dev/wallets-core/namespaces/tron';\n\nimport {\n TRON_OK_REQUEST_CODE,\n TRON_USER_REJECTION_CODE,\n} from '../constants.js';\nimport { tronOKX } from '../utils.js';\n\nconst connect = async () => {\n const instance = tronOKX();\n const accountsResult = await instance.request({\n method: 'tron_requestAccounts',\n });\n\n if (accountsResult?.code && accountsResult.code !== TRON_OK_REQUEST_CODE) {\n if (accountsResult.code === TRON_USER_REJECTION_CODE) {\n throw new Error('User rejected the request.');\n }\n throw new Error(\n accountsResult.message ?? 'Failed to connect to OKX Wallet Tron.'\n );\n }\n return utils.formatAccountsToCAIP([instance.tronWeb.defaultAddress.base58]);\n};\n\n/*\n * Wrapped in a try-catch in the case of wallet injection delay\n */\nconst canEagerConnect = async () => {\n try {\n const tronInstance = tronOKX();\n return !!tronInstance.ready;\n } catch {\n return false;\n }\n};\nexport const tronActions = { connect, canEagerConnect };\n", "import { ChangeAccountSubscriberBuilder } from '@hub3js/std/hooks';\nimport {\n type ProviderAPI,\n type TronActions,\n utils,\n} from '@rango-dev/wallets-core/namespaces/tron';\n\nimport { isOkxTronMessageEvent } from '../utils.js';\n\nexport const changeAccountSubscriber = (getInstance: () => ProviderAPI) =>\n new ChangeAccountSubscriberBuilder<\n MessageEvent<unknown>,\n ProviderAPI,\n TronActions\n >()\n .getInstance(getInstance)\n .onSwitchAccount((event, context) => {\n const data = event.payload?.data;\n\n if (!isOkxTronMessageEvent(data)) {\n event.preventDefault();\n return;\n }\n\n const { action } = data.message;\n\n if (action === 'disconnect') {\n event.preventDefault();\n context.action('disconnect');\n return;\n }\n\n /*\n * Change account only on `accountsChanged` with a string address (`format`\n * reads it). Everything else \u2014 including `accountsChanged` with address\n * `false` (its disconnect is handled above) \u2014 is ignored.\n */\n if (\n action !== 'accountsChanged' ||\n typeof data.message.data?.address !== 'string'\n ) {\n event.preventDefault();\n }\n })\n .format(async (_, event) => {\n const data = event.data;\n const address =\n isOkxTronMessageEvent(data) && data.message.action === 'accountsChanged'\n ? data.message.data?.address\n : undefined;\n if (typeof address !== 'string') {\n throw new Error('No Tron address received from OKX Wallet.');\n }\n return utils.formatAccountsToCAIP([address]);\n })\n .addEventListener((_, callback) => {\n window.addEventListener('message', callback);\n })\n .removeEventListener((_, callback) => {\n window.removeEventListener('message', callback);\n });\n\nexport const tronBuilders = { changeAccountSubscriber };\n", "import type { SuiActions } from '@hub3js/sui';\n\nimport { NamespaceBuilder } from '@hub3js/core';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\nimport { actions, builders, hooks } from '@hub3js/sui';\n\nimport { WALLET_ID, WALLET_NAME_IN_WALLET_STANDARD } from '../constants.js';\nimport { suiHooks } from '../hooks/sui.js';\nimport { suiWalletInstanceOrThrow } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] =\n hooks.changeAccountSubscriber({\n name: WALLET_NAME_IN_WALLET_STANDARD,\n });\n\nconst [disconnectSubscriber, disconnectCleanup] = suiHooks.disconnectSubscriber(\n suiWalletInstanceOrThrow\n);\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(\n actions.canEagerConnect({\n name: WALLET_NAME_IN_WALLET_STANDARD,\n })\n )\n .build();\n\nconst connect = builders\n .connect({\n name: WALLET_NAME_IN_WALLET_STANDARD,\n })\n .before(changeAccountSubscriber)\n .before(disconnectSubscriber)\n .or(changeAccountCleanup)\n .or(disconnectCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<SuiActions>()\n .after(changeAccountCleanup)\n .after(disconnectCleanup)\n .build();\n\nconst sui = new NamespaceBuilder<SuiActions>('Sui', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { sui };\n", "import type { Subscriber, SubscriberCleanUp } from '@hub3js/core';\nimport type { ProviderAPI, SuiActions } from '@hub3js/sui';\n\n/*\n * OKX's Sui wallet-standard instance emits a `disconnect` event on its\n * `standard:events` feature when the user disconnects from the wallet UI.\n * Account switches come through `change` (handled by the core change\n * subscriber); disconnect is NOT surfaced there. The `disconnect` event is\n * undocumented in the wallet-standard types, which only declare `change`, hence\n * the cast on `.on`. `.on` returns an unsubscribe function that the cleanup invokes.\n */\nfunction disconnectSubscriber(\n getInstance: () => ProviderAPI\n): [Subscriber<SuiActions>, SubscriberCleanUp<SuiActions>] {\n let unsubscribe: (() => void) | void;\n\n return [\n (context) => {\n const instance = getInstance();\n\n if (!instance) {\n throw new Error(\n 'Trying to subscribe to your Sui wallet, but seems its instance is not available.'\n );\n }\n\n unsubscribe = (\n instance.features['standard:events'].on as (\n event: string,\n listener: (event: unknown) => void\n ) => () => void\n )('disconnect', () => {\n context.action('disconnect');\n });\n },\n (_context, err) => {\n if (typeof unsubscribe === 'function') {\n unsubscribe();\n }\n\n return err;\n },\n ];\n}\n\nexport const suiHooks = { disconnectSubscriber };\n", "import { NamespaceBuilder } from '@hub3js/core';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\nimport {\n CAIP_BITCOIN_CHAIN_ID,\n utils,\n type UtxoActions,\n} from '@rango-dev/wallets-core/namespaces/utxo';\nimport { builders } from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport { utxoBuilders } from '../builders/utxo.js';\nimport { WALLET_ID } from '../constants.js';\nimport { bitcoinOKX, getBitcoinAccounts } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = utxoBuilders\n .changeAccountSubscriber(bitcoinOKX)\n .build();\n\nconst canEagerConnect = utxoBuilders.canEagerConnect(bitcoinOKX).build();\n\nconst connect = builders\n .connect()\n .action(async function () {\n const accountsResult = await getBitcoinAccounts();\n\n if (!accountsResult?.address) {\n throw new Error(\"Couldn't find any address!\");\n }\n return utils.formatAccountsToCAIP(\n [accountsResult.address],\n CAIP_BITCOIN_CHAIN_ID\n );\n })\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<UtxoActions>()\n .before(() => {\n bitcoinOKX().disconnect();\n })\n .after(changeAccountCleanup)\n .build();\n\nconst utxo = new NamespaceBuilder<UtxoActions>('UTXO', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { utxo };\n", "import type { OkxBtcAddress } from '../types.js';\n\nimport { ActionBuilder } from '@hub3js/core';\nimport { ChangeAccountSubscriberBuilder } from '@hub3js/std/hooks';\nimport {\n CAIP_BITCOIN_CHAIN_ID,\n type ProviderAPI,\n utils,\n type UtxoActions,\n} from '@rango-dev/wallets-core/namespaces/utxo';\n\nexport const changeAccountSubscriber = (getInstance: () => ProviderAPI) =>\n new ChangeAccountSubscriberBuilder<OkxBtcAddress, ProviderAPI, UtxoActions>()\n .getInstance(getInstance)\n /*\n * Okx wallet may call the `changeAccount` event with `null` value\n * but we shouldn't disconnect in this case.\n */\n .onSwitchAccount((event) => {\n if (!event.payload?.address) {\n event.preventDefault();\n }\n })\n\n .format(async (_, event) => {\n return utils.formatAccountsToCAIP(\n event ? [event.address] : [],\n CAIP_BITCOIN_CHAIN_ID\n );\n })\n .addEventListener((instance, callback) => {\n return instance.addListener('accountChanged', callback);\n })\n .removeEventListener((instance, callback) => {\n return instance.removeListener('accountChanged', callback);\n });\n\nfunction canEagerConnect(getInstance: () => ProviderAPI) {\n return new ActionBuilder<UtxoActions, 'canEagerConnect'>(\n 'canEagerConnect'\n ).action(async () => {\n const instance = getInstance();\n try {\n const accounts = await instance.getAccounts();\n return !!accounts.length;\n } catch {\n return false;\n }\n });\n}\n\nexport const utxoBuilders = { changeAccountSubscriber, canEagerConnect };\n"],
5
- "mappings": "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",
6
- "names": ["defineVersions", "ProviderBuilder", "CAIP_ARBITRUM_CHAIN_ID", "CAIP_AVAX_CHAIN_ID", "CAIP_BOBA_CHAIN_ID", "CAIP_BSC_CHAIN_ID", "CAIP_CRONOS_CHAIN_ID", "CAIP_ETHEREUM_CHAIN_ID", "CAIP_FANTOM_CHAIN_ID", "CAIP_GNOSIS_CHAIN_ID", "CAIP_HARMONY_CHAIN_ID", "CAIP_MOONBEAM_CHAIN_ID", "CAIP_MOONRIVER_CHAIN_ID", "CAIP_OPTIMISM_CHAIN_ID", "CAIP_POLYGON_CHAIN_ID", "isEvmNamespace", "isSolanaNamespace", "getChainIdFromCaip2ChainId", "isSuiNamespace", "isTvmNamespace", "isTronNamespace", "CAIP_BITCOIN_CHAIN_ID", "isUtxoNamespace", "EVM_NAMESPACE", "SOLANA_NAMESPACE", "UTXO_NAMESPACE", "TON_NAMESPACE", "TRON_NAMESPACE", "dynamicImportWithRefinedError", "getNetworkInstance", "DefaultSignerFactory", "TxType", "DefaultSolanaSigner", "SignerError", "SignerErrorCode", "OKXSolanaSigner", "DefaultSolanaSigner", "__name", "provider", "msg", "signature", "error", "SignerError", "SignerErrorCode", "dynamicImportWithRefinedError", "SignerError", "SignerErrorCode", "TonChainID", "tonCoreUtils", "dynamicImportWithRefinedError", "isTonConnectEventSuccess", "event", "__name", "isTonAddressItemReply", "item", "environments", "setEnvironments", "env", "getTonConnectManifestUrl", "manifestUrl", "tonRequestId", "nextTonRequestId", "connectEventToCAIP", "connectEvent", "tonCoreUtils", "addressItem", "Address", "dynamicImportWithRefinedError", "userFriendlyAddress", "toSignerError", "response", "code", "TON_CONNECT_USER_REJECTED_CODE", "SignerErrorCode", "SignerError", "__name", "OKXTonSigner", "provider", "tx", "validUntil", "network", "from", "messages", "Address", "Cell", "dynamicImportWithRefinedError", "transactionPayload", "TonChainID", "stateInit", "payload", "message", "nextTonRequestId", "error", "isBitcoinBlockchain", "SignerError", "OKXUTXOSigner", "__name", "provider", "SignerError", "tx", "asset", "psbt", "isBitcoinBlockchain", "psbtHex", "toSignInputs", "address", "signingIndexes", "index", "signedPsbtHex", "error", "EVM_NAMESPACE", "SOLANA_NAMESPACE", "TON_NAMESPACE", "TRON_NAMESPACE", "UTXO_NAMESPACE", "getSuiInstanceOrThrow", "okx", "okxwallet", "okxTonWallet", "instances", "EVM_NAMESPACE", "SOLANA_NAMESPACE", "UTXO_NAMESPACE", "TON_NAMESPACE", "TRON_NAMESPACE", "__name", "getInstanceOrThrow", "evmOKX", "evmInstance", "solanaOKX", "solanaInstance", "bitcoinOKX", "bitcoinInstance", "tonOKX", "tonInstance", "tronOKX", "tronInstance", "suiWalletInstance", "getSuiInstanceOrThrow", "WALLET_NAME_IN_WALLET_STANDARD", "suiWalletInstanceOrThrow", "getBitcoinAccounts", "requestResult", "isOkxTronMessageEvent", "value", "event", "getSigners", "provider", "ethProvider", "getNetworkInstance", "EVM_NAMESPACE", "solProvider", "SOLANA_NAMESPACE", "utxoProvider", "UTXO_NAMESPACE", "tonProvider", "TON_NAMESPACE", "tronProvider", "TRON_NAMESPACE", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "dynamicImportWithRefinedError", "DefaultTronSigner", "TxType", "OKXSolanaSigner", "OKXUTXOSigner", "OKXTonSigner", "suiProvider", "suiWalletInstance", "DefaultSuiSigner", "__name", "WALLET_ID", "TON_CONNECT_PROTOCOL_VERSION", "TON_CONNECT_USER_REJECTED_CODE", "TRON_OK_REQUEST_CODE", "TRON_USER_REJECTION_CODE", "WALLET_NAME_IN_WALLET_STANDARD", "EVM_SUPPORTED_CHAINS", "CAIP_ETHEREUM_CHAIN_ID", "CAIP_BSC_CHAIN_ID", "CAIP_POLYGON_CHAIN_ID", "CAIP_FANTOM_CHAIN_ID", "CAIP_ARBITRUM_CHAIN_ID", "CAIP_OPTIMISM_CHAIN_ID", "CAIP_CRONOS_CHAIN_ID", "CAIP_BOBA_CHAIN_ID", "CAIP_GNOSIS_CHAIN_ID", "CAIP_MOONBEAM_CHAIN_ID", "CAIP_MOONRIVER_CHAIN_ID", "CAIP_HARMONY_CHAIN_ID", "CAIP_AVAX_CHAIN_ID", "metadata", "chainId", "isEvmNamespace", "getChainIdFromCaip2ChainId", "isSolanaNamespace", "isUtxoNamespace", "CAIP_BITCOIN_CHAIN_ID", "isTvmNamespace", "isTronNamespace", "isSuiNamespace", "getSigners", "getInstanceOrThrow", "NamespaceBuilder", "actions", "builders", "utils", "commonBuilders", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "builders", "evmOKX", "event", "instance", "chainId", "utils", "connect", "actions", "standardizeAndThrowError", "disconnect", "canSwitchNetwork", "canEagerConnect", "getChainId", "evm", "NamespaceBuilder", "WALLET_ID", "ActionBuilder", "NamespaceBuilder", "actions", "builders", "utils", "commonBuilders", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "builders", "solanaOKX", "event", "_", "utils", "connect", "actions", "standardizeAndThrowError", "disconnect", "canEagerConnect", "ActionBuilder", "solana", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "builders", "connect", "getInstance", "instance", "connectEvent", "isTonConnectEventSuccess", "TON_CONNECT_PROTOCOL_VERSION", "getTonConnectManifestUrl", "TON_CONNECT_USER_REJECTED_CODE", "accounts", "connectEventToCAIP", "__name", "canEagerConnect", "disconnect", "nextTonRequestId", "tonActions", "ChangeAccountSubscriberBuilder", "utils", "changeAccountSubscriber", "__name", "getInstance", "ChangeAccountSubscriberBuilder", "instance", "connectEvent", "connectEventToCAIP", "utils", "callback", "disconnectSubscriber", "event", "context", "tonBuilders", "changeAccountSubscriber", "changeAccountCleanup", "tonBuilders", "tonOKX", "walletDisconnectSubscriber", "walletDisconnectCleanup", "connect", "builders", "tonActions", "standardizeAndThrowError", "disconnect", "canEagerConnect", "ton", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "builders", "utils", "connect", "__name", "instance", "tronOKX", "accountsResult", "TRON_OK_REQUEST_CODE", "TRON_USER_REJECTION_CODE", "utils", "canEagerConnect", "tronActions", "ChangeAccountSubscriberBuilder", "utils", "changeAccountSubscriber", "__name", "getInstance", "ChangeAccountSubscriberBuilder", "event", "context", "data", "isOkxTronMessageEvent", "action", "_", "address", "utils", "callback", "tronBuilders", "changeAccountSubscriber", "changeAccountCleanup", "tronBuilders", "tronOKX", "connect", "builders", "tronActions", "standardizeAndThrowError", "canEagerConnect", "disconnect", "tron", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "actions", "builders", "hooks", "disconnectSubscriber", "getInstance", "unsubscribe", "context", "instance", "_context", "err", "__name", "suiHooks", "changeAccountSubscriber", "changeAccountCleanup", "hooks", "WALLET_NAME_IN_WALLET_STANDARD", "disconnectSubscriber", "disconnectCleanup", "suiHooks", "suiWalletInstanceOrThrow", "canEagerConnect", "builders", "actions", "connect", "standardizeAndThrowError", "disconnect", "sui", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "CAIP_BITCOIN_CHAIN_ID", "utils", "builders", "ActionBuilder", "ChangeAccountSubscriberBuilder", "CAIP_BITCOIN_CHAIN_ID", "utils", "changeAccountSubscriber", "__name", "getInstance", "ChangeAccountSubscriberBuilder", "event", "_", "utils", "CAIP_BITCOIN_CHAIN_ID", "instance", "callback", "canEagerConnect", "ActionBuilder", "utxoBuilders", "changeAccountSubscriber", "changeAccountCleanup", "utxoBuilders", "bitcoinOKX", "canEagerConnect", "connect", "builders", "accountsResult", "getBitcoinAccounts", "utils", "CAIP_BITCOIN_CHAIN_ID", "standardizeAndThrowError", "disconnect", "utxo", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "environments", "setEnvironments", "setState", "okx", "metadata", "solana", "evm", "utxo", "ton", "tron", "sui", "versions", "__name", "defineVersions", "buildProvider"]
3
+ "sources": ["../src/mod.ts", "../src/provider.ts", "../src/constants.ts", "../src/signer.ts", "../src/signers/solana.ts", "../src/signers/ton.ts", "../src/namespaces/ton/utils.ts", "../src/signers/utxo.ts", "../src/utils.ts", "../src/namespaces/evm.ts", "../src/namespaces/solana.ts", "../src/namespaces/sui.ts", "../src/hooks/sui.ts", "../src/namespaces/ton/ton.ts", "../src/actions/ton.ts", "../src/builders/ton.ts", "../src/namespaces/tron.ts", "../src/actions/tron.ts", "../src/builders/tron.ts", "../src/namespaces/utxo.ts", "../src/builders/utxo.ts"],
4
+ "sourcesContent": ["import { defineVersions } from '@hub3js/core/utils';\n\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions().version('1.0.0', buildProvider()).build();\n\nexport { versions };\n", "import type { Environments } from './namespaces/ton/types.js';\n\nimport { ProviderBuilder } from '@hub3js/core';\n\nimport { metadata, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { solana } from './namespaces/solana.js';\nimport { sui } from './namespaces/sui.js';\nimport { ton } from './namespaces/ton/ton.js';\nimport { setEnvironments } from './namespaces/ton/utils.js';\nimport { tron } from './namespaces/tron.js';\nimport { utxo } from './namespaces/utxo.js';\nimport { okx as okxInstance } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context, environments?: Environments) {\n setEnvironments(environments);\n const [, setState] = context.state();\n\n if (okxInstance()) {\n setState('installed', true);\n console.debug('[okx] instance detected.', context);\n }\n })\n .config('metadata', metadata)\n .add('solana', solana)\n .add('evm', evm)\n .add('utxo', utxo)\n .add('ton', ton)\n .add('tron', tron)\n .add('sui', sui)\n\n .build();\n\nexport { buildProvider };\n", "import type { ProviderMetadata } from '@hub3js/core';\n\nimport {\n CAIP_ARBITRUM_CHAIN_ID,\n CAIP_AVAX_CHAIN_ID,\n CAIP_BOBA_CHAIN_ID,\n CAIP_BSC_CHAIN_ID,\n CAIP_CRONOS_CHAIN_ID,\n CAIP_ETHEREUM_CHAIN_ID,\n CAIP_FANTOM_CHAIN_ID,\n CAIP_GNOSIS_CHAIN_ID,\n CAIP_HARMONY_CHAIN_ID,\n CAIP_MOONBEAM_CHAIN_ID,\n CAIP_MOONRIVER_CHAIN_ID,\n CAIP_OPTIMISM_CHAIN_ID,\n CAIP_POLYGON_CHAIN_ID,\n isEvmNamespace,\n} from '@hub3js/evm';\nimport { isSolanaNamespace } from '@hub3js/solana';\nimport { getChainIdFromCaip2ChainId } from '@hub3js/std/utils';\nimport { isSuiNamespace } from '@hub3js/sui';\nimport { isTvmNamespace } from '@hub3js/tvm';\nimport { isTronNamespace } from '@rango-dev/wallets-core/namespaces/tron';\nimport {\n CAIP_BITCOIN_CHAIN_ID,\n isUtxoNamespace,\n} from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const WALLET_ID = 'okx';\n\nexport const TON_CONNECT_PROTOCOL_VERSION = 2;\nexport const TON_CONNECT_USER_REJECTED_CODE = 300;\n\nexport const TRON_OK_REQUEST_CODE = 200;\n// EIP-1193 user-rejected-request code returned by `tron_requestAccounts`.\nexport const TRON_USER_REJECTION_CODE = 4001;\n\nexport const WALLET_NAME_IN_WALLET_STANDARD = 'OKX Wallet';\n\nexport const EVM_SUPPORTED_CHAINS = [\n CAIP_ETHEREUM_CHAIN_ID,\n CAIP_BSC_CHAIN_ID,\n CAIP_POLYGON_CHAIN_ID,\n CAIP_FANTOM_CHAIN_ID,\n CAIP_ARBITRUM_CHAIN_ID,\n CAIP_OPTIMISM_CHAIN_ID,\n CAIP_CRONOS_CHAIN_ID,\n CAIP_BOBA_CHAIN_ID,\n CAIP_GNOSIS_CHAIN_ID,\n CAIP_MOONBEAM_CHAIN_ID,\n CAIP_MOONRIVER_CHAIN_ID,\n CAIP_HARMONY_CHAIN_ID,\n CAIP_AVAX_CHAIN_ID,\n];\n\nexport const metadata: ProviderMetadata = {\n name: 'OKX',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/okx/icon.svg',\n extensions: {\n chrome:\n 'https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge',\n brave:\n 'https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge',\n firefox: 'https://addons.mozilla.org/en-US/firefox/addon/okexwallet',\n homepage: 'https://www.okx.com/web3',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'multiple',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n isChainSupported: (chainId: string) =>\n isEvmNamespace(chainId) &&\n EVM_SUPPORTED_CHAINS.includes(\n getChainIdFromCaip2ChainId(chainId)\n ),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n isChainSupported: isSolanaNamespace,\n },\n {\n label: 'BTC',\n value: 'UTXO',\n id: 'BTC',\n isChainSupported: (chainId: string) =>\n isUtxoNamespace(chainId) &&\n getChainIdFromCaip2ChainId(chainId) === CAIP_BITCOIN_CHAIN_ID,\n },\n {\n label: 'Ton',\n value: 'Ton',\n id: 'TON',\n isChainSupported: isTvmNamespace,\n },\n {\n label: 'Tron',\n value: 'Tron',\n id: 'TRON',\n isChainSupported: isTronNamespace,\n },\n {\n label: 'Sui',\n value: 'Sui',\n id: 'SUI',\n isChainSupported: isSuiNamespace,\n },\n ],\n },\n },\n {\n name: 'signers',\n value: { getSigners: async () => getSigners(getInstanceOrThrow()) },\n },\n ],\n};\n", "import type { Provider } from './types.js';\nimport type { SignerFactory } from 'rango-types';\n\nimport {\n EVM_NAMESPACE,\n SOLANA_NAMESPACE,\n TON_NAMESPACE,\n TRON_NAMESPACE,\n UTXO_NAMESPACE,\n} from '@hub3js/namespaces';\nimport { getNetworkInstance } from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { OKXSolanaSigner } from './signers/solana.js';\nimport { OKXTonSigner } from './signers/ton.js';\nimport { OKXUTXOSigner } from './signers/utxo.js';\nimport { suiWalletInstance } from './utils.js';\n\nexport default async function getSigners(\n provider: Provider\n): Promise<SignerFactory> {\n const ethProvider = getNetworkInstance(provider, EVM_NAMESPACE);\n const solProvider = getNetworkInstance(provider, SOLANA_NAMESPACE);\n const utxoProvider = getNetworkInstance(provider, UTXO_NAMESPACE);\n const tonProvider = getNetworkInstance(provider, TON_NAMESPACE);\n const tronProvider = getNetworkInstance(provider, TRON_NAMESPACE);\n\n const signers = new DefaultSignerFactory();\n const { DefaultEvmSigner } = await import('@rango-dev/signer-evm');\n const { DefaultTronSigner } = await import('@rango-dev/signer-tron');\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.SOLANA, new OKXSolanaSigner(solProvider));\n signers.registerSigner(TxType.TRANSFER, new OKXUTXOSigner(utxoProvider));\n signers.registerSigner(TxType.TON, new OKXTonSigner(tonProvider));\n signers.registerSigner(TxType.TRON, new DefaultTronSigner(tronProvider));\n\n const suiProvider = suiWalletInstance();\n if (suiProvider) {\n const { DefaultSuiSigner } = await import('@rango-dev/signer-sui');\n signers.registerSigner(TxType.SUI, new DefaultSuiSigner(suiProvider));\n }\n\n return signers;\n}\n", "import {\n DefaultSolanaSigner,\n type SolanaExternalProvider,\n} from '@rango-dev/signer-solana';\nimport { SignerError, SignerErrorCode } from 'rango-types';\n\nexport class OKXSolanaSigner extends DefaultSolanaSigner {\n constructor(provider: SolanaExternalProvider) {\n super(provider);\n }\n\n async signMessage(msg: string): Promise<string> {\n try {\n const { signature } = await this.provider.request({\n method: 'signMessage',\n params: {\n message: msg,\n },\n });\n return signature;\n } catch (error) {\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, error);\n }\n }\n}\n", "import type {\n TonConnectWalletResponseError,\n TonProviderApi,\n} from '../namespaces/ton/types.js';\nimport type { GenericSigner, TonTransaction } from 'rango-types';\n\nimport { SignerError, SignerErrorCode, TonChainID } from 'rango-types';\n\nimport { TON_CONNECT_USER_REJECTED_CODE } from '../constants.js';\nimport { nextTonRequestId } from '../namespaces/ton/utils.js';\n\nfunction toSignerError(response: TonConnectWalletResponseError): SignerError {\n const code =\n response.error.code === TON_CONNECT_USER_REJECTED_CODE\n ? SignerErrorCode.REJECTED_BY_USER\n : SignerErrorCode.SEND_TX_ERROR;\n return new SignerError(code, response.error.message, response.error);\n}\n\nexport class OKXTonSigner implements GenericSigner<TonTransaction> {\n private provider: TonProviderApi;\n\n constructor(provider: TonProviderApi) {\n this.provider = provider;\n }\n\n async signMessage(): Promise<string> {\n throw SignerError.UnimplementedError('signMessage');\n }\n\n async signAndSendTx(tx: TonTransaction): Promise<{ hash: string }> {\n const { validUntil, network, from, messages } = tx;\n\n const { Address, Cell } = await import('@ton/core');\n\n const transactionPayload = {\n valid_until: validUntil,\n network: network ?? TonChainID.MAINNET,\n ...(from && { from: Address.parse(from).toRawString() }),\n messages: messages.map(({ stateInit, payload, ...message }) => ({\n ...message,\n ...(stateInit != null && { stateInit }),\n ...(payload != null && { payload }),\n })),\n };\n\n try {\n const response = await this.provider.send({\n method: 'sendTransaction',\n params: [JSON.stringify(transactionPayload)],\n id: nextTonRequestId(),\n });\n\n if ('error' in response) {\n throw toSignerError(response);\n }\n\n const hash = Cell.fromBase64(response.result).hash().toString('hex');\n return { hash };\n } catch (error) {\n if (error instanceof SignerError) {\n throw error;\n }\n throw new SignerError(SignerErrorCode.SEND_TX_ERROR, undefined, error);\n }\n }\n}\n", "import type {\n Environments,\n TonAddressItemReply,\n TonConnectEvent,\n TonConnectEventSuccess,\n} from './types.js';\nimport type { CaipAccount } from '@hub3js/std/types';\n\nimport { utils as tonCoreUtils } from '@hub3js/tvm';\n\nexport function isTonConnectEventSuccess(\n event: TonConnectEvent\n): event is TonConnectEventSuccess {\n return (\n !!event && event.event === 'connect' && Array.isArray(event.payload?.items)\n );\n}\n\nexport function isTonAddressItemReply(\n item: unknown\n): item is TonAddressItemReply {\n return (\n typeof item === 'object' &&\n item !== null &&\n 'name' in item &&\n item.name === 'ton_addr' &&\n 'address' in item &&\n typeof item.address === 'string'\n );\n}\n\nlet environments: Environments | undefined;\n\nexport function setEnvironments(env?: Environments) {\n environments = env;\n}\n\nexport function getTonConnectManifestUrl(): string {\n const manifestUrl = environments?.tonConnectManifestUrl;\n if (!manifestUrl) {\n throw new Error(\n 'OKX TON requires a TonConnect manifest URL. Please provide it through the provider environments.'\n );\n }\n return manifestUrl;\n}\n\nlet tonRequestId = 0;\n\n// TonConnect requires a unique string `id` on every request sent to the bridge.\nexport function nextTonRequestId(): string {\n tonRequestId += 1;\n return tonRequestId.toString();\n}\n\n// Convert a `ConnectEvent`'s raw `<workchain>:<hex>` address to user-friendly CAIP.\nexport async function connectEventToCAIP(\n connectEvent: TonConnectEvent\n): Promise<CaipAccount[]> {\n if (!isTonConnectEventSuccess(connectEvent)) {\n return tonCoreUtils.formatAccountsToCAIP([]);\n }\n\n const addressItem = connectEvent.payload.items.find(isTonAddressItemReply);\n if (!addressItem) {\n return tonCoreUtils.formatAccountsToCAIP([]);\n }\n\n const { Address } = await import('@ton/core');\n const userFriendlyAddress = Address.parseRaw(addressItem.address).toString({\n bounceable: false,\n urlSafe: true,\n });\n\n return tonCoreUtils.formatAccountsToCAIP([userFriendlyAddress]);\n}\n", "import type { ProviderAPI } from '@rango-dev/wallets-core/namespaces/utxo';\nimport type { GenericSigner, Transfer } from 'rango-types';\n\nimport { isBitcoinBlockchain } from '@rango-dev/wallets-shared';\nimport { SignerError } from 'rango-types';\n\nexport class OKXUTXOSigner implements GenericSigner<Transfer> {\n private provider: ProviderAPI;\n constructor(provider: ProviderAPI) {\n this.provider = provider;\n }\n\n async signMessage(): Promise<string> {\n throw SignerError.UnimplementedError('signMessage');\n }\n\n async signAndSendTx(tx: Transfer): Promise<{ hash: string }> {\n const { asset, psbt } = tx;\n if (!psbt) {\n throw new Error(\n 'No PSBT found to sign. Ensure a valid PSBT is provided.'\n );\n }\n\n if (!isBitcoinBlockchain(asset.blockchain)) {\n throw new Error(\n `Signing ${asset.blockchain} transaction is not implemented by the signer.`\n );\n }\n // 1. Decode Base64 to hex\n const psbtHex = Buffer.from(psbt.unsignedPsbtBase64, 'base64').toString(\n 'hex'\n );\n\n // 2. Build UniSat inputs\n const toSignInputs = psbt.inputsToSign.flatMap(\n ({ address, signingIndexes }) =>\n signingIndexes.map((index) => ({ index, address }))\n );\n\n try {\n // 3. Sign (& auto-finalize)\n const signedPsbtHex = await this.provider.signPsbt(psbtHex, {\n autoFinalized: true,\n toSignInputs,\n });\n\n // 4. Push signed psbt\n const transactionHash = await this.provider.pushPsbt(signedPsbtHex);\n\n return { hash: transactionHash };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n throw new Error(error?.message || 'Error during signing transaction');\n }\n }\n}\n", "import type { TonProviderApi } from './namespaces/ton/types.js';\nimport type { OkxBtcAddress, OkxTronMessageEvent, Provider } from './types.js';\nimport type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';\nimport type { ProviderAPI as SolanaProviderApi } from '@hub3js/solana';\nimport type { ProviderAPI as SuiProviderApi } from '@hub3js/sui';\nimport type { ProviderAPI as TronProviderApi } from '@rango-dev/wallets-core/namespaces/tron';\nimport type { ProviderAPI as UtxoProviderApi } from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport {\n EVM_NAMESPACE,\n SOLANA_NAMESPACE,\n TON_NAMESPACE,\n TRON_NAMESPACE,\n UTXO_NAMESPACE,\n} from '@hub3js/namespaces';\nimport { getInstanceOrThrow as getSuiInstanceOrThrow } from '@hub3js/sui';\n\nimport { WALLET_NAME_IN_WALLET_STANDARD } from './constants.js';\n\nexport function okx(): Provider | null {\n const { okxwallet, okxTonWallet } = window;\n if (!okxwallet && !okxTonWallet) {\n return null;\n }\n const instances: Provider = new Map();\n if (okxwallet) {\n instances.set(EVM_NAMESPACE, okxwallet);\n }\n if (okxwallet.solana) {\n instances.set(SOLANA_NAMESPACE, okxwallet.solana);\n }\n if (okxwallet.bitcoin) {\n instances.set(UTXO_NAMESPACE, okxwallet.bitcoin);\n }\n if (okxTonWallet?.tonconnect) {\n instances.set(TON_NAMESPACE, okxTonWallet.tonconnect);\n }\n if (okxwallet.tronLink) {\n instances.set(TRON_NAMESPACE, okxwallet.tronLink);\n }\n return instances;\n}\n\nexport function getInstanceOrThrow(): Provider {\n const instances = okx();\n\n if (!instances) {\n throw new Error('OKX Wallet is not injected. Please check your wallet.');\n }\n\n return instances;\n}\n\nexport function evmOKX(): EvmProviderApi {\n const instances = okx();\n\n const evmInstance = instances?.get(EVM_NAMESPACE);\n\n if (!evmInstance) {\n throw new Error(\n 'OKX Wallet not injected or EVM not enabled. Please check your wallet.'\n );\n }\n\n return evmInstance as EvmProviderApi;\n}\n\nexport function solanaOKX(): SolanaProviderApi {\n const instance = okx();\n const solanaInstance = instance?.get(SOLANA_NAMESPACE);\n\n if (!solanaInstance) {\n throw new Error(\n 'OKX Wallet not injected or Solana not enabled. Please check your wallet.'\n );\n }\n\n return solanaInstance;\n}\nexport function bitcoinOKX(): UtxoProviderApi {\n const instance = okx();\n const bitcoinInstance = instance?.get(UTXO_NAMESPACE);\n\n if (!bitcoinInstance) {\n throw new Error(\n 'OKX Wallet not injected or Utxo not enabled. Please check your wallet.'\n );\n }\n\n return bitcoinInstance;\n}\n\nexport function tonOKX(): TonProviderApi {\n const instance = okx();\n const tonInstance = instance?.get(TON_NAMESPACE);\n\n if (!tonInstance) {\n throw new Error(\n 'OKX Wallet not injected or TON not enabled. Please check your wallet.'\n );\n }\n\n return tonInstance as TonProviderApi;\n}\n\nexport function tronOKX(): TronProviderApi {\n const instance = okx();\n const tronInstance = instance?.get(TRON_NAMESPACE);\n\n if (!tronInstance) {\n throw new Error(\n 'OKX Wallet not injected or Tron not enabled. Please check your wallet.'\n );\n }\n\n return tronInstance;\n}\n\nexport function suiWalletInstance(): SuiProviderApi | null {\n try {\n return getSuiInstanceOrThrow(WALLET_NAME_IN_WALLET_STANDARD);\n } catch {\n return null;\n }\n}\n\nexport function suiWalletInstanceOrThrow(): SuiProviderApi {\n return getSuiInstanceOrThrow(WALLET_NAME_IN_WALLET_STANDARD);\n}\nexport async function getBitcoinAccounts(): Promise<OkxBtcAddress> {\n const instance = bitcoinOKX();\n const requestResult = await instance.connect();\n\n if (requestResult.error?.message) {\n throw new Error(requestResult.error.message);\n }\n\n return requestResult;\n}\n\nexport function isOkxTronMessageEvent(\n value: unknown\n): value is OkxTronMessageEvent {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n const event = value as { message?: { action?: unknown } };\n return (\n typeof event.message === 'object' &&\n event.message !== null &&\n typeof event.message.action === 'string'\n );\n}\n", "import type { EvmActions } from '@hub3js/evm';\n\nimport { NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders, utils } from '@hub3js/evm';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\n\nimport { WALLET_ID } from '../constants.js';\nimport { evmOKX } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(evmOKX)\n /*\n * Okx wallet may call the `changeAccount` event with `null` value\n * but we shouldn't disconnect in this case.\n */\n .onSwitchAccount((event) => {\n if (!event.payload.length) {\n event.preventDefault();\n }\n })\n .format(async (instance, event) => {\n const chainId = await instance.request({ method: 'eth_chainId' });\n // The wallet may emit a `null` value in its `sent` event.\n return utils.formatAccountsToCAIP(event.filter(Boolean), chainId);\n })\n .build();\nconst connect = builders\n .connect()\n .action(actions.connect(evmOKX))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<EvmActions>()\n .before(() => {\n evmOKX().disconnect();\n })\n .after(changeAccountCleanup)\n .build();\n\nconst canSwitchNetwork = builders\n .canSwitchNetwork()\n .action(actions.canSwitchNetwork())\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(actions.canEagerConnect(evmOKX))\n .build();\n\nconst getChainId = builders\n .getChainId()\n .action(actions.getChainId(evmOKX))\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .action(canSwitchNetwork)\n .action(getChainId)\n .build();\n\nexport { evm };\n", "import type { SolanaActions } from '@hub3js/solana';\n\nimport { ActionBuilder, NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders, utils } from '@hub3js/solana';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\n\nimport { WALLET_ID } from '../constants.js';\nimport { solanaOKX } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(solanaOKX)\n /*\n * Okx wallet may call the `changeAccount` event with `null` value\n * but we shouldn't disconnect in this case.\n */\n .onSwitchAccount((event) => {\n if (!event.payload) {\n event.preventDefault();\n }\n })\n .format(async (_, event) => {\n // The wallet may emit a `null` value in its `sent` event.\n return utils.formatAccountsToCAIP(event ? [event] : []);\n })\n .build();\n\nconst connect = builders\n .connect()\n .action(actions.connect(solanaOKX))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<SolanaActions>()\n .before(() => {\n solanaOKX().disconnect();\n })\n .after(changeAccountCleanup)\n .build();\n\nconst canEagerConnect = new ActionBuilder<SolanaActions, 'canEagerConnect'>(\n 'canEagerConnect'\n)\n .action(actions.canEagerConnect(solanaOKX))\n .build();\n\nconst solana = new NamespaceBuilder<SolanaActions>('Solana', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { solana };\n", "import type { SuiActions } from '@hub3js/sui';\n\nimport { NamespaceBuilder } from '@hub3js/core';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\nimport { actions, builders, hooks } from '@hub3js/sui';\n\nimport { WALLET_ID, WALLET_NAME_IN_WALLET_STANDARD } from '../constants.js';\nimport { suiHooks } from '../hooks/sui.js';\nimport { suiWalletInstanceOrThrow } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] =\n hooks.changeAccountSubscriber({\n name: WALLET_NAME_IN_WALLET_STANDARD,\n });\n\nconst [disconnectSubscriber, disconnectCleanup] = suiHooks.disconnectSubscriber(\n suiWalletInstanceOrThrow\n);\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(\n actions.canEagerConnect({\n name: WALLET_NAME_IN_WALLET_STANDARD,\n })\n )\n .build();\n\nconst connect = builders\n .connect({\n name: WALLET_NAME_IN_WALLET_STANDARD,\n })\n .before(changeAccountSubscriber)\n .before(disconnectSubscriber)\n .or(changeAccountCleanup)\n .or(disconnectCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<SuiActions>()\n .after(changeAccountCleanup)\n .after(disconnectCleanup)\n .build();\n\nconst sui = new NamespaceBuilder<SuiActions>('Sui', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { sui };\n", "import type { Subscriber, SubscriberCleanUp } from '@hub3js/core';\nimport type { ProviderAPI, SuiActions } from '@hub3js/sui';\n\n/*\n * OKX's Sui wallet-standard instance emits a `disconnect` event on its\n * `standard:events` feature when the user disconnects from the wallet UI.\n * Account switches come through `change` (handled by the core change\n * subscriber); disconnect is NOT surfaced there. The `disconnect` event is\n * undocumented in the wallet-standard types, which only declare `change`, hence\n * the cast on `.on`. `.on` returns an unsubscribe function that the cleanup invokes.\n */\nfunction disconnectSubscriber(\n getInstance: () => ProviderAPI\n): [Subscriber<SuiActions>, SubscriberCleanUp<SuiActions>] {\n let unsubscribe: (() => void) | void;\n\n return [\n (context) => {\n const instance = getInstance();\n\n if (!instance) {\n throw new Error(\n 'Trying to subscribe to your Sui wallet, but seems its instance is not available.'\n );\n }\n\n unsubscribe = (\n instance.features['standard:events'].on as (\n event: string,\n listener: (event: unknown) => void\n ) => () => void\n )('disconnect', () => {\n context.action('disconnect');\n });\n },\n (_context, err) => {\n if (typeof unsubscribe === 'function') {\n unsubscribe();\n }\n\n return err;\n },\n ];\n}\n\nexport const suiHooks = { disconnectSubscriber };\n", "import { NamespaceBuilder } from '@hub3js/core';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\nimport { builders, type TonActions } from '@hub3js/tvm';\n\nimport { tonActions } from '../../actions/ton.js';\nimport { tonBuilders } from '../../builders/ton.js';\nimport { WALLET_ID } from '../../constants.js';\nimport { tonOKX } from '../../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = tonBuilders\n .changeAccountSubscriber(tonOKX)\n .build();\n\nconst [walletDisconnectSubscriber, walletDisconnectCleanup] = tonBuilders\n .disconnectSubscriber(tonOKX)\n .build();\n\nconst connect = builders\n .connect()\n .action(tonActions.connect(tonOKX))\n .before(changeAccountSubscriber)\n .before(walletDisconnectSubscriber)\n .or(walletDisconnectCleanup)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<TonActions>()\n .before(tonActions.disconnect(tonOKX))\n .after(changeAccountCleanup)\n .after(walletDisconnectCleanup)\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(tonActions.canEagerConnect(tonOKX))\n .build();\n\nconst ton = new NamespaceBuilder<TonActions>('Ton', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { ton };\n", "import type {\n TonConnectEvent,\n TonProviderApi,\n} from '../namespaces/ton/types.js';\nimport type { Context, FunctionWithContext } from '@hub3js/core';\n\nimport { type TonActions } from '@hub3js/tvm';\n\nimport {\n TON_CONNECT_PROTOCOL_VERSION,\n TON_CONNECT_USER_REJECTED_CODE,\n} from '../constants.js';\nimport {\n connectEventToCAIP,\n getTonConnectManifestUrl,\n isTonConnectEventSuccess,\n nextTonRequestId,\n} from '../namespaces/ton/utils.js';\n\nexport function connect(\n getInstance: () => TonProviderApi\n): FunctionWithContext<TonActions['connect'], Context> {\n return async () => {\n const instance = getInstance();\n\n /*\n * If the dApp was approved before, `restoreConnection` resolves the current\n * session without prompting the user; otherwise fall back to a fresh\n * connect request.\n */\n let connectEvent: TonConnectEvent | undefined;\n try {\n connectEvent = await instance.restoreConnection();\n } catch {\n // No restorable session; a fresh connect request is made below.\n }\n\n if (!connectEvent || !isTonConnectEventSuccess(connectEvent)) {\n connectEvent = await instance.connect(TON_CONNECT_PROTOCOL_VERSION, {\n manifestUrl: getTonConnectManifestUrl(),\n items: [{ name: 'ton_addr' }],\n });\n }\n\n if (!isTonConnectEventSuccess(connectEvent)) {\n // The bridge reports a user-cancelled prompt as a `connect_error` event.\n if (connectEvent.payload.code === TON_CONNECT_USER_REJECTED_CODE) {\n throw new Error('User rejected the request.');\n }\n throw new Error(\n `Couldn't connect to OKX TON. code: ${connectEvent.payload.code}, message: ${connectEvent.payload.message}`\n );\n }\n\n const accounts = await connectEventToCAIP(connectEvent);\n if (!accounts.length) {\n throw new Error(\"Couldn't find any TON address!\");\n }\n\n return accounts;\n };\n}\n\nexport function canEagerConnect(\n getInstance: () => TonProviderApi\n): FunctionWithContext<TonActions['canEagerConnect'], Context> {\n return async () => {\n /*\n * Auto connect may run this before the wallet is injected; it should never\n * throw.\n */\n try {\n const connectEvent = await getInstance().restoreConnection();\n return isTonConnectEventSuccess(connectEvent);\n } catch {\n return false;\n }\n };\n}\n\nexport function disconnect(getInstance: () => TonProviderApi) {\n return async () => {\n /*\n * Revoking the session on the wallet side is best effort; local state\n * cleanup should proceed even if it fails.\n */\n try {\n await getInstance().send({\n method: 'disconnect',\n params: [],\n id: nextTonRequestId(),\n });\n } catch {\n // ignore\n }\n };\n}\n\nexport const tonActions = { connect, canEagerConnect, disconnect };\n", "import type { TonProviderApi } from '../namespaces/ton/types.js';\n\nimport { ChangeAccountSubscriberBuilder } from '@hub3js/std/hooks';\nimport { type TonActions, utils } from '@hub3js/tvm';\n\nimport { connectEventToCAIP } from '../namespaces/ton/utils.js';\n\n/*\n * OKX emits its non-standard `accountChanged` event without a documented\n * payload, so the switched address can't be read from the event. Because the\n * bridge is standard TON Connect, `format` re-reads the active account from the\n * instance via `restoreConnection` instead\n */\nexport const changeAccountSubscriber = (getInstance: () => TonProviderApi) =>\n new ChangeAccountSubscriberBuilder<unknown, TonProviderApi, TonActions>()\n .getInstance(getInstance)\n .format(async (instance) => {\n try {\n const connectEvent = await instance.restoreConnection();\n return await connectEventToCAIP(connectEvent);\n } catch {\n // No active session after the switch \u2014 treat as disconnected.\n return utils.formatAccountsToCAIP([]);\n }\n })\n .addEventListener((instance, callback) => {\n instance.on('accountChanged', callback);\n })\n .removeEventListener((instance, callback) => {\n instance.off('accountChanged', callback);\n });\n\nexport const disconnectSubscriber = (getInstance: () => TonProviderApi) =>\n new ChangeAccountSubscriberBuilder<unknown, TonProviderApi, TonActions>()\n .getInstance(getInstance)\n .onSwitchAccount((event, context) => {\n event.preventDefault();\n void context.action('disconnect');\n })\n .format(async () => [])\n .addEventListener((instance, callback) => {\n instance.on('disconnect', callback);\n })\n .removeEventListener((instance, callback) => {\n instance.off('disconnect', callback);\n });\n\nexport const tonBuilders = { changeAccountSubscriber, disconnectSubscriber };\n", "import { NamespaceBuilder } from '@hub3js/core';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\nimport { type TronActions } from '@rango-dev/wallets-core/namespaces/tron';\nimport { builders } from '@rango-dev/wallets-core/namespaces/tron';\n\nimport { tronActions } from '../actions/tron.js';\nimport { tronBuilders } from '../builders/tron.js';\nimport { WALLET_ID } from '../constants.js';\nimport { tronOKX } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = tronBuilders\n .changeAccountSubscriber(tronOKX)\n .build();\n\nconst connect = builders\n .connect()\n .action(tronActions.connect)\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(tronActions.canEagerConnect)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<TronActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst tron = new NamespaceBuilder<TronActions>('Tron', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { tron };\n", "import { utils } from '@rango-dev/wallets-core/namespaces/tron';\n\nimport {\n TRON_OK_REQUEST_CODE,\n TRON_USER_REJECTION_CODE,\n} from '../constants.js';\nimport { tronOKX } from '../utils.js';\n\nconst connect = async () => {\n const instance = tronOKX();\n const accountsResult = await instance.request({\n method: 'tron_requestAccounts',\n });\n\n if (accountsResult?.code && accountsResult.code !== TRON_OK_REQUEST_CODE) {\n if (accountsResult.code === TRON_USER_REJECTION_CODE) {\n throw new Error('User rejected the request.');\n }\n throw new Error(\n accountsResult.message ?? 'Failed to connect to OKX Wallet Tron.'\n );\n }\n return utils.formatAccountsToCAIP([instance.tronWeb.defaultAddress.base58]);\n};\n\n/*\n * Wrapped in a try-catch in the case of wallet injection delay\n */\nconst canEagerConnect = async () => {\n try {\n const tronInstance = tronOKX();\n return !!tronInstance.ready;\n } catch {\n return false;\n }\n};\nexport const tronActions = { connect, canEagerConnect };\n", "import { ChangeAccountSubscriberBuilder } from '@hub3js/std/hooks';\nimport {\n type ProviderAPI,\n type TronActions,\n utils,\n} from '@rango-dev/wallets-core/namespaces/tron';\n\nimport { isOkxTronMessageEvent } from '../utils.js';\n\nexport const changeAccountSubscriber = (getInstance: () => ProviderAPI) =>\n new ChangeAccountSubscriberBuilder<\n MessageEvent<unknown>,\n ProviderAPI,\n TronActions\n >()\n .getInstance(getInstance)\n .onSwitchAccount((event, context) => {\n const data = event.payload?.data;\n\n if (!isOkxTronMessageEvent(data)) {\n event.preventDefault();\n return;\n }\n\n const { action } = data.message;\n\n if (action === 'disconnect') {\n event.preventDefault();\n context.action('disconnect');\n return;\n }\n\n /*\n * Change account only on `accountsChanged` with a string address (`format`\n * reads it). Everything else \u2014 including `accountsChanged` with address\n * `false` (its disconnect is handled above) \u2014 is ignored.\n */\n if (\n action !== 'accountsChanged' ||\n typeof data.message.data?.address !== 'string'\n ) {\n event.preventDefault();\n }\n })\n .format(async (_, event) => {\n const data = event.data;\n const address =\n isOkxTronMessageEvent(data) && data.message.action === 'accountsChanged'\n ? data.message.data?.address\n : undefined;\n if (typeof address !== 'string') {\n throw new Error('No Tron address received from OKX Wallet.');\n }\n return utils.formatAccountsToCAIP([address]);\n })\n .addEventListener((_, callback) => {\n window.addEventListener('message', callback);\n })\n .removeEventListener((_, callback) => {\n window.removeEventListener('message', callback);\n });\n\nexport const tronBuilders = { changeAccountSubscriber };\n", "import { NamespaceBuilder } from '@hub3js/core';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\nimport {\n CAIP_BITCOIN_CHAIN_ID,\n utils,\n type UtxoActions,\n} from '@rango-dev/wallets-core/namespaces/utxo';\nimport { builders } from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport { utxoBuilders } from '../builders/utxo.js';\nimport { WALLET_ID } from '../constants.js';\nimport { bitcoinOKX, getBitcoinAccounts } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = utxoBuilders\n .changeAccountSubscriber(bitcoinOKX)\n .build();\n\nconst canEagerConnect = utxoBuilders.canEagerConnect(bitcoinOKX).build();\n\nconst connect = builders\n .connect()\n .action(async function () {\n const accountsResult = await getBitcoinAccounts();\n\n if (!accountsResult?.address) {\n throw new Error(\"Couldn't find any address!\");\n }\n return utils.formatAccountsToCAIP(\n [accountsResult.address],\n CAIP_BITCOIN_CHAIN_ID\n );\n })\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<UtxoActions>()\n .before(() => {\n bitcoinOKX().disconnect();\n })\n .after(changeAccountCleanup)\n .build();\n\nconst utxo = new NamespaceBuilder<UtxoActions>('UTXO', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { utxo };\n", "import type { OkxBtcAddress } from '../types.js';\n\nimport { ActionBuilder } from '@hub3js/core';\nimport { ChangeAccountSubscriberBuilder } from '@hub3js/std/hooks';\nimport {\n CAIP_BITCOIN_CHAIN_ID,\n type ProviderAPI,\n utils,\n type UtxoActions,\n} from '@rango-dev/wallets-core/namespaces/utxo';\n\nexport const changeAccountSubscriber = (getInstance: () => ProviderAPI) =>\n new ChangeAccountSubscriberBuilder<OkxBtcAddress, ProviderAPI, UtxoActions>()\n .getInstance(getInstance)\n /*\n * Okx wallet may call the `changeAccount` event with `null` value\n * but we shouldn't disconnect in this case.\n */\n .onSwitchAccount((event) => {\n if (!event.payload?.address) {\n event.preventDefault();\n }\n })\n\n .format(async (_, event) => {\n return utils.formatAccountsToCAIP(\n event ? [event.address] : [],\n CAIP_BITCOIN_CHAIN_ID\n );\n })\n .addEventListener((instance, callback) => {\n return instance.addListener('accountChanged', callback);\n })\n .removeEventListener((instance, callback) => {\n return instance.removeListener('accountChanged', callback);\n });\n\nfunction canEagerConnect(getInstance: () => ProviderAPI) {\n return new ActionBuilder<UtxoActions, 'canEagerConnect'>(\n 'canEagerConnect'\n ).action(async () => {\n const instance = getInstance();\n try {\n const accounts = await instance.getAccounts();\n return !!accounts.length;\n } catch {\n return false;\n }\n });\n}\n\nexport const utxoBuilders = { changeAccountSubscriber, canEagerConnect };\n"],
5
+ "mappings": "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",
6
+ "names": ["defineVersions", "ProviderBuilder", "CAIP_ARBITRUM_CHAIN_ID", "CAIP_AVAX_CHAIN_ID", "CAIP_BOBA_CHAIN_ID", "CAIP_BSC_CHAIN_ID", "CAIP_CRONOS_CHAIN_ID", "CAIP_ETHEREUM_CHAIN_ID", "CAIP_FANTOM_CHAIN_ID", "CAIP_GNOSIS_CHAIN_ID", "CAIP_HARMONY_CHAIN_ID", "CAIP_MOONBEAM_CHAIN_ID", "CAIP_MOONRIVER_CHAIN_ID", "CAIP_OPTIMISM_CHAIN_ID", "CAIP_POLYGON_CHAIN_ID", "isEvmNamespace", "isSolanaNamespace", "getChainIdFromCaip2ChainId", "isSuiNamespace", "isTvmNamespace", "isTronNamespace", "CAIP_BITCOIN_CHAIN_ID", "isUtxoNamespace", "EVM_NAMESPACE", "SOLANA_NAMESPACE", "TON_NAMESPACE", "TRON_NAMESPACE", "UTXO_NAMESPACE", "getNetworkInstance", "DefaultSignerFactory", "TxType", "DefaultSolanaSigner", "SignerError", "SignerErrorCode", "OKXSolanaSigner", "DefaultSolanaSigner", "__name", "provider", "msg", "signature", "error", "SignerError", "SignerErrorCode", "SignerError", "SignerErrorCode", "TonChainID", "tonCoreUtils", "isTonConnectEventSuccess", "event", "__name", "isTonAddressItemReply", "item", "environments", "setEnvironments", "env", "getTonConnectManifestUrl", "manifestUrl", "tonRequestId", "nextTonRequestId", "connectEventToCAIP", "connectEvent", "tonCoreUtils", "addressItem", "Address", "userFriendlyAddress", "toSignerError", "response", "code", "TON_CONNECT_USER_REJECTED_CODE", "SignerErrorCode", "SignerError", "__name", "OKXTonSigner", "provider", "tx", "validUntil", "network", "from", "messages", "Address", "Cell", "transactionPayload", "TonChainID", "stateInit", "payload", "message", "nextTonRequestId", "error", "isBitcoinBlockchain", "SignerError", "OKXUTXOSigner", "__name", "provider", "SignerError", "tx", "asset", "psbt", "isBitcoinBlockchain", "psbtHex", "toSignInputs", "address", "signingIndexes", "index", "signedPsbtHex", "error", "EVM_NAMESPACE", "SOLANA_NAMESPACE", "TON_NAMESPACE", "TRON_NAMESPACE", "UTXO_NAMESPACE", "getSuiInstanceOrThrow", "okx", "okxwallet", "okxTonWallet", "instances", "EVM_NAMESPACE", "SOLANA_NAMESPACE", "UTXO_NAMESPACE", "TON_NAMESPACE", "TRON_NAMESPACE", "__name", "getInstanceOrThrow", "evmOKX", "evmInstance", "solanaOKX", "solanaInstance", "bitcoinOKX", "bitcoinInstance", "tonOKX", "tonInstance", "tronOKX", "tronInstance", "suiWalletInstance", "getSuiInstanceOrThrow", "WALLET_NAME_IN_WALLET_STANDARD", "suiWalletInstanceOrThrow", "getBitcoinAccounts", "requestResult", "isOkxTronMessageEvent", "value", "event", "getSigners", "provider", "ethProvider", "getNetworkInstance", "EVM_NAMESPACE", "solProvider", "SOLANA_NAMESPACE", "utxoProvider", "UTXO_NAMESPACE", "tonProvider", "TON_NAMESPACE", "tronProvider", "TRON_NAMESPACE", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "DefaultTronSigner", "TxType", "OKXSolanaSigner", "OKXUTXOSigner", "OKXTonSigner", "suiProvider", "suiWalletInstance", "DefaultSuiSigner", "__name", "WALLET_ID", "TON_CONNECT_PROTOCOL_VERSION", "TON_CONNECT_USER_REJECTED_CODE", "TRON_OK_REQUEST_CODE", "TRON_USER_REJECTION_CODE", "WALLET_NAME_IN_WALLET_STANDARD", "EVM_SUPPORTED_CHAINS", "CAIP_ETHEREUM_CHAIN_ID", "CAIP_BSC_CHAIN_ID", "CAIP_POLYGON_CHAIN_ID", "CAIP_FANTOM_CHAIN_ID", "CAIP_ARBITRUM_CHAIN_ID", "CAIP_OPTIMISM_CHAIN_ID", "CAIP_CRONOS_CHAIN_ID", "CAIP_BOBA_CHAIN_ID", "CAIP_GNOSIS_CHAIN_ID", "CAIP_MOONBEAM_CHAIN_ID", "CAIP_MOONRIVER_CHAIN_ID", "CAIP_HARMONY_CHAIN_ID", "CAIP_AVAX_CHAIN_ID", "metadata", "chainId", "isEvmNamespace", "getChainIdFromCaip2ChainId", "isSolanaNamespace", "isUtxoNamespace", "CAIP_BITCOIN_CHAIN_ID", "isTvmNamespace", "isTronNamespace", "isSuiNamespace", "getSigners", "getInstanceOrThrow", "NamespaceBuilder", "actions", "builders", "utils", "commonBuilders", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "builders", "evmOKX", "event", "instance", "chainId", "utils", "connect", "actions", "standardizeAndThrowError", "disconnect", "canSwitchNetwork", "canEagerConnect", "getChainId", "evm", "NamespaceBuilder", "WALLET_ID", "ActionBuilder", "NamespaceBuilder", "actions", "builders", "utils", "commonBuilders", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "builders", "solanaOKX", "event", "_", "utils", "connect", "actions", "standardizeAndThrowError", "disconnect", "canEagerConnect", "ActionBuilder", "solana", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "actions", "builders", "hooks", "disconnectSubscriber", "getInstance", "unsubscribe", "context", "instance", "_context", "err", "__name", "suiHooks", "changeAccountSubscriber", "changeAccountCleanup", "hooks", "WALLET_NAME_IN_WALLET_STANDARD", "disconnectSubscriber", "disconnectCleanup", "suiHooks", "suiWalletInstanceOrThrow", "canEagerConnect", "builders", "actions", "connect", "standardizeAndThrowError", "disconnect", "sui", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "builders", "connect", "getInstance", "instance", "connectEvent", "isTonConnectEventSuccess", "TON_CONNECT_PROTOCOL_VERSION", "getTonConnectManifestUrl", "TON_CONNECT_USER_REJECTED_CODE", "accounts", "connectEventToCAIP", "__name", "canEagerConnect", "disconnect", "nextTonRequestId", "tonActions", "ChangeAccountSubscriberBuilder", "utils", "changeAccountSubscriber", "__name", "getInstance", "ChangeAccountSubscriberBuilder", "instance", "connectEvent", "connectEventToCAIP", "utils", "callback", "disconnectSubscriber", "event", "context", "tonBuilders", "changeAccountSubscriber", "changeAccountCleanup", "tonBuilders", "tonOKX", "walletDisconnectSubscriber", "walletDisconnectCleanup", "connect", "builders", "tonActions", "standardizeAndThrowError", "disconnect", "canEagerConnect", "ton", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "builders", "utils", "connect", "__name", "instance", "tronOKX", "accountsResult", "TRON_OK_REQUEST_CODE", "TRON_USER_REJECTION_CODE", "utils", "canEagerConnect", "tronActions", "ChangeAccountSubscriberBuilder", "utils", "changeAccountSubscriber", "__name", "getInstance", "ChangeAccountSubscriberBuilder", "event", "context", "data", "isOkxTronMessageEvent", "action", "_", "address", "utils", "callback", "tronBuilders", "changeAccountSubscriber", "changeAccountCleanup", "tronBuilders", "tronOKX", "connect", "builders", "tronActions", "standardizeAndThrowError", "canEagerConnect", "disconnect", "tron", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "CAIP_BITCOIN_CHAIN_ID", "utils", "builders", "ActionBuilder", "ChangeAccountSubscriberBuilder", "CAIP_BITCOIN_CHAIN_ID", "utils", "changeAccountSubscriber", "__name", "getInstance", "ChangeAccountSubscriberBuilder", "event", "_", "utils", "CAIP_BITCOIN_CHAIN_ID", "instance", "callback", "canEagerConnect", "ActionBuilder", "utxoBuilders", "changeAccountSubscriber", "changeAccountCleanup", "utxoBuilders", "bitcoinOKX", "canEagerConnect", "connect", "builders", "accountsResult", "getBitcoinAccounts", "utils", "CAIP_BITCOIN_CHAIN_ID", "standardizeAndThrowError", "disconnect", "utxo", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "environments", "setEnvironments", "setState", "okx", "metadata", "solana", "evm", "utxo", "ton", "tron", "sui", "versions", "__name", "defineVersions", "buildProvider"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/namespaces/ton/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACvB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,eAAe,GACrB,KAAK,IAAI,sBAAsB,CAIjC;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,OAAO,GACZ,IAAI,IAAI,mBAAmB,CAS7B;AAID,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,YAAY,QAEjD;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAQjD;AAKD,wBAAgB,gBAAgB,IAAI,MAAM,CAGzC;AAGD,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,eAAe,GAC5B,OAAO,CAAC,WAAW,EAAE,CAAC,CAmBxB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/namespaces/ton/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACvB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,eAAe,GACrB,KAAK,IAAI,sBAAsB,CAIjC;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,OAAO,GACZ,IAAI,IAAI,mBAAmB,CAS7B;AAID,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,YAAY,QAEjD;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAQjD;AAKD,wBAAgB,gBAAgB,IAAI,MAAM,CAGzC;AAGD,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,eAAe,GAC5B,OAAO,CAAC,WAAW,EAAE,CAAC,CAiBxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAoBjD,wBAA8B,UAAU,CACtC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,aAAa,CAAC,CA6BxB"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAiBjD,wBAA8B,UAAU,CACtC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,aAAa,CAAC,CAuBxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ton.d.ts","sourceRoot":"","sources":["../../src/signers/ton.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgBjE,qBAAa,YAAa,YAAW,aAAa,CAAC,cAAc,CAAC;IAChE,OAAO,CAAC,QAAQ,CAAiB;gBAErB,QAAQ,EAAE,cAAc;IAI9B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,aAAa,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAsCnE"}
1
+ {"version":3,"file":"ton.d.ts","sourceRoot":"","sources":["../../src/signers/ton.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAejE,qBAAa,YAAa,YAAW,aAAa,CAAC,cAAc,CAAC;IAChE,OAAO,CAAC,QAAQ,CAAiB;gBAErB,QAAQ,EAAE,cAAc;IAI9B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,aAAa,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAoCnE"}
package/dist/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { TonProviderApi } from './namespaces/ton/types.js';
2
2
  import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
3
- import type { EVM_NAMESPACE, SOLANA_NAMESPACE, UTXO_NAMESPACE, TON_NAMESPACE, TRON_NAMESPACE } from '@hub3js/namespaces';
3
+ import type { EVM_NAMESPACE, SOLANA_NAMESPACE, TON_NAMESPACE, TRON_NAMESPACE, UTXO_NAMESPACE } from '@hub3js/namespaces';
4
4
  import type { ProviderAPI as SolanaProviderApi } from '@hub3js/solana';
5
5
  import type { ProviderAPI as TronProviderApi } from '@rango-dev/wallets-core/namespaces/tron';
6
6
  import type { ProviderAPI as UtxoProviderApi } from '@rango-dev/wallets-core/namespaces/utxo';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE9F,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC;IAChC,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACtC,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC;IAClC,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC;IAChC,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,GAAG,CACxB,MAAM,cAAc,EACpB,cAAc,CAAC,MAAM,cAAc,CAAC,CACrC,CAAC;AAMF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE;YACL,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;SACzB,CAAC;KACH,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE9F,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC;IAChC,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACtC,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC;IAClC,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC;IAChC,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,GAAG,CACxB,MAAM,cAAc,EACpB,cAAc,CAAC,MAAM,cAAc,CAAC,CACrC,CAAC;AAMF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE;YACL,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;SACzB,CAAC;KACH,CAAC;CACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/provider-okx",
3
- "version": "0.64.1-next.0",
3
+ "version": "0.64.1-next.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/mod.ts",
@@ -33,7 +33,7 @@
33
33
  "@rango-dev/signer-sui": "^0.11.0",
34
34
  "@rango-dev/signer-tron": "^0.42.0",
35
35
  "@rango-dev/wallets-core": "^0.61.0",
36
- "@rango-dev/wallets-shared": "^0.62.1-next.0",
36
+ "@rango-dev/wallets-shared": "^0.62.1-next.2",
37
37
  "@ton/core": "^0.59.0",
38
38
  "rango-types": "^0.5.0"
39
39
  },
@@ -7,7 +7,6 @@ import type {
7
7
  import type { CaipAccount } from '@hub3js/std/types';
8
8
 
9
9
  import { utils as tonCoreUtils } from '@hub3js/tvm';
10
- import { dynamicImportWithRefinedError } from '@rango-dev/wallets-shared';
11
10
 
12
11
  export function isTonConnectEventSuccess(
13
12
  event: TonConnectEvent
@@ -67,9 +66,7 @@ export async function connectEventToCAIP(
67
66
  return tonCoreUtils.formatAccountsToCAIP([]);
68
67
  }
69
68
 
70
- const { Address } = await dynamicImportWithRefinedError(
71
- async () => await import('@ton/core')
72
- );
69
+ const { Address } = await import('@ton/core');
73
70
  const userFriendlyAddress = Address.parseRaw(addressItem.address).toString({
74
71
  bounceable: false,
75
72
  urlSafe: true,
package/src/provider.ts CHANGED
@@ -5,10 +5,10 @@ import { ProviderBuilder } from '@hub3js/core';
5
5
  import { metadata, WALLET_ID } from './constants.js';
6
6
  import { evm } from './namespaces/evm.js';
7
7
  import { solana } from './namespaces/solana.js';
8
+ import { sui } from './namespaces/sui.js';
8
9
  import { ton } from './namespaces/ton/ton.js';
9
10
  import { setEnvironments } from './namespaces/ton/utils.js';
10
11
  import { tron } from './namespaces/tron.js';
11
- import { sui } from './namespaces/sui.js';
12
12
  import { utxo } from './namespaces/utxo.js';
13
13
  import { okx as okxInstance } from './utils.js';
14
14
 
package/src/signer.ts CHANGED
@@ -4,14 +4,11 @@ import type { SignerFactory } from 'rango-types';
4
4
  import {
5
5
  EVM_NAMESPACE,
6
6
  SOLANA_NAMESPACE,
7
- UTXO_NAMESPACE,
8
7
  TON_NAMESPACE,
9
8
  TRON_NAMESPACE,
9
+ UTXO_NAMESPACE,
10
10
  } from '@hub3js/namespaces';
11
- import {
12
- dynamicImportWithRefinedError,
13
- getNetworkInstance,
14
- } from '@rango-dev/wallets-shared';
11
+ import { getNetworkInstance } from '@rango-dev/wallets-shared';
15
12
  import { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';
16
13
 
17
14
  import { OKXSolanaSigner } from './signers/solana.js';
@@ -29,12 +26,8 @@ export default async function getSigners(
29
26
  const tronProvider = getNetworkInstance(provider, TRON_NAMESPACE);
30
27
 
31
28
  const signers = new DefaultSignerFactory();
32
- const { DefaultEvmSigner } = await dynamicImportWithRefinedError(
33
- async () => await import('@rango-dev/signer-evm')
34
- );
35
- const { DefaultTronSigner } = await dynamicImportWithRefinedError(
36
- async () => await import('@rango-dev/signer-tron')
37
- );
29
+ const { DefaultEvmSigner } = await import('@rango-dev/signer-evm');
30
+ const { DefaultTronSigner } = await import('@rango-dev/signer-tron');
38
31
  signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));
39
32
  signers.registerSigner(TxType.SOLANA, new OKXSolanaSigner(solProvider));
40
33
  signers.registerSigner(TxType.TRANSFER, new OKXUTXOSigner(utxoProvider));
@@ -43,9 +36,7 @@ export default async function getSigners(
43
36
 
44
37
  const suiProvider = suiWalletInstance();
45
38
  if (suiProvider) {
46
- const { DefaultSuiSigner } = await dynamicImportWithRefinedError(
47
- async () => await import('@rango-dev/signer-sui')
48
- );
39
+ const { DefaultSuiSigner } = await import('@rango-dev/signer-sui');
49
40
  signers.registerSigner(TxType.SUI, new DefaultSuiSigner(suiProvider));
50
41
  }
51
42
 
@@ -4,7 +4,6 @@ import type {
4
4
  } from '../namespaces/ton/types.js';
5
5
  import type { GenericSigner, TonTransaction } from 'rango-types';
6
6
 
7
- import { dynamicImportWithRefinedError } from '@rango-dev/wallets-shared';
8
7
  import { SignerError, SignerErrorCode, TonChainID } from 'rango-types';
9
8
 
10
9
  import { TON_CONNECT_USER_REJECTED_CODE } from '../constants.js';
@@ -32,9 +31,7 @@ export class OKXTonSigner implements GenericSigner<TonTransaction> {
32
31
  async signAndSendTx(tx: TonTransaction): Promise<{ hash: string }> {
33
32
  const { validUntil, network, from, messages } = tx;
34
33
 
35
- const { Address, Cell } = await dynamicImportWithRefinedError(
36
- async () => await import('@ton/core')
37
- );
34
+ const { Address, Cell } = await import('@ton/core');
38
35
 
39
36
  const transactionPayload = {
40
37
  valid_until: validUntil,
package/src/types.ts CHANGED
@@ -3,9 +3,9 @@ import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
3
3
  import type {
4
4
  EVM_NAMESPACE,
5
5
  SOLANA_NAMESPACE,
6
- UTXO_NAMESPACE,
7
6
  TON_NAMESPACE,
8
7
  TRON_NAMESPACE,
8
+ UTXO_NAMESPACE,
9
9
  } from '@hub3js/namespaces';
10
10
  import type { ProviderAPI as SolanaProviderApi } from '@hub3js/solana';
11
11
  import type { ProviderAPI as TronProviderApi } from '@rango-dev/wallets-core/namespaces/tron';