@spicenet-io/spiceflow-ui 2.5.11 → 2.5.12
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/{auth-dynamic-BAUsj6l9.js → auth-dynamic-BcyZRUD-.js} +1 -1
- package/dist/{auth-dynamic-DQLOZlD5.js → auth-dynamic-CVMjONcV.js} +1 -1
- package/dist/auth-dynamic.cjs.js +1 -1
- package/dist/auth-dynamic.js +1 -1
- package/dist/auth-starknet.cjs.js +1 -1
- package/dist/auth-starknet.js +1 -1
- package/dist/{index-D67FO4eR.js → index-BMp4DXc2.js} +1 -1
- package/dist/{index-CkWAs8UV.js → index-CUsptR1f.js} +1 -1
- package/dist/index.cjs.js +9 -9
- package/dist/index.js +9 -9
- package/dist/{useSpiceBrand-DKxGhQNv.js → useSpiceBrand-BIKnRNEV.js} +1 -1
- package/dist/{useSpiceBrand-CtS6Hdcl.js → useSpiceBrand-CdoJxMvK.js} +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";const r=require("react/jsx-runtime"),d=require("react"),s=require("./Button-B_UpyUH-.js"),q=require("@dynamic-labs/sdk-react-core"),W=require("viem"),z=require("./index-
|
|
2
|
+
"use strict";const r=require("react/jsx-runtime"),d=require("react"),s=require("./Button-B_UpyUH-.js"),q=require("@dynamic-labs/sdk-react-core"),W=require("viem"),z=require("./index-CUsptR1f.js"),p=e=>{if(!e)return!1;const t=e.connector;if(!t)return!1;if(t.isEmbeddedWallet===!0)return!0;const i=(t.key||t.connectorKey||"").toLowerCase();if(i.includes("embedded")||i.includes("turnkey"))return!0;const n=(t.name||e.walletName||"").toLowerCase();return!!(n.includes("embedded")||n.includes("turnkey"))},j=e=>(e?.connectedWallets||[]).find(t=>p(t))||(p(e?.primaryWallet)?e.primaryWallet:null),B=e=>(e?.connectedWallets||[]).find(t=>t?.address&&t?.connector&&!p(t))||null,b=async(e,t)=>{if(!e?.address)throw new Error("Wallet not available");if(typeof e.getWalletClient=="function"){const i=t===void 0?[void 0]:[String(t),t,void 0];let n=null;for(const c of i)try{const a=await e.getWalletClient(c);if(a)return a}catch(a){n=a}if(n)throw n}if(typeof e.getEthereumProvider=="function"){const i=await e.getEthereumProvider(),n=t?z.getChainConfig(t)?.viemChain:void 0;return W.createWalletClient({account:e.address,chain:n,transport:W.custom(i)})}throw new Error("Wallet client not available")},F=async(e,t)=>{if(!e?.address)throw new Error("Wallet not available");if(typeof e.getEthereumProvider=="function")return e.getEthereumProvider();const i=await b(e,t);return{request:n=>i.request(n)}},I=(e,t)=>({address:e?.address||t.address,chainId:Number(e?.chainId??t.chainId),contractAddress:e?.contractAddress||e?.delegate||t.contractAddress,nonce:BigInt(e?.nonce??t.nonce),r:e?.r,s:e?.s,yParity:(()=>{if(typeof e?.yParity=="number")return e.yParity;const i=Number(e?.v??27);return Number.isFinite(i)?i>=27?i-27:i:0})()}),T=({onAuthSuccess:e,onAuthError:t,theme:i="light",className:n="",buttonText:c="Login with Dynamic",autoTrigger:a=!1})=>{const o=s.createTheme(i),[h,C]=d.useState(!1),[x,D]=d.useState(!1),P=q.useDynamicContext(),{user:N,primaryWallet:v,connectedWallets:S,handleLogOut:k,setShowAuthFlow:y,sdkHasLoaded:f,showAuthFlow:w}=P,l=(j({connectedWallets:S,primaryWallet:v})||v)?.address,E=!!N,u=E&&!!l;d.useEffect(()=>{C(!0)},[]),d.useEffect(()=>{u&&l&&e&&e(l)},[u,l,e]),d.useEffect(()=>{a&&f&&h&&!u&&!w&&!x&&(D(!0),y(!0))},[a,f,h,u,w,x,y]);const L=()=>{try{y(!0)}catch(g){const m=`Dynamic login failed: ${String(g)}`;t?t(m):console.error(m)}},A=async()=>{try{await k()}catch(g){const m=`Dynamic logout failed: ${String(g)}`;t?t(m):console.error(m)}};return h?f?E&&!l?r.jsx("div",{className:n,children:r.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"20px",flexDirection:"column",gap:"12px"},children:[r.jsx(s.Spinner,{size:40,borderWidth:3,color:o.colors.primary}),r.jsx("p",{style:{color:o.colors.textMuted,fontSize:"14px"},children:"Finishing wallet setup..."})]})}):u&&l?r.jsx("div",{className:n,children:r.jsxs(s.Button,{variant:"primary",onClick:A,theme:o,children:["Logout (",l.slice(0,6),"...",l.slice(-4),")"]})}):a?r.jsx("div",{className:n,children:r.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"20px",flexDirection:"column",gap:"12px"},children:[r.jsx(s.Spinner,{size:40,borderWidth:3,color:o.colors.primary}),r.jsx("p",{style:{color:o.colors.textMuted,fontSize:"14px"},children:"Opening login..."})]})}):r.jsx("div",{className:n,children:r.jsx(s.Button,{variant:"primary",onClick:L,theme:o,children:c})}):r.jsx("div",{className:n,children:r.jsx(s.Button,{variant:"primary",disabled:!0,theme:o,children:"Loading..."})}):r.jsx("div",{className:n,children:r.jsx(s.Button,{variant:"primary",disabled:!0,theme:o,children:c})})};class K extends d.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}render(){return this.state.hasError?this.props.fallback:this.props.children}}const M=e=>{const{theme:t="light",className:i="",buttonText:n="Login with Dynamic",onAuthError:c}=e,a=s.createTheme(t);return r.jsx(K,{fallback:r.jsx("div",{className:i,children:r.jsx(s.Button,{variant:"primary",onClick:()=>{c&&c('DynamicLogin must be used within SpiceFlowProvider provider="dynamic" and a mounted DynamicContextProvider.')},theme:a,children:n})}),children:r.jsx(T,{...e})})};exports.DynamicLogin=M,exports.getDynamicEmbeddedWallet=j,exports.getDynamicExternalWallet=B,exports.getProviderEthereumProvider=F,exports.getProviderWalletClient=b,exports.normalizeAuthorization=I;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{jsx as i,jsxs as p}from"react/jsx-runtime";import z,{useState as E,useEffect as g}from"react";import{B as u,c as C,S as D}from"./Button-DjsYc4v4.js";import{useDynamicContext as T}from"@dynamic-labs/sdk-react-core";import{createWalletClient as j,custom as B}from"viem";import{b as q}from"./index-
|
|
2
|
+
import{jsx as i,jsxs as p}from"react/jsx-runtime";import z,{useState as E,useEffect as g}from"react";import{B as u,c as C,S as D}from"./Button-DjsYc4v4.js";import{useDynamicContext as T}from"@dynamic-labs/sdk-react-core";import{createWalletClient as j,custom as B}from"viem";import{b as q}from"./index-BMp4DXc2.js";const v=e=>{if(!e)return!1;const t=e.connector;if(!t)return!1;if(t.isEmbeddedWallet===!0)return!0;const n=(t.key||t.connectorKey||"").toLowerCase();if(n.includes("embedded")||n.includes("turnkey"))return!0;const r=(t.name||e.walletName||"").toLowerCase();return!!(r.includes("embedded")||r.includes("turnkey"))},N=e=>(e?.connectedWallets||[]).find(t=>v(t))||(v(e?.primaryWallet)?e.primaryWallet:null),K=e=>(e?.connectedWallets||[]).find(t=>t?.address&&t?.connector&&!v(t))||null,S=async(e,t)=>{if(!e?.address)throw new Error("Wallet not available");if(typeof e.getWalletClient=="function"){const n=t===void 0?[void 0]:[String(t),t,void 0];let r=null;for(const l of n)try{const a=await e.getWalletClient(l);if(a)return a}catch(a){r=a}if(r)throw r}if(typeof e.getEthereumProvider=="function"){const n=await e.getEthereumProvider(),r=t?q(t)?.viemChain:void 0;return j({account:e.address,chain:r,transport:B(n)})}throw new Error("Wallet client not available")},M=async(e,t)=>{if(!e?.address)throw new Error("Wallet not available");if(typeof e.getEthereumProvider=="function")return e.getEthereumProvider();const n=await S(e,t);return{request:r=>n.request(r)}},O=(e,t)=>({address:e?.address||t.address,chainId:Number(e?.chainId??t.chainId),contractAddress:e?.contractAddress||e?.delegate||t.contractAddress,nonce:BigInt(e?.nonce??t.nonce),r:e?.r,s:e?.s,yParity:(()=>{if(typeof e?.yParity=="number")return e.yParity;const n=Number(e?.v??27);return Number.isFinite(n)?n>=27?n-27:n:0})()}),$=({onAuthSuccess:e,onAuthError:t,theme:n="light",className:r="",buttonText:l="Login with Dynamic",autoTrigger:a=!1})=>{const o=C(n),[m,P]=E(!1),[w,k]=E(!1),L=T(),{user:A,primaryWallet:b,connectedWallets:F,handleLogOut:I,setShowAuthFlow:h,sdkHasLoaded:f,showAuthFlow:x}=L,s=(N({connectedWallets:F,primaryWallet:b})||b)?.address,W=!!A,c=W&&!!s;return g(()=>{P(!0)},[]),g(()=>{c&&s&&e&&e(s)},[c,s,e]),g(()=>{a&&f&&m&&!c&&!x&&!w&&(k(!0),h(!0))},[a,f,m,c,x,w,h]),m?f?W&&!s?i("div",{className:r,children:p("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"20px",flexDirection:"column",gap:"12px"},children:[i(D,{size:40,borderWidth:3,color:o.colors.primary}),i("p",{style:{color:o.colors.textMuted,fontSize:"14px"},children:"Finishing wallet setup..."})]})}):c&&s?i("div",{className:r,children:p(u,{variant:"primary",onClick:async()=>{try{await I()}catch(y){const d=`Dynamic logout failed: ${String(y)}`;t?t(d):console.error(d)}},theme:o,children:["Logout (",s.slice(0,6),"...",s.slice(-4),")"]})}):a?i("div",{className:r,children:p("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"20px",flexDirection:"column",gap:"12px"},children:[i(D,{size:40,borderWidth:3,color:o.colors.primary}),i("p",{style:{color:o.colors.textMuted,fontSize:"14px"},children:"Opening login..."})]})}):i("div",{className:r,children:i(u,{variant:"primary",onClick:()=>{try{h(!0)}catch(y){const d=`Dynamic login failed: ${String(y)}`;t?t(d):console.error(d)}},theme:o,children:l})}):i("div",{className:r,children:i(u,{variant:"primary",disabled:!0,theme:o,children:"Loading..."})}):i("div",{className:r,children:i(u,{variant:"primary",disabled:!0,theme:o,children:l})})};class H extends z.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}render(){return this.state.hasError?this.props.fallback:this.props.children}}const G=e=>{const{theme:t="light",className:n="",buttonText:r="Login with Dynamic",onAuthError:l}=e,a=C(t);return i(H,{fallback:i("div",{className:n,children:i(u,{variant:"primary",onClick:()=>{l&&l('DynamicLogin must be used within SpiceFlowProvider provider="dynamic" and a mounted DynamicContextProvider.')},theme:a,children:r})}),children:i($,{...e})})};export{G as D,M as a,K as b,S as c,N as g,O as n};
|
package/dist/auth-dynamic.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";const e=require("./auth-dynamic-
|
|
2
|
+
"use strict";const e=require("./auth-dynamic-BcyZRUD-.js");require("react/jsx-runtime"),require("react"),require("./Button-B_UpyUH-.js"),require("@dynamic-labs/sdk-react-core"),require("viem"),require("./index-CUsptR1f.js"),require("viem/actions"),require("@spicenet-io/spiceflow-core"),exports.DynamicLogin=e.DynamicLogin;
|
package/dist/auth-dynamic.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{D as e}from"./auth-dynamic-
|
|
2
|
+
import{D as e}from"./auth-dynamic-CVMjONcV.js";import"react/jsx-runtime";import"react";import"./Button-DjsYc4v4.js";import"@dynamic-labs/sdk-react-core";import"viem";import"./index-BMp4DXc2.js";import"viem/actions";import"@spicenet-io/spiceflow-core";export{e as DynamicLogin};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";var A=Object.create;var C=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty;var _=(e,a,l,u)=>{if(a&&typeof a=="object"||typeof a=="function")for(let t of E(a))!z.call(e,t)&&t!==l&&C(e,t,{get:()=>a[t],enumerable:!(u=P(a,t))||u.enumerable});return e};var h=(e,a,l)=>(l=e!=null?A(R(e)):{},_(a||!e||!e.__esModule?C(l,"default",{value:e,enumerable:!0}):l,e));const r=require("react"),y=require("@spicenet-io/spiceflow-core"),c=require("react/jsx-runtime"),D=require("./useSpiceBrand-
|
|
2
|
+
"use strict";var A=Object.create;var C=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty;var _=(e,a,l,u)=>{if(a&&typeof a=="object"||typeof a=="function")for(let t of E(a))!z.call(e,t)&&t!==l&&C(e,t,{get:()=>a[t],enumerable:!(u=P(a,t))||u.enumerable});return e};var h=(e,a,l)=>(l=e!=null?A(R(e)):{},_(a||!e||!e.__esModule?C(l,"default",{value:e,enumerable:!0}):l,e));const r=require("react"),y=require("@spicenet-io/spiceflow-core"),c=require("react/jsx-runtime"),D=require("./useSpiceBrand-CdoJxMvK.js"),v=require("./Button-B_UpyUH-.js");require("./index-CUsptR1f.js"),require("viem"),require("viem/actions");const S="spiceflow:starknet-wallet-connected",T=y.getChainMeta(y.STARKNET_MAINNET_CHAIN_ID)?.rpcUrl??"https://starknet-mainnet.public.blastapi.io",W=(e=T)=>{const[a,l]=r.useState(null),[u,t]=r.useState(!1),[d,p]=r.useState(null),[f,w]=r.useState(null),[g,I]=r.useState(null),x=r.useRef(null);r.useEffect(()=>{import("starknet").then(({RpcProvider:n})=>{I(new n({nodeUrl:e}))}).catch(()=>{})},[e]);const q=r.useCallback(n=>n?`${n.slice(0,6)}...${n.slice(-4)}`:"",[]),k=r.useCallback(async(n,s)=>{const o=await n.enable(s),i=(await o.request({type:"wallet_requestAccounts"}))?.[0];return i?(x.current=o,l(i),w(s.name||s.id),localStorage.setItem(S,s.id),p(o),!0):!1},[g,e]),B=r.useCallback(async()=>{t(!0);try{const{getStarknet:n}=await import("get-starknet-core"),s=n(),o=await s.getAvailableWallets();if(o.length===0)return window.open("https://www.argent.xyz/argent-x/","_blank"),t(!1),!1;const i=o.find(m=>m.id==="argentX")||o.find(m=>m.id==="braavos")||o[0];return await k(s,i)}catch(n){const s=n instanceof Error?n.message:String(n);return console.error("[SpiceFlow:StarkNet] Connection failed:",s),!1}finally{t(!1)}},[k]),j=r.useCallback(()=>{l(null),p(null),w(null),x.current=null,localStorage.removeItem(S)},[]);return r.useEffect(()=>{const n=localStorage.getItem(S);n&&(async()=>{try{const{getStarknet:s}=await import("get-starknet-core"),o=s(),i=(await o.getAuthorizedWallets()).find(m=>m.id===n);if(!i){localStorage.removeItem(S);return}await k(o,i)}catch{localStorage.removeItem(S)}})()},[k]),{address:a,isConnected:!!a,isConnecting:u,account:d,provider:g,walletName:f,connect:B,disconnect:j,formatAddress:q}},b=r.createContext(null),U=({children:e,rpcUrl:a})=>{const l=W(a);return c.jsx(b.Provider,{value:l,children:e})},N=()=>{const e=r.useContext(b);if(!e)throw new Error("useStarknetWalletContext must be used within a <StarknetWalletProvider>. Wrap your StarkNet section with <StarknetWalletProvider> from '@spicenet-io/spiceflow-ui/auth/starknet'.");return e},$=({className:e,styles:a,onConnect:l,onDisconnect:u})=>{const t=N(),{dk:d,dark:p,theme:f}=D.useSpiceBrand(a),w=async()=>{await t.connect()&&l?.()},g=()=>{t.disconnect(),u?.()};return t.isConnected&&t.address?c.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},className:e,children:[c.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px",padding:"6px 12px",borderRadius:"8px",background:d.cardBg,border:`1px solid ${d.cardBorder}`,fontSize:"14px",minWidth:0},children:[c.jsx("span",{style:{fontWeight:500,color:d.textPrimary},children:t.formatAddress(t.address)}),t.walletName&&c.jsxs("span",{style:{color:d.textSecondary,fontSize:"12px",maxWidth:"120px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["(",t.walletName,")"]})]}),c.jsx(v.Button,{variant:"ghost",size:"sm",onClick:g,title:"Disconnect StarkNet wallet",dark:p,theme:f,children:"\u2715"})]}):c.jsx(v.Button,{variant:"primary",onClick:w,disabled:t.isConnecting,loading:t.isConnecting,className:e,dark:p,theme:f,children:t.isConnecting?"Connecting...":"Connect StarkNet Wallet"})};exports.StarknetWalletButton=$,exports.StarknetWalletProvider=U,exports.useStarknetWallet=W,exports.useStarknetWalletContext=N;
|
package/dist/auth-starknet.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{useState as u,useRef as z,useEffect as C,useCallback as h,createContext as E,useContext as R}from"react";import{getChainMeta as _,STARKNET_MAINNET_CHAIN_ID as D}from"@spicenet-io/spiceflow-core";import{jsx as S,jsxs as x}from"react/jsx-runtime";import{u as T}from"./useSpiceBrand-
|
|
2
|
+
import{useState as u,useRef as z,useEffect as C,useCallback as h,createContext as E,useContext as R}from"react";import{getChainMeta as _,STARKNET_MAINNET_CHAIN_ID as D}from"@spicenet-io/spiceflow-core";import{jsx as S,jsxs as x}from"react/jsx-runtime";import{u as T}from"./useSpiceBrand-BIKnRNEV.js";import{B as v}from"./Button-DjsYc4v4.js";import"./index-BMp4DXc2.js";import"viem";import"viem/actions";const p="spiceflow:starknet-wallet-connected",U=_(D)?.rpcUrl??"https://starknet-mainnet.public.blastapi.io",N=(n=U)=>{const[l,i]=u(null),[k,t]=u(!1),[s,c]=u(null),[m,f]=u(null),[g,I]=u(null),y=z(null);C(()=>{import("starknet").then(({RpcProvider:e})=>{I(new e({nodeUrl:n}))}).catch(()=>{})},[n]);const A=h(e=>e?`${e.slice(0,6)}...${e.slice(-4)}`:"",[]),w=h(async(e,r)=>{const a=await e.enable(r),o=(await a.request({type:"wallet_requestAccounts"}))?.[0];return o?(y.current=a,i(o),f(r.name||r.id),localStorage.setItem(p,r.id),c(a),!0):!1},[g,n]),B=h(async()=>{t(!0);try{const{getStarknet:e}=await import("get-starknet-core"),r=e(),a=await r.getAvailableWallets();if(a.length===0)return window.open("https://www.argent.xyz/argent-x/","_blank"),t(!1),!1;const o=a.find(d=>d.id==="argentX")||a.find(d=>d.id==="braavos")||a[0];return await w(r,o)}catch(e){const r=e instanceof Error?e.message:String(e);return console.error("[SpiceFlow:StarkNet] Connection failed:",r),!1}finally{t(!1)}},[w]),P=h(()=>{i(null),c(null),f(null),y.current=null,localStorage.removeItem(p)},[]);return C(()=>{const e=localStorage.getItem(p);e&&(async()=>{try{const{getStarknet:r}=await import("get-starknet-core"),a=r(),o=(await a.getAuthorizedWallets()).find(d=>d.id===e);if(!o){localStorage.removeItem(p);return}await w(a,o)}catch{localStorage.removeItem(p)}})()},[w]),{address:l,isConnected:!!l,isConnecting:k,account:s,provider:g,walletName:m,connect:B,disconnect:P,formatAddress:A}},W=E(null),$=({children:n,rpcUrl:l})=>{const i=N(l);return S(W.Provider,{value:i,children:n})},b=()=>{const n=R(W);if(!n)throw new Error("useStarknetWalletContext must be used within a <StarknetWalletProvider>. Wrap your StarkNet section with <StarknetWalletProvider> from '@spicenet-io/spiceflow-ui/auth/starknet'.");return n},j=({className:n,styles:l,onConnect:i,onDisconnect:k})=>{const t=b(),{dk:s,dark:c,theme:m}=T(l),f=async()=>{await t.connect()&&i?.()},g=()=>{t.disconnect(),k?.()};return t.isConnected&&t.address?x("div",{style:{display:"flex",alignItems:"center",gap:"8px"},className:n,children:[x("div",{style:{display:"flex",alignItems:"center",gap:"6px",padding:"6px 12px",borderRadius:"8px",background:s.cardBg,border:`1px solid ${s.cardBorder}`,fontSize:"14px",minWidth:0},children:[S("span",{style:{fontWeight:500,color:s.textPrimary},children:t.formatAddress(t.address)}),t.walletName&&x("span",{style:{color:s.textSecondary,fontSize:"12px",maxWidth:"120px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["(",t.walletName,")"]})]}),S(v,{variant:"ghost",size:"sm",onClick:g,title:"Disconnect StarkNet wallet",dark:c,theme:m,children:"\u2715"})]}):S(v,{variant:"primary",onClick:f,disabled:t.isConnecting,loading:t.isConnecting,className:n,dark:c,theme:m,children:t.isConnecting?"Connecting...":"Connect StarkNet Wallet"})};export{j as StarknetWalletButton,$ as StarknetWalletProvider,N as useStarknetWallet,b as useStarknetWalletContext};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{defineChain as y,createPublicClient as f,http as b,isAddress as h,getAddress as C}from"viem";import{readContract as v}from"viem/actions";import{getChainMeta as p,getTokensForChain as w,getDelegateContract as g,ZERO_ADDRESS as E,isNativeToken as d}from"@spicenet-io/spiceflow-core";const c=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"}],I="0xcA11bde05977b3631167028862bE2a173976CA11";function k(e){return y({id:e.id,name:e.name,nativeCurrency:e.nativeCurrency,rpcUrls:{default:{http:[e.rpcUrl]}},blockExplorers:{default:{name:e.displayName,url:e.blockExplorer}},testnet:e.network==="testnet",contracts:{multicall3:{address:I}}})}const N=[1,8453,42161,4114,11155111,421614,84532,5115,123420001114,688688,688689],l=Object.fromEntries(N.map(e=>p(e)).filter(e=>e!=null).map(e=>[e.id,{...e,viemChain:k(e),supportedTokens:w(e.id)}])),x=l,i=e=>l[e],U=e=>{const t=p(e);return t?.displayName||t?.name||`Chain ${e}`},_=e=>{const t=g(e);if(!t)throw new Error(`Unsupported chain ID: ${e}`);return t},A=(e,t,n)=>{const s=i(e);return s?.blockExplorer?`${s.blockExplorer}/tx/${t}`:"#"},m=e=>{const t=i(e);if(!t)throw new Error(`Unsupported chain ID: ${e}`);return f({chain:t.viemChain,transport:b(t.rpcUrl)})},M=()=>{const e={};return Object.values(l).forEach(t=>{e[t.id]={name:t.name,moralisName:t.moralisId||"",chain:t.viemChain,rpcUrl:t.rpcUrl}}),e},$=(e,t=[])=>{const n=i(e);if(!n)return[];const s=[];if(![11155111,421614,84532,688689].includes(e)){const a=t.find(r=>r.chainId===e&&r.isNative);a?s.push(a):s.push({address:E,name:n.nativeCurrency.name,symbol:n.nativeCurrency.symbol,decimals:n.nativeCurrency.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:void 0,isNative:!0,chainId:e})}if(!n.supportedTokens)return s;const o=s.some(a=>a.isNative);return n.supportedTokens.forEach(a=>{if(o&&d(a.address))return;const r=t.find(u=>u.chainId===e&&u.address.toLowerCase()===a.address.toLowerCase());r?s.push(r):s.push({address:a.address,name:a.name,symbol:a.symbol,decimals:a.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:a.logo,isNative:!1,chainId:e})}),s},
|
|
2
|
+
import{defineChain as y,createPublicClient as f,http as b,isAddress as h,getAddress as C}from"viem";import{readContract as v}from"viem/actions";import{getChainMeta as p,getTokensForChain as w,getDelegateContract as g,ZERO_ADDRESS as E,isNativeToken as d}from"@spicenet-io/spiceflow-core";const c=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"}],I="0xcA11bde05977b3631167028862bE2a173976CA11";function k(e){return y({id:e.id,name:e.name,nativeCurrency:e.nativeCurrency,rpcUrls:{default:{http:[e.rpcUrl]}},blockExplorers:{default:{name:e.displayName,url:e.blockExplorer}},testnet:e.network==="testnet",contracts:{multicall3:{address:I}}})}const N=[1,8453,42161,4114,11155111,421614,84532,5115,123420001114,688688,688689],l=Object.fromEntries(N.map(e=>p(e)).filter(e=>e!=null).map(e=>[e.id,{...e,viemChain:k(e),supportedTokens:w(e.id)}])),x=l,i=e=>l[e],U=e=>{const t=p(e);return t?.displayName||t?.name||`Chain ${e}`},_=e=>{const t=g(e);if(!t)throw new Error(`Unsupported chain ID: ${e}`);return t},A=(e,t,n)=>{const s=i(e);return s?.blockExplorer?`${s.blockExplorer}/tx/${t}`:"#"},m=e=>{const t=i(e);if(!t)throw new Error(`Unsupported chain ID: ${e}`);return f({chain:t.viemChain,transport:b(t.rpcUrl)})},M=()=>{const e={};return Object.values(l).forEach(t=>{e[t.id]={name:t.name,moralisName:t.moralisId||"",chain:t.viemChain,rpcUrl:t.rpcUrl}}),e},$=(e,t=[])=>{const n=i(e);if(!n)return[];const s=[];if(![11155111,421614,84532,688689].includes(e)){const a=t.find(r=>r.chainId===e&&r.isNative);a?s.push(a):s.push({address:E,name:n.nativeCurrency.name,symbol:n.nativeCurrency.symbol,decimals:n.nativeCurrency.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:void 0,isNative:!0,chainId:e})}if(!n.supportedTokens)return s;const o=s.some(a=>a.isNative);return n.supportedTokens.forEach(a=>{if(o&&d(a.address))return;const r=t.find(u=>u.chainId===e&&u.address.toLowerCase()===a.address.toLowerCase());r?s.push(r):s.push({address:a.address,name:a.name,symbol:a.symbol,decimals:a.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:a.logo,isNative:!1,chainId:e})}),s},T=async(e,t)=>{const n=i(e);if(!n)throw new Error(`Unsupported chain ID: ${e}`);const s=t.toLowerCase();if(d(s)){if(!n.nativeCurrency?.decimals)throw new Error(`Native currency decimals not configured for chain ${e}`);return n.nativeCurrency.decimals}if(n.supportedTokens){const o=n.supportedTokens.find(a=>a.address.toLowerCase()===s);if(o)return o.decimals}try{if(!h(t,{strict:!1}))throw new Error(`Invalid token address: ${t}`);const o=C(t),a=m(e),r=await v(a,{address:o,abi:c,functionName:"decimals"});return Number(r)}catch{throw new Error(`Could not determine decimals for token ${t} on chain ${e}`)}};export{x as C,c as T,m as a,i as b,A as c,_ as d,M as e,$ as f,U as g,T as h};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";const l=require("viem"),y=require("viem/actions"),i=require("@spicenet-io/spiceflow-core"),d=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"}],f="0xcA11bde05977b3631167028862bE2a173976CA11";function b(e){return l.defineChain({id:e.id,name:e.name,nativeCurrency:e.nativeCurrency,rpcUrls:{default:{http:[e.rpcUrl]}},blockExplorers:{default:{name:e.displayName,url:e.blockExplorer}},testnet:e.network==="testnet",contracts:{multicall3:{address:f}}})}const C=[1,8453,42161,4114,11155111,421614,84532,5115,123420001114,688688,688689],p=Object.fromEntries(C.map(e=>i.getChainMeta(e)).filter(e=>e!=null).map(e=>[e.id,{...e,viemChain:b(e),supportedTokens:i.getTokensForChain(e.id)}])),h=p,u=e=>p[e],v=e=>{const t=i.getChainMeta(e);return t?.displayName||t?.name||`Chain ${e}`},g=e=>{const t=i.getDelegateContract(e);if(!t)throw new Error(`Unsupported chain ID: ${e}`);return t},w=(e,t,n)=>{const s=u(e);return s?.blockExplorer?`${s.blockExplorer}/tx/${t}`:"#"},m=e=>{const t=u(e);if(!t)throw new Error(`Unsupported chain ID: ${e}`);return l.createPublicClient({chain:t.viemChain,transport:l.http(t.rpcUrl)})},N=()=>{const e={};return Object.values(p).forEach(t=>{e[t.id]={name:t.name,moralisName:t.moralisId||"",chain:t.viemChain,rpcUrl:t.rpcUrl}}),e},I=(e,t=[])=>{const n=u(e);if(!n)return[];const s=[];if(![11155111,421614,84532,688689].includes(e)){const a=t.find(r=>r.chainId===e&&r.isNative);a?s.push(a):s.push({address:i.ZERO_ADDRESS,name:n.nativeCurrency.name,symbol:n.nativeCurrency.symbol,decimals:n.nativeCurrency.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:void 0,isNative:!0,chainId:e})}if(!n.supportedTokens)return s;const o=s.some(a=>a.isNative);return n.supportedTokens.forEach(a=>{if(o&&i.isNativeToken(a.address))return;const r=t.find(c=>c.chainId===e&&c.address.toLowerCase()===a.address.toLowerCase());r?s.push(r):s.push({address:a.address,name:a.name,symbol:a.symbol,decimals:a.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:a.logo,isNative:!1,chainId:e})}),s},k=async(e,t)=>{const n=u(e);if(!n)throw new Error(`Unsupported chain ID: ${e}`);const s=t.toLowerCase();if(i.isNativeToken(s)){if(!n.nativeCurrency?.decimals)throw new Error(`Native currency decimals not configured for chain ${e}`);return n.nativeCurrency.decimals}if(n.supportedTokens){const o=n.supportedTokens.find(a=>a.address.toLowerCase()===s);if(o)return o.decimals}try{if(!l.isAddress(t,{strict:!1}))throw new Error(`Invalid token address: ${t}`);const o=l.getAddress(t),a=m(e),r=await y.readContract(a,{address:o,abi:d,functionName:"decimals"});return Number(r)}catch{throw new Error(`Could not determine decimals for token ${t} on chain ${e}`)}};exports.CHAIN_CONFIGS=h,exports.getAllAssetsForChain=I,exports.getChainConfig=u,exports.getChainName=v,exports.getChainsForAssets=N,exports.getClientForChain=m,exports.getDelegateContractAddress=g,exports.getExplorerUrl=w,exports.getTokenDecimals=k
|
|
2
|
+
"use strict";const l=require("viem"),y=require("viem/actions"),i=require("@spicenet-io/spiceflow-core"),d=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"}],f="0xcA11bde05977b3631167028862bE2a173976CA11";function b(e){return l.defineChain({id:e.id,name:e.name,nativeCurrency:e.nativeCurrency,rpcUrls:{default:{http:[e.rpcUrl]}},blockExplorers:{default:{name:e.displayName,url:e.blockExplorer}},testnet:e.network==="testnet",contracts:{multicall3:{address:f}}})}const C=[1,8453,42161,4114,11155111,421614,84532,5115,123420001114,688688,688689],p=Object.fromEntries(C.map(e=>i.getChainMeta(e)).filter(e=>e!=null).map(e=>[e.id,{...e,viemChain:b(e),supportedTokens:i.getTokensForChain(e.id)}])),h=p,u=e=>p[e],v=e=>{const t=i.getChainMeta(e);return t?.displayName||t?.name||`Chain ${e}`},g=e=>{const t=i.getDelegateContract(e);if(!t)throw new Error(`Unsupported chain ID: ${e}`);return t},w=(e,t,n)=>{const s=u(e);return s?.blockExplorer?`${s.blockExplorer}/tx/${t}`:"#"},m=e=>{const t=u(e);if(!t)throw new Error(`Unsupported chain ID: ${e}`);return l.createPublicClient({chain:t.viemChain,transport:l.http(t.rpcUrl)})},N=()=>{const e={};return Object.values(p).forEach(t=>{e[t.id]={name:t.name,moralisName:t.moralisId||"",chain:t.viemChain,rpcUrl:t.rpcUrl}}),e},I=(e,t=[])=>{const n=u(e);if(!n)return[];const s=[];if(![11155111,421614,84532,688689].includes(e)){const a=t.find(r=>r.chainId===e&&r.isNative);a?s.push(a):s.push({address:i.ZERO_ADDRESS,name:n.nativeCurrency.name,symbol:n.nativeCurrency.symbol,decimals:n.nativeCurrency.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:void 0,isNative:!0,chainId:e})}if(!n.supportedTokens)return s;const o=s.some(a=>a.isNative);return n.supportedTokens.forEach(a=>{if(o&&i.isNativeToken(a.address))return;const r=t.find(c=>c.chainId===e&&c.address.toLowerCase()===a.address.toLowerCase());r?s.push(r):s.push({address:a.address,name:a.name,symbol:a.symbol,decimals:a.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:a.logo,isNative:!1,chainId:e})}),s},k=async(e,t)=>{const n=u(e);if(!n)throw new Error(`Unsupported chain ID: ${e}`);const s=t.toLowerCase();if(i.isNativeToken(s)){if(!n.nativeCurrency?.decimals)throw new Error(`Native currency decimals not configured for chain ${e}`);return n.nativeCurrency.decimals}if(n.supportedTokens){const o=n.supportedTokens.find(a=>a.address.toLowerCase()===s);if(o)return o.decimals}try{if(!l.isAddress(t,{strict:!1}))throw new Error(`Invalid token address: ${t}`);const o=l.getAddress(t),a=m(e),r=await y.readContract(a,{address:o,abi:d,functionName:"decimals"});return Number(r)}catch{throw new Error(`Could not determine decimals for token ${t} on chain ${e}`)}};exports.CHAIN_CONFIGS=h,exports.T=d,exports.getAllAssetsForChain=I,exports.getChainConfig=u,exports.getChainName=v,exports.getChainsForAssets=N,exports.getClientForChain=m,exports.getDelegateContractAddress=g,exports.getExplorerUrl=w,exports.getTokenDecimals=k;
|