@chipi-stack/chipi-react 0.1.0 → 1.0.0

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/context/ChipiProvider.tsx","../src/hooks/useCreateWallet.ts","../src/hooks/useWallets.ts","../src/hooks/useTransfer.ts","../src/hooks/useApprove.ts","../src/hooks/useExecuteTransaction.ts","../src/hooks/useSkus.ts","../src/hooks/useSkuTransactions.ts","../src/hooks/usePurchaseSku.ts","../src/hooks/useStakeVesuUsdc.ts","../src/hooks/useWithdrawVesuUsdc.ts","../src/hooks/useCallAnyContract.ts","../src/components/WalletCreator.tsx","../src/components/WalletBalance.tsx","../src/components/TransactionForm.tsx","../src/components/SkuList.tsx","../src/components/SkuPurchaseForm.tsx"],"names":["useMutation","useQuery","React","jsx","jsxs","useState","formatCurrency"],"mappings":"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","file":"index.mjs","sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport { ChipiSDK } from '@chipi-stack/backend';\nimport type { ChipiSDKConfig } from '@chipi-stack/types';\n\ninterface ChipiContextValue {\n chipiSDK: ChipiSDK;\n config: ChipiSDKConfig;\n}\n\nconst ChipiContext = createContext<ChipiContextValue | null>(null);\n\ninterface ChipiProviderProps {\n children: ReactNode;\n config: ChipiSDKConfig;\n}\n\n/**\n * Provider component that wraps your app and provides Chipi SDK context\n */\nexport function ChipiProvider({ children, config }: ChipiProviderProps) {\n const chipiSDK = React.useMemo(() => new ChipiSDK(config), [config]);\n\n const value = React.useMemo(\n () => ({\n chipiSDK,\n config,\n }),\n [chipiSDK, config]\n );\n\n return (\n <ChipiContext.Provider value={value}>\n {children}\n </ChipiContext.Provider>\n );\n}\n\n/**\n * Hook to access Chipi SDK context\n */\nexport function useChipiContext(): ChipiContextValue {\n const context = useContext(ChipiContext);\n \n if (!context) {\n throw new Error('useChipiContext must be used within a ChipiProvider');\n }\n \n return context;\n}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { CreateWalletParams, CreateWalletResponse } from '@chipi-stack/types';\n\ntype CreateWalletInput = Omit<CreateWalletParams, 'apiPublicKey' | 'nodeUrl'>;\n\n/**\n * Hook for creating a new wallet\n */\nexport function useCreateWallet(): {\n createWallet: (params: CreateWalletInput) => void;\n createWalletAsync: (params: CreateWalletInput) => Promise<CreateWalletResponse>;\n data: CreateWalletResponse | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<CreateWalletResponse, Error, CreateWalletInput> = useMutation({\n mutationFn: (params: CreateWalletInput) => chipiSDK.createWallet(params),\n });\n\n return {\n createWallet: mutation.mutate,\n createWalletAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useQuery, type UseQueryResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { PaginatedResponse, WalletData, PaginationQuery } from '@chipi-stack/types';\n\ninterface UseWalletsParams extends PaginationQuery {\n apiKeyId: string;\n orgId: string;\n enabled?: boolean;\n}\n\n/**\n * Hook for fetching wallets\n */\nexport function useWallets(params: UseWalletsParams): UseQueryResult<PaginatedResponse<WalletData>, Error> {\n const { chipiSDK } = useChipiContext();\n const { enabled = true, ...queryParams } = params;\n\n return useQuery({\n queryKey: ['wallets', queryParams],\n queryFn: () => chipiSDK.wallets.getWallets(queryParams),\n enabled: enabled && !!queryParams.apiKeyId && !!queryParams.orgId,\n });\n}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { TransferParams } from '@chipi-stack/types';\n\ntype TransferInput = Omit<TransferParams, 'apiPublicKey'>;\n\n/**\n * Hook for transferring tokens\n */\nexport function useTransfer(): {\n transfer: (params: TransferInput) => void;\n transferAsync: (params: TransferInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, TransferInput> = useMutation({\n mutationFn: (params: TransferInput) => chipiSDK.transfer(params),\n });\n\n return {\n transfer: mutation.mutate,\n transferAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { ApproveParams } from '@chipi-stack/types';\n\ntype ApproveInput = Omit<ApproveParams, 'apiPublicKey'>;\n\n/**\n * Hook for approving token spending\n */\nexport function useApprove(): {\n approve: (params: ApproveInput) => void;\n approveAsync: (params: ApproveInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, ApproveInput> = useMutation({\n mutationFn: (params: ApproveInput) => chipiSDK.approve(params),\n });\n\n return {\n approve: mutation.mutate,\n approveAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { ExecuteTransactionParams } from '@chipi-stack/types';\n\ntype ExecuteTransactionInput = Omit<ExecuteTransactionParams, 'apiPublicKey'>;\n\n/**\n * Hook for executing gasless transactions\n */\nexport function useExecuteTransaction(): {\n executeTransaction: (params: ExecuteTransactionInput) => void;\n executeTransactionAsync: (params: ExecuteTransactionInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, ExecuteTransactionInput> = useMutation({\n mutationFn: (params: ExecuteTransactionInput) => chipiSDK.executeTransaction(params),\n });\n\n return {\n executeTransaction: mutation.mutate,\n executeTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useQuery, type UseQueryResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { FindSkusParams, Sku } from '@chipi-stack/types';\n\ninterface UseSkusParams extends FindSkusParams {\n enabled?: boolean;\n}\n\n/**\n * Hook for fetching available SKUs\n */\nexport function useSkus(params: UseSkusParams = {}): UseQueryResult<Sku[], Error> {\n const { chipiSDK } = useChipiContext();\n const { enabled = true, ...queryParams } = params;\n\n return useQuery({\n queryKey: ['skus', queryParams],\n queryFn: () => chipiSDK.skus.findSkus(queryParams),\n enabled,\n });\n}\n","import { useQuery, useMutation, type UseQueryResult, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { SkuTransaction, CreateSkuTransactionParams } from '@chipi-stack/types';\n\ninterface UseSkuTransactionsParams {\n walletAddress: string;\n page?: number;\n limit?: number;\n enabled?: boolean;\n}\n\ntype CreateSkuTransactionInput = Omit<CreateSkuTransactionParams, 'apiKey'>;\n\n/**\n * Hook for fetching SKU transactions\n */\nexport function useSkuTransactions(params: UseSkuTransactionsParams): UseQueryResult<SkuTransaction[], Error> {\n const { chipiSDK } = useChipiContext();\n const { enabled = true, walletAddress, ...queryParams } = params;\n\n return useQuery({\n queryKey: ['sku-transactions', { walletAddress, ...queryParams }],\n queryFn: () => chipiSDK.skus.getSkuTransactionsByWallet(walletAddress, queryParams),\n enabled: enabled && !!walletAddress,\n });\n}\n\n/**\n * Hook for creating SKU transactions\n */\nexport function useCreateSkuTransaction(): {\n createSkuTransaction: (params: CreateSkuTransactionInput) => void;\n createSkuTransactionAsync: (params: CreateSkuTransactionInput) => Promise<SkuTransaction>;\n data: SkuTransaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<SkuTransaction, Error, CreateSkuTransactionInput> = useMutation({\n mutationFn: (params: CreateSkuTransactionInput) => chipiSDK.skus.createSkuTransaction(params),\n });\n\n return {\n createSkuTransaction: mutation.mutate,\n createSkuTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { Sku, SkuTransaction, Chain, ChainToken } from '@chipi-stack/types';\n\ninterface PurchaseSkuParams {\n skuId: string;\n walletAddress: string;\n chain: Chain;\n chainToken: ChainToken;\n mxnAmount: number;\n reference: string;\n transactionHash: string;\n}\n\ninterface PurchaseSkuResult {\n sku: Sku;\n transaction: SkuTransaction;\n}\n\n/**\n * Hook for purchasing a SKU (convenience hook that combines SKU lookup and transaction creation)\n */\nexport function usePurchaseSku(): {\n purchaseSku: (params: PurchaseSkuParams) => void;\n purchaseSkuAsync: (params: PurchaseSkuParams) => Promise<PurchaseSkuResult>;\n data: PurchaseSkuResult | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<PurchaseSkuResult, Error, PurchaseSkuParams> = useMutation({\n mutationFn: (params: PurchaseSkuParams) => chipiSDK.skus.purchaseSku(params),\n });\n\n return {\n purchaseSku: mutation.mutate,\n purchaseSkuAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { StakeVesuUsdcParams } from '@chipi-stack/types';\n\ntype StakeVesuUsdcInput = Omit<StakeVesuUsdcParams, 'apiPublicKey'>;\n\n/**\n * Hook for staking USDC in Vesu protocol\n */\nexport function useStakeVesuUsdc(): {\n stakeVesuUsdc: (params: StakeVesuUsdcInput) => void;\n stakeVesuUsdcAsync: (params: StakeVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, StakeVesuUsdcInput> = useMutation({\n mutationFn: (params: StakeVesuUsdcInput) => chipiSDK.stakeVesuUsdc(params),\n });\n\n return {\n stakeVesuUsdc: mutation.mutate,\n stakeVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { WithdrawVesuUsdcParams } from '@chipi-stack/types';\n\ntype WithdrawVesuUsdcInput = Omit<WithdrawVesuUsdcParams, 'apiPublicKey'>;\n\n/**\n * Hook for withdrawing USDC from Vesu protocol\n */\nexport function useWithdrawVesuUsdc(): {\n withdrawVesuUsdc: (params: WithdrawVesuUsdcInput) => void;\n withdrawVesuUsdcAsync: (params: WithdrawVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, WithdrawVesuUsdcInput> = useMutation({\n mutationFn: (params: WithdrawVesuUsdcInput) => chipiSDK.withdrawVesuUsdc(params),\n });\n\n return {\n withdrawVesuUsdc: mutation.mutate,\n withdrawVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { CallAnyContractParams } from '@chipi-stack/types';\n\ntype CallAnyContractInput = Omit<CallAnyContractParams, 'apiPublicKey'>;\n\n/**\n * Hook for calling any contract method\n */\nexport function useCallAnyContract(): {\n callAnyContract: (params: CallAnyContractInput) => void;\n callAnyContractAsync: (params: CallAnyContractInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, CallAnyContractInput> = useMutation({\n mutationFn: (params: CallAnyContractInput) => chipiSDK.callAnyContract(params),\n });\n\n return {\n callAnyContract: mutation.mutate,\n callAnyContractAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import React, { useState } from 'react';\nimport { useCreateWallet } from '../hooks/useCreateWallet';\nimport type { CreateWalletResponse } from '@chipi-stack/types';\n\ninterface WalletCreatorProps {\n onWalletCreated?: (wallet: CreateWalletResponse) => void;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Component for creating a new wallet\n */\nexport function WalletCreator({ onWalletCreated, className, children }: WalletCreatorProps) {\n const [encryptKey, setEncryptKey] = useState('');\n const [bearerToken, setBearerToken] = useState('');\n\n const { createWallet, isLoading, isError, error, data, isSuccess } = useCreateWallet();\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n if (!encryptKey || !bearerToken) return;\n\n createWallet({\n encryptKey,\n bearerToken,\n });\n };\n\n React.useEffect(() => {\n if (isSuccess && data && onWalletCreated) {\n onWalletCreated(data);\n }\n }, [isSuccess, data, onWalletCreated]);\n\n if (children) {\n return (\n <>\n {children}\n </>\n );\n }\n\n return (\n <div className={className}>\n <h2>Create Wallet</h2>\n \n {isError && error && (\n <div style={{ color: 'red', marginBottom: '1rem' }}>\n Error: {error.message}\n </div>\n )}\n\n {isSuccess && data && (\n <div style={{ color: 'green', marginBottom: '1rem' }}>\n Wallet created successfully! Address: {data.walletPublicKey}\n </div>\n )}\n\n <form onSubmit={handleSubmit}>\n <div style={{ marginBottom: '1rem' }}>\n <label htmlFor=\"encryptKey\">Encrypt Key:</label>\n <input\n id=\"encryptKey\"\n type=\"password\"\n value={encryptKey}\n onChange={(e) => setEncryptKey(e.target.value)}\n required\n style={{ width: '100%', padding: '0.5rem', marginTop: '0.25rem' }}\n />\n </div>\n\n <div style={{ marginBottom: '1rem' }}>\n <label htmlFor=\"bearerToken\">Bearer Token:</label>\n <input\n id=\"bearerToken\"\n type=\"text\"\n value={bearerToken}\n onChange={(e) => setBearerToken(e.target.value)}\n required\n style={{ width: '100%', padding: '0.5rem', marginTop: '0.25rem' }}\n />\n </div>\n\n <button\n type=\"submit\"\n disabled={isLoading || !encryptKey || !bearerToken}\n style={{\n padding: '0.75rem 1.5rem',\n backgroundColor: isLoading ? '#ccc' : '#007bff',\n color: 'white',\n border: 'none',\n borderRadius: '0.25rem',\n cursor: isLoading ? 'not-allowed' : 'pointer',\n }}\n >\n {isLoading ? 'Creating...' : 'Create Wallet'}\n </button>\n </form>\n </div>\n );\n}\n","import React from 'react';\nimport { formatCurrency, formatAddress } from '@chipi-stack/shared';\n\ninterface WalletBalanceProps {\n address: string;\n balance?: number;\n currency?: string;\n isLoading?: boolean;\n className?: string;\n}\n\n/**\n * Component for displaying wallet balance\n */\nexport function WalletBalance({\n address,\n balance,\n currency = 'USD',\n isLoading = false,\n className,\n}: WalletBalanceProps) {\n return (\n <div className={className}>\n <div style={{ marginBottom: '0.5rem' }}>\n <strong>Wallet:</strong> {formatAddress(address)}\n </div>\n \n <div>\n <strong>Balance:</strong>{' '}\n {isLoading ? (\n <span>Loading...</span>\n ) : balance !== undefined ? (\n formatCurrency(balance, currency)\n ) : (\n <span>--</span>\n )}\n </div>\n </div>\n );\n}\n","import React, { useState } from 'react';\nimport { useTransfer } from '../hooks/useTransfer';\nimport type { WalletData } from '@chipi-stack/types';\n\ninterface TransactionFormProps {\n wallet: WalletData;\n encryptKey: string;\n bearerToken: string;\n onTransactionComplete?: (txHash: string) => void;\n className?: string;\n}\n\n/**\n * Component for creating token transfer transactions\n */\nexport function TransactionForm({\n wallet,\n encryptKey,\n bearerToken,\n onTransactionComplete,\n className,\n}: TransactionFormProps) {\n const [contractAddress, setContractAddress] = useState('');\n const [recipient, setRecipient] = useState('');\n const [amount, setAmount] = useState('');\n const [decimals, setDecimals] = useState(18);\n\n const { transfer, isLoading, isError, error, data, isSuccess } = useTransfer();\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n if (!contractAddress || !recipient || !amount) return;\n\n transfer({\n encryptKey,\n wallet,\n contractAddress,\n recipient,\n amount: parseFloat(amount),\n decimals,\n bearerToken,\n });\n };\n\n React.useEffect(() => {\n if (isSuccess && data && onTransactionComplete) {\n onTransactionComplete(data);\n }\n }, [isSuccess, data, onTransactionComplete]);\n\n return (\n <div className={className}>\n <h3>Transfer Tokens</h3>\n \n {isError && error && (\n <div style={{ color: 'red', marginBottom: '1rem' }}>\n Error: {error.message}\n </div>\n )}\n\n {isSuccess && data && (\n <div style={{ color: 'green', marginBottom: '1rem' }}>\n Transaction successful! Hash: {data}\n </div>\n )}\n\n <form onSubmit={handleSubmit}>\n <div style={{ marginBottom: '1rem' }}>\n <label htmlFor=\"contractAddress\">Token Contract:</label>\n <input\n id=\"contractAddress\"\n type=\"text\"\n value={contractAddress}\n onChange={(e) => setContractAddress(e.target.value)}\n placeholder=\"0x...\"\n required\n style={{ width: '100%', padding: '0.5rem', marginTop: '0.25rem' }}\n />\n </div>\n\n <div style={{ marginBottom: '1rem' }}>\n <label htmlFor=\"recipient\">Recipient:</label>\n <input\n id=\"recipient\"\n type=\"text\"\n value={recipient}\n onChange={(e) => setRecipient(e.target.value)}\n placeholder=\"0x...\"\n required\n style={{ width: '100%', padding: '0.5rem', marginTop: '0.25rem' }}\n />\n </div>\n\n <div style={{ marginBottom: '1rem' }}>\n <label htmlFor=\"amount\">Amount:</label>\n <input\n id=\"amount\"\n type=\"number\"\n step=\"any\"\n value={amount}\n onChange={(e) => setAmount(e.target.value)}\n required\n style={{ width: '100%', padding: '0.5rem', marginTop: '0.25rem' }}\n />\n </div>\n\n <div style={{ marginBottom: '1rem' }}>\n <label htmlFor=\"decimals\">Decimals:</label>\n <input\n id=\"decimals\"\n type=\"number\"\n value={decimals}\n onChange={(e) => setDecimals(parseInt(e.target.value))}\n style={{ width: '100%', padding: '0.5rem', marginTop: '0.25rem' }}\n />\n </div>\n\n <button\n type=\"submit\"\n disabled={isLoading || !contractAddress || !recipient || !amount}\n style={{\n padding: '0.75rem 1.5rem',\n backgroundColor: isLoading ? '#ccc' : '#007bff',\n color: 'white',\n border: 'none',\n borderRadius: '0.25rem',\n cursor: isLoading ? 'not-allowed' : 'pointer',\n }}\n >\n {isLoading ? 'Sending...' : 'Send Transaction'}\n </button>\n </form>\n </div>\n );\n}","import React from 'react';\nimport { useSkus } from '../hooks/useSkus';\nimport { formatCurrency } from '@chipi-stack/shared';\nimport type { Sku, SkuCategory } from '@chipi-stack/types';\n\ninterface SkuListProps {\n categories?: SkuCategory[];\n onSkuSelect?: (sku: Sku) => void;\n className?: string;\n}\n\n/**\n * Component for displaying available SKUs\n */\nexport function SkuList({ categories, onSkuSelect, className }: SkuListProps) {\n const { data: skus, isLoading, isError, error } = useSkus({ categories });\n\n if (isLoading) {\n return <div className={className}>Loading SKUs...</div>;\n }\n\n if (isError) {\n return (\n <div className={className}>\n <div style={{ color: 'red' }}>\n Error loading SKUs: {error?.message}\n </div>\n </div>\n );\n }\n\n if (!skus || skus.length === 0) {\n return (\n <div className={className}>\n <div>No SKUs available.</div>\n </div>\n );\n }\n\n return (\n <div className={className}>\n <h3>Available SKUs</h3>\n \n <div style={{ display: 'grid', gap: '1rem', gridTemplateColumns: 'repeat(auto-fill, minmax(300px, 1fr))' }}>\n {skus.map((sku) => (\n <div\n key={sku.id}\n style={{\n border: '1px solid #ddd',\n borderRadius: '0.5rem',\n padding: '1rem',\n backgroundColor: 'white',\n cursor: onSkuSelect ? 'pointer' : 'default',\n }}\n onClick={() => onSkuSelect?.(sku)}\n >\n <div style={{ marginBottom: '0.5rem' }}>\n <h4 style={{ margin: 0, fontSize: '1.1rem' }}>{sku.name}</h4>\n </div>\n \n {sku.description && (\n <div style={{ marginBottom: '0.5rem', color: '#666', fontSize: '0.9rem' }}>\n {sku.description}\n </div>\n )}\n \n <div style={{ marginBottom: '0.5rem' }}>\n <span\n style={{\n backgroundColor: '#f0f0f0',\n padding: '0.25rem 0.5rem',\n borderRadius: '0.25rem',\n fontSize: '0.8rem',\n color: '#666',\n }}\n >\n {sku.category}\n </span>\n </div>\n \n <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <div style={{ fontSize: '1.2rem', fontWeight: 'bold' }}>\n {formatCurrency(sku.price, sku.currency)}\n </div>\n \n <div\n style={{\n color: sku.isActive ? 'green' : 'red',\n fontSize: '0.9rem',\n fontWeight: 'bold',\n }}\n >\n {sku.isActive ? 'Available' : 'Unavailable'}\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n}","import React, { useState } from 'react';\nimport { usePurchaseSku } from '../hooks/usePurchaseSku';\nimport { formatCurrency } from '@chipi-stack/shared';\nimport type { Sku, Chain, ChainToken } from '@chipi-stack/types';\n\ninterface SkuPurchaseFormProps {\n sku: Sku;\n walletAddress: string;\n onPurchaseComplete?: (transactionHash: string) => void;\n className?: string;\n}\n\n/**\n * Component for purchasing a SKU\n */\nexport function SkuPurchaseForm({\n sku,\n walletAddress,\n onPurchaseComplete,\n className,\n}: SkuPurchaseFormProps) {\n const [chain, setChain] = useState<Chain>('STARKNET_MAINNET');\n const [chainToken, setChainToken] = useState<ChainToken>('USDC');\n const [reference, setReference] = useState('');\n const [transactionHash, setTransactionHash] = useState('');\n\n const { purchaseSku, isLoading, isError, error, data, isSuccess } = usePurchaseSku();\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n if (!reference || !transactionHash) return;\n\n purchaseSku({\n skuId: sku.id,\n walletAddress,\n chain,\n chainToken,\n mxnAmount: sku.price,\n reference,\n transactionHash,\n });\n };\n\n React.useEffect(() => {\n if (isSuccess && data && onPurchaseComplete) {\n onPurchaseComplete(data.transaction.transactionHash);\n }\n }, [isSuccess, data, onPurchaseComplete]);\n\n if (!sku.isActive) {\n return (\n <div className={className}>\n <div style={{ color: 'red', textAlign: 'center', padding: '2rem' }}>\n This SKU is currently unavailable for purchase.\n </div>\n </div>\n );\n }\n\n return (\n <div className={className}>\n <h3>Purchase SKU</h3>\n \n <div style={{ marginBottom: '1.5rem', padding: '1rem', backgroundColor: '#f9f9f9', borderRadius: '0.5rem' }}>\n <h4 style={{ margin: '0 0 0.5rem 0' }}>{sku.name}</h4>\n {sku.description && (\n <p style={{ margin: '0 0 0.5rem 0', color: '#666' }}>{sku.description}</p>\n )}\n <div style={{ fontSize: '1.2rem', fontWeight: 'bold' }}>\n Price: {formatCurrency(sku.price, sku.currency)}\n </div>\n </div>\n\n {isError && error && (\n <div style={{ color: 'red', marginBottom: '1rem' }}>\n Error: {error.message}\n </div>\n )}\n\n {isSuccess && data && (\n <div style={{ color: 'green', marginBottom: '1rem' }}>\n Purchase successful! Transaction: {data.transaction.transactionHash}\n </div>\n )}\n\n <form onSubmit={handleSubmit}>\n <div style={{ marginBottom: '1rem' }}>\n <label htmlFor=\"chain\">Chain:</label>\n <select\n id=\"chain\"\n value={chain}\n onChange={(e) => setChain(e.target.value as Chain)}\n style={{ width: '100%', padding: '0.5rem', marginTop: '0.25rem' }}\n >\n <option value=\"STARKNET_MAINNET\">Starknet Mainnet</option>\n <option value=\"STARKNET_SEPOLIA\">Starknet Sepolia</option>\n </select>\n </div>\n\n <div style={{ marginBottom: '1rem' }}>\n <label htmlFor=\"chainToken\">Token:</label>\n <select\n id=\"chainToken\"\n value={chainToken}\n onChange={(e) => setChainToken(e.target.value as ChainToken)}\n style={{ width: '100%', padding: '0.5rem', marginTop: '0.25rem' }}\n >\n <option value=\"USDC\">USDC</option>\n <option value=\"USDT\">USDT</option>\n <option value=\"ETH\">ETH</option>\n <option value=\"STRK\">STRK</option>\n <option value=\"DAI\">DAI</option>\n </select>\n </div>\n\n <div style={{ marginBottom: '1rem' }}>\n <label htmlFor=\"reference\">Reference:</label>\n <input\n id=\"reference\"\n type=\"text\"\n value={reference}\n onChange={(e) => setReference(e.target.value)}\n placeholder=\"Transaction reference\"\n required\n style={{ width: '100%', padding: '0.5rem', marginTop: '0.25rem' }}\n />\n </div>\n\n <div style={{ marginBottom: '1rem' }}>\n <label htmlFor=\"transactionHash\">Transaction Hash:</label>\n <input\n id=\"transactionHash\"\n type=\"text\"\n value={transactionHash}\n onChange={(e) => setTransactionHash(e.target.value)}\n placeholder=\"0x...\"\n required\n style={{ width: '100%', padding: '0.5rem', marginTop: '0.25rem' }}\n />\n </div>\n\n <button\n type=\"submit\"\n disabled={isLoading || !reference || !transactionHash}\n style={{\n width: '100%',\n padding: '0.75rem',\n backgroundColor: isLoading ? '#ccc' : '#28a745',\n color: 'white',\n border: 'none',\n borderRadius: '0.25rem',\n fontSize: '1rem',\n cursor: isLoading ? 'not-allowed' : 'pointer',\n }}\n >\n {isLoading ? 'Processing...' : `Purchase for ${formatCurrency(sku.price, sku.currency)}`}\n </button>\n </form>\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/context/ChipiProvider.tsx","../src/hooks/useCreateWallet.ts","../src/hooks/useTransfer.ts","../src/hooks/useApprove.ts","../src/hooks/useExecuteTransaction.ts","../src/hooks/useStakeVesuUsdc.ts","../src/hooks/useWithdrawVesuUsdc.ts","../src/hooks/useCallAnyContract.ts","../src/hooks/useRecordSendTransaction.ts"],"names":["useMutation"],"mappings":"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","file":"index.mjs","sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport { ChipiSDK } from '@chipi-stack/backend';\nimport type { ChipiSDKConfig } from '@chipi-stack/types';\n\ninterface ChipiContextValue {\n chipiSDK: ChipiSDK;\n config: ChipiSDKConfig;\n}\n\nconst ChipiContext = createContext<ChipiContextValue | null>(null);\n\ninterface ChipiProviderProps {\n children: ReactNode;\n config: ChipiSDKConfig;\n}\n\n/**\n * Provider component that wraps your app and provides Chipi SDK context\n */\nexport function ChipiProvider({ children, config }: ChipiProviderProps) {\n const chipiSDK = React.useMemo(() => new ChipiSDK(config), [config]);\n\n const value = React.useMemo(\n () => ({\n chipiSDK,\n config,\n }),\n [chipiSDK, config]\n );\n\n return (\n <ChipiContext.Provider value={value}>\n {children}\n </ChipiContext.Provider>\n );\n}\n\n/**\n * Hook to access Chipi SDK context\n */\nexport function useChipiContext(): ChipiContextValue {\n const context = useContext(ChipiContext);\n \n if (!context) {\n throw new Error('useChipiContext must be used within a ChipiProvider');\n }\n \n return context;\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n CreateWalletParams,\n CreateWalletResponse,\n} from \"@chipi-stack/types\";\n\ntype CreateWalletInput = { params: CreateWalletParams; bearerToken: string };\n\n/**\n * Hook for creating a new wallet\n */\nexport function useCreateWallet(): {\n createWallet: (input: CreateWalletInput) => void;\n createWalletAsync: (\n input: CreateWalletInput\n ) => Promise<CreateWalletResponse>;\n data: CreateWalletResponse | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n CreateWalletResponse,\n Error,\n CreateWalletInput\n > = useMutation({\n mutationFn: (input: CreateWalletInput) =>\n chipiSDK.createWallet({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n createWallet: mutation.mutate,\n createWalletAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type { TransferParams } from \"@chipi-stack/types\";\n\ntype TransferInput = { params: TransferParams; bearerToken: string };\n\n/**\n * Hook for transferring tokens\n */\nexport function useTransfer(): {\n transfer: (input: TransferInput) => void;\n transferAsync: (input: TransferInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, TransferInput> = useMutation(\n {\n mutationFn: (input: TransferInput) =>\n chipiSDK.transfer({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n }\n );\n\n return {\n transfer: mutation.mutate,\n transferAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { ApproveParams } from '@chipi-stack/types';\n\ntype ApproveInput = Omit<ApproveParams, 'apiPublicKey'>;\n\n/**\n * Hook for approving token spending\n */\nexport function useApprove(): {\n approve: (params: ApproveInput) => void;\n approveAsync: (params: ApproveInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, ApproveInput> = useMutation({\n mutationFn: (params: ApproveInput) => chipiSDK.approve(params),\n });\n\n return {\n approve: mutation.mutate,\n approveAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { ExecuteTransactionParams } from '@chipi-stack/types';\n\ntype ExecuteTransactionInput = Omit<ExecuteTransactionParams, 'apiPublicKey'>;\n\n/**\n * Hook for executing gasless transactions\n */\nexport function useExecuteTransaction(): {\n executeTransaction: (params: ExecuteTransactionInput) => void;\n executeTransactionAsync: (params: ExecuteTransactionInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, ExecuteTransactionInput> = useMutation({\n mutationFn: (params: ExecuteTransactionInput) => chipiSDK.executeTransaction(params),\n });\n\n return {\n executeTransaction: mutation.mutate,\n executeTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { StakeVesuUsdcParams } from '@chipi-stack/types';\n\ntype StakeVesuUsdcInput = Omit<StakeVesuUsdcParams, 'apiPublicKey'>;\n\n/**\n * Hook for staking USDC in Vesu protocol\n */\nexport function useStakeVesuUsdc(): {\n stakeVesuUsdc: (params: StakeVesuUsdcInput) => void;\n stakeVesuUsdcAsync: (params: StakeVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, StakeVesuUsdcInput> = useMutation({\n mutationFn: (params: StakeVesuUsdcInput) => chipiSDK.stakeVesuUsdc(params),\n });\n\n return {\n stakeVesuUsdc: mutation.mutate,\n stakeVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { WithdrawVesuUsdcParams } from '@chipi-stack/types';\n\ntype WithdrawVesuUsdcInput = Omit<WithdrawVesuUsdcParams, 'apiPublicKey'>;\n\n/**\n * Hook for withdrawing USDC from Vesu protocol\n */\nexport function useWithdrawVesuUsdc(): {\n withdrawVesuUsdc: (params: WithdrawVesuUsdcInput) => void;\n withdrawVesuUsdcAsync: (params: WithdrawVesuUsdcInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, WithdrawVesuUsdcInput> = useMutation({\n mutationFn: (params: WithdrawVesuUsdcInput) => chipiSDK.withdrawVesuUsdc(params),\n });\n\n return {\n withdrawVesuUsdc: mutation.mutate,\n withdrawVesuUsdcAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from '@tanstack/react-query';\nimport { useChipiContext } from '../context';\nimport type { CallAnyContractParams } from '@chipi-stack/types';\n\ntype CallAnyContractInput = Omit<CallAnyContractParams, 'apiPublicKey'>;\n\n/**\n * Hook for calling any contract method\n */\nexport function useCallAnyContract(): {\n callAnyContract: (params: CallAnyContractInput) => void;\n callAnyContractAsync: (params: CallAnyContractInput) => Promise<string>;\n data: string | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<string, Error, CallAnyContractInput> = useMutation({\n mutationFn: (params: CallAnyContractInput) => chipiSDK.callAnyContract(params),\n });\n\n return {\n callAnyContract: mutation.mutate,\n callAnyContractAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n","import { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport { useChipiContext } from \"../context\";\nimport type {\n RecordSendTransactionParams,\n Transaction,\n} from \"@chipi-stack/types\";\n\ntype RecordSendTransactionInput = {\n params: RecordSendTransactionParams;\n bearerToken: string;\n};\n\nexport function useRecordSendTransaction(): {\n recordSendTransaction: (input: RecordSendTransactionInput) => void;\n recordSendTransactionAsync: (\n input: RecordSendTransactionInput\n ) => Promise<Transaction>;\n data: Transaction | undefined;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n reset: () => void;\n} {\n const { chipiSDK } = useChipiContext();\n\n const mutation: UseMutationResult<\n Transaction,\n Error,\n RecordSendTransactionInput\n > = useMutation({\n mutationFn: (input: RecordSendTransactionInput) =>\n chipiSDK.recordSendTransaction({\n params: input.params,\n bearerToken: input.bearerToken,\n }),\n });\n\n return {\n recordSendTransaction: mutation.mutate,\n recordSendTransactionAsync: mutation.mutateAsync,\n data: mutation.data,\n isLoading: mutation.isPending,\n isError: mutation.isError,\n error: mutation.error,\n isSuccess: mutation.isSuccess,\n reset: mutation.reset,\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chipi-stack/chipi-react",
3
- "version": "0.1.0",
3
+ "version": "1.0.0",
4
4
  "description": "React hooks and components for Chipi SDK",
5
5
  "keywords": [
6
6
  "chipi",
@@ -61,17 +61,6 @@
61
61
  "hooks",
62
62
  "components"
63
63
  ],
64
- "scripts": {
65
- "build": "tsup",
66
- "build:declarations": "tsc -p tsconfig.declarations.json",
67
- "clean": "rimraf ./dist",
68
- "dev": "tsup --watch",
69
- "dev:publish": "pnpm dev --env.publish",
70
- "format": "prettier --write src/**/*.{ts,tsx}",
71
- "format:check": "prettier --check src/**/*.{ts,tsx}",
72
- "lint": "eslint src",
73
- "typecheck": "tsc --noEmit"
74
- },
75
64
  "devDependencies": {
76
65
  "@types/react": "^18.3.0",
77
66
  "@types/react-dom": "^18.3.0",
@@ -84,10 +73,10 @@
84
73
  "typescript": "^5.7.3"
85
74
  },
86
75
  "dependencies": {
87
- "@chipi-stack/backend": "workspace:^",
88
- "@chipi-stack/shared": "workspace:^",
89
- "@chipi-stack/types": "workspace:^",
90
- "@tanstack/react-query": "^5.85.0"
76
+ "@tanstack/react-query": "^5.85.0",
77
+ "@chipi-stack/types": "^1.0.0",
78
+ "@chipi-stack/backend": "^1.0.0",
79
+ "@chipi-stack/shared": "^1.0.0"
91
80
  },
92
81
  "peerDependencies": {
93
82
  "react": ">=16.8.0",
@@ -98,5 +87,16 @@
98
87
  },
99
88
  "publishConfig": {
100
89
  "access": "public"
90
+ },
91
+ "scripts": {
92
+ "build": "tsup",
93
+ "build:declarations": "tsc -p tsconfig.declarations.json",
94
+ "clean": "rimraf ./dist",
95
+ "dev": "tsup --watch",
96
+ "dev:publish": "pnpm dev --env.publish",
97
+ "format": "prettier --write src/**/*.{ts,tsx}",
98
+ "format:check": "prettier --check src/**/*.{ts,tsx}",
99
+ "lint": "eslint src",
100
+ "typecheck": "tsc --noEmit"
101
101
  }
102
- }
102
+ }
@@ -1,60 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React from 'react';
3
- import { CreateWalletResponse, WalletData, SkuCategory, Sku } from '@chipi-stack/types';
4
-
5
- interface WalletCreatorProps {
6
- onWalletCreated?: (wallet: CreateWalletResponse) => void;
7
- className?: string;
8
- children?: React.ReactNode;
9
- }
10
- /**
11
- * Component for creating a new wallet
12
- */
13
- declare function WalletCreator({ onWalletCreated, className, children }: WalletCreatorProps): react_jsx_runtime.JSX.Element;
14
-
15
- interface WalletBalanceProps {
16
- address: string;
17
- balance?: number;
18
- currency?: string;
19
- isLoading?: boolean;
20
- className?: string;
21
- }
22
- /**
23
- * Component for displaying wallet balance
24
- */
25
- declare function WalletBalance({ address, balance, currency, isLoading, className, }: WalletBalanceProps): react_jsx_runtime.JSX.Element;
26
-
27
- interface TransactionFormProps {
28
- wallet: WalletData;
29
- encryptKey: string;
30
- bearerToken: string;
31
- onTransactionComplete?: (txHash: string) => void;
32
- className?: string;
33
- }
34
- /**
35
- * Component for creating token transfer transactions
36
- */
37
- declare function TransactionForm({ wallet, encryptKey, bearerToken, onTransactionComplete, className, }: TransactionFormProps): react_jsx_runtime.JSX.Element;
38
-
39
- interface SkuListProps {
40
- categories?: SkuCategory[];
41
- onSkuSelect?: (sku: Sku) => void;
42
- className?: string;
43
- }
44
- /**
45
- * Component for displaying available SKUs
46
- */
47
- declare function SkuList({ categories, onSkuSelect, className }: SkuListProps): react_jsx_runtime.JSX.Element;
48
-
49
- interface SkuPurchaseFormProps {
50
- sku: Sku;
51
- walletAddress: string;
52
- onPurchaseComplete?: (transactionHash: string) => void;
53
- className?: string;
54
- }
55
- /**
56
- * Component for purchasing a SKU
57
- */
58
- declare function SkuPurchaseForm({ sku, walletAddress, onPurchaseComplete, className, }: SkuPurchaseFormProps): react_jsx_runtime.JSX.Element;
59
-
60
- export { SkuList, SkuPurchaseForm, TransactionForm, WalletBalance, WalletCreator };
@@ -1,60 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React from 'react';
3
- import { CreateWalletResponse, WalletData, SkuCategory, Sku } from '@chipi-stack/types';
4
-
5
- interface WalletCreatorProps {
6
- onWalletCreated?: (wallet: CreateWalletResponse) => void;
7
- className?: string;
8
- children?: React.ReactNode;
9
- }
10
- /**
11
- * Component for creating a new wallet
12
- */
13
- declare function WalletCreator({ onWalletCreated, className, children }: WalletCreatorProps): react_jsx_runtime.JSX.Element;
14
-
15
- interface WalletBalanceProps {
16
- address: string;
17
- balance?: number;
18
- currency?: string;
19
- isLoading?: boolean;
20
- className?: string;
21
- }
22
- /**
23
- * Component for displaying wallet balance
24
- */
25
- declare function WalletBalance({ address, balance, currency, isLoading, className, }: WalletBalanceProps): react_jsx_runtime.JSX.Element;
26
-
27
- interface TransactionFormProps {
28
- wallet: WalletData;
29
- encryptKey: string;
30
- bearerToken: string;
31
- onTransactionComplete?: (txHash: string) => void;
32
- className?: string;
33
- }
34
- /**
35
- * Component for creating token transfer transactions
36
- */
37
- declare function TransactionForm({ wallet, encryptKey, bearerToken, onTransactionComplete, className, }: TransactionFormProps): react_jsx_runtime.JSX.Element;
38
-
39
- interface SkuListProps {
40
- categories?: SkuCategory[];
41
- onSkuSelect?: (sku: Sku) => void;
42
- className?: string;
43
- }
44
- /**
45
- * Component for displaying available SKUs
46
- */
47
- declare function SkuList({ categories, onSkuSelect, className }: SkuListProps): react_jsx_runtime.JSX.Element;
48
-
49
- interface SkuPurchaseFormProps {
50
- sku: Sku;
51
- walletAddress: string;
52
- onPurchaseComplete?: (transactionHash: string) => void;
53
- className?: string;
54
- }
55
- /**
56
- * Component for purchasing a SKU
57
- */
58
- declare function SkuPurchaseForm({ sku, walletAddress, onPurchaseComplete, className, }: SkuPurchaseFormProps): react_jsx_runtime.JSX.Element;
59
-
60
- export { SkuList, SkuPurchaseForm, TransactionForm, WalletBalance, WalletCreator };