@bluxcc/react 0.3.5 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("@bluxcc/core"),n=require("@stellar/stellar-sdk"),r=require("react"),t=require("@tanstack/react-query");const o=n=>{const{user:r}=e.getState();return n||(null==r?void 0:r.address)},u=n=>{const{stellar:r}=e.getState();return!n&&r?r.activeNetwork:n};const l=()=>({data:void 0,error:null,isError:!1,isIdle:!0,isPending:!1,isSuccess:!1,status:"idle"});function s(e,n){const t=r.useRef(e);t.current=e;const o=r.useRef(n);o.current=n;const[u,s]=r.useState(l),i=r.useCallback(()=>{s({data:void 0,error:null,isError:!1,isIdle:!0,isPending:!1,isSuccess:!1,status:"idle"})},[]),d=r.useCallback(async(...e)=>{var n,r,u,l,i,d,c,a;s({data:void 0,error:null,isError:!1,isIdle:!1,isPending:!0,isSuccess:!1,status:"pending"});try{const i=await t.current(...e);return s({data:i,error:null,isError:!1,isIdle:!1,isPending:!1,isSuccess:!0,status:"success"}),null===(r=null===(n=o.current)||void 0===n?void 0:n.onSuccess)||void 0===r||r.call(n,i),null===(l=null===(u=o.current)||void 0===u?void 0:u.onSettled)||void 0===l||l.call(u,i,null),i}catch(e){const n=(e=>e instanceof Error?e:new Error(String(e)))(e);throw s({data:void 0,error:n,isError:!0,isIdle:!1,isPending:!1,isSuccess:!1,status:"error"}),null===(d=null===(i=o.current)||void 0===i?void 0:i.onError)||void 0===d||d.call(i,n),null===(a=null===(c=o.current)||void 0===c?void 0:c.onSettled)||void 0===a||a.call(c,void 0,n),n}},[]);return{...u,reset:i,mutate:r.useCallback((...e)=>{d(...e).catch(()=>{})},[d]),mutateAsync:d}}function i(e,n){var r;const t=s(n=>e.sendCode(n),{onSuccess:()=>{var e;return null===(e=null==n?void 0:n.onCodeSent)||void 0===e?void 0:e.call(n)},onError:null==n?void 0:n.onError}),o=s((n,r)=>e.loginWithCode(n,r),{onSuccess:null==n?void 0:n.onSuccess,onError:null==n?void 0:n.onError,onSettled:null==n?void 0:n.onSettled}),u=t.isPending||o.isPending,l=null!==(r=o.error)&&void 0!==r?r:t.error;return{sendCode:t.mutate,sendCodeAsync:t.mutateAsync,loginWithCode:o.mutate,loginWithCodeAsync:o.mutateAsync,data:o.data,error:l,isCodeSent:t.isSuccess,isError:!!l&&!u,isIdle:t.isIdle&&o.isIdle,isLoggingIn:o.isPending,isPending:u,isSendingCode:t.isPending,isSuccess:o.isSuccess,reset:()=>{t.reset(),o.reset()},status:u?"pending":o.isSuccess?"success":l?"error":"idle"}}const d=new t.QueryClient;Object.defineProperty(exports,"BluxEvent",{enumerable:!0,get:function(){return e.BluxEvent}}),Object.defineProperty(exports,"StellarSdk",{enumerable:!0,get:function(){return e.StellarSdk}}),Object.defineProperty(exports,"ToScVal",{enumerable:!0,get:function(){return e.ToScVal}}),Object.defineProperty(exports,"events",{enumerable:!0,get:function(){return e.events}}),Object.defineProperty(exports,"getAccount",{enumerable:!0,get:function(){return e.getAccount}}),Object.defineProperty(exports,"getAccounts",{enumerable:!0,get:function(){return e.getAccounts}}),Object.defineProperty(exports,"getAssets",{enumerable:!0,get:function(){return e.getAssets}}),Object.defineProperty(exports,"getBalances",{enumerable:!0,get:function(){return e.getBalances}}),Object.defineProperty(exports,"getClaimableBalances",{enumerable:!0,get:function(){return e.getClaimableBalances}}),Object.defineProperty(exports,"getEffects",{enumerable:!0,get:function(){return e.getEffects}}),Object.defineProperty(exports,"getInitialState",{enumerable:!0,get:function(){return e.getInitialState}}),Object.defineProperty(exports,"getLedgers",{enumerable:!0,get:function(){return e.getLedgers}}),Object.defineProperty(exports,"getLiquidityPools",{enumerable:!0,get:function(){return e.getLiquidityPools}}),Object.defineProperty(exports,"getNetwork",{enumerable:!0,get:function(){return e.getNetwork}}),Object.defineProperty(exports,"getOffers",{enumerable:!0,get:function(){return e.getOffers}}),Object.defineProperty(exports,"getOperations",{enumerable:!0,get:function(){return e.getOperations}}),Object.defineProperty(exports,"getOrderbook",{enumerable:!0,get:function(){return e.getOrderbook}}),Object.defineProperty(exports,"getPayments",{enumerable:!0,get:function(){return e.getPayments}}),Object.defineProperty(exports,"getSacAddress",{enumerable:!0,get:function(){return e.getSacAddress}}),Object.defineProperty(exports,"getState",{enumerable:!0,get:function(){return e.getState}}),Object.defineProperty(exports,"getStrictReceivePaths",{enumerable:!0,get:function(){return e.getStrictReceivePaths}}),Object.defineProperty(exports,"getStrictSendPaths",{enumerable:!0,get:function(){return e.getStrictSendPaths}}),Object.defineProperty(exports,"getTokenMetadata",{enumerable:!0,get:function(){return e.getTokenMetadata}}),Object.defineProperty(exports,"getTradeAggregation",{enumerable:!0,get:function(){return e.getTradeAggregation}}),Object.defineProperty(exports,"getTrades",{enumerable:!0,get:function(){return e.getTrades}}),Object.defineProperty(exports,"getTransactions",{enumerable:!0,get:function(){return e.getTransactions}}),Object.defineProperty(exports,"networks",{enumerable:!0,get:function(){return e.networks}}),Object.defineProperty(exports,"numberish",{enumerable:!0,get:function(){return e.numberish}}),Object.defineProperty(exports,"readContracts",{enumerable:!0,get:function(){return e.readContracts}}),Object.defineProperty(exports,"setAppearance",{enumerable:!0,get:function(){return e.setAppearance}}),Object.defineProperty(exports,"subscribe",{enumerable:!0,get:function(){return e.subscribe}}),Object.defineProperty(exports,"swap",{enumerable:!0,get:function(){return e.swap}}),Object.defineProperty(exports,"switchNetwork",{enumerable:!0,get:function(){return e.switchNetwork}}),Object.defineProperty(exports,"useExportedStore",{enumerable:!0,get:function(){return e.useExportedStore}}),Object.defineProperty(exports,"writeContract",{enumerable:!0,get:function(){return e.writeContract}}),Object.defineProperty(exports,"Asset",{enumerable:!0,get:function(){return n.Asset}}),exports.BluxProvider=({config:n,children:o})=>{const u=r.useRef(null),{appearance:l,...s}=null!=n?n:{},i=r.useMemo(()=>s,[JSON.stringify(s)]);return r.useEffect(()=>{u.current&&e.createConfig(n,u.current)},[u,i]),r.useEffect(()=>{u.current&&e.setAppearance(null!=l?l:{})},[u,l]),r.createElement(t.QueryClientProvider,{client:d},r.createElement("div",{ref:u},o))},exports.useAccount=function(n,l){var s;const i=o(null==n?void 0:n.address),d=u(null==n?void 0:n.network),c=null===(s=null==l?void 0:l.enabled)||void 0===s||s,a=[i,d],v=r.useMemo(()=>["blux","account",d,...a],[d,...a]),f=r.useMemo(()=>async()=>{const r={...n,address:i,network:d};return e.getAccount(r)},[d,...a]);return t.useQuery({...l,enabled:c,queryKey:v,queryFn:f})},exports.useAccounts=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forSigner,null==n?void 0:n.forAsset,null==n?void 0:n.sponsor,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],c=r.useMemo(()=>["blux","accounts",s,...d],[s,...d]),a=r.useMemo(()=>async()=>{const r={...n,network:s};return e.getAccounts(r)},[s,...d]);return t.useQuery({...o,enabled:i,queryKey:c,queryFn:a})},exports.useAssets=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forCode,null==n?void 0:n.forIssuer,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],c=r.useMemo(()=>["blux","assets",s,...d],[s,n,...d]),a=r.useMemo(()=>async()=>{const r={...n,network:s};return e.getAssets(r)},[s,n,...d]);return t.useQuery({...o,enabled:i,queryKey:c,queryFn:a})},exports.useBalances=function(n,l){var s,i;const d=o(null==n?void 0:n.address),c=u(null==n?void 0:n.network),a=null===(s=null==l?void 0:l.enabled)||void 0===s||s,v=null===(i=null==n?void 0:n.includeZeroBalances)||void 0===i||i,f=[d,c,v],y=r.useMemo(()=>["blux","balances",c,...f],[c,...f]),g=r.useMemo(()=>async()=>{const r={...n,address:d,includeZeroBalances:v,network:c};return e.getBalances(r)},[c,...f]);return t.useQuery({...l,enabled:a,queryKey:y,queryFn:g})},exports.useBlux=()=>{const[n,t]=r.useState(e.blux),o=e.useExportedStore(e=>e.user),u=e.useExportedStore(e=>e.authState);return r.useEffect(()=>{t(e.blux)},[o,u]),n},exports.useClaimableBalances=function(n,l){var s;const i=o(n.claimant),d=u(null==n?void 0:n.network),c=null===(s=null==l?void 0:l.enabled)||void 0===s||s,a=[i,null==n?void 0:n.asset,null==n?void 0:n.sponsor,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],v=r.useMemo(()=>["blux","claimableBalances",d,...a],[d,...a]),f=r.useMemo(()=>async()=>{const r={...n,claimant:i,network:d};return e.getClaimableBalances(r)},[d,...a]);return t.useQuery({...l,enabled:c,queryKey:v,queryFn:f})},exports.useEffects=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forAccount,null==n?void 0:n.forLedger,null==n?void 0:n.forTransaction,null==n?void 0:n.forOperation,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],c=r.useMemo(()=>["blux","effects",s,...d],[s,...d]),a=r.useMemo(()=>async()=>{const r={...n,network:s};return e.getEffects(r)},[s,...d]);return t.useQuery({...o,enabled:i,queryKey:c,queryFn:a})},exports.useLedgers=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.ledger,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],c=r.useMemo(()=>["blux","ledgers",s,...d],[s,n,...d]),a=r.useMemo(()=>async()=>{const r={...n,network:s};return e.getLedgers(r)},[s,n,...d]);return t.useQuery({...o,enabled:i,queryKey:c,queryFn:a})},exports.useLiquidityPools=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forAccount,null==n?void 0:n.forAssets,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],c=r.useMemo(()=>["blux","liquidityPools",s,...d],[s,...d]),a=r.useMemo(()=>async()=>{const r={...n,network:s};return e.getLiquidityPools(r)},[s,...d]);return t.useQuery({...o,enabled:i,queryKey:c,queryFn:a})},exports.useLoginEmail=function(n){return i(e.loginEmail,n)},exports.useLoginOAuth=function(n){const{mutate:r,mutateAsync:t,...o}=s((n,r)=>e.loginOAuth(n,r),n);return{...o,loginOAuth:r,loginOAuthAsync:t}},exports.useLoginPasskey=function(n){const{mutate:r,mutateAsync:t,...o}=s(()=>e.loginPasskey(),n);return{...o,loginPasskey:r,loginPasskeyAsync:t}},exports.useLoginSms=function(n){return i(e.loginSms,n)},exports.useLoginWallet=function(n){const{mutate:r,mutateAsync:t,...o}=s(n=>e.loginWallet(n),n);return{...o,loginWallet:r,loginWalletAsync:t}},exports.useNetwork=()=>{var n;const t=e.useExportedStore(e=>e),[o,u]=r.useState((null===(n=t.stellar)||void 0===n?void 0:n.activeNetwork)||t.config.defaultNetwork);return r.useEffect(()=>{var e;u((null===(e=t.stellar)||void 0===e?void 0:e.activeNetwork)||t.config.defaultNetwork)},[t.stellar,t.config]),o},exports.useOffers=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forAccount,null==n?void 0:n.buying,null==n?void 0:n.selling,null==n?void 0:n.sponsor,null==n?void 0:n.seller,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],c=r.useMemo(()=>["blux","offers",s,...d],[s,...d]),a=r.useMemo(()=>async()=>{const r={...n,network:s};return e.getOffers(r)},[s,...d]);return t.useQuery({...o,enabled:i,queryKey:c,queryFn:a})},exports.useOperations=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forAccount,null==n?void 0:n.includeFailed,null==n?void 0:n.forClaimableBalance,null==n?void 0:n.forLedger,null==n?void 0:n.forTransaction,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.forAccount,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],c=r.useMemo(()=>["blux","operations",s,...d],[s,...d]),a=r.useMemo(()=>async()=>{const r={...n,network:s};return e.getOperations(r)},[s,n,...d]);return t.useQuery({...o,enabled:i,queryKey:c,queryFn:a})},exports.useOrderbook=function(n,o,l){var s;const i=u(null==o?void 0:o.network),d=null===(s=null==l?void 0:l.enabled)||void 0===s||s,c=[n[0],n[1],null==o?void 0:o.cursor,null==o?void 0:o.limit,null==o?void 0:o.network,null==o?void 0:o.order],a=r.useMemo(()=>["blux","orderbook",i,...c],[i,o,...c]),v=r.useMemo(()=>async()=>{const r={...o,network:i};return e.getOrderbook(n,r)},[i,o,...c]);return t.useQuery({...l,enabled:d,queryKey:a,queryFn:v})},exports.usePayments=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forAccount,null==n?void 0:n.includeFailed,null==n?void 0:n.forLedger,null==n?void 0:n.forTransaction,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],c=r.useMemo(()=>["blux","payments",s,...d],[s,...d]),a=r.useMemo(()=>async()=>{const r={...n,network:s};return e.getPayments(r)},[s,...d]);return t.useQuery({...o,enabled:i,queryKey:c,queryFn:a})},exports.useReadContracts=function(n,o,l){var s;const i=u(null==o?void 0:o.network),d=null===(s=null==l?void 0:l.enabled)||void 0===s||s,c=r.useMemo(()=>JSON.stringify((null!=n?n:[]).map(e=>{var n;return{address:null==e?void 0:e.address,fn:null==e?void 0:e.fn,args:(null!==(n=null==e?void 0:e.args)&&void 0!==n?n:[]).map(e=>e.toXDR("base64"))}})),[n]),a=[i,c],v=r.useMemo(()=>["blux","readContracts",i,c],[...a]),f=r.useMemo(()=>async()=>{const r={...o,network:i};return e.readContracts(n,r)},[...a]);return t.useQuery({...l,enabled:d,queryKey:v,queryFn:f})},exports.useSacAddress=function(n,t){const o=u(t);return r.useMemo(()=>{try{return{data:e.getSacAddress(n,o),error:null}}catch(e){return{data:void 0,error:e}}},[n,o])},exports.useStrictReceivePaths=function(n,o,l){var s;const i=u(null==o?void 0:o.network),d=null===(s=null==l?void 0:l.enabled)||void 0===s||s,c=[n[0],n[1],n[2],null==o?void 0:o.cursor,null==o?void 0:o.limit,null==o?void 0:o.network,null==o?void 0:o.order],a=r.useMemo(()=>["blux","strictReceivePaths",i,...c],[i,o,...c]),v=r.useMemo(()=>async()=>{const r={...o,network:i};return e.getStrictReceivePaths(n,r)},[i,o,...c]);return t.useQuery({...l,enabled:d,queryKey:a,queryFn:v})},exports.useStrictSendPaths=function(n,o,l){var s;const i=u(null==o?void 0:o.network),d=null===(s=null==l?void 0:l.enabled)||void 0===s||s,c=[n[0],n[1],n[2],null==o?void 0:o.cursor,null==o?void 0:o.limit,null==o?void 0:o.network,null==o?void 0:o.order],a=r.useMemo(()=>["blux","strictSendPaths",i,...c],[i,o,...c]),v=r.useMemo(()=>async()=>{const r={...o,network:i};return e.getStrictSendPaths(n,r)},[i,o,...c]);return t.useQuery({...l,enabled:d,queryKey:a,queryFn:v})},exports.useSwap=function(n){const r=t.useMutation({...n,mutationFn:async n=>e.swap(n)});return Object.assign(r,{swap:r.mutate,swapAsync:r.mutateAsync})},exports.useSwitchNetwork=()=>({networks:e.networks,switchNetwork:e.switchNetwork}),exports.useTokenMetadata=function(n,o,l){var s;const i=u(null==o?void 0:o.network),d=(null===(s=null==l?void 0:l.enabled)||void 0===s||s)&&Boolean(n),c=[n,i],a=r.useMemo(()=>["blux","tokenMetadata",...c],[...c]),v=r.useMemo(()=>async()=>{const r={...o,network:i};return e.getTokenMetadata(n,r)},[...c]);return t.useQuery({...l,enabled:d,queryKey:a,queryFn:v})},exports.useTradeAggregation=function(n,o,l){var s;const i=u(null==o?void 0:o.network),d=null===(s=null==l?void 0:l.enabled)||void 0===s||s,c=[n[0],n[1],n[2],n[3],n[4],n[5],null==o?void 0:o.cursor,null==o?void 0:o.limit,null==o?void 0:o.network,null==o?void 0:o.order],a=r.useMemo(()=>["blux","tradeAggregation",i,...c],[i,o,...c]),v=r.useMemo(()=>async()=>{const r={...o,network:i};return e.getTradeAggregation(n,r)},[i,o,...c]);return t.useQuery({...l,enabled:d,queryKey:a,queryFn:v})},exports.useTrades=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forAssetPair,null==n?void 0:n.forOffer,null==n?void 0:n.forType,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.forAccount,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],c=r.useMemo(()=>["blux","trades",s,...d],[s,...d]),a=r.useMemo(()=>async()=>{const r={...n,network:s};return e.getTrades(r)},[s,...d]);return t.useQuery({...o,enabled:i,queryKey:c,queryFn:a})},exports.useTransactions=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forAccount,null==n?void 0:n.includeFailed,null==n?void 0:n.forClaimableBalance,null==n?void 0:n.forLedger,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],c=r.useMemo(()=>["blux","transactions",s,...d],[s,...d]),a=r.useMemo(()=>async()=>{const r={...n,network:s};return e.getTransactions(r)},[s,...d]);return t.useQuery({...o,enabled:i,queryKey:c,queryFn:a})},exports.useTransfer=function(n){const r=t.useMutation({...n,mutationFn:async n=>e.transfer(n)});return Object.assign(r,{transfer:r.mutate,transferAsync:r.mutateAsync})},exports.useWriteContract=function(n){return t.useMutation({...n,mutationFn:async({call:n,options:r})=>e.writeContract(n,r)})};
1
+ "use strict";var e=require("@bluxcc/core"),n=require("@stellar/stellar-sdk"),t=require("react"),r=require("@tanstack/react-query");const o=n=>{const{user:t}=e.getState();return n||(null==t?void 0:t.address)},u=n=>{const{stellar:t}=e.getState();return!n&&t?t.activeNetwork:n};const l=()=>({data:void 0,error:null,isError:!1,isIdle:!0,isPending:!1,isSuccess:!1,status:"idle"});function s(e,n){const r=t.useRef(e);r.current=e;const o=t.useRef(n);o.current=n;const[u,s]=t.useState(l),i=t.useCallback(()=>{s({data:void 0,error:null,isError:!1,isIdle:!0,isPending:!1,isSuccess:!1,status:"idle"})},[]),d=t.useCallback(async(...e)=>{var n,t,u,l,i,d,a,c;s({data:void 0,error:null,isError:!1,isIdle:!1,isPending:!0,isSuccess:!1,status:"pending"});try{const i=await r.current(...e);return s({data:i,error:null,isError:!1,isIdle:!1,isPending:!1,isSuccess:!0,status:"success"}),null===(t=null===(n=o.current)||void 0===n?void 0:n.onSuccess)||void 0===t||t.call(n,i),null===(l=null===(u=o.current)||void 0===u?void 0:u.onSettled)||void 0===l||l.call(u,i,null),i}catch(e){const n=(e=>e instanceof Error?e:new Error(String(e)))(e);throw s({data:void 0,error:n,isError:!0,isIdle:!1,isPending:!1,isSuccess:!1,status:"error"}),null===(d=null===(i=o.current)||void 0===i?void 0:i.onError)||void 0===d||d.call(i,n),null===(c=null===(a=o.current)||void 0===a?void 0:a.onSettled)||void 0===c||c.call(a,void 0,n),n}},[]);return{...u,reset:i,mutate:t.useCallback((...e)=>{d(...e).catch(()=>{})},[d]),mutateAsync:d}}function i(e,n){var t;const r=s(n=>e.sendCode(n),{onSuccess:()=>{var e;return null===(e=null==n?void 0:n.onCodeSent)||void 0===e?void 0:e.call(n)},onError:null==n?void 0:n.onError}),o=s((n,t)=>e.loginWithCode(n,t),{onSuccess:null==n?void 0:n.onSuccess,onError:null==n?void 0:n.onError,onSettled:null==n?void 0:n.onSettled}),u=r.isPending||o.isPending,l=null!==(t=o.error)&&void 0!==t?t:r.error;return{sendCode:r.mutate,sendCodeAsync:r.mutateAsync,loginWithCode:o.mutate,loginWithCodeAsync:o.mutateAsync,data:o.data,error:l,isCodeSent:r.isSuccess,isError:!!l&&!u,isIdle:r.isIdle&&o.isIdle,isLoggingIn:o.isPending,isPending:u,isSendingCode:r.isPending,isSuccess:o.isSuccess,reset:()=>{r.reset(),o.reset()},status:u?"pending":o.isSuccess?"success":l?"error":"idle"}}const d=new r.QueryClient;Object.defineProperty(exports,"BluxEvent",{enumerable:!0,get:function(){return e.BluxEvent}}),Object.defineProperty(exports,"StellarSdk",{enumerable:!0,get:function(){return e.StellarSdk}}),Object.defineProperty(exports,"ToScVal",{enumerable:!0,get:function(){return e.ToScVal}}),Object.defineProperty(exports,"events",{enumerable:!0,get:function(){return e.events}}),Object.defineProperty(exports,"getAccount",{enumerable:!0,get:function(){return e.getAccount}}),Object.defineProperty(exports,"getAccounts",{enumerable:!0,get:function(){return e.getAccounts}}),Object.defineProperty(exports,"getAssets",{enumerable:!0,get:function(){return e.getAssets}}),Object.defineProperty(exports,"getBalances",{enumerable:!0,get:function(){return e.getBalances}}),Object.defineProperty(exports,"getClaimableBalances",{enumerable:!0,get:function(){return e.getClaimableBalances}}),Object.defineProperty(exports,"getEffects",{enumerable:!0,get:function(){return e.getEffects}}),Object.defineProperty(exports,"getInitialState",{enumerable:!0,get:function(){return e.getInitialState}}),Object.defineProperty(exports,"getLedgers",{enumerable:!0,get:function(){return e.getLedgers}}),Object.defineProperty(exports,"getLiquidityPools",{enumerable:!0,get:function(){return e.getLiquidityPools}}),Object.defineProperty(exports,"getNetwork",{enumerable:!0,get:function(){return e.getNetwork}}),Object.defineProperty(exports,"getOffers",{enumerable:!0,get:function(){return e.getOffers}}),Object.defineProperty(exports,"getOperations",{enumerable:!0,get:function(){return e.getOperations}}),Object.defineProperty(exports,"getOrderbook",{enumerable:!0,get:function(){return e.getOrderbook}}),Object.defineProperty(exports,"getPayments",{enumerable:!0,get:function(){return e.getPayments}}),Object.defineProperty(exports,"getSacAddress",{enumerable:!0,get:function(){return e.getSacAddress}}),Object.defineProperty(exports,"getState",{enumerable:!0,get:function(){return e.getState}}),Object.defineProperty(exports,"getStrictReceivePaths",{enumerable:!0,get:function(){return e.getStrictReceivePaths}}),Object.defineProperty(exports,"getStrictSendPaths",{enumerable:!0,get:function(){return e.getStrictSendPaths}}),Object.defineProperty(exports,"getTokenMetadata",{enumerable:!0,get:function(){return e.getTokenMetadata}}),Object.defineProperty(exports,"getTradeAggregation",{enumerable:!0,get:function(){return e.getTradeAggregation}}),Object.defineProperty(exports,"getTrades",{enumerable:!0,get:function(){return e.getTrades}}),Object.defineProperty(exports,"getTransactions",{enumerable:!0,get:function(){return e.getTransactions}}),Object.defineProperty(exports,"networks",{enumerable:!0,get:function(){return e.networks}}),Object.defineProperty(exports,"numberish",{enumerable:!0,get:function(){return e.numberish}}),Object.defineProperty(exports,"readContracts",{enumerable:!0,get:function(){return e.readContracts}}),Object.defineProperty(exports,"resolveXlmName",{enumerable:!0,get:function(){return e.resolveXlmName}}),Object.defineProperty(exports,"resolveXlmNameByAddress",{enumerable:!0,get:function(){return e.resolveXlmNameByAddress}}),Object.defineProperty(exports,"setAppearance",{enumerable:!0,get:function(){return e.setAppearance}}),Object.defineProperty(exports,"subscribe",{enumerable:!0,get:function(){return e.subscribe}}),Object.defineProperty(exports,"swap",{enumerable:!0,get:function(){return e.swap}}),Object.defineProperty(exports,"switchNetwork",{enumerable:!0,get:function(){return e.switchNetwork}}),Object.defineProperty(exports,"useExportedStore",{enumerable:!0,get:function(){return e.useExportedStore}}),Object.defineProperty(exports,"writeContract",{enumerable:!0,get:function(){return e.writeContract}}),Object.defineProperty(exports,"Asset",{enumerable:!0,get:function(){return n.Asset}}),exports.BluxProvider=({config:n,children:o})=>{const u=t.useRef(null),{appearance:l,...s}=null!=n?n:{},i=t.useMemo(()=>s,[JSON.stringify(s)]);return t.useEffect(()=>{u.current&&e.createConfig(n,u.current)},[u,i]),t.useEffect(()=>{u.current&&e.setAppearance(null!=l?l:{})},[u,l]),t.createElement(r.QueryClientProvider,{client:d},t.createElement("div",{ref:u},o))},exports.useAccount=function(n,l){var s;const i=o(null==n?void 0:n.address),d=u(null==n?void 0:n.network),a=null===(s=null==l?void 0:l.enabled)||void 0===s||s,c=[i,d],v=t.useMemo(()=>["blux","account",d,...c],[d,...c]),y=t.useMemo(()=>async()=>{const t={...n,address:i,network:d};return e.getAccount(t)},[d,...c]);return r.useQuery({...l,enabled:a,queryKey:v,queryFn:y})},exports.useAccounts=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forSigner,null==n?void 0:n.forAsset,null==n?void 0:n.sponsor,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],a=t.useMemo(()=>["blux","accounts",s,...d],[s,...d]),c=t.useMemo(()=>async()=>{const t={...n,network:s};return e.getAccounts(t)},[s,...d]);return r.useQuery({...o,enabled:i,queryKey:a,queryFn:c})},exports.useAssets=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forCode,null==n?void 0:n.forIssuer,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],a=t.useMemo(()=>["blux","assets",s,...d],[s,n,...d]),c=t.useMemo(()=>async()=>{const t={...n,network:s};return e.getAssets(t)},[s,n,...d]);return r.useQuery({...o,enabled:i,queryKey:a,queryFn:c})},exports.useBalances=function(n,l){var s,i;const d=o(null==n?void 0:n.address),a=u(null==n?void 0:n.network),c=null===(s=null==l?void 0:l.enabled)||void 0===s||s,v=null===(i=null==n?void 0:n.includeZeroBalances)||void 0===i||i,y=[d,a,v],f=t.useMemo(()=>["blux","balances",a,...y],[a,...y]),g=t.useMemo(()=>async()=>{const t={...n,address:d,includeZeroBalances:v,network:a};return e.getBalances(t)},[a,...y]);return r.useQuery({...l,enabled:c,queryKey:f,queryFn:g})},exports.useBlux=()=>{const[n,r]=t.useState(e.blux),o=e.useExportedStore(e=>e.user),u=e.useExportedStore(e=>e.authState);return t.useEffect(()=>{r(e.blux)},[o,u]),n},exports.useClaimableBalances=function(n,l){var s;const i=o(n.claimant),d=u(null==n?void 0:n.network),a=null===(s=null==l?void 0:l.enabled)||void 0===s||s,c=[i,null==n?void 0:n.asset,null==n?void 0:n.sponsor,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],v=t.useMemo(()=>["blux","claimableBalances",d,...c],[d,...c]),y=t.useMemo(()=>async()=>{const t={...n,claimant:i,network:d};return e.getClaimableBalances(t)},[d,...c]);return r.useQuery({...l,enabled:a,queryKey:v,queryFn:y})},exports.useEffects=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forAccount,null==n?void 0:n.forLedger,null==n?void 0:n.forTransaction,null==n?void 0:n.forOperation,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],a=t.useMemo(()=>["blux","effects",s,...d],[s,...d]),c=t.useMemo(()=>async()=>{const t={...n,network:s};return e.getEffects(t)},[s,...d]);return r.useQuery({...o,enabled:i,queryKey:a,queryFn:c})},exports.useLedgers=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.ledger,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],a=t.useMemo(()=>["blux","ledgers",s,...d],[s,n,...d]),c=t.useMemo(()=>async()=>{const t={...n,network:s};return e.getLedgers(t)},[s,n,...d]);return r.useQuery({...o,enabled:i,queryKey:a,queryFn:c})},exports.useLiquidityPools=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forAccount,null==n?void 0:n.forAssets,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],a=t.useMemo(()=>["blux","liquidityPools",s,...d],[s,...d]),c=t.useMemo(()=>async()=>{const t={...n,network:s};return e.getLiquidityPools(t)},[s,...d]);return r.useQuery({...o,enabled:i,queryKey:a,queryFn:c})},exports.useLoginEmail=function(n){return i(e.loginEmail,n)},exports.useLoginOAuth=function(n){const{mutate:t,mutateAsync:r,...o}=s((n,t)=>e.loginOAuth(n,t),n);return{...o,loginOAuth:t,loginOAuthAsync:r}},exports.useLoginPasskey=function(n){const{mutate:t,mutateAsync:r,...o}=s(()=>e.loginPasskey(),n);return{...o,loginPasskey:t,loginPasskeyAsync:r}},exports.useLoginSms=function(n){return i(e.loginSms,n)},exports.useLoginWallet=function(n){const{mutate:t,mutateAsync:r,...o}=s(n=>e.loginWallet(n),n);return{...o,loginWallet:t,loginWalletAsync:r}},exports.useNetwork=()=>{var n;const r=e.useExportedStore(e=>e),[o,u]=t.useState((null===(n=r.stellar)||void 0===n?void 0:n.activeNetwork)||r.config.defaultNetwork);return t.useEffect(()=>{var e;u((null===(e=r.stellar)||void 0===e?void 0:e.activeNetwork)||r.config.defaultNetwork)},[r.stellar,r.config]),o},exports.useOffers=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forAccount,null==n?void 0:n.buying,null==n?void 0:n.selling,null==n?void 0:n.sponsor,null==n?void 0:n.seller,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],a=t.useMemo(()=>["blux","offers",s,...d],[s,...d]),c=t.useMemo(()=>async()=>{const t={...n,network:s};return e.getOffers(t)},[s,...d]);return r.useQuery({...o,enabled:i,queryKey:a,queryFn:c})},exports.useOperations=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forAccount,null==n?void 0:n.includeFailed,null==n?void 0:n.forClaimableBalance,null==n?void 0:n.forLedger,null==n?void 0:n.forTransaction,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.forAccount,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],a=t.useMemo(()=>["blux","operations",s,...d],[s,...d]),c=t.useMemo(()=>async()=>{const t={...n,network:s};return e.getOperations(t)},[s,n,...d]);return r.useQuery({...o,enabled:i,queryKey:a,queryFn:c})},exports.useOrderbook=function(n,o,l){var s;const i=u(null==o?void 0:o.network),d=null===(s=null==l?void 0:l.enabled)||void 0===s||s,a=[n[0],n[1],null==o?void 0:o.cursor,null==o?void 0:o.limit,null==o?void 0:o.network,null==o?void 0:o.order],c=t.useMemo(()=>["blux","orderbook",i,...a],[i,o,...a]),v=t.useMemo(()=>async()=>{const t={...o,network:i};return e.getOrderbook(n,t)},[i,o,...a]);return r.useQuery({...l,enabled:d,queryKey:c,queryFn:v})},exports.usePayments=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forAccount,null==n?void 0:n.includeFailed,null==n?void 0:n.forLedger,null==n?void 0:n.forTransaction,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],a=t.useMemo(()=>["blux","payments",s,...d],[s,...d]),c=t.useMemo(()=>async()=>{const t={...n,network:s};return e.getPayments(t)},[s,...d]);return r.useQuery({...o,enabled:i,queryKey:a,queryFn:c})},exports.useReadContracts=function(n,o,l){var s;const i=u(null==o?void 0:o.network),d=null===(s=null==l?void 0:l.enabled)||void 0===s||s,a=t.useMemo(()=>(e=>JSON.stringify(null!=e?e:[],(e,n)=>"bigint"==typeof n?{__bluxBigInt:n.toString()}:n&&"object"==typeof n&&"toXDR"in n&&"function"==typeof n.toXDR?{__bluxXdr:n.toXDR("base64")}:n instanceof Map?{__bluxMap:Array.from(n.entries())}:n instanceof Uint8Array?{__bluxBytes:Array.from(n)}:n))(n),[n]),c=[i,a],v=t.useMemo(()=>["blux","readContracts",i,a],[...c]),y=t.useMemo(()=>async()=>{const t={...o,network:i};return e.readContracts([...n],t)},[...c]);return r.useQuery({...l,enabled:d,queryKey:v,queryFn:y})},exports.useResolveXlmName=function(n,o,u){var l;const s=n.trim().toLowerCase(),i=null==o?void 0:o.allowHttp,d=null==o?void 0:o.timeout,a=(null===(l=null==u?void 0:u.enabled)||void 0===l||l)&&Boolean(s),c=t.useMemo(()=>["blux","resolveXlmName",s,i,d],[s,i,d]),v=t.useMemo(()=>()=>e.resolveXlmName(s,{allowHttp:i,timeout:d}),[s,i,d]);return r.useQuery({...u,enabled:a,queryKey:c,queryFn:v})},exports.useResolveXlmNameByAddress=function(n,o,u){var l;const s=n.trim(),i=null==o?void 0:o.allowHttp,d=null==o?void 0:o.timeout,a=(null===(l=null==u?void 0:u.enabled)||void 0===l||l)&&Boolean(s),c=t.useMemo(()=>["blux","resolveXlmNameByAddress",s,i,d],[s,i,d]),v=t.useMemo(()=>()=>e.resolveXlmNameByAddress(s,{allowHttp:i,timeout:d}),[s,i,d]);return r.useQuery({...u,enabled:a,queryKey:c,queryFn:v})},exports.useSacAddress=function(n,r){const o=u(r);return t.useMemo(()=>{try{return{data:e.getSacAddress(n,o),error:null}}catch(e){return{data:void 0,error:e}}},[n,o])},exports.useStrictReceivePaths=function(n,o,l){var s;const i=u(null==o?void 0:o.network),d=null===(s=null==l?void 0:l.enabled)||void 0===s||s,a=[n[0],n[1],n[2],null==o?void 0:o.cursor,null==o?void 0:o.limit,null==o?void 0:o.network,null==o?void 0:o.order],c=t.useMemo(()=>["blux","strictReceivePaths",i,...a],[i,o,...a]),v=t.useMemo(()=>async()=>{const t={...o,network:i};return e.getStrictReceivePaths(n,t)},[i,o,...a]);return r.useQuery({...l,enabled:d,queryKey:c,queryFn:v})},exports.useStrictSendPaths=function(n,o,l){var s;const i=u(null==o?void 0:o.network),d=null===(s=null==l?void 0:l.enabled)||void 0===s||s,a=[n[0],n[1],n[2],null==o?void 0:o.cursor,null==o?void 0:o.limit,null==o?void 0:o.network,null==o?void 0:o.order],c=t.useMemo(()=>["blux","strictSendPaths",i,...a],[i,o,...a]),v=t.useMemo(()=>async()=>{const t={...o,network:i};return e.getStrictSendPaths(n,t)},[i,o,...a]);return r.useQuery({...l,enabled:d,queryKey:c,queryFn:v})},exports.useSwap=function(n){const t=r.useMutation({...n,mutationFn:async n=>e.swap(n)});return Object.assign(t,{swap:t.mutate,swapAsync:t.mutateAsync})},exports.useSwitchNetwork=()=>({networks:e.networks,switchNetwork:e.switchNetwork}),exports.useTokenMetadata=function(n,o,l){var s;const i=u(null==o?void 0:o.network),d=(null===(s=null==l?void 0:l.enabled)||void 0===s||s)&&Boolean(n),a=[n,i],c=t.useMemo(()=>["blux","tokenMetadata",...a],[...a]),v=t.useMemo(()=>async()=>{const t={...o,network:i};return e.getTokenMetadata(n,t)},[...a]);return r.useQuery({...l,enabled:d,queryKey:c,queryFn:v})},exports.useTradeAggregation=function(n,o,l){var s;const i=u(null==o?void 0:o.network),d=null===(s=null==l?void 0:l.enabled)||void 0===s||s,a=[n[0],n[1],n[2],n[3],n[4],n[5],null==o?void 0:o.cursor,null==o?void 0:o.limit,null==o?void 0:o.network,null==o?void 0:o.order],c=t.useMemo(()=>["blux","tradeAggregation",i,...a],[i,o,...a]),v=t.useMemo(()=>async()=>{const t={...o,network:i};return e.getTradeAggregation(n,t)},[i,o,...a]);return r.useQuery({...l,enabled:d,queryKey:c,queryFn:v})},exports.useTrades=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forAssetPair,null==n?void 0:n.forOffer,null==n?void 0:n.forType,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.forAccount,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],a=t.useMemo(()=>["blux","trades",s,...d],[s,...d]),c=t.useMemo(()=>async()=>{const t={...n,network:s};return e.getTrades(t)},[s,...d]);return r.useQuery({...o,enabled:i,queryKey:a,queryFn:c})},exports.useTransactions=function(n,o){var l;const s=u(null==n?void 0:n.network),i=null===(l=null==o?void 0:o.enabled)||void 0===l||l,d=[null==n?void 0:n.forAccount,null==n?void 0:n.includeFailed,null==n?void 0:n.forClaimableBalance,null==n?void 0:n.forLedger,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],a=t.useMemo(()=>["blux","transactions",s,...d],[s,...d]),c=t.useMemo(()=>async()=>{const t={...n,network:s};return e.getTransactions(t)},[s,...d]);return r.useQuery({...o,enabled:i,queryKey:a,queryFn:c})},exports.useTransfer=function(n){const t=r.useMutation({...n,mutationFn:async n=>e.transfer(n)});return Object.assign(t,{transfer:t.mutate,transferAsync:t.mutateAsync})},exports.useWriteContract=function(n){return r.useMutation({...n,mutationFn:async({call:n,options:t})=>e.writeContract(n,t)})};
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { getAccount, getAccounts, getAssets, getBalances, getClaimableBalances, getEffects, getLedgers, getLiquidityPools, getNetwork, getOffers, getOperations, getOrderbook, getPayments, getStrictReceivePaths, getStrictSendPaths, getTradeAggregation, getTrades, getTransactions, readContracts, writeContract, swap, getSacAddress, getTokenMetadata, networks, switchNetwork, numberish, ToScVal, setAppearance, events, BluxEvent, StellarSdk, getState, subscribe, getInitialState, useExportedStore, } from '@bluxcc/core';
2
- export type { Numberish, SwapOptions, SwapType, TokenMetadata, GetTokenMetadataOptions, } from '@bluxcc/core';
1
+ export { getAccount, getAccounts, getAssets, getBalances, getClaimableBalances, getEffects, getLedgers, getLiquidityPools, getNetwork, resolveXlmName, resolveXlmNameByAddress, getOffers, getOperations, getOrderbook, getPayments, getStrictReceivePaths, getStrictSendPaths, getTradeAggregation, getTrades, getTransactions, readContracts, writeContract, swap, getSacAddress, getTokenMetadata, networks, switchNetwork, numberish, ToScVal, setAppearance, events, BluxEvent, StellarSdk, getState, subscribe, getInitialState, useExportedStore, } from '@bluxcc/core';
2
+ export type { Numberish, SwapOptions, SwapType, XlmNameLookupOptions, XlmNameRecord, XlmAccountNameRecord, XlmContractNameRecord, TokenMetadata, GetTokenMetadataOptions, } from '@bluxcc/core';
3
3
  export { Asset } from '@stellar/stellar-sdk';
4
4
  export * from './useStellar';
5
5
  export * from './hooks';
package/dist/index.esm.js CHANGED
@@ -1 +1 @@
1
- import{getState as n,getAccount as l,getAccounts as o,getAssets as e,getBalances as r,getClaimableBalances as t,getEffects as u,getLedgers as i,getLiquidityPools as d,useExportedStore as s,getOffers as c,getOperations as a,getOrderbook as v,getPayments as y,readContracts as f,getStrictReceivePaths as g,getStrictSendPaths as b,getTradeAggregation as w,getTrades as k,getTransactions as m,transfer as q,switchNetwork as A,networks as S,writeContract as p,swap as x,getTokenMetadata as F,getSacAddress as P,blux as K,loginEmail as h,loginSms as E,loginOAuth as C,loginPasskey as L,loginWallet as I,createConfig as O,setAppearance as N}from"@bluxcc/core";export{BluxEvent,StellarSdk,ToScVal,events,getAccount,getAccounts,getAssets,getBalances,getClaimableBalances,getEffects,getInitialState,getLedgers,getLiquidityPools,getNetwork,getOffers,getOperations,getOrderbook,getPayments,getSacAddress,getState,getStrictReceivePaths,getStrictSendPaths,getTokenMetadata,getTradeAggregation,getTrades,getTransactions,networks,numberish,readContracts,setAppearance,subscribe,swap,switchNetwork,useExportedStore,writeContract}from"@bluxcc/core";export{Asset}from"@stellar/stellar-sdk";import B,{useMemo as T,useState as W,useEffect as R,useRef as j,useCallback as J}from"react";import{useQuery as M,useMutation as Z,QueryClient as D,QueryClientProvider as V}from"@tanstack/react-query";const X=l=>{const{user:o}=n();return l||(null==o?void 0:o.address)},z=l=>{const{stellar:o}=n();return!l&&o?o.activeNetwork:l};function G(n,o){var e;const r=X(null==n?void 0:n.address),t=z(null==n?void 0:n.network),u=null===(e=null==o?void 0:o.enabled)||void 0===e||e,i=[r,t],d=T(()=>["blux","account",t,...i],[t,...i]),s=T(()=>async()=>{const o={...n,address:r,network:t};return l(o)},[t,...i]);return M({...o,enabled:u,queryKey:d,queryFn:s})}function H(n,l){var e;const r=z(null==n?void 0:n.network),t=null===(e=null==l?void 0:l.enabled)||void 0===e||e,u=[null==n?void 0:n.forSigner,null==n?void 0:n.forAsset,null==n?void 0:n.sponsor,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],i=T(()=>["blux","accounts",r,...u],[r,...u]),d=T(()=>async()=>{const l={...n,network:r};return o(l)},[r,...u]);return M({...l,enabled:t,queryKey:i,queryFn:d})}function Q(n,l){var o;const r=z(null==n?void 0:n.network),t=null===(o=null==l?void 0:l.enabled)||void 0===o||o,u=[null==n?void 0:n.forCode,null==n?void 0:n.forIssuer,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],i=T(()=>["blux","assets",r,...u],[r,n,...u]),d=T(()=>async()=>{const l={...n,network:r};return e(l)},[r,n,...u]);return M({...l,enabled:t,queryKey:i,queryFn:d})}function U(n,l){var o,e;const t=X(null==n?void 0:n.address),u=z(null==n?void 0:n.network),i=null===(o=null==l?void 0:l.enabled)||void 0===o||o,d=null===(e=null==n?void 0:n.includeZeroBalances)||void 0===e||e,s=[t,u,d],c=T(()=>["blux","balances",u,...s],[u,...s]),a=T(()=>async()=>{const l={...n,address:t,includeZeroBalances:d,network:u};return r(l)},[u,...s]);return M({...l,enabled:i,queryKey:c,queryFn:a})}function Y(n,l){var o;const e=X(n.claimant),r=z(null==n?void 0:n.network),u=null===(o=null==l?void 0:l.enabled)||void 0===o||o,i=[e,null==n?void 0:n.asset,null==n?void 0:n.sponsor,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],d=T(()=>["blux","claimableBalances",r,...i],[r,...i]),s=T(()=>async()=>{const l={...n,claimant:e,network:r};return t(l)},[r,...i]);return M({...l,enabled:u,queryKey:d,queryFn:s})}function $(n,l){var o;const e=z(null==n?void 0:n.network),r=null===(o=null==l?void 0:l.enabled)||void 0===o||o,t=[null==n?void 0:n.forAccount,null==n?void 0:n.forLedger,null==n?void 0:n.forTransaction,null==n?void 0:n.forOperation,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],i=T(()=>["blux","effects",e,...t],[e,...t]),d=T(()=>async()=>{const l={...n,network:e};return u(l)},[e,...t]);return M({...l,enabled:r,queryKey:i,queryFn:d})}function _(n,l){var o;const e=z(null==n?void 0:n.network),r=null===(o=null==l?void 0:l.enabled)||void 0===o||o,t=[null==n?void 0:n.ledger,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],u=T(()=>["blux","ledgers",e,...t],[e,n,...t]),d=T(()=>async()=>{const l={...n,network:e};return i(l)},[e,n,...t]);return M({...l,enabled:r,queryKey:u,queryFn:d})}function nn(n,l){var o;const e=z(null==n?void 0:n.network),r=null===(o=null==l?void 0:l.enabled)||void 0===o||o,t=[null==n?void 0:n.forAccount,null==n?void 0:n.forAssets,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],u=T(()=>["blux","liquidityPools",e,...t],[e,...t]),i=T(()=>async()=>{const l={...n,network:e};return d(l)},[e,...t]);return M({...l,enabled:r,queryKey:u,queryFn:i})}const ln=()=>{var n;const l=s(n=>n),[o,e]=W((null===(n=l.stellar)||void 0===n?void 0:n.activeNetwork)||l.config.defaultNetwork);return R(()=>{var n;e((null===(n=l.stellar)||void 0===n?void 0:n.activeNetwork)||l.config.defaultNetwork)},[l.stellar,l.config]),o};function on(n,l){var o;const e=z(null==n?void 0:n.network),r=null===(o=null==l?void 0:l.enabled)||void 0===o||o,t=[null==n?void 0:n.forAccount,null==n?void 0:n.buying,null==n?void 0:n.selling,null==n?void 0:n.sponsor,null==n?void 0:n.seller,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],u=T(()=>["blux","offers",e,...t],[e,...t]),i=T(()=>async()=>{const l={...n,network:e};return c(l)},[e,...t]);return M({...l,enabled:r,queryKey:u,queryFn:i})}function en(n,l){var o;const e=z(null==n?void 0:n.network),r=null===(o=null==l?void 0:l.enabled)||void 0===o||o,t=[null==n?void 0:n.forAccount,null==n?void 0:n.includeFailed,null==n?void 0:n.forClaimableBalance,null==n?void 0:n.forLedger,null==n?void 0:n.forTransaction,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.forAccount,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],u=T(()=>["blux","operations",e,...t],[e,...t]),i=T(()=>async()=>{const l={...n,network:e};return a(l)},[e,n,...t]);return M({...l,enabled:r,queryKey:u,queryFn:i})}function rn(n,l,o){var e;const r=z(null==l?void 0:l.network),t=null===(e=null==o?void 0:o.enabled)||void 0===e||e,u=[n[0],n[1],null==l?void 0:l.cursor,null==l?void 0:l.limit,null==l?void 0:l.network,null==l?void 0:l.order],i=T(()=>["blux","orderbook",r,...u],[r,l,...u]),d=T(()=>async()=>{const o={...l,network:r};return v(n,o)},[r,l,...u]);return M({...o,enabled:t,queryKey:i,queryFn:d})}function tn(n,l){var o;const e=z(null==n?void 0:n.network),r=null===(o=null==l?void 0:l.enabled)||void 0===o||o,t=[null==n?void 0:n.forAccount,null==n?void 0:n.includeFailed,null==n?void 0:n.forLedger,null==n?void 0:n.forTransaction,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],u=T(()=>["blux","payments",e,...t],[e,...t]),i=T(()=>async()=>{const l={...n,network:e};return y(l)},[e,...t]);return M({...l,enabled:r,queryKey:u,queryFn:i})}function un(n,l,o){var e;const r=z(null==l?void 0:l.network),t=null===(e=null==o?void 0:o.enabled)||void 0===e||e,u=T(()=>JSON.stringify((null!=n?n:[]).map(n=>{var l;return{address:null==n?void 0:n.address,fn:null==n?void 0:n.fn,args:(null!==(l=null==n?void 0:n.args)&&void 0!==l?l:[]).map(n=>n.toXDR("base64"))}})),[n]),i=[r,u],d=T(()=>["blux","readContracts",r,u],[...i]),s=T(()=>async()=>{const o={...l,network:r};return f(n,o)},[...i]);return M({...o,enabled:t,queryKey:d,queryFn:s})}function dn(n,l,o){var e;const r=z(null==l?void 0:l.network),t=null===(e=null==o?void 0:o.enabled)||void 0===e||e,u=[n[0],n[1],n[2],null==l?void 0:l.cursor,null==l?void 0:l.limit,null==l?void 0:l.network,null==l?void 0:l.order],i=T(()=>["blux","strictReceivePaths",r,...u],[r,l,...u]),d=T(()=>async()=>{const o={...l,network:r};return g(n,o)},[r,l,...u]);return M({...o,enabled:t,queryKey:i,queryFn:d})}function sn(n,l,o){var e;const r=z(null==l?void 0:l.network),t=null===(e=null==o?void 0:o.enabled)||void 0===e||e,u=[n[0],n[1],n[2],null==l?void 0:l.cursor,null==l?void 0:l.limit,null==l?void 0:l.network,null==l?void 0:l.order],i=T(()=>["blux","strictSendPaths",r,...u],[r,l,...u]),d=T(()=>async()=>{const o={...l,network:r};return b(n,o)},[r,l,...u]);return M({...o,enabled:t,queryKey:i,queryFn:d})}function cn(n,l,o){var e;const r=z(null==l?void 0:l.network),t=null===(e=null==o?void 0:o.enabled)||void 0===e||e,u=[n[0],n[1],n[2],n[3],n[4],n[5],null==l?void 0:l.cursor,null==l?void 0:l.limit,null==l?void 0:l.network,null==l?void 0:l.order],i=T(()=>["blux","tradeAggregation",r,...u],[r,l,...u]),d=T(()=>async()=>{const o={...l,network:r};return w(n,o)},[r,l,...u]);return M({...o,enabled:t,queryKey:i,queryFn:d})}function an(n,l){var o;const e=z(null==n?void 0:n.network),r=null===(o=null==l?void 0:l.enabled)||void 0===o||o,t=[null==n?void 0:n.forAssetPair,null==n?void 0:n.forOffer,null==n?void 0:n.forType,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.forAccount,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],u=T(()=>["blux","trades",e,...t],[e,...t]),i=T(()=>async()=>{const l={...n,network:e};return k(l)},[e,...t]);return M({...l,enabled:r,queryKey:u,queryFn:i})}function vn(n,l){var o;const e=z(null==n?void 0:n.network),r=null===(o=null==l?void 0:l.enabled)||void 0===o||o,t=[null==n?void 0:n.forAccount,null==n?void 0:n.includeFailed,null==n?void 0:n.forClaimableBalance,null==n?void 0:n.forLedger,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],u=T(()=>["blux","transactions",e,...t],[e,...t]),i=T(()=>async()=>{const l={...n,network:e};return m(l)},[e,...t]);return M({...l,enabled:r,queryKey:u,queryFn:i})}function yn(n){const l=Z({...n,mutationFn:async n=>q(n)});return Object.assign(l,{transfer:l.mutate,transferAsync:l.mutateAsync})}const fn=()=>({networks:S,switchNetwork:A});function gn(n){return Z({...n,mutationFn:async({call:n,options:l})=>p(n,l)})}function bn(n){const l=Z({...n,mutationFn:async n=>x(n)});return Object.assign(l,{swap:l.mutate,swapAsync:l.mutateAsync})}function wn(n,l,o){var e;const r=z(null==l?void 0:l.network),t=(null===(e=null==o?void 0:o.enabled)||void 0===e||e)&&Boolean(n),u=[n,r],i=T(()=>["blux","tokenMetadata",...u],[...u]),d=T(()=>async()=>{const o={...l,network:r};return F(n,o)},[...u]);return M({...o,enabled:t,queryKey:i,queryFn:d})}function kn(n,l){const o=z(l);return T(()=>{try{return{data:P(n,o),error:null}}catch(n){return{data:void 0,error:n}}},[n,o])}const mn=()=>{const[n,l]=W(K),o=s(n=>n.user),e=s(n=>n.authState);return R(()=>{l(K)},[o,e]),n},qn=()=>({data:void 0,error:null,isError:!1,isIdle:!0,isPending:!1,isSuccess:!1,status:"idle"});function An(n,l){const o=j(n);o.current=n;const e=j(l);e.current=l;const[r,t]=W(qn),u=J(()=>{t({data:void 0,error:null,isError:!1,isIdle:!0,isPending:!1,isSuccess:!1,status:"idle"})},[]),i=J(async(...n)=>{var l,r,u,i,d,s,c,a;t({data:void 0,error:null,isError:!1,isIdle:!1,isPending:!0,isSuccess:!1,status:"pending"});try{const d=await o.current(...n);return t({data:d,error:null,isError:!1,isIdle:!1,isPending:!1,isSuccess:!0,status:"success"}),null===(r=null===(l=e.current)||void 0===l?void 0:l.onSuccess)||void 0===r||r.call(l,d),null===(i=null===(u=e.current)||void 0===u?void 0:u.onSettled)||void 0===i||i.call(u,d,null),d}catch(n){const l=(n=>n instanceof Error?n:new Error(String(n)))(n);throw t({data:void 0,error:l,isError:!0,isIdle:!1,isPending:!1,isSuccess:!1,status:"error"}),null===(s=null===(d=e.current)||void 0===d?void 0:d.onError)||void 0===s||s.call(d,l),null===(a=null===(c=e.current)||void 0===c?void 0:c.onSettled)||void 0===a||a.call(c,void 0,l),l}},[]);return{...r,reset:u,mutate:J((...n)=>{i(...n).catch(()=>{})},[i]),mutateAsync:i}}function Sn(n,l){var o;const e=An(l=>n.sendCode(l),{onSuccess:()=>{var n;return null===(n=null==l?void 0:l.onCodeSent)||void 0===n?void 0:n.call(l)},onError:null==l?void 0:l.onError}),r=An((l,o)=>n.loginWithCode(l,o),{onSuccess:null==l?void 0:l.onSuccess,onError:null==l?void 0:l.onError,onSettled:null==l?void 0:l.onSettled}),t=e.isPending||r.isPending,u=null!==(o=r.error)&&void 0!==o?o:e.error;return{sendCode:e.mutate,sendCodeAsync:e.mutateAsync,loginWithCode:r.mutate,loginWithCodeAsync:r.mutateAsync,data:r.data,error:u,isCodeSent:e.isSuccess,isError:!!u&&!t,isIdle:e.isIdle&&r.isIdle,isLoggingIn:r.isPending,isPending:t,isSendingCode:e.isPending,isSuccess:r.isSuccess,reset:()=>{e.reset(),r.reset()},status:t?"pending":r.isSuccess?"success":u?"error":"idle"}}function pn(n){return Sn(h,n)}function xn(n){return Sn(E,n)}function Fn(n){const{mutate:l,mutateAsync:o,...e}=An((n,l)=>C(n,l),n);return{...e,loginOAuth:l,loginOAuthAsync:o}}function Pn(n){const{mutate:l,mutateAsync:o,...e}=An(()=>L(),n);return{...e,loginPasskey:l,loginPasskeyAsync:o}}function Kn(n){const{mutate:l,mutateAsync:o,...e}=An(n=>I(n),n);return{...e,loginWallet:l,loginWalletAsync:o}}const hn=new D,En=({config:n,children:l})=>{const o=j(null),{appearance:e,...r}=null!=n?n:{},t=T(()=>r,[JSON.stringify(r)]);return R(()=>{o.current&&O(n,o.current)},[o,t]),R(()=>{o.current&&N(null!=e?e:{})},[o,e]),B.createElement(V,{client:hn},B.createElement("div",{ref:o},l))};export{En as BluxProvider,G as useAccount,H as useAccounts,Q as useAssets,U as useBalances,mn as useBlux,Y as useClaimableBalances,$ as useEffects,_ as useLedgers,nn as useLiquidityPools,pn as useLoginEmail,Fn as useLoginOAuth,Pn as useLoginPasskey,xn as useLoginSms,Kn as useLoginWallet,ln as useNetwork,on as useOffers,en as useOperations,rn as useOrderbook,tn as usePayments,un as useReadContracts,kn as useSacAddress,dn as useStrictReceivePaths,sn as useStrictSendPaths,bn as useSwap,fn as useSwitchNetwork,wn as useTokenMetadata,cn as useTradeAggregation,an as useTrades,vn as useTransactions,yn as useTransfer,gn as useWriteContract};
1
+ import{getState as n,getAccount as l,getAccounts as e,getAssets as o,getBalances as r,getClaimableBalances as t,getEffects as u,getLedgers as i,getLiquidityPools as d,useExportedStore as s,resolveXlmName as c,resolveXlmNameByAddress as a,getOffers as v,getOperations as y,getOrderbook as f,getPayments as b,readContracts as w,getStrictReceivePaths as g,getStrictSendPaths as k,getTradeAggregation as m,getTrades as q,getTransactions as A,transfer as S,switchNetwork as p,networks as x,writeContract as F,swap as P,getTokenMetadata as K,getSacAddress as h,blux as E,loginEmail as C,loginSms as B,loginOAuth as N,loginPasskey as L,loginWallet as I,createConfig as O,setAppearance as T}from"@bluxcc/core";export{BluxEvent,StellarSdk,ToScVal,events,getAccount,getAccounts,getAssets,getBalances,getClaimableBalances,getEffects,getInitialState,getLedgers,getLiquidityPools,getNetwork,getOffers,getOperations,getOrderbook,getPayments,getSacAddress,getState,getStrictReceivePaths,getStrictSendPaths,getTokenMetadata,getTradeAggregation,getTrades,getTransactions,networks,numberish,readContracts,resolveXlmName,resolveXlmNameByAddress,setAppearance,subscribe,swap,switchNetwork,useExportedStore,writeContract}from"@bluxcc/core";export{Asset}from"@stellar/stellar-sdk";import X,{useMemo as _,useState as R,useEffect as W,useRef as H,useCallback as M}from"react";import{useQuery as j,useMutation as D,QueryClient as J,QueryClientProvider as Z}from"@tanstack/react-query";const U=l=>{const{user:e}=n();return l||(null==e?void 0:e.address)},V=l=>{const{stellar:e}=n();return!l&&e?e.activeNetwork:l};function z(n,e){var o;const r=U(null==n?void 0:n.address),t=V(null==n?void 0:n.network),u=null===(o=null==e?void 0:e.enabled)||void 0===o||o,i=[r,t],d=_(()=>["blux","account",t,...i],[t,...i]),s=_(()=>async()=>{const e={...n,address:r,network:t};return l(e)},[t,...i]);return j({...e,enabled:u,queryKey:d,queryFn:s})}function G(n,l){var o;const r=V(null==n?void 0:n.network),t=null===(o=null==l?void 0:l.enabled)||void 0===o||o,u=[null==n?void 0:n.forSigner,null==n?void 0:n.forAsset,null==n?void 0:n.sponsor,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],i=_(()=>["blux","accounts",r,...u],[r,...u]),d=_(()=>async()=>{const l={...n,network:r};return e(l)},[r,...u]);return j({...l,enabled:t,queryKey:i,queryFn:d})}function Q(n,l){var e;const r=V(null==n?void 0:n.network),t=null===(e=null==l?void 0:l.enabled)||void 0===e||e,u=[null==n?void 0:n.forCode,null==n?void 0:n.forIssuer,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],i=_(()=>["blux","assets",r,...u],[r,n,...u]),d=_(()=>async()=>{const l={...n,network:r};return o(l)},[r,n,...u]);return j({...l,enabled:t,queryKey:i,queryFn:d})}function Y(n,l){var e,o;const t=U(null==n?void 0:n.address),u=V(null==n?void 0:n.network),i=null===(e=null==l?void 0:l.enabled)||void 0===e||e,d=null===(o=null==n?void 0:n.includeZeroBalances)||void 0===o||o,s=[t,u,d],c=_(()=>["blux","balances",u,...s],[u,...s]),a=_(()=>async()=>{const l={...n,address:t,includeZeroBalances:d,network:u};return r(l)},[u,...s]);return j({...l,enabled:i,queryKey:c,queryFn:a})}function $(n,l){var e;const o=U(n.claimant),r=V(null==n?void 0:n.network),u=null===(e=null==l?void 0:l.enabled)||void 0===e||e,i=[o,null==n?void 0:n.asset,null==n?void 0:n.sponsor,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],d=_(()=>["blux","claimableBalances",r,...i],[r,...i]),s=_(()=>async()=>{const l={...n,claimant:o,network:r};return t(l)},[r,...i]);return j({...l,enabled:u,queryKey:d,queryFn:s})}function nn(n,l){var e;const o=V(null==n?void 0:n.network),r=null===(e=null==l?void 0:l.enabled)||void 0===e||e,t=[null==n?void 0:n.forAccount,null==n?void 0:n.forLedger,null==n?void 0:n.forTransaction,null==n?void 0:n.forOperation,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],i=_(()=>["blux","effects",o,...t],[o,...t]),d=_(()=>async()=>{const l={...n,network:o};return u(l)},[o,...t]);return j({...l,enabled:r,queryKey:i,queryFn:d})}function ln(n,l){var e;const o=V(null==n?void 0:n.network),r=null===(e=null==l?void 0:l.enabled)||void 0===e||e,t=[null==n?void 0:n.ledger,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],u=_(()=>["blux","ledgers",o,...t],[o,n,...t]),d=_(()=>async()=>{const l={...n,network:o};return i(l)},[o,n,...t]);return j({...l,enabled:r,queryKey:u,queryFn:d})}function en(n,l){var e;const o=V(null==n?void 0:n.network),r=null===(e=null==l?void 0:l.enabled)||void 0===e||e,t=[null==n?void 0:n.forAccount,null==n?void 0:n.forAssets,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],u=_(()=>["blux","liquidityPools",o,...t],[o,...t]),i=_(()=>async()=>{const l={...n,network:o};return d(l)},[o,...t]);return j({...l,enabled:r,queryKey:u,queryFn:i})}const on=()=>{var n;const l=s(n=>n),[e,o]=R((null===(n=l.stellar)||void 0===n?void 0:n.activeNetwork)||l.config.defaultNetwork);return W(()=>{var n;o((null===(n=l.stellar)||void 0===n?void 0:n.activeNetwork)||l.config.defaultNetwork)},[l.stellar,l.config]),e};function rn(n,l,e){var o;const r=n.trim().toLowerCase(),t=null==l?void 0:l.allowHttp,u=null==l?void 0:l.timeout,i=(null===(o=null==e?void 0:e.enabled)||void 0===o||o)&&Boolean(r),d=_(()=>["blux","resolveXlmName",r,t,u],[r,t,u]),s=_(()=>()=>c(r,{allowHttp:t,timeout:u}),[r,t,u]);return j({...e,enabled:i,queryKey:d,queryFn:s})}function tn(n,l,e){var o;const r=n.trim(),t=null==l?void 0:l.allowHttp,u=null==l?void 0:l.timeout,i=(null===(o=null==e?void 0:e.enabled)||void 0===o||o)&&Boolean(r),d=_(()=>["blux","resolveXlmNameByAddress",r,t,u],[r,t,u]),s=_(()=>()=>a(r,{allowHttp:t,timeout:u}),[r,t,u]);return j({...e,enabled:i,queryKey:d,queryFn:s})}function un(n,l){var e;const o=V(null==n?void 0:n.network),r=null===(e=null==l?void 0:l.enabled)||void 0===e||e,t=[null==n?void 0:n.forAccount,null==n?void 0:n.buying,null==n?void 0:n.selling,null==n?void 0:n.sponsor,null==n?void 0:n.seller,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],u=_(()=>["blux","offers",o,...t],[o,...t]),i=_(()=>async()=>{const l={...n,network:o};return v(l)},[o,...t]);return j({...l,enabled:r,queryKey:u,queryFn:i})}function dn(n,l){var e;const o=V(null==n?void 0:n.network),r=null===(e=null==l?void 0:l.enabled)||void 0===e||e,t=[null==n?void 0:n.forAccount,null==n?void 0:n.includeFailed,null==n?void 0:n.forClaimableBalance,null==n?void 0:n.forLedger,null==n?void 0:n.forTransaction,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.forAccount,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],u=_(()=>["blux","operations",o,...t],[o,...t]),i=_(()=>async()=>{const l={...n,network:o};return y(l)},[o,n,...t]);return j({...l,enabled:r,queryKey:u,queryFn:i})}function sn(n,l,e){var o;const r=V(null==l?void 0:l.network),t=null===(o=null==e?void 0:e.enabled)||void 0===o||o,u=[n[0],n[1],null==l?void 0:l.cursor,null==l?void 0:l.limit,null==l?void 0:l.network,null==l?void 0:l.order],i=_(()=>["blux","orderbook",r,...u],[r,l,...u]),d=_(()=>async()=>{const e={...l,network:r};return f(n,e)},[r,l,...u]);return j({...e,enabled:t,queryKey:i,queryFn:d})}function cn(n,l){var e;const o=V(null==n?void 0:n.network),r=null===(e=null==l?void 0:l.enabled)||void 0===e||e,t=[null==n?void 0:n.forAccount,null==n?void 0:n.includeFailed,null==n?void 0:n.forLedger,null==n?void 0:n.forTransaction,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],u=_(()=>["blux","payments",o,...t],[o,...t]),i=_(()=>async()=>{const l={...n,network:o};return b(l)},[o,...t]);return j({...l,enabled:r,queryKey:u,queryFn:i})}function an(n,l,e){var o;const r=V(null==l?void 0:l.network),t=null===(o=null==e?void 0:e.enabled)||void 0===o||o,u=_(()=>(n=>JSON.stringify(null!=n?n:[],(n,l)=>"bigint"==typeof l?{__bluxBigInt:l.toString()}:l&&"object"==typeof l&&"toXDR"in l&&"function"==typeof l.toXDR?{__bluxXdr:l.toXDR("base64")}:l instanceof Map?{__bluxMap:Array.from(l.entries())}:l instanceof Uint8Array?{__bluxBytes:Array.from(l)}:l))(n),[n]),i=[r,u],d=_(()=>["blux","readContracts",r,u],[...i]),s=_(()=>async()=>{const e={...l,network:r};return w([...n],e)},[...i]);return j({...e,enabled:t,queryKey:d,queryFn:s})}function vn(n,l,e){var o;const r=V(null==l?void 0:l.network),t=null===(o=null==e?void 0:e.enabled)||void 0===o||o,u=[n[0],n[1],n[2],null==l?void 0:l.cursor,null==l?void 0:l.limit,null==l?void 0:l.network,null==l?void 0:l.order],i=_(()=>["blux","strictReceivePaths",r,...u],[r,l,...u]),d=_(()=>async()=>{const e={...l,network:r};return g(n,e)},[r,l,...u]);return j({...e,enabled:t,queryKey:i,queryFn:d})}function yn(n,l,e){var o;const r=V(null==l?void 0:l.network),t=null===(o=null==e?void 0:e.enabled)||void 0===o||o,u=[n[0],n[1],n[2],null==l?void 0:l.cursor,null==l?void 0:l.limit,null==l?void 0:l.network,null==l?void 0:l.order],i=_(()=>["blux","strictSendPaths",r,...u],[r,l,...u]),d=_(()=>async()=>{const e={...l,network:r};return k(n,e)},[r,l,...u]);return j({...e,enabled:t,queryKey:i,queryFn:d})}function fn(n,l,e){var o;const r=V(null==l?void 0:l.network),t=null===(o=null==e?void 0:e.enabled)||void 0===o||o,u=[n[0],n[1],n[2],n[3],n[4],n[5],null==l?void 0:l.cursor,null==l?void 0:l.limit,null==l?void 0:l.network,null==l?void 0:l.order],i=_(()=>["blux","tradeAggregation",r,...u],[r,l,...u]),d=_(()=>async()=>{const e={...l,network:r};return m(n,e)},[r,l,...u]);return j({...e,enabled:t,queryKey:i,queryFn:d})}function bn(n,l){var e;const o=V(null==n?void 0:n.network),r=null===(e=null==l?void 0:l.enabled)||void 0===e||e,t=[null==n?void 0:n.forAssetPair,null==n?void 0:n.forOffer,null==n?void 0:n.forType,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.forAccount,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],u=_(()=>["blux","trades",o,...t],[o,...t]),i=_(()=>async()=>{const l={...n,network:o};return q(l)},[o,...t]);return j({...l,enabled:r,queryKey:u,queryFn:i})}function wn(n,l){var e;const o=V(null==n?void 0:n.network),r=null===(e=null==l?void 0:l.enabled)||void 0===e||e,t=[null==n?void 0:n.forAccount,null==n?void 0:n.includeFailed,null==n?void 0:n.forClaimableBalance,null==n?void 0:n.forLedger,null==n?void 0:n.forLiquidityPool,null==n?void 0:n.cursor,null==n?void 0:n.limit,null==n?void 0:n.network,null==n?void 0:n.order],u=_(()=>["blux","transactions",o,...t],[o,...t]),i=_(()=>async()=>{const l={...n,network:o};return A(l)},[o,...t]);return j({...l,enabled:r,queryKey:u,queryFn:i})}function gn(n){const l=D({...n,mutationFn:async n=>S(n)});return Object.assign(l,{transfer:l.mutate,transferAsync:l.mutateAsync})}const kn=()=>({networks:x,switchNetwork:p});function mn(n){return D({...n,mutationFn:async({call:n,options:l})=>F(n,l)})}function qn(n){const l=D({...n,mutationFn:async n=>P(n)});return Object.assign(l,{swap:l.mutate,swapAsync:l.mutateAsync})}function An(n,l,e){var o;const r=V(null==l?void 0:l.network),t=(null===(o=null==e?void 0:e.enabled)||void 0===o||o)&&Boolean(n),u=[n,r],i=_(()=>["blux","tokenMetadata",...u],[...u]),d=_(()=>async()=>{const e={...l,network:r};return K(n,e)},[...u]);return j({...e,enabled:t,queryKey:i,queryFn:d})}function Sn(n,l){const e=V(l);return _(()=>{try{return{data:h(n,e),error:null}}catch(n){return{data:void 0,error:n}}},[n,e])}const pn=()=>{const[n,l]=R(E),e=s(n=>n.user),o=s(n=>n.authState);return W(()=>{l(E)},[e,o]),n},xn=()=>({data:void 0,error:null,isError:!1,isIdle:!0,isPending:!1,isSuccess:!1,status:"idle"});function Fn(n,l){const e=H(n);e.current=n;const o=H(l);o.current=l;const[r,t]=R(xn),u=M(()=>{t({data:void 0,error:null,isError:!1,isIdle:!0,isPending:!1,isSuccess:!1,status:"idle"})},[]),i=M(async(...n)=>{var l,r,u,i,d,s,c,a;t({data:void 0,error:null,isError:!1,isIdle:!1,isPending:!0,isSuccess:!1,status:"pending"});try{const d=await e.current(...n);return t({data:d,error:null,isError:!1,isIdle:!1,isPending:!1,isSuccess:!0,status:"success"}),null===(r=null===(l=o.current)||void 0===l?void 0:l.onSuccess)||void 0===r||r.call(l,d),null===(i=null===(u=o.current)||void 0===u?void 0:u.onSettled)||void 0===i||i.call(u,d,null),d}catch(n){const l=(n=>n instanceof Error?n:new Error(String(n)))(n);throw t({data:void 0,error:l,isError:!0,isIdle:!1,isPending:!1,isSuccess:!1,status:"error"}),null===(s=null===(d=o.current)||void 0===d?void 0:d.onError)||void 0===s||s.call(d,l),null===(a=null===(c=o.current)||void 0===c?void 0:c.onSettled)||void 0===a||a.call(c,void 0,l),l}},[]);return{...r,reset:u,mutate:M((...n)=>{i(...n).catch(()=>{})},[i]),mutateAsync:i}}function Pn(n,l){var e;const o=Fn(l=>n.sendCode(l),{onSuccess:()=>{var n;return null===(n=null==l?void 0:l.onCodeSent)||void 0===n?void 0:n.call(l)},onError:null==l?void 0:l.onError}),r=Fn((l,e)=>n.loginWithCode(l,e),{onSuccess:null==l?void 0:l.onSuccess,onError:null==l?void 0:l.onError,onSettled:null==l?void 0:l.onSettled}),t=o.isPending||r.isPending,u=null!==(e=r.error)&&void 0!==e?e:o.error;return{sendCode:o.mutate,sendCodeAsync:o.mutateAsync,loginWithCode:r.mutate,loginWithCodeAsync:r.mutateAsync,data:r.data,error:u,isCodeSent:o.isSuccess,isError:!!u&&!t,isIdle:o.isIdle&&r.isIdle,isLoggingIn:r.isPending,isPending:t,isSendingCode:o.isPending,isSuccess:r.isSuccess,reset:()=>{o.reset(),r.reset()},status:t?"pending":r.isSuccess?"success":u?"error":"idle"}}function Kn(n){return Pn(C,n)}function hn(n){return Pn(B,n)}function En(n){const{mutate:l,mutateAsync:e,...o}=Fn((n,l)=>N(n,l),n);return{...o,loginOAuth:l,loginOAuthAsync:e}}function Cn(n){const{mutate:l,mutateAsync:e,...o}=Fn(()=>L(),n);return{...o,loginPasskey:l,loginPasskeyAsync:e}}function Bn(n){const{mutate:l,mutateAsync:e,...o}=Fn(n=>I(n),n);return{...o,loginWallet:l,loginWalletAsync:e}}const Nn=new J,Ln=({config:n,children:l})=>{const e=H(null),{appearance:o,...r}=null!=n?n:{},t=_(()=>r,[JSON.stringify(r)]);return W(()=>{e.current&&O(n,e.current)},[e,t]),W(()=>{e.current&&T(null!=o?o:{})},[e,o]),X.createElement(Z,{client:Nn},X.createElement("div",{ref:e},l))};export{Ln as BluxProvider,z as useAccount,G as useAccounts,Q as useAssets,Y as useBalances,pn as useBlux,$ as useClaimableBalances,nn as useEffects,ln as useLedgers,en as useLiquidityPools,Kn as useLoginEmail,En as useLoginOAuth,Cn as useLoginPasskey,hn as useLoginSms,Bn as useLoginWallet,on as useNetwork,un as useOffers,dn as useOperations,sn as useOrderbook,cn as usePayments,an as useReadContracts,rn as useResolveXlmName,tn as useResolveXlmNameByAddress,Sn as useSacAddress,vn as useStrictReceivePaths,yn as useStrictSendPaths,qn as useSwap,kn as useSwitchNetwork,An as useTokenMetadata,fn as useTradeAggregation,bn as useTrades,wn as useTransactions,gn as useTransfer,mn as useWriteContract};
@@ -8,6 +8,8 @@ export * from './useEffects';
8
8
  export * from './useLedgers';
9
9
  export * from './useLiquidityPools';
10
10
  export * from './useNetwork';
11
+ export * from './useResolveXlmName';
12
+ export * from './useResolveXlmNameByAddress';
11
13
  export * from './useOffers';
12
14
  export * from './useOperations';
13
15
  export * from './useOrderbook';
@@ -11,7 +11,7 @@ type O = GetAccountOptions;
11
11
  * "current account" hook. Resolves to `null` when the account does not exist on
12
12
  * the target network (e.g. it has never been funded).
13
13
  *
14
- * @param options - `address` (the `G…` account to load; defaults to the
14
+ * @param options - `address` (`G…`/`M…`, SEP-2, or `.xlm`; defaults to the
15
15
  * connected wallet) and `network` (defaults to the active network).
16
16
  * @param queryOptions - Optional TanStack Query options (`enabled`, `staleTime`,
17
17
  * `refetchInterval`, `select`, …). `queryKey`/`queryFn` are managed by the hook.
@@ -24,7 +24,7 @@ type O = GetAccountOptions;
24
24
  * const { data: account, isLoading } = useAccount();
25
25
  *
26
26
  * // A specific account
27
- * const { data } = useAccount({ address: 'GA…' });
27
+ * const { data } = useAccount({ address: 'alice.xlm' });
28
28
  * console.log(data?.sequence, data?.balances);
29
29
  * ```
30
30
  */
@@ -22,7 +22,7 @@ type O = GetAccountsOptions;
22
22
  *
23
23
  * @example
24
24
  * ```tsx
25
- * const { data } = useAccounts({ forSigner: 'GA…', limit: 20 });
25
+ * const { data } = useAccounts({ forSigner: 'alice.xlm', limit: 20 });
26
26
  * data?.response.records.forEach((a) => console.log(a.account_id));
27
27
  * ```
28
28
  */
@@ -1,5 +1,5 @@
1
1
  import { UseQueryResult } from '@tanstack/react-query';
2
- import type { GetAssetsResult, GetAssetsOptions } from "@bluxcc/core/dist/exports/core/getAssets";
2
+ import type { GetAssetsResult, GetAssetsOptions } from '@bluxcc/core/dist/exports/core/getAssets';
3
3
  import type { QueryOptions } from '../utils';
4
4
  type R = GetAssetsResult;
5
5
  type O = GetAssetsOptions;
@@ -7,7 +7,8 @@ type O = GetAssetsOptions;
7
7
  * Fetches a paginated list of assets issued on the network from Horizon.
8
8
  *
9
9
  * Optionally narrow the list by `forCode` (asset code, e.g. "USDC") and/or
10
- * `forIssuer` (the issuing `G…` address). With no filter it returns all assets.
10
+ * `forIssuer` (a `G…`/`M…`, SEP-2, or `.xlm` account). With no filter it
11
+ * returns all assets.
11
12
  *
12
13
  * @param options - `forCode` / `forIssuer` filters, plus optional
13
14
  * `cursor` / `limit` / `order` and `network` (defaults to the active network).
@@ -2,16 +2,22 @@ import { readContracts } from '@bluxcc/core';
2
2
  import { UseQueryResult } from '@tanstack/react-query';
3
3
  import type { IContractCall, ReadContractsOptions } from '@bluxcc/core/dist/exports/utils';
4
4
  import type { QueryOptions } from '../utils';
5
- type R = Awaited<ReturnType<typeof readContracts>>;
5
+ type CoreReadContractsResult = Exclude<Awaited<ReturnType<typeof readContracts>>, readonly unknown[]>;
6
+ /** Typed result returned by {@link useReadContracts}. */
7
+ export type ReadContractsHookResult<TValues extends readonly unknown[] = readonly unknown[]> = Omit<CoreReadContractsResult, 'values'> & {
8
+ /** Decoded return values, index-aligned with the supplied calls. */
9
+ values: TValues;
10
+ };
6
11
  type O = ReadContractsOptions;
7
12
  /**
8
13
  * Reads from one or more Soroban contracts by simulating their calls — no
9
14
  * transaction is submitted, so no signature or fees are required.
10
15
  *
11
- * Each call names a contract `address`, a function `fn`, and its `args` as
12
- * `xdr.ScVal`s — build those with the exported `ToScVal` helpers. Results come
13
- * back already decoded in `data.values`, with the raw simulation in `data.raws`.
14
- * For state-changing calls use `useWriteContract` instead.
16
+ * Each call names a contract `address`, a function `fn`, and a positional
17
+ * `args` array. Native values are encoded from the deployed contract ABI, and
18
+ * pre-built `xdr.ScVal`s remain supported. Results come back already decoded
19
+ * in `data.values`, with the raw simulation in `data.raws`. For state-changing
20
+ * calls use `useWriteContract` instead.
15
21
  *
16
22
  * @param calls - The contract calls to simulate, each `{ address, fn, args }`.
17
23
  * @param options - Optional `network` (defaults to the active network).
@@ -22,11 +28,12 @@ type O = ReadContractsOptions;
22
28
  *
23
29
  * @example
24
30
  * ```tsx
25
- * const { data } = useReadContracts([
26
- * { address: 'C…', fn: 'balance', args: [ToScVal.address('GA…')] },
31
+ * const { data } = useReadContracts<[string, boolean]>([
32
+ * { address: 'token.xlm', fn: 'balance', args: ['alice.xlm'] },
33
+ * { address: 'token.xlm', fn: 'authorized', args: ['alice.xlm'] },
27
34
  * ]);
28
- * const balance = data?.values[0];
35
+ * const balance = data?.values[0]; // string
29
36
  * ```
30
37
  */
31
- export declare function useReadContracts(calls: IContractCall[], options?: O, queryOptions?: QueryOptions<R>): UseQueryResult<R, Error>;
38
+ export declare function useReadContracts<TValues extends readonly unknown[] = readonly unknown[]>(calls: readonly IContractCall[], options?: O, queryOptions?: QueryOptions<ReadContractsHookResult<TValues>>): UseQueryResult<ReadContractsHookResult<TValues>, Error>;
32
39
  export {};
@@ -0,0 +1,22 @@
1
+ import { type XlmNameLookupOptions, type XlmNameRecord } from '@bluxcc/core';
2
+ import { type UseQueryResult } from '@tanstack/react-query';
3
+ import type { QueryOptions } from '../utils';
4
+ /**
5
+ * Resolves a `.xlm` name to a validated account or contract record.
6
+ *
7
+ * The query is independent of Blux's active transaction network because XLM
8
+ * Domains uses its mainnet registry. It stays disabled until `name` is non-empty.
9
+ *
10
+ * @param name - A `.xlm` name such as `alice.xlm` or `token.xlm`.
11
+ * @param options - Optional SEP-2 connection options.
12
+ * @param queryOptions - Optional TanStack Query options. `queryKey` and
13
+ * `queryFn` are managed by the hook.
14
+ * @returns A TanStack Query result containing an {@link XlmNameRecord}.
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * const { data, isLoading, error } = useResolveXlmName('alice.xlm');
19
+ * console.log(data?.address);
20
+ * ```
21
+ */
22
+ export declare function useResolveXlmName(name: string, options?: XlmNameLookupOptions, queryOptions?: QueryOptions<XlmNameRecord>): UseQueryResult<XlmNameRecord, Error>;
@@ -0,0 +1,23 @@
1
+ import { type XlmAccountNameRecord, type XlmNameLookupOptions } from '@bluxcc/core';
2
+ import { type UseQueryResult } from '@tanstack/react-query';
3
+ import type { QueryOptions } from '../utils';
4
+ /**
5
+ * Finds one verified `.xlm` name associated with a classic Stellar account.
6
+ *
7
+ * The query accepts only a `G…` account address and stays disabled until the
8
+ * address is non-empty. If the account owns multiple names, XLM Domains chooses
9
+ * which reverse record to return.
10
+ *
11
+ * @param address - A classic Stellar account address (`G…`).
12
+ * @param options - Optional SEP-2 connection options.
13
+ * @param queryOptions - Optional TanStack Query options. `queryKey` and
14
+ * `queryFn` are managed by the hook.
15
+ * @returns A TanStack Query result containing an {@link XlmAccountNameRecord}.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * const { data, isLoading, error } = useResolveXlmNameByAddress('G…');
20
+ * console.log(data?.name);
21
+ * ```
22
+ */
23
+ export declare function useResolveXlmNameByAddress(address: string, options?: XlmNameLookupOptions, queryOptions?: QueryOptions<XlmAccountNameRecord>): UseQueryResult<XlmAccountNameRecord, Error>;
@@ -1,5 +1,5 @@
1
1
  import { UseQueryResult } from '@tanstack/react-query';
2
- import type { GetPaymentPathResult } from "@bluxcc/core/dist/exports/core/getStrictReceivePaths";
2
+ import type { GetPaymentPathResult } from '@bluxcc/core/dist/exports/core/getStrictReceivePaths';
3
3
  import { Asset } from '@stellar/stellar-sdk';
4
4
  import { CallBuilderOptions } from '../utils';
5
5
  import type { QueryOptions } from '../utils';
@@ -15,8 +15,8 @@ type O = CallBuilderOptions;
15
15
  * `useStrictSendPaths`.
16
16
  *
17
17
  * @param args - `[source, destinationAsset, destinationAmount]`: the source
18
- * (a sending `G…` address, or an array of candidate source `Asset`s), the
19
- * asset the destination receives, and the exact amount they receive.
18
+ * (an account address/SEP-2/`.xlm` name, or an array of candidate source
19
+ * `Asset`s), the asset the destination receives, and the exact amount.
20
20
  * @param options - Optional `cursor` / `limit` / `order` and `network`
21
21
  * (defaults to active).
22
22
  * @param queryOptions - Optional TanStack Query options. `queryKey`/`queryFn`
@@ -1,5 +1,5 @@
1
1
  import { UseQueryResult } from '@tanstack/react-query';
2
- import type { GetPaymentPathResult } from "@bluxcc/core/dist/exports/core/getStrictSendPaths";
2
+ import type { GetPaymentPathResult } from '@bluxcc/core/dist/exports/core/getStrictSendPaths';
3
3
  import { Asset } from '@stellar/stellar-sdk';
4
4
  import { CallBuilderOptions } from '../utils';
5
5
  import type { QueryOptions } from '../utils';
@@ -13,8 +13,8 @@ type O = CallBuilderOptions;
13
13
  * inverse — fixing the received amount — use `useStrictReceivePaths`.
14
14
  *
15
15
  * @param args - `[sourceAsset, sourceAmount, destination]`: the asset the sender
16
- * spends, the exact amount they spend, and the destination (a `G…` address, or
17
- * an array of candidate destination `Asset`s).
16
+ * spends, the exact amount they spend, and the destination (an account
17
+ * address/SEP-2/`.xlm` name, or candidate destination `Asset`s).
18
18
  * @param options - Optional `cursor` / `limit` / `order` and `network`
19
19
  * (defaults to active).
20
20
  * @param queryOptions - Optional TanStack Query options. `queryKey`/`queryFn`
@@ -24,7 +24,7 @@ type O = CallBuilderOptions;
24
24
  *
25
25
  * @example
26
26
  * ```tsx
27
- * const { data } = useStrictSendPaths([Asset.native(), '50', 'GA…']);
27
+ * const { data } = useStrictSendPaths([Asset.native(), '50', 'alice.xlm']);
28
28
  * ```
29
29
  */
30
30
  export declare function useStrictSendPaths(args: [
@@ -57,7 +57,7 @@ export type UseSwapResult = UseMutationResult<R, Error, V> & {
57
57
  * fromAsset: 'USDC:GA…',
58
58
  * toAsset: 'xlm',
59
59
  * amount: '25',
60
- * to: 'GB…',
60
+ * to: 'alice.xlm',
61
61
  * slippage: 0.01, // 1%
62
62
  * memo: 'cash out',
63
63
  * });
@@ -14,8 +14,8 @@ type O = GetTokenMetadataOptions;
14
14
  * Contracts, which expose `admin()` instead). The query stays disabled until a
15
15
  * non-empty `address` is provided.
16
16
  *
17
- * @param address - The token contract id (`C…`), e.g. a SAC from
18
- * {@link useSacAddress} / `getSacAddress`.
17
+ * @param address - A token contract id (`C…`) or `.xlm`/SEP-2 name resolving
18
+ * to one, e.g. a SAC from {@link useSacAddress} / `getSacAddress`.
19
19
  * @param options - Core read options (currently just `network`, which defaults
20
20
  * to the active network).
21
21
  * @param queryOptions - Optional TanStack Query options (`enabled`, `staleTime`,
@@ -6,7 +6,7 @@ type R = Awaited<ReturnType<typeof transfer>>;
6
6
  /**
7
7
  * Variables for {@link useTransfer} — the core `transfer` options verbatim, so
8
8
  * every path it supports (native XLM, issued asset, claimable balance, SEP-41
9
- * token, federated address) is just a different object passed to
9
+ * token, federated address, `.xlm` name) is just a different object passed to
10
10
  * `transfer({ ... })`.
11
11
  */
12
12
  export type TransferVariables = TransferOptions;
@@ -53,7 +53,7 @@ export type UseTransferResult = UseMutationResult<R, Error, V> & {
53
53
  * transfer({ to: 'GB…', amount: '1000000', token: 'C…' });
54
54
  *
55
55
  * // Await the result (e.g. in a form submit handler)
56
- * const tx = await transferAsync({ to: 'alice*example.com', amount: '5' });
56
+ * const tx = await transferAsync({ to: 'alice.xlm', amount: '5' });
57
57
  * ```
58
58
  */
59
59
  export declare function useTransfer(mutationOptions?: MutationOptions<R, V>): UseTransferResult;
@@ -2,7 +2,11 @@ import { writeContract } from '@bluxcc/core';
2
2
  import { UseMutationResult } from '@tanstack/react-query';
3
3
  import type { IContractCall, WriteContractsOptions } from '@bluxcc/core/dist/exports/utils';
4
4
  import type { MutationOptions } from '../utils';
5
- type R = Awaited<ReturnType<typeof writeContract>>;
5
+ type CoreWriteContractResult = Awaited<ReturnType<typeof writeContract>>;
6
+ /** Submitted transaction with a caller-specified decoded contract result. */
7
+ export type WriteContractHookResult<TReturnValue = unknown> = Omit<CoreWriteContractResult, 'returnValue'> & {
8
+ returnValue: () => Promise<TReturnValue | null>;
9
+ };
6
10
  /**
7
11
  * Variables for {@link useWriteContract}: the contract `call` to invoke and
8
12
  * optional core write `options` (e.g. `network`).
@@ -14,12 +18,12 @@ export type WriteContractVariables = {
14
18
  type V = WriteContractVariables;
15
19
  /**
16
20
  * Submits a state-changing Soroban contract invocation as a signed, on-chain
17
- * transaction.
21
+ * transaction. Native positional arguments are encoded from the deployed
22
+ * contract ABI; pre-built `xdr.ScVal`s are also accepted.
18
23
  *
19
24
  * A thin wrapper over TanStack Query's `useMutation`: call `mutate` /
20
- * `mutateAsync` with the contract call to sign and send it. Build `args` with
21
- * the exported `ToScVal` helpers. For read-only calls (no signature, no fees)
22
- * use `useReadContracts` instead.
25
+ * `mutateAsync` with the contract call to sign and send it. For read-only calls
26
+ * (no signature, no fees) use `useReadContracts` instead.
23
27
  *
24
28
  * @param mutationOptions - Optional TanStack Mutation options (`onSuccess`,
25
29
  * `onError`, `onSettled`, …); `mutationFn` is provided by the hook.
@@ -29,20 +33,17 @@ type V = WriteContractVariables;
29
33
  *
30
34
  * @example
31
35
  * ```tsx
32
- * const { mutate, isPending, data } = useWriteContract();
36
+ * const { mutateAsync, isPending } = useWriteContract<bigint>();
33
37
  *
34
- * mutate({
38
+ * const transaction = await mutateAsync({
35
39
  * call: {
36
- * address: 'C…',
40
+ * address: 'token.xlm',
37
41
  * fn: 'transfer',
38
- * args: [
39
- * ToScVal.address('GFROM…'),
40
- * ToScVal.address('GTO…'),
41
- * ToScVal.i128('1000000'),
42
- * ],
42
+ * args: ['alice.xlm', 'bob.xlm', 1_000_000],
43
43
  * },
44
44
  * });
45
+ * const result = await transaction.returnValue(); // bigint | null
45
46
  * ```
46
47
  */
47
- export declare function useWriteContract(mutationOptions?: MutationOptions<R, V>): UseMutationResult<R, Error, V>;
48
+ export declare function useWriteContract<TReturnValue = unknown>(mutationOptions?: MutationOptions<WriteContractHookResult<TReturnValue>, V>): UseMutationResult<WriteContractHookResult<TReturnValue>, Error, V>;
48
49
  export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bluxcc/react",
3
3
  "author": "Blux team",
4
- "version": "0.3.5",
4
+ "version": "0.3.7",
5
5
  "homepage": "https://blux.cc",
6
6
  "description": "Connecting to the Stellar Ecosystem and Beyond",
7
7
  "repository": {
@@ -30,7 +30,7 @@
30
30
  "build": "rollup -c rollup.config.prod.js"
31
31
  },
32
32
  "peerDependencies": {
33
- "@bluxcc/core": "^0.3.4",
33
+ "@bluxcc/core": "^0.3.7",
34
34
  "@stellar/stellar-sdk": "^17.0.1",
35
35
  "@tanstack/react-query": "^5.90.11",
36
36
  "react": ">=17.0.0",