diff --git a/lamassu-next/packages/cashu/src/index.ts b/lamassu-next/packages/cashu/src/index.ts new file mode 100644 index 0000000..c9dec23 --- /dev/null +++ b/lamassu-next/packages/cashu/src/index.ts @@ -0,0 +1,21 @@ +/** + * @lamassu/cashu + * + * Cashu ecash integration for offline ATM operation. + * + * Cashu provides: + * - Offline payment acceptance (ecash tokens) + * - Privacy-preserving transactions + * - Fallback when Lightning is unavailable + * + * This package will implement: + * - Token minting and verification + * - Token redemption + * - Mint management + */ + +// Placeholder export - implementation will be added as needed +export const version = '0.1.0' + +// Re-export cashu-ts types for convenience when implemented +// export * from '@cashu/cashu-ts' diff --git a/lamassu-next/packages/cashu/tsconfig.json b/lamassu-next/packages/cashu/tsconfig.json new file mode 100644 index 0000000..d770c39 --- /dev/null +++ b/lamassu-next/packages/cashu/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "NodeNext", + "moduleResolution": "NodeNext", + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "outDir": "./dist", + "rootDir": "./src", + "strict": true, + "strictNullChecks": true, + "noUncheckedIndexedAccess": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "isolatedModules": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist", "**/*.test.ts"] +} diff --git a/lamassu-next/packages/ui-shared/src/index.ts b/lamassu-next/packages/ui-shared/src/index.ts new file mode 100644 index 0000000..e966234 --- /dev/null +++ b/lamassu-next/packages/ui-shared/src/index.ts @@ -0,0 +1,13 @@ +/** + * @lamassu/ui-shared + * + * Shared Vue 3 components for Lamassu ATM and dashboard. + * This package will contain common UI components like: + * - QR code display + * - Number pad + * - Amount display + * - Status indicators + */ + +// Placeholder export - components will be added as needed +export const version = '0.1.0' diff --git a/lamassu-next/packages/ui-shared/tsconfig.json b/lamassu-next/packages/ui-shared/tsconfig.json new file mode 100644 index 0000000..907abd8 --- /dev/null +++ b/lamassu-next/packages/ui-shared/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "bundler", + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "outDir": "./dist", + "rootDir": "./src", + "strict": true, + "strictNullChecks": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve" + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} diff --git a/lamassu-next/packages/ui-shared/vite.config.ts b/lamassu-next/packages/ui-shared/vite.config.ts new file mode 100644 index 0000000..a0c49f2 --- /dev/null +++ b/lamassu-next/packages/ui-shared/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import { resolve } from 'path' + +export default defineConfig({ + plugins: [vue()], + build: { + lib: { + entry: resolve(__dirname, 'src/index.ts'), + name: 'LamassuUIShared', + fileName: 'index', + }, + rollupOptions: { + external: ['vue'], + output: { + globals: { + vue: 'Vue', + }, + }, + }, + }, +})